Interferencia del interruptor MOSFET PWM: ¿por qué?

Circuito

El circuito que se presenta aquí está dimensionado para conmutar 100 W con un ancho de pulso mínimo que coincida con 250 Hz. Pero en realidad, actualmente solo se le pide que cambie alrededor de 10-20W. La carga es una matriz de LED. Q1 y Q2 también tienen pequeños disipadores de calor para una medida adicional.

El circuito de entrada en realidad incluye un BC557 más (haciendo que la entrada sea activa-baja) y es impulsado por una salida Atmega328P PWM @ 3.3V.

Hay dos de estos circuitos (dos canales) en un solo recinto, controlando luces LED remotas.

Las luces son parte de un sistema de iluminación alimentado por energía solar, y las luces a menudo se encienden durante el día para regular el voltaje de carga de la batería.

Cuando este circuito funciona (que suele ser el caso) funciona muy bien.

El problema es que, ocasionalmente, los LED se atascan y eventualmente agotan la batería por completo.

Estoy bastante seguro de que el problema está en este circuito (en lugar del código), porque:

  • la condición parece físicamente muy frágil. Simplemente abrir el gabinete (normalmente sellado) parece ser suficiente para que los LED se apaguen, ¡al igual que levantarlo y sacudirlo! ¡Hace que sea difícil realizar cualquier diagnóstico de circuito!

  • Pero puedo decir (de forma inalámbrica) que el Atmega no se ha reiniciado.

  • Y debido a que ambos canales tienen la misma falla, me hace pensar que es una falla de diseño y no una falla de un componente o una mala conexión.

  • Además, meter los dedos por todo el circuito (mi prueba rápida para circuitos de alta impedancia) no hace que los LED reaccionen.

  • Y Q1 y Q2 no parecen estar muy calientes cuando están en esta condición, al menos no después de haber estado en esta condición por una buena cantidad de tiempo, nunca lo he atrapado en el acto...

Pensándolo bien, R3 también podría ser más pequeño. Pero también me cuesta creer que ese sea el problema.

Un posible error es la falta de un diodo de amortiguamiento en la carga, ya que las longitudes de los cables son bastante largas. Pero si ese fuera el problema, ¿esperaría verlo encenderse por completo?

¿Otro error podría ser que subdimensioné R1+R2 para suprimir algún tipo de oscilación?

¿Otro error podría ser no permitir algún tipo de efecto de evento térmico en Q1 y Q2? ¿Posiblemente exacerbado por estar al sol?

Estoy seguro de que alguien aquí puede decirme qué está pasando :)

Si la alimentación negativa (0 V) es deficiente (y la disposición de los transistores es débil), podría engancharse debido a caídas de voltaje en esta alimentación.
Tengo un cable relativamente robusto que va directamente a la tierra del MOSFET, y todo lo demás es de baja corriente. Así que creo que lo tengo cubierto, pero es una posibilidad interesante...
Creo que el problema es probablemente que estoy volando demasiado cerca del cable en algún lugar del circuito, tal vez atrapado por algún efecto parásito o térmico que ingenuamente no estoy considerando, pero alguien con más experiencia en cambiar cargas de alta corriente lo haría. ..
Creo que debería resolver esto primero "la condición parece físicamente muy frágil. Simplemente abrir el gabinete (normalmente sellado) parece ser suficiente para que los LED se apaguen, ¡al igual que levantarlo y sacudirlo! Hace que sea difícil realizar cualquier circuito diagnósticos!"
@diverger Me encantaría resolver eso primero :) Pero creo que todo es lo mismo. Por ejemplo, si el problema está relacionado con la capacitancia parásita, entonces esa también es la causa de la fragilidad física: abrir el gabinete cambia la capacitancia parásita, lo que hace que el mal comportamiento se derrumbe.
Tengo mucha curiosidad, ¿por qué agitar/recoger puede hacer que no funcione? ¿Tienes algún cable colgando en el cierre?
@diverger Es una construcción de "prototipo", pero no diría que hay algo colgando o en riesgo de cortocircuito. Está todo soldado. Sin embargo, la placa en sí no está atornillada en esta etapa.
Puede estar relacionado con un problema de puesta a tierra o de FI. Todo tu sistema está flotando, ¿verdad?
@diverger Sí, el sistema está flotando. Los recintos son de plástico. ¿Qué tipo de escenario tienes en mente?
Usted dice "conducir luces LED remotas", ¿hay un cable largo? Si los hay, has probado a romperlos, a ver si tu "caja" funciona bien sin los leds.
@diverger Sí, un canal tiene aproximadamente 10 m de tira de LED. El otro está impulsando un foco LED, en 5-10 m de cable. No he intentado interferir con las luces mientras estaba atascado. Solo se ha atascado unas pocas veces, ¡así que la reproducción también es difícil!
Mi idea es encontrar la causa del mal funcionamiento. Si es la parte impulsada, causará el mal funcionamiento del controlador. O el propio conductor tiene algún mal.
@diverger Las dos cargas son de fabricación muy diferente, pero exhiben un comportamiento muy similar. Sin embargo, una característica común es que están en una longitud considerable de cable, por lo que habría un poco de inducción allí. Hmmm, supongo que un canal podría incluso estar induciendo un voltaje en el otro canal...
Muestre una imagen de la construcción y con precisión cómo las fuentes de alimentación llegan al circuito y cómo la entrada se alimenta exactamente al circuito más todos los bucles de tierra que pueda tener que podrían estar tomando corriente LED cuando no deberían.
@Andyaka Probablemente sea un poco poco práctico transmitir todo eso. Es un prototipo, por lo que la construcción no es muy rigurosa ni está documentada.
@DavidSainty: ¡entonces tienes tu respuesta! ¡Envía los +50 puntos a la caridad LOL! PD: Creo que es un problema de diseño.
¿Alguien tiene alguna idea sobre si la falla podría ser causada por el componente inductivo de la carga, la inducción entre los canales, o posiblemente que las cargas sean aproximadamente un pequeño inductor en serie con un diodo? Puedo imaginar que el problema puede estar ahí, pero lo que no puedo entender es por qué estos aspectos pueden conducir al aparente comportamiento de bloqueo (es decir, la solución podría ser agregar un diodo de amortiguación a cada canal, pero aún me gustaría entender las razones por las que esto está sucediendo).
"Y debido a que ambos canales tienen la misma falla, me hace pensar que es una falla de diseño y no una falla de un componente o una mala conexión". Haber llevado a los mosfets más allá de su SOA una vez podría haber dañado a ambos de manera similar. Además, maneja ambos con el mismo par de BJT, por lo que si alguno de ellos está roto ... En cualquier caso, todo lo que la gente podría hacer aquí es adivinar, para realmente hacer más, sería necesario hacer algunas mediciones. Dado que dice que este es un prototipo, es posible que pueda soldar algunos cables que conducirán al exterior y, cuando llegue a esa condición, ¿puede conectar un alcance?
@PlasmaHH Debo aclarar: cada canal es un duplicado completo e independiente del circuito anterior.
@PlasmaHH En este momento, estoy subutilizando los MOSFET, por lo que me sorprendería si han ido más allá de su SOA. Tampoco están obviamente dañados: el problema es intermitente y, en general, el sistema funciona según lo diseñado.
Mi plan actual es poner un alcance en las cargas externas la próxima vez que suceda y ver si revela algo. Pero hace tiempo que no sucede...
¿Exactamente dónde y cómo está conectado su "uno más BC557"? ¿Está colgando del suministro de +12V o del suministro de 3.3V de su Atmega?
@brhans Heh, sí, fuera del riel de 3.3V. Probablemente debería haberlo incluido en el diagrama del circuito, pero lo recorté para mejorar la relación señal/ruido (creo).
¡Gracias a todos por participar en el análisis de mi problema! El circuito se ha mantenido estable desde que planteé la pregunta, probablemente porque es parte de un sistema solar y el clima no ha sido muy soleado. Sin un diagnóstico concreto, es difícil decidir a quién darle la recompensa. Realmente me gustaría dárselo a varias personas, ya que aún no sé quién estará más cerca de corregir, pero me han dado varias vías para mirar y una idea justa de dónde no mirar. . Así que lo estoy premiando por la sugerencia muy sensata de incorporar LED de diagnóstico en el circuito.

Respuestas (6)

Cuando use MOSFET en paralelo en la etapa de salida, debe instalar resistencias de balasto pequeñas (0,2 ohmios) en cada terminal de fuente a tierra. Esto asegurará que los MOSFET compartan la corriente por igual.

... La forma en que esto funciona es que si un MOSFET comienza a tomar más corriente, esto conducirá a una reducción de los Vgs de ese MOSFET, lo que apaga ligeramente el MOSFET y reequilibra la corriente entre los MOSFET.

Además, es mejor darle a cada MOSFET su propia resistencia de puerta independiente, esto puede eliminar cualquier oscilación potencial (al menos eso se recomienda en circuitos amplificadores con transistores de salida en paralelo).

Simplemente los pondría a los dos en un disipador de calor común y dejaría que el coeficiente de temperatura positivo natural de Rdson se encargue del equilibrio. Para mí, usar resistencias de 200 miliohmios para equilibrar la corriente a través de MOSFET de 36 miliohmios parece un gran desperdicio de energía, especialmente si los MOSFET están a la altura incluso con desequilibrio.

El problema podría ser el código. Cuando hay sobrevoltaje, le estás diciendo que descargue la batería, pero cuando hay bajo voltaje, no le estás diciendo que deje de descargarse . Si le está diciendo que se detenga, lo más probable es que la entrada esté flotando (hacia arriba o hacia abajo), lo que hace que los LED permanezcan encendidos.

Esa es la razón más obvia, pero no creo que sea un código porque las interacciones físicas extremadamente menores (como abrir el gabinete) hacen que el circuito se recupere. No hay ninguna razón por la que pueda pensar por qué el código respondería a tales interacciones, por lo que he rechazado esta posibilidad como (probablemente) improbable.
WRT el punto de entrada flotante, hay resistencias pull up/down.

Yo haría varias cosas.

1) Olvídese de los parásitos. En los niveles de unidad que está utilizando, esto no será un problema.

2) ¡Por el amor de todo lo que es sagrado, pon algo de capacitancia de desacoplamiento! 10 - 100 uF electrolítico y 0,1 uF cerámico.

3) Coloque un LED en serie con R1 e instálelo de modo que sea visible fuera del gabinete. Cuando ocurre su condición de falla, puede saber si está en los MOSFET o en el circuito de control de la compuerta.

4) Cuando dice que sacudirlo puede solucionar el problema, ¿es el temblor? ¿O es tocar el estuche cuando lo levantas? Si es lo último, sugiere que no tiene una conexión a tierra adecuada con su fuente de comando.

5) Reemplace R6 con 1k y reemplace R3 con 10k. Pero estos son menores.

6) En lugar de que R5 active ambas puertas, ejecute una resistencia separada para cada puerta. Esto no debería ser crítico en este caso, pero es una buena práctica.

Por supuesto, hay algo de desacoplamiento en el circuito de 3.3V, pero no tanto cerca de estos transistores. Las cargas se alimentan a +12 V directamente desde la batería, por lo que el desacoplamiento en el riel de +12 V sería principalmente para alimentar Q3. ¿Ves una posible causa ahí?
Me gusta la idea del LED, debería hacerlo permanente :)
4. Creo que fue más que tocar el caso. El problema no ha vuelto a ocurrir en ningún momento desde que planteé esta pregunta, por lo que no he tenido la oportunidad de obtener más "datos de prueba".

Cambiaría la posición de R1 para que esté a la derecha de R2 en lugar de a la izquierda, como se muestra en los esquemas adjuntos, y cambiaría sus valores a 1k.

De esta manera, cuando se enciende el PNP, el voltaje de los MOSFET en la puerta será de 6 V (12/2), que es suficiente para encenderlo por completo. En los esquemas originales, es de 12 V, y no hay ningún beneficio adicional con este voltaje mayor; al contrario, habrá más carga almacenada en la capacitancia de entrada de los MOSFET.

Cuando PNP está APAGADO, la capacitancia del MOSFET puede descargarse a través de 1k y, por lo tanto, tendrá una descarga más rápida que a través de 1k8+180 en los esquemas originales. Además, cualquier corriente de fuga de PNP que "intente" cargar la capacitancia MOSFET se comportará mejor que en los esquemas originales, como trato de explicar a continuación.

esquemático

simular este circuito : esquema creado con CircuitLab

Sea Ileak la corriente de fuga de PNP. Si hacemos el análisis del Equivalente de Thevenin a partir de una puerta MOSFET, con los esquemas propuestos, el voltaje de Thevenin será Ileak·1k y la resistencia de Thevenin 1000 Ohms. Con el circuito original la tensión será Ifuga·1k8 y la resistencia equivalente 1980 Ohmios. Si, por ejemplo, la corriente de fuga es de 500 uA, los nuevos esquemas estarían cargando el condensador a 0,5 V (no lo suficiente para encenderlo). En el original, aunque más lento, estaría cargándolo a 0,9 (cierra para encenderlo).

La razón por la que coloqué R1 y R2 de esa manera fue para reducir la resistencia en el camino "encendido", mientras dejaba sin cambios la resistencia del camino "fuera". Parecía una mejor opción por esa razón. Sin embargo, cuando hice los cálculos, no creo que haya tenido en cuenta la corriente de fuga, lo que debería haber hecho. Aún así, debe haber algo más para convertir esto en una historia sobre por qué se atasca. Tal vez alguna condición térmica donde la corriente de fuga permanece permanentemente elevada, o el umbral de la puerta permanece permanentemente bajo...
En realidad, a partir de 1 V aproximadamente, los MOSFET comienzan a ENCENDERSE, por lo que creo que se debe favorecer el camino "apagado". ¿Podrías medir qué valor tendría la corriente de PNP a los MOSFET, si el microcontrolador atasca la entrada del circuito a 0 V?
Es un buen punto. Puedo verificar el voltaje "apagado" en la puerta mañana (a menos que esté lloviendo :) y ver qué está haciendo la fuga típica. Sin embargo, diría que los LED se ven bastante brillantes cuando están atascados, no parece que estén en el extremo inferior de la región lineal...

Un par de observaciones:

1) ¿El terreno es común en todo el diseño, incluido ATMega? ¿O permite que fluya mucha corriente de retorno a través del suelo? Las caídas de voltaje del flujo de alta corriente cambiarán el voltaje de este circuito en relación con el controlador.

2) Estás muy por encima de la conducción de las bases en todos los transistores. Basta con mirar la extremidad inferior de Q3. R1 tendrá ~ 1 mA fluyendo a través de él, esto solo necesita un Ib en Q3 de 50 uA para alcanzar 10 mA Ic. Pero está tirando de la base de Q3 con fuerza a tierra a través de R4 (2K) =>~ 6mA. Mire los valores de la hoja de datos de Moto, página 3, figura 3. Esto ciertamente lo ralentizará (pero no hará que se pegue). Mientras está en Vuelva a calcular los valores para R4 y R6 y normalice R3 y R5 al valor de 11K.

3) El hecho de que al agitarlo cambie de estado puede indicar que tienes un corto intermitente.

1. Sí, incluido el ATMega.
2. Tendría que volver atrás y revisar mis cálculos, pero forzar las bases con fuerza es intencional para, en última instancia, forzar los MOSFET. Cuando el canal está encendido, esto significa que estoy quemando bastante corriente en todo momento. Pero no tanto como la carga de 100 W para la que lo diseñé :) ¿Creo que no he sacado nada de las especificaciones?
3. Estoy muy seguro de que no es así... Los dos canales tienen el mismo problema. Si fuera solo un canal que falla, entonces compraría eso...
WRT su primer punto, estoy bastante seguro de que la conexión a tierra de ATMega es razonablemente sólida, porque uso su ADC para obtener el voltaje actual de la batería. He tenido problemas en el pasado donde la tierra de ATMega estaba siendo arrastrada por la corriente, y en esos casos vi lecturas de voltaje de batería muy confusas. En este diseño, el voltaje de la batería parece sensato. La tierra MOSFET, en todo caso, debería ser un poco más alta que, digamos, la tierra en R1. Pero eso debería hacer que sea más fácil apagar el MOSFET, por lo que es difícil ver cómo podría ser ese el problema.

Como se ha dicho antes, verificaría dos veces los puntos de sesgo de los BJT, ya que se manejan con bastante fuerza, pero eso no debería ser un problema. Existe una posibilidad muy, muy, muy remota de que sus uniones parásitas se enciendan, pero el circuito no se recuperaría a menos que se apagara y los BJT probablemente serían ex-BJT en ese momento.

Valdría la pena tomar las puertas de los MOSFET y darles resistencias de puerta separadas (es decir, 180R cada una) y luego conectarlas a R1 para bajarlas. Aunque normalmente no se muestra con este tipo de nivel de potencia o MOSFET estándar de atascamiento, es perfectamente posible que las puertas "suenen" (es decir, podría estar viendo Q1 y Q2 encendiéndose de un lado a otro durante la situación de "atascado"). entre sí con sus C y L junto con cualquier inductancia que se encuentre alrededor de las conexiones y el circuito que actúa como elementos reactivos.

Como dije, es una posibilidad pequeña pero fácil de probar y, desde el punto de vista de las buenas prácticas, simplemente no compartiría las resistencias de puerta entre los MOSFET.

Debo confesar que construí esto en una placa de estilo stripboard, lo que hace que dos MOSFET paralelos sean fáciles de hacer, pero dos MOSFET con resistencias de compuerta independientes algo mecánicamente más difíciles :) Mi intuición siempre ha sido que los 2k combinados (R1 + R2) El menú desplegable para los MOSFET debe ser lo suficientemente pequeño como para suprimir cualquier timbre, si no de inmediato, al menos eventualmente. ¿Está mal mi instinto, crees?
@DavidSainty Honestamente, sí, creo que estás bien. Si estuviera construyendo algo similar y estuviera realmente preocupado, normalmente bajaría con 1K cada uno, pero incluso 10k serían suficientes. Lo que debe tener en cuenta para su caso es que la ruta de activación para esas puertas es bastante fuerte y solo necesita ~ 3 mA hasta Q3 (y, por lo tanto, R1) antes de comenzar a encender ambos FET. La inestabilidad de la condición y la facilidad con la que dice que puede alterarla todavía me hace pensar que es un problema capacitivo de alguna manera (es decir, tocarlo se acopla en capacitancia adicional).