Dos placas Teensy 4.1 se quemaron en el mismo proyecto de iluminación para moto, y el síntoma era siempre igual. Apenas se conectaba el controlador a las tiras LED ya instaladas, la placa empezaba a calentarse rápido. Paul Stoffregen, de PJRC, reconstruyó el diagnóstico en su columna de SparkFun News a partir del hilo del foro de PJRC donde el autor del proyecto pidió ayuda.

El montaje era ambicioso. Un sistema de luces inspirado en TRON, armado con un Teensy 4.1 y varias tiras WS2815 alimentadas desde el sistema eléctrico de 12 V de la moto. En el papel se veía sencillo. Los LED tomaban corriente directamente de la moto, el Teensy se alimentaba aparte por USB, y lo único que unía ambos lados era la señal de datos.

Esa señal fue el camino de la falla.

A medida que avanzó la discusión aparecieron varios temas que se repiten en el diseño de sistemas embebidos. La adaptación de niveles lógicos, la protección contra fallas, el aislamiento, y la distancia que hay entre algo que funciona en el banco de trabajo y algo que sobrevive en el mundo real.

¿Por qué dos fuentes separadas no aíslan nada?

La suposición más común es que tener fuentes de alimentación distintas implica aislamiento eléctrico automático. No es así.

Aunque el microcontrolador tenga su propia fuente, un cable de señal sigue siendo un camino posible para una corriente de falla. Si una línea de datos toca los 12 V por accidente, desarrolla un cortocircuito interno o se topa con alguna falla inesperada dentro de otro dispositivo, esa corriente entra directo a un pin del microcontrolador.

Los chips modernos traen estructuras de protección contra descargas electrostáticas que ayudan a sobrevivir eventos breves. No están diseñadas para absorber corriente de falla sostenida, y cuando esas estructuras se saturan el daño se propaga rápido.

La pregunta práctica queda planteada así.

¿Cómo evitamos que una falla de 12 V destruya el pin de un microcontrolador de 3,3 V?

Un circuito de protección simple

La primera propuesta fue un circuito de protección en dos etapas, con resistencias y un diodo zener. En vez de llevar la señal directo al pin del Teensy, la señal pasa por resistencias mientras el zener recorta el voltaje excesivo antes de que llegue al procesador.

Esquema original del circuito de protección dibujado por Paul

La idea es directa. La resistencia limita la corriente. El zener limita el voltaje. Ninguno de los dos componentes hace gran cosa por separado, pero juntos convierten una falla potencialmente destructiva en algo que el hardware puede aguantar.

¿Por qué no sirve un diodo común?

Una de las preguntas del hilo fue si un diodo normal podía reemplazar al zener. La respuesta corta es que no.

Un diodo común conduce en un sentido y bloquea en el otro. Ante una falla de 12 V positivos, no haría nada útil.

El zener es distinto porque está diseñado para conducir en inverso una vez que se alcanza cierto umbral de voltaje. En condiciones normales de operación prácticamente no hace nada. Cuando el voltaje sube más allá del rango previsto, empieza a conducir y desvía la corriente lejos del circuito protegido. Ese es exactamente el comportamiento que se busca.

La teoría está bien, la prueba está mejor

En vez de seguir especulando con valores de componentes, Stoffregen armó una prueba rápida en protoboard con piezas de su caja.

Lo primero que descubrió es que un zener de 3,3 V, que es lo que mucha gente elegiría de forma natural, no funcionaba bien en la práctica. Aunque el diodo estaba especificado para 3,3 V, empezaba a conducir tan temprano que dejaba la señal de salida del Teensy en unos 2 volts.

Es un recordatorio útil. Los diodos zener no pasan de apagado a encendido de golpe. Transitan de a poco por lo que se suele llamar el codo del zener, y el comportamiento real depende bastante de la corriente y de las condiciones de operación.

Cambiar a un zener de mayor voltaje dio resultados mucho mejores.

Con eso resuelto, desconectó el Teensy, aplicó 12 V al lado protegido del circuito y midió los voltajes en toda la red. El zener recortó el voltaje de falla, las resistencias limitaron la corriente, y el voltaje que llegaba al lado del Teensy se mantuvo en un rango que parecía sobrevivible.

Montaje de prueba del circuito de protección con las tiras LED

Después reconectó el Teensy y repitió la prueba. La placa sobrevivió y siguió funcionando con normalidad. Eso no significa que el circuito sea indestructible. Significa que la corriente de falla bajó lo suficiente como para que el hardware la tolerara, y en diseño de protección ese suele ser el objetivo.

Protección contra integridad de señal

El problema siguiente apareció casi de inmediato. El circuito de protección funcionaba, los LED no.

Al probar el circuito con tiras WS2815 reales, la señal de datos se volvió poco confiable. Los mismos componentes que mantenían a salvo al Teensy estaban afectando la señalización de alta velocidad que necesitan las tiras.

Es uno de los compromisos más comunes del diseño electrónico. La misma resistencia que limita la corriente de falla limita también la capacidad de excitación de la señal. El mismo diodo que protege contra sobretensión agrega capacitancia que distorsiona los flancos rápidos.

Subir el valor de las resistencias mejora la protección y debilita la señal. Bajarlo mejora la integridad de señal y deja pasar más corriente durante una falla. Rara vez hay una respuesta perfecta, y el diseño termina siendo un equilibrio entre robustez y desempeño.

¿Y el level shifter?

Durante la discusión volvía una y otra vez otro síntoma. Parpadeo de los LED y corrupción ocasional de color.

Muchas instalaciones con WS2815 se comportan mejor cuando se las maneja con una señal lógica de 5 V completa en vez de la salida de 3,3 V del microcontrolador. Por eso se recomienda tanto un adaptador de niveles como el 74HCT245. Lo que hace ese chip es acotado.

  • Mejora los márgenes de voltaje de la señal
  • Ayuda a mantener una comunicación confiable
  • Reduce el parpadeo y la corrupción de datos

Lo que no hace automáticamente es proteger al controlador de una falla de 12 V.

De hecho, si la falla ocurre, el propio adaptador de niveles puede ser el componente que se queme. Sin protección adicional, nada garantiza que un chip buffer dañado no deje pasar voltajes peligrosos hacia otras partes del sistema. La recomendación de Stoffregen fue combinar la adaptación de niveles con diodos Schottky, resistencias y protección del lado de la alimentación, en vez de confiar en que el buffer actúe como componente sacrificial.

Cuando aislar es la mejor respuesta

Con la conversación avanzada apareció otra posibilidad. Qué pasa si el objetivo no era proteger. Qué pasa si el objetivo era aislar por completo.

En ese caso los circuitos de resistencias y diodos llegan hasta cierto punto. El aislamiento de verdad necesita aisladores.

En el hilo se discutieron varios aisladores digitales de alta velocidad, entre ellos el ISO6420 y el CMT8020N0. A diferencia de los optoacopladores tradicionales, estas piezas son lo bastante rápidas para manejar la señalización de aproximadamente 800 kHz que usan los LED WS2812 y WS2815. Alimentadas correctamente en los dos lados de la barrera de aislamiento, impiden que una falla del lado de los LED alcance al controlador.

El aislamiento tiene su propio costo. Pide componentes adicionales, dominios de alimentación separados, diseño cuidadoso y más plata. En ambientes eléctricamente ruidosos, como motos, vehículos, sistemas industriales e instalaciones grandes de LED, sigue siendo de las soluciones más efectivas disponibles.

Documentar es parte del diagnóstico

Uno de los aspectos más interesantes de la discusión no tenía que ver con zeners ni con adaptadores de niveles, sino con el diagnóstico mismo.

Como pasa seguido en los foros técnicos, buena parte de las preguntas apuntaban a juntar más información.

  • Cómo está conectado todo
  • Qué alimenta a qué
  • Dónde están unidas las tierras
  • Se puede ver un esquemático

Los proyectos suelen empezar con un diseño que se siente lo bastante simple como para no documentarlo. Una vez que el problema se vuelve difícil de reproducir o de diagnosticar, esa documentación vale oro. El acto de dibujar el esquemático revela supuestos, conexiones pasadas por alto y decisiones de diseño que parecían obvias mientras se armaba y después cuesta mucho rastrear.

Lo que quedó de la discusión

Al final del hilo quedó claro que no existe un componente mágico que resuelva todo. La solución es por capas.

  • Usar un adaptador de niveles apropiado para comunicar con WS2815 de forma confiable
  • Agregar resistencias en serie en las líneas de datos
  • Agregar diodos Schottky para desviar la corriente de falla lejos de los dispositivos vulnerables
  • Considerar protección con zener en los rieles de alimentación
  • Usar aislamiento digital cuando se necesite separación eléctrica real
  • Prototipar y probar condiciones de falla antes de comprometer el hardware

La conclusión que Stoffregen destaca es la que más se repite en sistemas embebidos.

No asumas que un cable de señal es inofensivo solo porque las fuentes de alimentación están separadas.

En sistemas de voltaje mixto, y sobre todo en los automotrices, una línea de señal puede ser justo el camino por donde se escapa el humo.

La nota se basa en el hilo del foro de PJRC "Pretty sure I let out the smoke" y en la discusión que siguió entre los miembros mientras diagnosticaban las fallas repetidas del Teensy en el proyecto de luces para moto. La discusión original queda publicada en el foro.