Problema nema 17 con driver a4988

Buenas a todos, estoy realizando un proyecto de final de grado en el cual uso 6 servos controlados por el driver PCA9685 y un motor paso a paso controlado por el dirver A4988, la finalidad de esto es hacer un pick and place, qu el servos hagan la funcion de bajar el robot y coger el objeto y el paso a paso girar la base. El problem que tengo es que cuando el motor paso a paso no tiene que funcionar porque aun no tiene que girar la base empieza a dar tirones y descuadra el punto de cogida. Me podriais decir porque pasa eso y como lo puedo resolver?
Gracias.
Adjunto cableado

#define STEP 4      // pin STEP de A4988 a pin 4
#define DIR 5     // pin DIR de A4988 a pin 5
#include <Wire.h>

#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver servos = Adafruit_PWMServoDriver(0x40);

int pos0=102;
int pos180=512;
void setup()
{
  pinMode(STEP, OUTPUT);  // pin 4 como salida
  pinMode(DIR, OUTPUT);   // pin 5 como salida
  servos.begin(); 
  servos.setPWMFreq(50);
}




void setServo(uint8_t n_servo,int angulo){;
int duty;
duty=map(angulo,0,180,pos0, pos180);
servos.setPWM(n_servo, 0, duty);
}

void Home(){
delay(10000); 
  setServo(7,75);//PIN 7 BASE_SOPORTE_1 (IZQ) (+grados delante)   
  setServo(8,80);//PIN 8 BASE_SOPORTE_2 (DER) (-grados delante)                                   
  delay(1000);
  setServo(10,80);//PIN 10 BRAZO_PINZA (+grados sube)                                         
  setServo(12,140);//PIN 12 BRAZO_BASE  (+grados hacia delante)                                      
  setServo(11,15);//PIN 7 GIRO_PINZA
  setServo(13,90); //PIN 13 PINZA (90º abierta)
  delay(2000);

}

void Abrir_pinza(){
  setServo(13,90);
}
void Cerrar_pinza(){
  setServo(13,30);
}

void Bajar(){ 
  
  setServo(7,75);//PIN 7 BASE_SOPORTE_1 (IZQ) (+grados delante)   
  setServo(8,80);//PIN 8 BASE_SOPORTE_2 (DER) (-grados delante) 
  delay(400);
  setServo(7,80);//PIN 7 BASE_SOPORTE_1 (IZQ) (+grados delante)   
  setServo(8,75);//PIN 8 BASE_SOPORTE_2 (DER) (-grados delante)
  delay(400);    
  setServo(7,85);//PIN 7 BASE_SOPORTE_1 (IZQ) (+grados delante)   
  setServo(8,70);//PIN 8 BASE_SOPORTE_2 (DER) (-grados delante) 
  setServo(12,145);
  delay(250);
  setServo(12,150);
  delay(300);
  setServo(10,75);
  delay(250);
  setServo(10,70);
  delay(300);
  setServo(10,65);
  delay(300);
  setServo(10,60);

}

void Subir(){
  setServo(7,75);//PIN 7 BASE_SOPORTE_1 (IZQ) (+grados delante)   
  setServo(8,80);//PIN 8 BASE_SOPORTE_2 (DER) (-grados delante) 
  setServo(12,155);
  delay(150);
  setServo(12,140);
  delay(1000);
  setServo(10,70);
  delay(150);
  setServo(10,75);
  delay(150);
  setServo(10,80);
  delay(150);
}
void Giro_coger() 
{
  digitalWrite(DIR, HIGH);    // giro en un sentido
  for(int i = 0; i < 200; i++){     // 200 pasos para motor de 0.9 grados de angulo de paso
    digitalWrite(STEP, HIGH);       // nivel alto
    delay(10);          // por 10 mseg
    digitalWrite(STEP, LOW);        // nivel bajo
    delay(10);          // por 10 mseg
  }
}

void Giro_dejar() 
{
  digitalWrite(DIR, LOW);     // giro en sentido opuesto
  for(int i = 0; i < 200; i++){
    digitalWrite(STEP, HIGH); 
    delay(10);
    digitalWrite(STEP, LOW);
    delay(10); 
  }  
}


  
void loop() {
  Home();
  delay(2000);
  Bajar();
  delay(2000);
  Cerrar_pinza();
  delay(2000);
  Subir();
  delay(2000);
  Giro_dejar();
  delay(2000);
  Bajar();
  delay(2000);
  Abrir_pinza();
  delay(2000);
  Subir();
  delay(2000);
  Giro_coger();
  delay(2000); 
}

:warning:
Código corregido

Tu publicación fue ** MOVIDA ** a su ubicación actual ya que es más adecuada.

¿Podría también tomarse unos minutos para Aprenda a usar el foro .

Te ocurre porque no tienes fuente adecuada para todo lo que tienes conectado.
De cuanto es la fuente?
Describe cada servo y el motor para conocer las corrientes de trabajo.

Moderador:
Por favor, lee las Normas del foro.
Si posteas en el foro en inglés usa idioma inglés para expresarte.
Si escribes en español debes usar el foro Arduino en español.

Moderador.
No modifiques nunca el post que ya tienes posteado sino el reclamo que se te hace que fuera de lugar!!
Un poco de sentido común.