Problema con motores y servo

Hola a todos,

Estoy haciendo un montaje con un Arduino uno, dos motores y un servo.

  • Para los motores (son de un meccano antiguo) uso una placa basada en el L298N alimentada con una bateria lipo, y la placa alimenta los motores
  • El servo conectado a una fuente de alimentación a 5V
  • El Arduino conectado por USB

Cuando intento que los motores y el servo funcionen a la vez, lo motores ni se mueven, pero el servo si.

Si elimino el servo del programa (servo.attach y servo.write), los motores funcionan.

Todas las tierras estan conectadas, pero no consigo que funcione.

Mi conocimiento de electronica es bajo y estoy totalmente atascado. Agradezco vuestra ayuda.

#include <Servo.h> 
Servo myservo;  

int dir1MotorA=2;
int dir2MotorA=3;
int speedMotorA=9;
int dir1MotorB=4;
int dir2MotorB=5;
int speedMotorB=10;

void setup() {
  pinMode(dir1MotorA,OUTPUT);
  pinMode(dir2MotorA,OUTPUT);
  pinMode(speedMotorA, OUTPUT);

  pinMode(dir1MotorB,OUTPUT);
  pinMode(dir2MotorB,OUTPUT);
  pinMode(speedMotorB, OUTPUT);

  myservo.attach(7);
}

void loop() {
  myservo.write(120);                            
  delay(3000);

  digitalWrite(dir1MotorA, LOW);
  digitalWrite(dir2MotorA, HIGH);
  analogWrite(speedMotorA, 40);

  digitalWrite(dir1MotorB, HIGH);
  digitalWrite(dir2MotorB, LOW);
  analogWrite(speedMotorB, 40);
  delay(3000);
}