Análisis de Experto
Experto verificado
Análisis general del producto
He estado usando este driver PWM de 16 canales con una Raspberry Pi en varios montajes de prototipado: desde un pequeño robot con servos para un mecanismo de orientación hasta una maqueta de iluminación con LEDs direccionables analógicos (con control por PWM). La idea central es clara y, en la práctica, se agradece mucho: convertir un bus I2C “compartido” en salidas PWM relativamente independientes, reduciendo el estrés por pines GPIO y manteniendo un control temporal bastante estable.
En mi caso, el uso más frecuente ha sido el de liberar pines para otras funciones (sensores por I2C, pantalla por SPI, botones, etc.) mientras mantengo el control de actuadores con PWM “desde software”. También lo monté como etapa de expansión para un proyecto de iluminación en el que necesitaba varios brillos con sincronía razonable y sin depender de temporizadores adicionales por canal.
El resultado es un módulo muy orientado a proyectos donde quieres muchos canales sin convertir la Raspberry en un tablero de soldadura de cables. Para tareas puntuales funciona de forma inmediata; para sistemas más serios, hay que cuidar el cableado de alimentación y la gestión del bus I2C, pero el marco general es sólido.
Calidad de construcción y materiales
La placa está pensada para usarse con prototipado: se integra con facilidad en una base, y la serigrafía y la ubicación de componentes hacen que conectar y depurar no sea un suplicio. En la práctica, lo que más valoro de este tipo de driver no es “la robustez mecánica” (que suele ser correcta), sino la consistencia del montaje eléctrico: pads bien definidos, señalización clara de SDA/SCL y de las líneas de alimentación, y una zona de configuración de dirección accesible.
En mis pruebas, el comportamiento eléctrico fue el típico de un módulo I2C de expansión: cuando el bus está bien alimentado y el cableado no es excesivamente largo, el PWM se mantiene estable; cuando alargas demasiado las líneas de señal o improvisas con fuentes de baja calidad para la carga, empiezan a aparecer pequeñas irregularidades (más notables en LEDs que en servos, pero se notan). Esto no es un fallo del “algoritmo” del driver, sino de la integración física del sistema: la electrónica de control puede estar perfectamente, pero si las corrientes de carga meten ruido en la referencia, lo notas.
Un detalle importante: al trabajar con cargas externas, conviene que los puentes y terminales de alimentación estén bien apretados o soldados de forma firme. En un par de pruebas con alimentación “puenteada” de forma improvisada, observé variaciones de brillo y algún tirón en la respuesta al cambiar valores PWM rápido. Al separar mejor la alimentación de lógica (VCC) y la de potencia (V+), el sistema se estabilizó.
Compatibilidad y rendimiento
Este driver funciona de forma natural en entornos Raspberry Pi por I2C, y en el día a día se comporta como una “caja de registros PWM”: programas el valor de cada canal y el chip se encarga del timming interno. He comprobado que la resolución de 12 bits es suficiente para transiciones suaves en aplicaciones de brillo y para ajustes finos cuando no necesitas control de alta frecuencia tipo RF o modulación compleja.
En cuanto a frecuencia PWM, la posibilidad de ajustarla hasta un valor alto (aprox. 1,6 kHz) me ha servido para dos escenarios distintos:
- Para LEDs y control de brillo, a frecuencias más altas reduces el parpadeo percibido y las transiciones se sienten más “continuas”.
- Para algunos motores/actuadores que admiten PWM en rango relativamente estándar, puedes encontrar una frecuencia que minimice vibración o ruidos audibles.
Donde lo noté con más claridad fue en un montaje con un mecanismo que cambiaba posiciones con cierta frecuencia. Al ajustar el PWM para un comportamiento más estable, el conjunto se volvió más repetible: menos “temblor” por diferencias de carga y mejor control del punto de funcionamiento.
También probé el encadenamiento mediante configuración de dirección I2C con puentes: es el enfoque correcto cuando quieres escalar sin colapsar el bus con adaptadores raros. En sistemas con varios módulos I2C, lo crítico es no solo la dirección, sino el bus en sí: longitud de cables, calidad de masa (GND común) y distribución de alimentación. En un montaje con varias placas, el I2C se mantuvo estable mientras las líneas no se volvieron una maraña de cables sin referencia; al meter un mazo largo sin control, el bus empezó a ser más delicado.
Puntos fuertes y aspectos mejorables
Puntos fuertes
- 16 canales con una integración limpia: ideal si te faltan GPIO o si quieres mantener el montaje ordenado.
- PWM con buena granularidad: la resolución ayuda a lograr cambios de brillo y posicionamiento más suaves.
- Frecuencia ajustable: útil para optimizar el comportamiento según carga (LEDs, variadores simples, actuadores compatibles).
- Escalabilidad por I2C: la selección de dirección permite crecer sin rehacer todo el diseño.
Aspectos mejorables (en la práctica de laboratorio)
- Separación de alimentación imprescindible: para cargas con consumo, hace falta una fuente externa adecuada para V+. He visto cómo una fuente compartida o “tomada prestada” desde la Raspberry termina afectando el control.
- Sensibilidad del bus I2C a la topología: con cables largos o alimentación ruidosa, el bus puede volverse inestable y eso se traduce en saltos de salida. Es mejor planificar el cableado (GND común, rutas cortas, y evitar que corrientes de carga circulen por el mismo retorno que la lógica).
- Planificación de frecuencias y valores: no es un dispositivo “universal” para cualquier carga. Si usas PWM alto con una carga que no lo agradece, puedes acabar con calentamiento extra o comportamiento errático. La práctica manda: prueba el rango de frecuencia y observa temperatura y estabilidad.
Como alternativa genérica, hay controladores PWM con muchos canales que usan interfaces diferentes (por ejemplo, SPI o expansores con lógicas distintas). En proyectos simples, SPI puede reducir latencia percibida y mejorar robustez si el bus I2C está muy cargado. Pero cuando lo que quieres es muchos canales y ya tienes I2C en marcha (sensores, displays, módulos auxiliares), este enfoque por I2C encaja mejor en términos de cableado y de simplicidad del sistema.
Veredicto del experto
Lo veo como una compra muy sensata para Raspberry Pi cuando necesitas expandir salidas PWM sin convertir tu prototipo en un cableado infinito. En mis semanas de uso, el comportamiento ha sido consistente: el PWM sale con buen control y la escalabilidad por dirección I2C funciona bien si respetas la parte eléctrica (alimentación de carga separada y cableado con sentido).
Mi recomendación práctica es clara: planifica desde el principio la alimentación (una fuente para V+ con masa bien definida), mantén cortas las líneas de señal entre módulos y evita compartir retornos ruidosos con la lógica. Si haces eso, el driver cumple su objetivo con solvencia y se convierte en una pieza “base” para robots pequeños, paneles de iluminación y proyectos de automatización donde necesitas varios canales PWM a la vez.














