5 votos

¿Cómo garantizar una transición de apagado a encendido en un puente H?

Quiero controlar un puente H utilizando un ATMega2560. El objetivo es producir una salida con +-18V para conducir un juego de trenes digitales Merklin H0.

Dada la tensión y la corriente necesarias para los trenes, es fundamental que el puente H no entre nunca en estado de cortocircuito. Y como el software siempre tiene fallos, no quiero confiar en que el ATMega conmute los pines correctamente. En su lugar quiero añadir algún hardware entre el ATMega y el puente H que haga lo siguiente:

  1. desactivar el puente H en las entradas ilegales
  2. al pasar de un estado a otro aseguran que el puente H reciba primero una señal de apagado antes de una señal de encendido para el interruptor opuesto.

Tengo un montón de chips 74HTCxx por ahí para poder implementar funciones lógicas con ellos.

Mi pregunta ahora es: ¿Cómo hago que el puente H sea infalible? ¿Cómo aseguro la transición off-before-on para las señales de salida? ¿Puedo utilizar los tiempos de conmutación de la puerta para retrasar suficientemente las señales de encendido? ¿O necesito una señal de reloj y flip-flops para implementar transiciones discretas de un estado a otro?

6voto

ianb Puntos 659

Prueba esto: -

enter image description here

Desde aquí basado en mi responder aquí . Diagramas modificados para corregir un defecto.

Y ahora con otra simplificación para eliminar los inversores: -

enter image description here

Tanto el AND como el NOR deben ser tipos de activación schmitt.

6voto

chharvey Puntos 121

Como estás tratando con ± 18 V, entonces vas a necesitar un cambiador/traductor de nivel de voltaje en alguna parte. Entonces, ¿por qué no implementar tus funciones con el carril de 18 V? De esta manera adquirirás el cambio de voltaje y tu función lógica al mismo tiempo.

Pero primero, aquí hay un esquema que muestra lo que técnicamente se quiere.

enter image description here Enlace a la simulación.

Información importante sobre el gif anterior:

  • El esquema de la izquierda es lo que quieres hacer. El esquema de la derecha es lo que no quieres hacer. Intento mostrarte cuál es tu problema y cómo puedes resolverlo.
  • Los dos gráficos verdes apilados son los niveles de tensión en los condensadores de 1 nF en la puerta de los mosfets.
  • Los gráficos amarillos son la corriente a través del cable que va del drenaje del P-mos al drenaje del N-mos.
  • Los condensadores de 1 nF no son componentes reales, son la capacitancia parásita de la puerta del mosfet que he asumido que es de 1 nF que, tendrá que mirar en su hoja de datos para lo que realmente tiene.
  • Las resistencias de 10 Ω en serie con el diodo están ahí porque en realidad también tienes inductancia por todas partes, esto significa que puedes sobrepasar la puerta y destruir el transistor, con 10 Ω la corriente está limitada por lo que el sobrepaso se minimiza.
  • Las resistencias de 330 Ω en paralelo con el diodo y la resistencia de 10 Ω están ahí para acelerar lentamente la puerta, mientras que la otra entrada toma el "carril corto" con el diodo. Esto se asegurará de obtener el retardo que necesita.
  • Los 10 Ω + diodo + resistencia de 330 Ω hacen que la impedancia de entrada sea diferente comparada con la impedancia de salida, por lo que se descargará más rápido de lo que se carga, o se cargará más rápido de lo que se descarga. La dirección del diodo decide esto.
  • Las resistencias de 22 Ω de la derecha son para reducir el timbre debido a la inductancia parásita que acecha.

En definitiva, esto funcionaría muy bien si tuvieras un controlador potente que fuera de 0 V y 18 V. Pero voy a suponer que no lo tienes, y te daré una solución más general.


Si te fijas en el esquema de la izquierda arriba, puedes notar algunas... cosas importantes. Como que desde el 1 nF superior hasta el 1 nF inferior las dos resistencias de 330 Ω están en serie. Y el diodo... técnicamente puedes sustituirlos por npn y pnp y simplemente conectar su colector a VDD y tierra respectivamente. Los transistores BJT son bonitos y todo eso. Pero si tienes algunos mal mosfets por ahí, como alguno que tenga un \$R_{DS(on)}\$ de unos 5-20 Ω. Entonces puedes utilizarlos en su lugar sin ninguna resistencia. Le mostraré lo que quiero decir a continuación.

enter image description here Enlace a la simulación.

De nuevo, los condensadores de 1 nF no son componentes reales. Son la capacitancia de entrada de los mosfets. No debes añadir capacitancia a las puertas de los mosfets.

Esta vez estoy usando una entrada muy lenta (onda triangular) para mostrar que, independientemente de la velocidad de conmutación de la entrada, la salida sigue sin provocar un cortocircuito. Lo que el esquema de la izquierda en el primer gif hará si conmuta demasiado lento. Durante la conmutación, la salida del medio puente está en modo de alta impedancia, lo que significa que está flotando. Así que aquí tienes técnicamente una garantía de que tu salida no puede hacer cortocircuito. Que creo que es la esencia de tu pregunta.

La inductancia parásita que hay por todas partes puede causar zumbidos, por lo que deberías añadir una resistencia de 5-22 Ω entre la resistencia de 330 Ω y la puerta de los mosfets. O si estás usando mosfets con alta \$R_{DS(on)}\$ entonces no necesitarás añadir otra resistencia porque el mosfet estará limitando la corriente => sin/pequeñas oscilaciones. El timbre significa que los dos mosfets de la etapa de salida se abrirán/cerrarán porque su puerta está siendo arrastrada hacia arriba/abajo a varios MHz, esto no es deseado, seguramente obtendrás cortocircuitos. Si quieres ver el efecto, haz clic en aquí para una simulación. He sustituido los cables vitales por 100 nH, lo que no es demasiado imposible en el mundo real. Cuanto más rápido se cambie, peor será el timbre.


Así que de los dos esquemas en el gif más cercano arriba, el de la izquierda muestra un simple cambiador de nivel de voltaje para que puedas manejar tu puente H de 18 V con un ATMega2560, este es el que creo que realmente quieres. El esquema de la derecha es algo que podrías usar si tienes un variador de nivel de 18 V por ahí.

3voto

J.B Puntos 41

He implementado un circuito sin solapamiento de forma discreta, y es posible utilizando puertas y alguna forma de retardo. Sin embargo, es mucho mejor utilizar un controlador de medio puente dedicado con retardo de no solapamiento incorporado (tiempo muerto). De esta manera, se obtiene un buen accionamiento de la puerta de alta corriente de pico, tiempo muerto y, posiblemente, la detección de fallos. Este es sólo un ejemplo de una pieza: TPS51604 de TI. Hay muchos otros de IR, Maxim, Renesas/Intersil, etc., dependiendo de sus necesidades específicas.

0voto

JukesOnYou Puntos 398

Mi pregunta ahora es: ¿Cómo puedo hacer que el puente H sea infalible?

La solución infalible es utilizar controladores de medio puente integrados. Un CI que contiene toda la lógica, incluidos los transistores. Un ejemplo popular es el L293. También puedes conseguir controladores de puerta de medio puente, como el Si8274.
Algunos controladores de puerta individuales también ofrecen dos pines de entrada, On Semi tiene muchos.

Si no buscas un controlador integrado, puedes utilizar los temporizadores especiales de control del motor disponibles en los microcontroladores. Por ejemplo, el temporizador de control avanzado de los chips STM32 tiene canales complementarios invertidos e inserción de tiempo muerto. ST RM0008 Rev 19 figure 86

Cuando ni siquiera estas características están disponibles, se puede utilizar una solución discreta como la sugerida por Andy Aka .

Es esencial que estas protecciones funcionen, incluso si el chip está en estado de reinicio.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X