Hola, estoy haciendo un proyecto con carro a control remoto pero antes hice una pruebas de motores y los metores no giran, separe la parte del motor y la parte del reductor y me di cuenta que directamente el eje del motor no gira, hace el sonido de que estan funcionando y si quiero que gire tengo que darle un poco de fuerza al giro con mis dedos pero al cambiar de dirección vuelve e detenerse y tengo que volver a dar fuerza con mis dedos
¿ De que voltaje son los motores ?
¿ No tendrás la batería agotada ?
¿ Controlas la velocidad con esos pines ?, aunque en ciertos montajes puede funcionar esas entradas no son para eso.
En esas entradas solo lógica de control, unos o ceros fijos , la velocidad la controlas con señales PWM por los pines enable 1 y 2 que ahora los tienes conectados fijos a +5V.
¿ Y directamente con la batería funcionan ? , sin arduino ni L293D de por medio.
Si, ya vi esas conexiones . Lo que quería decir es que lo normal es que tengas estas otras:
Pin 1---Pin Señal PWM
Pin 2---Pin digital del arduino
Pin 3---salida motor 1
Pin 4---GND
Pin 5---GND
Pin 6---salida motor 1
Pin 7---Pin digital del arduino
Pin 8---+9v
Pin 9---Pin Señal PWM
Pin 10---Pin digital del arduino
Pin 11---salida motor 2
Pin 12---GND
Pin 13---GND
Pin 14---salida motor 2
Pin 15---Pin digital del arduino
Pin 16--- 5v
Y el funcionamiento, te lo explico para un solo motor el de la izquierda, para el otro es igual.
Poniendo los pines del L293D 2 y 7 a cero = motor parado. Poniendolos a 0-1 giro en un sentido, a 1-0 giro al sentido contrario. Todo esto a la velocidad que le marque la señal PWM que le entra por el pin 1.
// Conexiones del driver L293D para un motor DC
int enA = 3;
int in1 = 6;
int in2 = 7;
void setup() {
// Colocando los pines en modo salida
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
}
void loop() {
// Iniciamos con el motor detenido
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
delay(2000);
// Máxima velocidad del motor
analogWrite(enA, 255);
// Encendemos el motor
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
delay(2000);
// Invertimos el sentido del giro del motor
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(2000);
// Apagamos el motor
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
delay(2000);
// Turn on motors
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
// Aumenta la velocidad de cero a máximo
for (int i = 0; i < 256; i=i+1) {
analogWrite(enA, i);
delay(50);
}
// Disminuye la velocidad de máximo a cero
for (int i = 255; i >= 0; i=i-1) {
analogWrite(enA, i);
delay(50);
}
}
Lo conecte a como dijiste y lo probe con este programa y el problema persiste
coloque solo un motor para la prueba
Tengo unos cuantos de esos, teóricamente van de 3 a 6V.
El código esta bien deberían de andar. ¿Los has probado como te dije ante conectándolos directamente a la batería?
Pruébalos desconectándolos de los engranajes, para ello suelta la grapilla/banda elástica y sácalo.
conectando directamente la bateria al motor gira sin problemas y si lo tengo suelto sin la parte de los engranajes, cuando pasa por el L293D es donde se pegan
Hola @jcerda12 , pienso que ese integrado no es el adecuado para manejar esos motores. Segun su datasheet:
Y del datasheet de los motores
Vemos que aguantaría la corriente normal de funcionamiento pero no los picos de corriente en parada y cambio de sentido de giro. (1.5A a 5V que serán mayores con tus 9V de alimentación).
En estos momentos dudo que ese integrado no este "frito". Te aconsejo que uses mejor el L298N que aguanta perfectamente esas corrientes.
Otra cosa con un par de pruebas la baterias de 9V no va mas.
Cambia a dos Lipo 18650 en serie que totalicen 7.4 como tension nominal.
No hagas cosas con baterias de 9V, solo le das de comer a quien te las vende.