InicioHazlo Tu MismoArduino - Puente H (integrado L298)


Hola a todos, aca les dejo un tutorial de como realizar un puente H con el integrado l298


Para los que no sepan lo que hace un puente H, se los explico muy basicamente: es un circuito electronico que nos permite controlar el giro de un motor de corriente continua, me refiero a que el motor gire en el sentido de las agujas de un roloj o en el sentido contrario a las mismas.

En internet los venden ya armados:



Pero lo podes armar en tu casa por mucho menos dinero, asi me quedo el mio:




No sera lo mismo esteticamente pero funciona de la misma manera que el comprado.

ARMADO

ACLARACION: al circuito le agregue le agregue un 7805 para regular la tension de la bateria y poder conectar directamente el arduino

Componentes:

1 L298N (circuito integrado puente H)
1 LM7805
8 Diodos 1n4148
2 Capacitor de 2200uf
1 Capacitor de 0.33uf
1 Capacitor de 0.01uf
2 Disipadores
1 plaqueta virgen de 9cm x 6cm (o de 10x10 cm para no complicarse)
4 borneras de dos contactos
6 espadines/pines

El L298 nos permite controlar dos motores en el mismo integradro y regularles la velocidad a nuestro gusto.
Con un arduino solo nececitaremos tres pines para controlar el motor:
1ro en high mueve el motor en una direccion
2do en high mueve el motor en la direccion contraria
3ro nos permitira controlar la velocidad, con PWM


hoja de datos l298
http://www.alldatasheet.com/datasheet-pdf/pdf/22437/STMICROELECTRONICS/L298.html

Diagrama




El circuito impreso lo diseñe en PCBWizard


de aca lo podes bajar el progrma


y aca te dejo los archivos del diagrama y el pcb


https://sourceforge.net/projects/puenteh/files/

el pcb es distinto al de las fotos porque le deje mas espacio para los disipadores





imagen del artwork, esto es lo que se imprime.

AVISO: imprimirlo siempre desde el PCBWizard no imprimir esta imagen



ya con el PCB armado solo tenes que imprimir el artwork en papel fotografico y plancharlo en una placa virgen para luego sumergirlo en cloruro ferrico.


si no sabes como se hace esto busca en taringa que esta lleno de post:


http://www.taringa.net/posts/hazlo-tu-mismo/11280314/Circuitos-impresos-parte-I-y-II.html
http://www.taringa.net/posts/hazlo-tu-mismo/17542295/Como-hacer-circuitos-impresos-Tecnica-de-la-plancha.html

Despues a agujerear y por ultimo soldar los componentes



PRUEBA


para probarlo lo conecte al arduino de la siguiente manera



y cree un programita de prueba medio loco que va variando el giro y la velocidad


[color=#000000][color=#000000][color=#000000]
int md_adelante = 5;  //md = motor derecho 
int md_atras = 4;
int md_velocidad = 3;

int mi_adelante = 11;  //md = motor izquierdo
int mi_atras = 10;
int mi_velocidad = 9;

void setup()
{
   pinMode(md_adelante,OUTPUT);
   pinMode(mi_adelante,OUTPUT);
   pinMode(md_atras,OUTPUT);
   pinMode(mi_atras,OUTPUT);
   pinMode(mi_velocidad,OUTPUT);
   pinMode(md_velocidad,OUTPUT);
   digitalWrite(mi_adelante,LOW);
   digitalWrite(md_adelante,LOW);
   digitalWrite(mi_atras,LOW);
   digitalWrite(md_atras,LOW);
   
   Serial.begin(9600);
}
 
void loop()
{
   analogWrite(md_velocidad, 60);    //seteo las dos velocidades a 60
  analogWrite(mi_velocidad, 60);
  digitalWrite(mi_adelante,HIGH);     //arranca el motor izq adelante
  delay(2000);                                   //espero dos segundos
  digitalWrite(md_adelante,HIGH);   //arranca el motor derecho adelante
  delay(2000);                                  //espero dos segundos
  analogWrite(mi_velocidad, 120);   //aumento velocidad del izq a 120
  delay(2000);                                  //espero dos segundos
  analogWrite(mi_velocidad, 180);  //aumento velocidad del izq a 180
  delay(2000);                                 //espero dos segundos
  digitalWrite(md_adelante,LOW);   //freno el derecho
  analogWrite(md_velocidad, 160);  //aumento la velocidad del derecho a 160
  digitalWrite(md_atras,HIGH);         //arranca el derecho para atras
  delay(2000);                                  //espero dos segundos
  digitalWrite(mi_adelante,LOW);   //freno el izq   
  delay(3000);                                 //espero tres segundos
  analogWrite(mi_velocidad, 255);  //seteo velocidad del izq al maximo
  digitalWrite(mi_atras,HIGH);        //lo arranco a fondo
  delay(2000);                                //espero dos segundos
  analogWrite(md_velocidad, 255);
  digitalWrite(md_atras,HIGH);     //arranco a fondo el otro
  delay(2000);                               //espero dos segundos
  digitalWrite(md_atras,LOW);     //FRENO LOS DOS
  digitalWrite(mi_atras,LOW);
  delay(2000);                      //espero dos segundos
  
  //vamos a aumentar los dos incrementalmente
  
  analogWrite(mi_velocidad, LOW);
  analogWrite(md_velocidad, LOW);
  digitalWrite(md_adelante,HIGH);
  digitalWrite(mi_adelante,HIGH);
  
  for (int i=0; i <= 255; i++){
      analogWrite(mi_velocidad, i);
      analogWrite(md_velocidad, i);
      delay(100);
   } 
   
  //vamos a decrementarlos 
  
  for (int i=255; i >= 0; i=i-1){
      analogWrite(mi_velocidad, i);
      analogWrite(md_velocidad, i);
      delay(100);
   }
   
  //frenamos todo por las dudas
  digitalWrite(mi_adelante,LOW);
  digitalWrite(md_adelante,LOW);
  digitalWrite(mi_atras,LOW);
  digitalWrite(md_atras,LOW);

}[/color][/color][/color]


Por ultimo les dejo un video de como funciona:


link:


SALUDOS!
Datos archivados del Taringa! original
29puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
5visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

N
NiCo_P🇦🇷
Usuario
Puntos0
Posts3
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.