Ir al contenido

El módulo Puente H es una tarjeta de control de motor DC de diseño propio. Usa una topología de puente H discreto, con aislamiento óptico entre la lógica y la potencia, y un ESP32-C3 embebido que gestiona los modos de comunicación. El robot lleva dos, uno por motor de tracción.

Nivel de replicación

Construible

Está la geometría acotada y el procedimiento. Tendrás que adaptarlos a tus herramientas y materiales.

Lo que encuentras aquí

  • Gerbers verificados (13 archivos, incluye taladros PTH) listos para pedido
  • Proyecto KiCad 9 completo: esquemático, layout y librerías
  • Lista de materiales con designadores, cantidades y encapsulados
  • Archivo de posiciones y designadores para ensamble automatizado
  • Firmware MicroPython funcional y protocolo de comando documentado
  • Datasheet propio de la placa

Lo que falta para llegar a «Reproducible»

  • Valor exacto de los diodos Zener D4–D7: el diseño usa el símbolo genérico 1N47xxA y no fija la tensión (ver «Lista de materiales»)
  • Números de parte de proveedor: la columna LCSC del BOM está vacía, así que la compra hay que resolverla por encapsulado y valor
  • Plantilla de stencil para pasta de soldadura, si se quiere ensamblar por reflow en vez de a mano

El driver de motor debía:

  • Controlar motores DC de 12–24 V, corriente continua ~4 A.
  • Soportar modos de comunicación múltiples (I²C, WiFi, BLE, UART).
  • Encadenarse en arquitectura maestro-esclavo (daisy chain I²C).
  • Arrancar en estado seguro (DISARMED) para evitar movimientos no deseados.
  • Ser compacto y replicable con componentes de catálogo.
Características eléctricas
ParámetroValorUnidad
Alimentación de potencia12–24V DC nominal
Corriente continua deseada4–5A
Corriente pico máxima8A
MicrocontroladorESP32-C3 SuperMini
Aislamiento lógica/potenciaOptoacopladores 4N25
MOSFETs alto ladoIRF9540Ncanal P, 117 mΩ
MOSFETs bajo ladoIRF540Ncanal N, 44 mΩ
Esquema de bloques funcionales del puente H
Etapa de potencia, aislamiento óptico, control embebido, expansión I²C y protección.
  1. Etapa de potencia — puente H con MOSFETs IRF540N (N) e IRF9540N (P).
  2. Aislamiento de control — optoacopladores 4N25 que separan la lógica del circuito de conmutación.
  3. Control embebido — el ESP32-C3 administra modos de comunicación, lógica de mando y estados.
  4. Interfaz de expansión — conectores I²C de entrada y salida para la arquitectura maestro-esclavo.
  5. Protección e indicación — fusible de entrada, capacitor de filtrado, LEDs de estado, botón local.

PWM_0 = 1 y PWM_1 = 1 simultáneamente está prohibido: provoca cortocircuito entre rieles de potencia.

PWM_0PWM_1EstadoDescripción
00Libre / deshabilitadoAmbos caminos apagados
10Giro AActiva diagonal A; combinable con PWM
01Giro BActiva diagonal B; combinable con PWM
11ProhibidoRiesgo de cortocircuito

La placa se diseñó en KiCad 9 y se fabricó en JLCPCB. Los valores de abajo están leídos del archivo de layout, no transcritos: son los que hay que declarar al pedir la placa.

Especificación de fabricación
ParámetroValorUnidadNotas
Dimensiones80,6 × 73,4mm
Capas de cobre2F.Cu / B.Cu
Espesor de placa1,6mm
Vías14
Ancho de pista — potencia2,0mmDiagonales del puente y rieles de alimentación
Ancho de pista — señal0,3 – 1,0mm

Artefacto

ZIPGerbers de fabricación — Puente H

140 KB

Artefacto

ZIPProyecto KiCad completo — Puente H

5,5 MB

Artefacto

PDFDatasheet Puente H ESP32-C3

1,4 MB

Para pedir la placa basta subir gerbers.zip tal cual al fabricante y dejar los parámetros por defecto de dos capas: el espesor de 1,6 mm y el acabado estándar son los que se usaron. El ZIP incluye los taladros PTH, así que no hay que exportar nada aparte.

Esquemático del Puente H en KiCad
ESP32-C3, optoacopladores 4N25, MOSFETs IRF540N/IRF9540N, conectores de potencia e I²C.
Layout PCB de dos capas del Puente H
El ruteo separa los planos de potencia —pistas de 2,0 mm— de las señales lógicas del microcontrolador.

54 componentes en 21 referencias distintas. La tabla está ordenada por función, no por designador, porque el orden que importa al replicar es el de la compra.

Artefacto

CSVBOM — Puente H (CSV)

1,1 KB

Artefacto

CSVPosiciones para ensamble — Puente H (CSV)

1,4 KB

Lista de materiales — módulo Puente H
DesignadoresCant.ValorEncapsulado
U11ESP32-C3 SuperMiniMódulo SMD
Q1, Q22IRF9540N (canal P)TO-220-3 vertical
Q3, Q42IRF540N (canal N)TO-220-3 vertical
U2–U544N25DIP-6, paso 7,62 mm
D4–D741N47xxA (Zener — ver nota)DO-41 horizontal
D11LED indicador1206
D21LED de datos1206
D31LED de potencia1206
C1, C3, C43100 nF1206
C212200 µF 50 VRadial D16 mm, paso 7,5 mm
R1–R4, R14, R156330 Ω1206
R7, R8, R10, R11, R16–R19810 kΩ1206
R6, R9, R12, R1342,2 kΩ1206
R20, R2124,7 kΩ1206
R513,3 kΩ1206
F11Portafusible 5 × 20 mmClip inline horizontal
SW31DIP switch 4 posicionesSlide, paso 2,54 mm
SW21PulsadorRS-032G05A3-SMRT
M11Bornera salida a motorMX126-5.0, 2 P
VP_IN1, VP_OUT12Bornera de potenciaMX126-5.0, 2 P
DATA_IN1, DATA_OUT12Conector I²CJST EH 4 P vertical
CONN01X061Header HC-05JST EH 6 P vertical
J1–J44Puente de alambre0,5 mm²

Dos advertencias antes de comprar:

  • Los Zener D4–D7 no tienen valor cerrado. El esquemático usa el símbolo genérico 1N47xxA de la librería de KiCad, cuyo datasheet por defecto apunta al 1N4728A (3,3 V, 1 W). Ese enlace viene de la librería, no de una elección registrada en el diseño, así que hay que confirmar la tensión contra la placa física antes de pedir.
  • La columna LCSC Part # del BOM está vacía. No hay números de parte de proveedor, así que la compra se resuelve por valor y encapsulado. Para el ensamble automatizado de JLCPCB habría que rellenarla primero.

La placa mezcla SMD 1206 con componentes de orificio pasante voluminosos —MOSFETs TO-220, capacitor radial de 16 mm, borneras—, así que el ensamble manual es viable y fue el que se usó.

Vista de manufactura de JLCPCB del módulo Puente H
Vista de manufactura que devuelve JLCPCB al subir los Gerbers: la última revisión antes de pagar el lote.
PCB del Puente H recién soldada
Placa recién soldada, antes de la instalación en el robot.
Detalle de la PCB del Puente H con ESP32-C3, DIP switch y conectores I²C
ESP32-C3 SuperMini, conector I²C etiquetado (5 V, SDA, SCL, GND), borneras y DIP switch de selección de modo.

El orden de montaje va de menor a mayor altura, que es la práctica estándar para soldadura manual y la que evita que un componente alto estorbe el acceso a uno bajo:

  1. Resistencias y capacitores 1206, y los LED. Son los más planos.
  2. Optoacopladores 4N25 en sus zócalos DIP-6. Respeta la marca de pin 1.
  3. Zener D4–D7 y los puentes J1–J4.
  4. Módulo ESP32-C3 SuperMini.
  5. DIP switch y pulsador.
  6. MOSFETs TO-220 — los cuatro van verticales.
  7. Portafusible, borneras, conectores JST y el capacitor de 2200 µF.

Antes de aplicar potencia por primera vez conviene verificar continuidad entre los rieles de alimentación y masa: un corto ahí es el fallo que la topología de puente H castiga más rápido.

Interior de la caja de elevación con los módulos Puente H montados
Los dos módulos Puente H alojados dentro de la estructura metálica que eleva el manipulador, sobre soportes impresos y sin cajas externas.
Módulo Puente H instalado en la estructura del robot
El módulo ya instalado en la estructura, con el cableado de potencia y el bus I²C conectados.

El estado del DIP switch se lee únicamente al encender y fija el modo de operación.

SW3SW2SW1ModoDescripción
000Prueba localValidación interna; rutina activable por botón
001WiFiRecibe comandos por red inalámbrica
010BLEBluetooth Low Energy
011HC-05Bluetooth clásico por UART externo
100I²C MaestroNodo maestro en arquitectura distribuida
101I²C Slave 1Esclavo 1 (dirección reservada)
110I²C Slave 2Esclavo 2 (dirección reservada)
111I²C Slave 3Esclavo 3 (dirección reservada)
SeñalGPIOFunción
PWM_0GPIO6Salida de mando — diagonal A del puente H
PWM_1GPIO7Salida de mando — diagonal B del puente H
SDAGPIO8Datos del bus I²C
SCLGPIO9Reloj del bus I²C
LEDGPIO10LED de usuario / depuración
RX / TXGPIO20 / GPIO21UART para módulo HC-05
S0, S1, S2GPIO1, GPIO3, GPIO4Lectura del DIP switch
BTNGPIO5Botón local (pull-up interno)
Conectores físicos del módulo Puente H
ConectorPinesDescripción
Entrada de potencia2Entrada principal de 12–24 V DC
Salida al motor2Terminales del puente H hacia la carga
Data_in I²C4+5V, SDA, SCL, GND — recibe el bus desde el maestro
Data_out I²C4Réplica del bus para encadenar el siguiente módulo
Header HC-056+5V, GND, RX, TX — Bluetooth clásico o debug UART
USB-C (ESP32-C3)Programación, alimentación digital y debug prioritario

MicroPython sobre el ESP32-C3. Acepta comandos por USB-C (canal prioritario siempre activo) o por el medio seleccionado con el DIP switch.

Artefacto

PYmain_movil_final.py

31 KB

Para cargarlo: instala el intérprete de MicroPython para ESP32-C3 en el módulo, copia el archivo como main.py en su sistema de archivos y reinicia. El firmware arranca leyendo el DIP switch, así que hay que fijar el modo antes de alimentar la placa.

BOOT
│ lee DIP switch (solo una vez)
DISARMED ──── ARM explícito o botón largo ────► ARMED
▲ │
└─── timeout 2 500 ms sin comando ────────────┘
FAULT ◄─── cortocircuito / error de checksum

La salida al motor permanece deshabilitada en DISARMED. Pasar a ARMED exige un comando explícito, así que el robot no puede moverse por accidente al encenderse ni al reconectarse.

Protocolo I²C binario — tramas de 7 bytes

Sección titulada «Protocolo I²C binario — tramas de 7 bytes»

En los modos maestro/esclavo, todos los comandos al Puente H viajan como paquetes binarios de longitud fija. El maestro construye la trama; los esclavos la validan antes de ejecutar.

ByteCampoDescripción
0PREAMBLESiempre 0xA5 — marca de sincronía
1SEQNúmero de secuencia 0–255 para detección de duplicados
2CMD_MODE0 STOP, 1 TARGET, 2 TEST
3–4LO, HIConsigna con signo como int16 little-endian
5FLAGSBitmask: ARMED (0x01), FAULT (0x02), TEST (0x04)
6CHECKSUMXOR de los bytes 0–5

Si el checksum no coincide, el paquete se descarta silenciosamente y el motor permanece en su último estado: nunca se ejecuta un movimiento con datos corruptos.

Conmutar ambas diagonales del puente H a la vez provoca cortocircuito. Para evitarlo, apply_bridge_local_safe() impone 300 µs de tiempo muerto entre cambios de diagonal.

Ningún cambio de velocidad es instantáneo. El duty cycle sube o baja 1 % cada 20 ms hasta alcanzar la consigna, con un techo de 70 %. Pasar de 0 % a velocidad máxima toma por tanto 1,4 s como mínimo, y esa rampa es la que limita las corrientes de arranque y el estrés mecánico sobre los motores DC.

El módulo pasó por dos etapas físicas antes de la versión final: prototipo en protoboard y placa fabricada.

Prototipo del puente H armado en protoboard
Prototipo en protoboard, donde se validó la topología antes de rutear la placa.
Medición de temperatura sobre el prototipo del puente H
Medición térmica sobre el prototipo: máximo registrado de 61 °C en los MOSFETs bajo carga.

El módulo acumula cinco resultados de prueba: temperatura de los MOSFETs en protoboard y bajo carga continua, movimiento diferencial en superficie plana, respuesta a los comandos de dirección y control remoto extremo a extremo. El detalle de cada uno está en Verificación del robot móvil.