Conduzco seis pantallas de 7 segmentos con SPI usando MAX7219 y ATmega128. Esto es para mostrar varios parámetros del motor como rpm, presión de aceite, etc. para motores diesel marinos grandes (>100 kW). El sistema funciona con 24 V CC a partir de baterías de plomo ácido (tipo automotriz) reducidas a 5 V con la ayuda del convertidor CC-CC de Mornsun (URB2405 - Convertidor CC-CC aislado).
El sistema funciona bien cuando el motor funciona sin problemas (aprox. >900 rpm) y se probó recientemente en un banco de pruebas durante 2,5 horas sin problemas. Sin embargo, la pantalla funciona mal por completo y es muy poco confiable cuando el motor está arrancando.
Después de depurar esto durante muchos días y corregir muchos errores estúpidos (¡me olvidé de agregar diodos flyback para algunos relés integrados!) Todavía tengo una confiabilidad de pantalla muy baja durante el arranque. Cuando la pantalla no funciona bien, se muestra basura en los 7 segmentos, o todos los segmentos se encienden o se queda en blanco.
He agregado un capacitor de 1000uF/63V y un MOV antes del convertidor DC-DC para reducir las fluctuaciones de suministro durante el arranque. Sin embargo, sigue siendo muy poco fiable. Siento que el controlador funciona bien durante el arranque y es solo la pantalla la que funciona mal.
Estoy buscando algunas sugerencias para la estabilidad de la fuente de alimentación durante el arranque o grandes transitorios. He probado algunas cosas y estoy a punto de probar si lo siguiente mejora la situación:
Todavía siento que me estoy perdiendo la razón crucial por la que la pantalla no funciona correctamente. La caída de voltaje no debería ser realmente un problema, ya que el convertidor CC-CC está clasificado para proporcionar 5 V uniformes para un amplio rango de entrada de 9-36 V. Incluso si la batería está descargada, dudo que el voltaje caiga de 24 V a menos de 9 V, por lo que es un misterio por qué la pantalla se queda en blanco o muestra basura.
Coloque una perla de ferrita de 100 ohmios a 100 MHz entre la salida de la fuente de alimentación y la entrada de voltaje del circuito digital.
En la línea SPI, coloque una perla de ferrita de 100 ohmios a 100 MHz entre el Atmega y el MAX, puede ayudar a que se acople algo de ruido en su PCB.
Condensadores de 100nF (X5R o X7R) en todas partes de su PCB, para un proyecto como este no puede prescindir de ellos o su circuito puede actuar "extraño".
¿Es posible publicar una impresión de su PCB? Tal vez necesite algunos ajustes, puede estar acoplando el ruido.
Todos los componentes electrónicos hechos para un automóvil o todo lo que implica mucho ruido necesita perlas y una buena protección contra el ruido, solo una fuente de alimentación aislada no funcionará.
¿Cómo ver el ruido? Simple. Obtenga un cable de cobre #18, alrededor de una lata de refresco haga un bucle con 3 ~ 4 vueltas, introdúzcalo en el osciloscopio, si lo mueve alrededor del motor del automóvil con cuidado, puede ver cuánto EMI produce.
Un solo MOV y un límite de 1000uF no ofrecen mucha protección contra el ruido de RF emitido durante el encendido. Para empezar, agregaría un B32529C104K189 en paralelo con el MOV. También asegúrese de separar sus tierras de RF y digitales, de modo que cada una tenga diferentes rutas de regreso al límite de 1000uF.
También dijo que podría aumentar el límite de desacoplamiento MAX7219 de 10uF a 470uF. Recomendaría no aumentar el límite de desacoplamiento sino agregar un segundo y un tercer límite de desacoplamiento. Deje los 10uF y agregue 470uF, así como también agregue una cerámica de baja esr de 0.1uF.
Esto también debe hacerse en el ATmega128 si aún no lo ha hecho. Cada pin Vcc en el ATmega128 necesita un límite de desacoplamiento de 0.1uF y se debe usar un segundo límite de 0.01 cerca.
Aquí hay un PDF que recomienda un filtro RC de 50 ns justo en línea con el SPI para tratar de mitigar la interferencia de RF, así como usar una perla de ferrita para aislar aún más la potencia del MAX7219 individual:
Un tipo de hardware
pedro bennett
QueRosaBestia
sombrereroloco
usuario1844
Techydude