En este post les explicaré cómo funciona y cómo se construye un puente H con algunos transistores NPN.
En artículos anteriores he hablado acerca de los motores:
En dicho post mencioné que para invertir el sentido de giro de un motor hay que cambiarle la polaridad, es decir, cambiar el sentido con el que la corriente pasa a través del motor.
En electrónica esto normalmente se logra con una configuración llamada puente H, la cual les muestro a continuación:
Con el interruptor SW1 el usuario decide si el motor gira a la izquierda, a la derecha o si se detiene.
Pero, ¿cómo sucede esto?
Cuando el interruptor está en la posición del centro, no hay voltaje aplicado a los transistores por lo que permanecen en estado de corte.
Recordemos que los transistores se utilizan como interruptores y como dispositivos de control, tal como ya lo he presentado en otros aportes:
Cuando se coloca el interruptor en la primera posición (la superior), el comportamiento de la corriente es el siguiente:
La corriente fluye a través de Q1 y Q4. El motor gira en sentido horario.
Si se cambia de posición el interruptor entonces el motor gira en sentido anti horario.
Para activar los transistores se requieren tensiones muy bajas, lo que hace que podamos remplazar el interruptor por Arduino.
Los diodos en el diseño se han colocado para suprimir las posibles corrientes transitorias que se puedan generar por la acción del motor.
El armado del circuito requiere básicamente de 12 componentes: 4 transistores, 4 resistores y 4 diodos.
Yo usaré para la demostración el transistor C2073 (hoja de datos: http://www.ic72.com/pdf_file/-/c2073.pdf). Si no puede encontrar este modelo y necesita utilizar otro recomiendo consultar este post: El arte de escoger un buen transistor.
Los transistores son rectificadores comunes. El motor es un motor sencillo extraído de un aparato que fue descartado.
En la siguiente imagen se muestra el diagrama pictórico del puente H:
El código para Arduino es sencillo. Al enviar el número 1 por el Monitor Serial, el motor girará a la derecha; con un 2 el motor girará a la izquierda y con un 0 el motor se detendrá.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
//Código para utilizar motor con puente H int LeftPin=8; //Pines de salida del Arduino int RightPin=9; int input=0; void setup(){ Serial.begin(9600); pinMode(LeftPin, OUTPUT); pinMode(RightPin, OUTPUT); } void loop(){ if (Serial.available()){ if (input=='1'){ //El motor girará a la derecha digitalWrite(LeftPin, LOW); digitalWrite(RightPin, HIGH); } else if (input=='2'){ //El motor girará a la izquierda digitalWrite(LeftPin, HIGH); digitalWrite(RightPin, LOW); } else if (input=='0'){ //El motor se detendrá digitalWrite(LeftPin, LOW); digitalWrite(RightPin, LOW); } delay(10); } } |
Al cargar este código podremos tener el control total sobre el motor en el puente H.
A continuación, un video con el puente H funcionando:
Espero que la información suministrada sea de su agrado. Saludos.
Gracias amigo,,, pero
cuales son las especificaciones de los materiales…
Resistencia 11K o 1K… 1/2 o 1/4
diodos… todos son iguales? que valor?
Disculpa mis preguntas… soy principiante..
Gracias de todas formas.
Resistencias de 1 K, diodos rectificadores. Las potencias son todas de 1/2 W y los transistores deben soportar al menos 1 amperio, para que no se quemen
Buenas noches, espero se encuentre muy bien, donde puedo conseguir este tipo de materiales en panama para un proyecto escolar, me encuentro en la ciudad de colon, por favor si me puede ayudar, mi correo es [email protected] y mi numero es 63502817. gracias
No es necesario en este caso. Pero sí, tienes razón. Se debería utilizar uno
A que voltaje te refieres?
Cambia la resistencia de base de los transistores a valores mas pequeños
SI YA TENGO EL PUENTE H COMO TALCOMO CONECTO? O.o
porque me pasa esto?
https://uploads.disquscdn.com/images/c35e7215fc7ac3da17d39e04c062706b2453bde02ee67d2736bef819587e2b21.png
que corrientes es capaz de soportar esos transistores
Te recomiendo que leas el post https://panamahitek.com/el-arte-de-escoger-un-buen-transistor/
No me deja copilar me aparece: Tamaño binario del Sketch: 2,424 bytes (de un máximo de 32,256 bytes)
ayuda por favor
Se puede crear una interfas en arduino?
Interfaz?
[…] https://panamahitek.com/el-puente-h-invirtiendo-el-sentido-de-giro-de-un-motor-con-arduino/ […]
Lo hice igual que el que se muestra y no me funciona, no gira el el motor cuando lo ordeno en Arduino, necesito ayuda.
El diagrama presentado fue probado y a muchas personas le ha funcionado. Verifica
En la programación de Arduino a la variable input, falta asignarle el valor que lee del puerto serie input = Serial.read();
material:
resistencias 1k
transistor C2073
diodos ??
¿Qué tipo de diodos son?
Rectificadores
Amigo me gustaria ver si me podrias brindar el diagrama para realizarlo en la placa
Cual diagrama? Ahí está el diagrama electrónico no?
consulta rapida, q codigo son los diosos rectificadores? puesto q hay varios, o almenos yo conozco varios.
Cualquiera funciona
sirve cualquier transisto npn como el 2n2222 o solamente el de la referencia que utilizaron?
Cualquiera que soporte la corriente del motor
Hola buen día, soy novata en esto pero me gusta, estoy en un proyecto y su pagina me a ayudado mucho, cualquier duda, espero puedan apoyarme
Gracias saludos cordiales.
A la orden, siempre
Hola, existe la posibilidad de lograr esto mismo pero con fines de carrera??
atte, gracias
Podrías ser un poco más específico?
Hola. Podrías ser un poco más específico?
Saludos, este circuito se puede controlar mediante PWM con el mismo arduino? como sustituto de esta placa http://www.estecs.com.mx/producto/modulo-puente-h/ puesto que solo requiero controlar un motor DC, requiero hacer marcha directa, inversa y a 128 y 255 en pwm.
Sí se puede utilizar PWM para modificar la velocidad del motor
buenas tardes, quería pedir ayuda, estoy creando una embobina dora necesito poder programar que y hacia la derecha recorra 8 cm en 1 minuto y hacia la izquierda el mismo recorrido, y necesito que con un botón vaya hacia la derecha y con otro hacia la izquierda ¿como seria la configuración en Arduino uno por favor? este es el codigo que tengo y no logro que por medio de los botones cambie de dirección el motor
#include
AccelStepper stepper(1,3,2); //use pin 3 para step. 2 para dir;
int estadoBoton = 12; //pulsador de arranque <>
void setup()
{
stepper.setMaxSpeed(500.0);
stepper.setAcceleration(3500.0);
}
void loop()
{
if (digitalRead(estadoBoton) == HIGH)
{// Está presionado
stepper.runToNewPosition(-32000);
}
else if (digitalRead(estadoBoton1) == HIGH)
{// Está presionado
stepper.runToNewPosition(800);
}
}
Esto lo puedes hacer tu mismo a través de experimentación. Si no tenemos el circuito armado, el que compartas el código no sirve de mucho
hola quisiera hacer el mismo incluyendo un par de pulsadores y ver que tanto tendria que cambiar la programacion
Con pulsadores no hay que usar programación
Buenas. Uso el bd135, alimento el puente h con 12 v. Trabajo con un micro arm, q entrega 3.3 v de gpio digital. La inversion de tension la hace perfecto, pero me aparece 2.2v en vacio en la bornera de salida donde va conectado el motor. A que se debe esto? Porque hay esa brutal caida? No consigo hacer que funcione, probe alimentando el micro con una fuente externa para que suministre mas corriente en caso de que los transistores no esten saturando, pero es lo mismo.
Si cuando están activos los transistores hay una gran caída de voltaje en la salida, esto se debe a que el transistor no está bien polarizado. Usa una resistencia de 100 Ohms o algo similar y se debe corregir el problema
Comment:hola el motor que tengo tiene 4 puntos como hago para usarlo con ese puente, saludos y muchas gracias de antemano
Eso parece ser un stepper motor. Busca referencias sobre ese tipo de motores
Hola qué tal tengo un motor con transmisión 120v DC a 40 ampers tengo problemas para hacer el cambio de giro me puedes ayudar por favor
Necesitas un driver de potencia para eso. Con el circuito que presenté en este post apenas puedes manejar poco más de 1 Amperio sin necesitar disipadores de calor
puedo cambiar el Q1,Q2,Q3 y Q4 por otro como el 2N3055?
Siempre y cuando sea un transistor NPN y que tenga una corriente de colector superior a la corriente nominal del motor, funcionará
hola, funciona con una señal de 3,3VDC desde un NodeMCU??
Sí funciona
Tengo un consulta, estoy utilizando este mismo circuito para controlar una celda peltier, el puente h lo utilizo para cambiar la polaridad de la celda. El principal problema es que necesito una corriente mayor a la que otorgan los transistores 2N2222, mi pregunta, ¿Es que si podría reemplazar los transistores por unos mosfet para elevar la corriente que entra a la celda después de pasar por el puente H? Espero su respuesta y Opiniones. Buen día/noche.
En efecto, hay puentes H construidos con base en transistores. Creo que usan Mosfets Canal N
Hola, tengo conectado un Puente h a unos motores, todo funciona bien, excepto que al oprimir el pulsador y arrancar los motores se entrega el voltaje poco a poco, es decir, para pasar de 5 v a 9 v tarda varios segundos. ¿Hay manera de hacer que entregue los 9v de inicio?
Con una mejor fuente. O talvez agregando algunos capacitores en paralelo a la salida de potencia
Una pregunta cual es la diferencia entre un puente H de 1 amperio y 2 amperios , osea , que pasaria ?
No hay diferencia. Uno soporta más corriente que el otro, lo cual depende de la corriente de colector de los transistores que uses
Exacto, pero el de 2 Amperios podía controlar un motor mas grande, dependiendo de que motor quieras controlar, se diseña un puente h con diferentes transistores.
Hola oye una pregunta¿que tipo de diodos se utilizan en el circuito?
Cualquier diodo rectificador que soporte la corriente del motor. Normalmente cualquier tipo de diodo de silicio funciona
Se puede utilizar un diodo 1N4005 en el circuito?