01 · Punto de partida
Del interruptor al control bidireccional
En el tema anterior conectamos un motor mediante un transistor de lado bajo. Esa etapa permite habilitar una polaridad fija. Para que el robot avance y retroceda necesitamos aplicar tensión al motor en ambos sentidos.
Un puente H es una estructura de conmutación que conecta cada terminal del motor al positivo o al retorno de la fuente. Un driver agrega los circuitos que gobiernan los transistores y, según el dispositivo, regulación de corriente, diagnóstico y protecciones.
Primero analizaremos interruptores ideales. Después usaremos un módulo DRV8833 concreto como ejemplo de interfaz. No vamos a construir un puente discreto con cuatro GPIO controlando directamente transistores.
02 · Topología
Cuatro interruptores y dos ramas
La rama izquierda tiene Q1 arriba y Q2 abajo; su punto medio es A. La derecha tiene Q3 arriba y Q4 abajo; su punto medio es B. El motor queda entre A y B, formando la barra central de la H.
Si cerramos Q1 y Q4, A queda al positivo y B al retorno: VAB = VA − VB ≈ +VM. Cerrando Q2 y Q3, la polaridad se invierte. Qué sentido físico corresponde a cada polaridad depende de los cables y la mecánica.
Los interruptores reales tienen resistencia, retardos y caminos de corriente adicionales. El dibujo explica conexiones; no muestra el accionamiento de gate, los diodos ni la dinámica inductiva.
03 · Combinaciones
Estados permitidos y cortocircuitos
| Q1 | Q2 | Q3 | Q4 | Resultado |
|---|---|---|---|---|
| 1 | 0 | 0 | 1 | Polaridad A→B |
| 0 | 1 | 1 | 0 | Polaridad B→A |
| 0 | 0 | 0 | 0 | Salidas sin conexión activa a los rieles |
| 0 | 1 | 0 | 1 | Ambos terminales al retorno: frenado dinámico |
| 1 | 0 | 1 | 0 | Ambos terminales al positivo: otro estado de frenado |
| 1 | 1 | — | — | Corto directo en la rama izquierda |
| — | — | 1 | 1 | Corto directo en la rama derecha |
Activar simultáneamente el interruptor alto y bajo de una misma rama conecta la alimentación directamente al retorno. Se llama shoot-through. Su corriente no queda limitada por el bobinado del motor.
Los cambios de estado requieren evitar solapamiento real de conducción. El tiempo muerto deja un intervalo entre apagar un transistor y habilitar su complementario. En un integrado se siguen sus reglas y tiempos internos; no se reemplazan suponiendo que dos escrituras de GPIO ocurren a la vez.
04 · Corriente y energía
Rueda libre y frenado
En rueda libre o coast, las salidas dejan de aplicar activamente una polaridad. El motor puede seguir girando por inercia. La corriente que ya existía necesita recircular por los caminos del driver antes de extinguirse: alta impedancia no significa corriente cero instantánea.
En frenado dinámico, el puente conecta ambos terminales del motor al mismo riel mediante transistores. El eje que sigue girando genera tensión interna y puede producir corriente que se opone al movimiento. La energía mecánica termina principalmente como calor en ese circuito.
Conectar A y B al mismo potencial produce tensión externa diferencial cercana a cero, pero el motor genera fuerza contraelectromotriz. Por eso cero voltios aplicados no implica cero corriente ni cero torque.
Según el modo y el instante, también puede devolverse energía a la alimentación. La fuente debe tolerar esa condición y los transitorios. Una fuente de banco que entrega corriente no necesariamente puede absorberla; la capacitancia y protección deben elegirse según el circuito.
El frenado dinámico disminuye cuando baja la velocidad y no garantiza sostener una carga inmóvil. Para una carga vertical, retención y parada deben diseñarse como vimos en los temas 4 y 10.
05 · Cambio de sentido
Invertir un eje que todavía gira
Si el eje gira hacia adelante, genera una tensión interna E con esa orientación. Aplicar de golpe −VM obliga a un esfuerzo eléctrico distinto del arranque desde reposo.
En frenado con terminales unidos: I ≈ −E / Rtotal
Con polaridad inversa y giro aún positivo: I ≈ (−VM − E) / Rtotal
Son estimaciones de corriente para una velocidad momentáneamente fija y después de la evolución eléctrica; la corriente no cambia instantáneamente, porque existe inductancia. La velocidad también cambiará y la regulación del driver puede impedir alcanzar esos valores.
Con VM = 6 V, E = 4 V y Rtotal = 3,5 Ω, las estimaciones son +0,57 A, −1,14 A y −2,86 A. Desde reposo, el caso aplicado a plena tensión sería 6/3,5 ≈ 1,71 A. La inversión puede exigir más magnitud que ese arranque.
Una estrategia habitual reduce la orden, frena o deja desacelerar, comprueba condiciones y luego aplica el nuevo sentido. La decisión depende de inercia, corriente, tiempo y sensores disponibles. Una espera fija sin observar el eje no demuestra que ya esté quieto.
06 · Interfaz concreta
Del esquema ideal al driver integrado
Un integrado puede incluir transistores, accionamiento del lado alto y control de conmutación. El programa ordena estados mediante una interfaz lógica, en lugar de controlar los cuatro gates por separado.
Como ejemplo, para un canal del DRV8833 de Texas Instruments, despierto y sin una protección que inhiba salidas:
| IN1 | IN2 | OUT1 | OUT2 | Función |
|---|---|---|---|---|
| 0 | 0 | Z | Z | Rueda libre |
| 1 | 0 | Alto | Bajo | Una polaridad |
| 0 | 1 | Bajo | Alto | Polaridad opuesta |
| 1 | 1 | Bajo | Bajo | Frenado dinámico |
Z significa alta impedancia de la etapa activa. IN1 = IN2 = 1 no ordena shoot-through: el integrado lo interpreta como un estado permitido. No confundas dos entradas lógicas con dos transistores de la misma rama.
Otros dispositivos agregan ENABLE, PWM, STBY o selección de interfaz. La misma combinación de entradas puede tener otro significado. Antes de programar, escribí la tabla de tu driver y revisá estado de arranque, sleep y recuperación.
07 · Límites del conjunto
Corriente máxima y pérdidas
La corriente continua depende del encapsulado, placa, cobre, temperatura y refrigeración. La corriente pico depende también de duración y repetición. Una cifra de «2 A» sin esas condiciones no alcanza para seleccionar el módulo.
La placa DRV8833 de Pololu anuncia aproximadamente 1,2 A continuos por canal y 2 A de pico bajo sus condiciones. También documenta entradas compatibles con lógica de 3 y 5 V, alimentación de motor de 2,7 a 10,8 V y detalles de sus conexiones. Estas características corresponden a esa placa.
En una diagonal conducen dos transistores. Si su resistencia total de camino es Rpuente:
Pconducción ≈ I² · Rpuente
Con 1 A y 0,5 Ω totales, caen aproximadamente 0,5 V y se disipan 0,5 W. Con 2 A, la pérdida sube a 2 W. Faltan pérdidas de conmutación y otras partes; con PWM importa la corriente RMS, no solo un promedio simple.
En un driver doble, ambos canales comparten recursos térmicos y fuente. No supongas que dos canales al máximo individual siempre pueden operar simultáneamente. Verificá también corriente de arranque y escenarios de inversión.
08 · Detectar y responder
Protecciones y recuperación
| Función | Qué aporta | Qué no garantiza |
|---|---|---|
| Regulación de corriente | Modula salidas para controlar corriente según su configuración | Que venga habilitada en cualquier módulo |
| Protección de sobrecorriente | Responde a una condición excesiva según umbral y tiempos | Una corriente de trabajo ajustada para proteger el motor |
| Apagado térmico | Reduce riesgo de daño del driver por temperatura | Proteger también bobinado, cableado y mecánica |
| Bloqueo por baja tensión | Inhibe funcionamiento fuera de ciertas condiciones | Una parada mecánica controlada antes de perder energía |
| Salida de fallo | Permite registrar una condición detectada | Diagnóstico completo ni detección de todas las averías |
Leé cómo se recupera cada protección. Algunos fallos se reintentan automáticamente o desaparecen al enfriarse. Si el programa mantiene una orden de marcha, el motor podría volver a recibir energía sin una nueva acción del usuario.
En la placa Pololu del ejemplo, la regulación opcional requiere modificar la conexión de sensado según su documentación; no debe asumirse activa de fábrica. Su salida FLT es de drenador abierto y necesita pull-up. Esa placa incorpora protección de polaridad de batería; no todas las placas con el mismo integrado la incorporan.
09 · Código para la placa
Prueba con DRV8833 y Arduino
Usaremos UNO R3 y la placa Pololu DRV8833 citada: AIN1 a D9, AIN2 a D10, SLP a D8 y FLT a D2. Motor entre AOUT1 y AOUT2; alimentación de motor compatible a VIN y GND; masa común con Arduino. Dejá BIN1 y BIN2 en LOW si usás solo un motor, según el esquema del módulo. No alimentes el motor desde un GPIO.
Verificá cableado sin energía y comenzá con el movimiento contenido. El programa permite pulsos de 250 ms, impone una pausa mínima de 500 ms desde la última desactivación y solicita un rearme antes de cada nueva maniobra. Esa pausa no confirma que el eje se haya detenido.
const byte IN1 = 9, IN2 = 10, SLEEP = 8, FALLO = 2;
bool activo = false;
bool inhibido = true;
unsigned long inicio = 0;
unsigned long ultimoApagado = 0;
void ruedaLibre() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
activo = false;
inhibido = true;
ultimoApagado = millis();
}
void setup() {
digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
digitalWrite(SLEEP, LOW); pinMode(SLEEP, OUTPUT);
pinMode(FALLO, INPUT_PULLUP);
Serial.begin(115200);
digitalWrite(SLEEP, HIGH);
delay(2); // Espera de despertar, solo en setup y con IN1=IN2=0.
ultimoApagado = millis();
Serial.println("C: rearmar; A/V: pulso de marcha; S: rueda libre");
}
void loop() {
const unsigned long ahora = millis();
if (digitalRead(FALLO) == LOW) {
ruedaLibre();
return;
}
if (activo && ahora - inicio >= 250) ruedaLibre();
if (Serial.available() == 0) return;
const char comando = Serial.read();
if (comando == 'S') ruedaLibre();
else if (comando == 'C' && !activo) inhibido = false;
else if ((comando == 'A' || comando == 'V')
&& !activo && !inhibido
&& ahora - ultimoApagado >= 500) {
// Siempre se parte de rueda libre; no se invierte en marcha.
digitalWrite(IN1, comando == 'A' ? HIGH : LOW);
digitalWrite(IN2, comando == 'V' ? HIGH : LOW);
inicio = ahora;
activo = true;
}
}
Tras energizar, esperá al menos medio segundo y enviá C y luego A o V desde el monitor serie. Al terminar el pulso vuelve a rueda libre y queda inhibido. Para repetir, verificá la condición mecánica, rearmá y enviá otra orden después de la pausa.
SLP y FLT tienen conexiones y estados propios del módulo elegido. El tiempo de despertar debe respetar su ficha; en este ejemplo se reserva 2 ms. No copies el cableado en otro driver con pines de nombre parecido sin revisar su función.
El fallo se consulta por sondeo y las órdenes serie pueden quedar en un buffer. Esta prueba manual no es un protocolo de mando robusto ni una protección autónoma de inversión; para una máquina real se necesitan órdenes con validez, supervisión y criterios de parada apropiados.
10 · Exploración interactiva
Laboratorios: conexiones y esfuerzo eléctrico
1. Cuatro interruptores ideales
Estos controles son transistores virtuales, no entradas IN1/IN2 de un integrado. Permiten mostrar combinaciones que un driver puede impedir internamente. No se conectan a hardware.
Seleccioná una combinación.
Probá las dos diagonales, los dos inferiores y los dos superiores. Después activá Q1 y Q2 juntos: el laboratorio informa cortocircuito de rama y deja de asignar una tensión ideal. Con una salida flotante, la tensión depende de corriente, diodos y motor, elementos omitidos aquí.
2. Un eje que sigue girando al invertir
Fuente de 6 V y resistencia de motor de 3 Ω. E representa el giro positivo actual. Se calcula el objetivo eléctrico con E fija, sin inductancia, cambios de velocidad ni actuación de limitadores; no es un salto instantáneo de corriente.
Compará los tres modos.
| Magnitud | Resultado |
|---|---|
| Corriente de arranque con E = 0 | — |
| Referencia hipotética de corriente: 2 A | — |
Con E = 4 V y Rpuente = 0,5 Ω, la inversión pide unos −2,86 A frente a 1,71 A de arranque. La pérdida resistiva del puente correspondiente sería unos 4,08 W si esa corriente se estableciera. El modelo solo compara con 2 A: no recorta la corriente ni calcula temperatura.
Bajá E a cero: desaparece la diferencia entre magnitud de arranque e inversión. Subí Rpuente: baja la corriente, pero eso no convierte la resistencia del driver en un método eficiente de control. Su disipación debe calcularse en cada punto.
11 · Código ejecutable
La inversión en Python
Calculemos las mismas tres condiciones para varios valores de tensión interna. El signo positivo corresponde a corriente A→B; con giro positivo, una corriente negativa puede producir torque de frenado antes de que se invierta el movimiento.
Probalo en el navegador. El código es editable. Python se descarga con Pyodide la primera vez y requiere conexión. No controla un motor.
vm = 6.0
r_motor = 3.0
r_puente = 0.5
r_total = r_motor + r_puente
referencia_a = 2.0
for emf in (0.0, 2.0, 4.0, 5.0):
directa = (vm - emf) / r_total
freno = -emf / r_total
inversa = (-vm - emf) / r_total
perdida_puente = inversa ** 2 * r_puente
supera = abs(inversa) > referencia_a
print(f"E={emf:.1f} V; directa={directa:.2f} A; "
f"freno={freno:.2f} A; inversa={inversa:.2f} A; "
f"puente={perdida_puente:.2f} W; supera 2 A={supera}")A E = 4 V se obtienen +0,57 A, −1,14 A y −2,86 A. A E = 0, las magnitudes de directa e inversa coinciden: 1,71 A. Un circuito con limitación activa no seguirá sin cambios estas estimaciones.
Un transitorio real requiere modelar al menos inductancia y dinámica mecánica. Estas cuentas sirven para identificar un escenario exigente, no para predecir una forma de onda completa ni dimensionar un pico solo por su valor final.
12 · Método y diagnóstico
Pruebas y diagnóstico
- Reuní ficha del motor, integrado y placa: tensión máxima cargada, corrientes, tabla lógica y montaje térmico.
- Verificá alimentación, masa, desacoplos, entradas de arranque y pines de sleep/fallo.
- Probá primero las órdenes sin movimiento, respetando cómo se deben medir las salidas.
- Con movimiento contenido, aplicá pulsos breves y verificá el sentido con baja carga.
- Compará rueda libre y frenado en condiciones controladas, midiendo corriente y movimiento residual.
- Verificá cómo se inhiben y rearman las órdenes ante fallos observados, sin provocar cortocircuitos físicos ni calentamiento deliberado.
El motor está entre dos salidas activas: no conectes la pinza de masa de un osciloscopio de banco a una salida como si fuera GND. Su referencia puede estar unida a tierra y crear un cortocircuito. Usá una técnica diferencial apropiada y conocé el instrumento antes de medir.
«IN1 e IN2 altos queman siempre el puente»
En el DRV8833 representan frenado permitido. El corto peligroso corresponde a los transistores alto y bajo de una misma rama, no a cualquier par de entradas lógicas.
«OFF significa lo mismo en cualquier driver»
Puede significar rueda libre, frenado, sleep u otro estado según la interfaz. Documentá la tabla y la función concreta.
«La protección de sobrecorriente ya regula el motor»
Protección y regulación tienen objetivos, umbrales y tiempos distintos. Comprobá si la limitación de trabajo existe y está configurada en el módulo.
«Si se recuperó el fallo, conviene retomar la orden anterior»
La causa puede persistir o haber cambiado el entorno. Un reinicio automático puede ser peligroso; definí inhibición y rearme deliberado.
«Puedo conservar el diodo del circuito de un sentido sobre el motor»
Un diodo fijo en paralelo al motor conduciría al aplicar una de las polaridades. El puente reversible usa caminos de recirculación apropiados, integrados o externos según su diseño.
13 · Práctica guiada
Predecí antes de comprobar
1. Diagonal de marcha
Con la numeración del dibujo, ¿qué interruptores aplican A al positivo y B al retorno? ¿Qué ocurre si también cerrás Q2?
Ver solución
Q1 y Q4. Agregar Q2 cierra los dos de la rama izquierda y crea un corto directo de alimentación a retorno.
2. Frenado con tensión diferencial cero
Q2 y Q4 están cerrados y el eje todavía gira. ¿VAB ≈ 0 demuestra que la corriente es cero?
Ver solución
No. La tensión interna del motor puede impulsar corriente por el circuito de frenado. La inductancia y el movimiento determinan su evolución.
3. Pérdidas de conducción
El camino activo tiene 0,4 Ω y conduce 1,5 A. ¿Qué caída y pérdida resistiva estimás?
Ver solución
ΔV = 1,5 × 0,4 = 0,6 V y P = 1,5² × 0,4 = 0,9 W. Faltan otros costes y la verificación térmica.
4. Inversión
VM = 8 V, E = 3 V y Rtotal = 4 Ω. Compará la magnitud estimada de arranque con la de polaridad opuesta mientras sigue girando positivo.
Ver solución
Arranque: 8/4 = 2 A. Inversa: (−8 − 3)/4 = −2,75 A. La magnitud es mayor, sin afirmar un salto instantáneo ni que se alcance si hay limitación.
5. Tabla del integrado
En el DRV8833 despierto y sin inhibición, ¿qué diferencia hay entre IN1/IN2 = 00 y 11?
Ver solución
00 deja las salidas en alta impedancia para rueda libre. 11 pone ambas salidas bajas para frenado dinámico. No son la misma maniobra aunque ninguna aplique una diagonal de marcha.
6. Recuperación térmica
Un driver se apaga por temperatura y luego se recupera solo. El programa conserva marcha. ¿Qué riesgo hay y qué respuesta conviene definir?
Ver solución
El motor puede reenergizarse sin una nueva orden. Hay que inhibir la marcha ante el fallo observado y exigir recuperación y rearme adecuados a la máquina. También debe investigarse la causa térmica; el software no elimina todos los fallos posibles.
14 · Síntesis
Ideas para recordar
- El puente H aplica ambas polaridades conectando el motor mediante diagonales.
- Activar alto y bajo de una misma rama crea shoot-through; las entradas de un integrado no son gates individuales.
- Rueda libre, frenado dinámico y sleep son estados distintos.
- La corriente inductiva y la inercia no desaparecen al cambiar la orden.
- Invertir mientras el eje gira puede exigir más corriente que arrancar desde reposo.
- Corriente continua y pico dependen del integrado, placa, temperatura y duración.
- Regulación de corriente y protección de sobrecorriente no son equivalentes.
- El tratamiento de fallos debe considerar recuperación automática, inhibición y rearme.
¿Listo para el tema 13?
Antes de avanzar, dibujá las diagonales de marcha y el estado de frenado. Después explicá qué tabla lógica usa tu driver, qué corriente puede soportar y cómo impedirías retomar una orden tras un fallo.
En el próximo tema estudiamos control de velocidad con PWM: ciclo de trabajo, frecuencia y zona muerta del motor.