Buenas noches amigos del foro, es mi primera intervención aquí y lamentablemente es una pregunta quizás tonta para algunos o lo verán por la descripción. Procedo a explicar mi problema: Compre un puente H L298N para poder controlar unos motores DC; 4 en mi caso, para un pequeño proyecto de robotica que quiero realizar, al llegar el puente, realize las respectivas soldaduras de los motores, y realice el cableado, utilizo 4 pilas AA para alimentar el puente, es decir, 6V, mi primer error creo yo fue que conecte el voltaje a la entrada de 5V, y no a la VMS (no había leido eso hasta hace poco), en fin, utilice un código sacado de un tutorial por internet y bárbaro funcionaba, los motores andaban pero quizás no tan bien como debían.
La tragedia viene cuando compro una batería de 9V para poder alimentar el puente, y confundí la tierra con el de voltaje y conecte la tierra a la entrada de 5V, y los 9V a tierra, escuche como un sonidito, nada así estruendoso y los puse como eran y el puente ilumino sus leds de los 5V, y los 4 IN que son los 5 LED's que se encienden cuando alimentas el puente. Cual es el problema, que ahora con el mismo código y el mismo cableado, los motores no agarran energía, pareciera que nunca saliera nada de las salidas del Motor A o el Motor B, y se iluminan tal cual como antes para decir que esta quemado el puente o algo así. Por supuesto retire la batería de los 9V, y volví a conectar mis 6V como lo había hecho antes por si acaso era eso y nada resultó; todo esto recordando que seguía conectado las fuentes a la entrada de los 5V y no a la VMS por si acaso. Ademas probé a conectar los motores directo a las baterías y funcionan todos los 4 sin ningún problema.
Mi duda es si por lo que se ve en la historia, esta quemado el chip L298N o algo del puente? De igual forma dejo adjuntas las imágenes de como es el puente y que si encienden sus LED's y demás, ademas tambien pongo un link de un video en el que se ve que inclusive los LED's se alternan según la rutina del código pero no sale poder a los motores, y disculpen la resolución de la cámara, ademas pues tambien adjunto el código por si acaso. Disculpen las molestias y los errores por si soy nuevo en el foro. Gracias.
Video: Puente H L298N Dañadas las salidas - YouTube
Imágenes:
Código:
#define MOTOR1_CTL1 8 // I1
#define MOTOR1_CTL2 9 // I2
#define MOTOR1_PWM 11 // EA
#define MOTOR2_CTL1 6 // I3
#define MOTOR2_CTL2 7 // I4
#define MOTOR2_PWM 10 // EB
#define MOTOR_DIR_FORWARD 0
#define MOTOR_DIR_BACKWARD 1
void setup()
{
// Setup pins for motor 1
pinMode(MOTOR1_CTL1,OUTPUT);
pinMode(MOTOR1_CTL2,OUTPUT);
pinMode(MOTOR1_PWM,OUTPUT);
// Setup pins for motor 2
pinMode(MOTOR2_CTL1,OUTPUT);
pinMode(MOTOR2_CTL2,OUTPUT);
pinMode(MOTOR2_PWM,OUTPUT);
}
void setSpeed(char motor_num, char motor_speed)
{
if (motor_num == 1)
{
analogWrite(MOTOR1_PWM, motor_speed);
}
else
{
analogWrite(MOTOR2_PWM, motor_speed);
}
}
void motorStart(char motor_num, byte direction)
{
char pin_ctl1;
char pin_ctl2;
if (motor_num == 1)
{
pin_ctl1 = MOTOR1_CTL1;
pin_ctl2 = MOTOR1_CTL2;
}
else
{
pin_ctl1 = MOTOR2_CTL1;
pin_ctl2 = MOTOR2_CTL2;
}
switch (direction)
{
case MOTOR_DIR_FORWARD:
{
digitalWrite(pin_ctl1,LOW);
digitalWrite(pin_ctl2,HIGH);
}
break;
case MOTOR_DIR_BACKWARD:
{
digitalWrite(pin_ctl1,HIGH);
digitalWrite(pin_ctl2,LOW);
}
break;
}
}
void motorStop(char motor_num)
{
setSpeed(motor_num, 0);
if (motor_num == 1)
{
digitalWrite(MOTOR1_CTL1,HIGH);
digitalWrite(MOTOR1_CTL2,HIGH);
}
else
{
digitalWrite(MOTOR2_CTL1,HIGH);
digitalWrite(MOTOR2_CTL2,HIGH);
}
}
void loop()
{
// Start motors!
motorStart(1, MOTOR_DIR_FORWARD);
setSpeed(1, 200);
motorStart(2, MOTOR_DIR_FORWARD);
setSpeed(2, 200);
delay(2000);
motorStart(1, MOTOR_DIR_BACKWARD);
setSpeed(1, 200);
motorStart(2, MOTOR_DIR_BACKWARD);
setSpeed(2, 200);
delay(2000);
motorStart(1, MOTOR_DIR_FORWARD);
setSpeed(1, 140);
motorStart(2, MOTOR_DIR_BACKWARD);
setSpeed(2, 140);
delay(2000);
motorStart(1, MOTOR_DIR_BACKWARD);
setSpeed(1, 140);
motorStart(2, MOTOR_DIR_FORWARD);
setSpeed(2, 140);
delay(2000);
}
**Moderador:**Imagenes editadas para su visualización. Agregado de etiquetas para código