¿Qué está causando la oscilación en el circuito de retroalimentación de un SMPS?

Estoy tratando de hacer un regulador de corriente constante de conmutación para un cargador Ni-MH. Acepta una entrada establecida actual del microcontrolador usando un PWM DAC. Básicamente, quiero obtener 2000 mA y 200 mA para 1C y 0.1C relativamente para cargar la batería de 2700 mAh.

La forma en que he tratado de lograr esto es la siguiente:

Un OP-AMP que está configurado en retroalimentación negativa, toma Vset (PWM DAC) como entrada no inversora y Vsense (el voltaje en la resistencia de detección) como entrada inversora. Conduce un MOSFET de pequeña señal con su salida para que la salida de voltaje del convertidor reductor sea para la corriente deseada en la carga.

Sin embargo, recibo oscilaciones en TP1, lo que afecta a todo el sistema.

Aquí está el esquema, lamento que sea de 3500 x 2500px:

Esquemático

He conectado un corto en lugar de R6, ya que Rdson de Q2 es de unos 50mohms. Además, he conectado una resistencia de potencia de cerámica 1R 11W en lugar de una batería. Q3 está desactivado y Q2 está activado. He conectado un medidor de amperios y muestra alrededor de 1.9A a través de la resistencia.

Aquí hay algunas tomas de alcance de varios puntos de prueba que he usado un cable de tierra muy corto en la sonda para capturar.

  • Punto de prueba 5; entrada no inversora del OP-AMP:

TP5

  • Punto de prueba 6; entrada inversora del OP-AMP, voltaje en la resistencia de detección:

TP6

AC acoplado:

TP6-AC

  • Punto de prueba 1; Pin Vsense del conmutador, drenaje de Q1:

TP1

  • Punto de prueba 2; cambiar de nodo:

TP2

  • Punto de prueba 4 - Punto de prueba 6 ; sonda en TP4, pinza de tierra en TP6, o sea tensión en el conector P3, o tensión de salida:

TP4-TP6

AC acoplado:

TP4-TP6 CA

¿Está usando LM393 o está usando un amplificador operacional?
@ThePhoton Estoy usando un LM393.
Este es un diseño de bajo voltaje. Entonces, ¿LM393 está bien para eso? ¿Está usted en el punto de operación correcto?
@sandundhammika No puede crear un punto operativo con un comparador de encendido y apagado. Vsense debe ser un nivel analógico, no picado.

Respuestas (3)

Básicamente, tiene demasiada ganancia en su circuito de retroalimentación, junto con suficiente cambio de fase para crear un oscilador de ~ 50 kHz muy bueno.

Primero, simplificaría el circuito eliminando el MOSFET Q1; en cambio, consideraría intercambiar las entradas del LM393 y usar su salida de colector abierto para controlar el nodo Vref directamente. En segundo lugar, agregaría una cantidad significativa de retroalimentación negativa alrededor del LM393, junto con un capacitor para reducir la respuesta de frecuencia. Realmente no necesita mucho ancho de banda en su bucle de control para un cargador de batería: una batería no es una carga altamente dinámica.

Editar #1, incorporando comentarios:

Entiendo acerca de limitar la oscilación de voltaje en Vsense; para eso están R1 y R2. Estoy diciendo que elimine Q1 y R3 y conecte el LM393 al cruce de R1 y R2. Luego, debe cambiar las entradas al LM393 para preservar la polaridad correcta de la retroalimentación.

Para retroalimentación negativa, simplemente conecte un capacitor entre los pines 1 y 2 del LM393. Dado que el pin 2 ahora está conectado a su fuente de referencia, también necesitará una resistencia entre C7 y el pin 2. Juntos, estos componentes reducirán la respuesta de frecuencia del comparador. Comenzaría con valores como 10K y 100 nF, dando una frecuencia de esquina de alrededor de 160 Hz. No sé si esto será suficiente para que el sistema sea estable, pero al menos te ayuda a comenzar en la dirección correcta.

Editar #1, pensamientos adicionales:

Demos un paso atrás por un momento. Si lo ignoramos PWM_Vsetpor el momento, lo que realmente se necesita es tomar los 200 mV que aparecen en la resistencia de detección y traducirlos a los 1,221 V que el regulador espera en su pin Vsense. Esto requiere un amplificador no inversor simple con una ganancia de un poco más de 6.

Basado en el nuevo circuito , sería un experimento interesante cortocircuitar C7 y reducir R3 a 51K (ganancia = 6.1) y ver si el regulador ahora es estable. Si es así, entonces podemos pensar en formas de hacer que el punto de referencia sea ajustable.

¿Cómo agrego esa retroalimentación negativa? ¿Podrías guiarme por el camino correcto? Por cierto, otra razón por la que el MOSFET está allí para que pueda proteger el pin Vsense de U1 que tiene una clasificación máxima absoluta de -0.3 a 3V.
@davetweed La salida LM393 es de alta impedancia o baja, y no puede establecerse en un punto operativo como una lata de amplificador operacional. No veo cómo la retroalimentación negativa estilo amplificador operacional puede funcionar en absoluto.
No sé por qué piensas eso. Lo único que le falta al LM393 es una fuente de corriente interna para el pin de salida; funcionará bien con una fuente externa, como una resistencia pullup, o el par de resistencias que tiene el OP. Realmente no hay mucha diferencia entre un opamp y un comparador, excepto que este último no está compensado y está diseñado para no tener un almacenamiento de carga excesivo en sus nodos internos; ambas características están destinadas a mejorar su velocidad.
¿Podría explicar por qué debería intercambiar entradas? Además, agregar sus comentarios a su respuesta puede ayudar a otras personas que vienen aquí por Google o algo así.
Oh, ahora veo el punto en sus comentarios, después de hacer algunas simulaciones y pensar. Los probaré. ¡Gracias!
@davetweed Puedo decir honestamente que en más de 12 años de trabajo con la fuente de alimentación, nunca he visto un LM393 usado con retroalimentación negativa estilo amplificador operacional. El hecho de que la etapa de salida sea un solo transistor (solo disipador) con una resistencia pull-up como única fuente, más el hecho de que el circuito (como dijiste) está diseñado para la velocidad, me lleva a creer que usar retroalimentación negativa con un pull-up externo es más una chapuza que una buena práctica de diseño. He leído que los LM393 no son estables con retroalimentación negativa debido a su velocidad y tiendo a creerlo.
@Madmanguruman es mejor que lo creas. Cada vez que agrego un condensador de retroalimentación negativa (he probado algunos valores de 1nF y superiores), esta cosa oscila. He intentado dar solo voltajes de CC como entradas al aislar todos los demás circuitos de conmutación y oscila. También traté de crear comentarios negativos para DC, nada bueno. Aquí está mi esquema para el que he grabado una nueva PCB.
Pero debe haber una manera de hacer que esto funcione con un LM393. yo lo creo
@DaveTweed, ¿cómo se puede configurar LM393 para que no oscile en caso de retroalimentación negativa con un capacitor? He intentado agregar comentarios positivos para crear una histéresis, pero tampoco funciona. Aquí está el circuito que simulé solamente.
Vea las ediciones que hice a mi respuesta original.
@DaveTweed Reemplacé LM393 con LM358 ya que tienen el mismo pinout y casi el mismo precio. Funciona muy bien con este nuevo esquema , la eficiencia es de aproximadamente el 90% con una corriente de 1A y 4V. Gracias por su ayuda en los comentarios negativos. Realmente ayuda mucho. Además, ahora entiendo mejor las cosas. Por cierto, si implementamos un amplificador no inversor con una ganancia de 6, el voltaje de compensación de entrada agregará error, ¿verdad?
@abdullahkahraman Correcto: el desplazamiento de entrada se multiplica por la ganancia del amplificador. Si usa un LM358A en lugar de un LM358, la compensación de entrada mejora en varios milivoltios.
Estaba pensando en el mismo circuito que Dave. WTG Dave. asegúrese de usar límites de salida de ESR bajos <50 mOhm. Use una medición de sonda diferencial en lugar de tierra TP6. Sí, demasiada ganancia. Pruébelo para el sobreimpulso de carga escalonada. ¡Mira lo que sugieren para un filtro de bucle en tapas de ESR más altas (cerámica)! i.stack.imgur.com/SCmSd.jpg 2 polos + 2 ceros para mejorar la estabilidad del bucle de margen de fase. Pruébelo para la estabilidad en el peor de los casos.

Su esquema de control me está desconcertando.

U3A es un LM393. Un comparador. La salida es de alta impedancia o tierra.

El TPS5430 está diseñado para tomar un voltaje analógico en el pin 4 y usar una referencia interna de 1.221 V y un amplificador de error interno para generar PWM. Tiene Vsense vinculado a 2.5V, por lo que cuando Q1 está apagado, el ciclo de trabajo irá a cero (detección> referencia), y cuando está encendido, irá al máximo (detección <referencia) a una velocidad de respuesta controlada por la compensación interna.

Básicamente, está manejando un pin analógico con una señal digital; esta es una manera difícil de hacer las cosas.

También tiene cero histéresis en el comparador, por lo que la salida puede vibrar si las entradas están cerca una de la otra.

Su idea de usar el DAC para hacer un voltaje de referencia, para controlar el voltaje de salida (y la corriente) es válida y correcta. Lo que realmente necesita es un controlador reductor que le dé acceso a la salida del amplificador de error interno, de modo que pueda reemplazar su circuito comparador con un amplificador de error real (sin pasar por el interno) y tener control de bucle cerrado con cualquier compensación que necesite.

(Usted configura el controlador reductor para que el amplificador de error interno sea siempre alto, luego conecta su amplificador externo para que pueda reducir la señal y controlar el ciclo de trabajo).

EDITAR: su solución revisada funcionará. Reemplazar el comparador con un amplificador de error de amplificador operacional para establecer el punto de operación externo es un buen compromiso. Básicamente, está alimentando un bucle (la compensación interna del dinero) con la salida de otro bucle (su amplificador de error externo), pero ese es el precio que paga al usar uno de esos chips de control de dinero pequeño con retroalimentación integrada. Experimentaría con pasos de carga para ver si la salida tiene tendencias oscilatorias, solo para asegurarme de que no haya posibilidad de inestabilidad.

Ah, ¿LM393 funciona solo como comparador incluso si tengo una respuesta negativa? Entonces, si cambio LM393 con un LM324N, ¿funcionará este circuito?
La salida está encendida o apagada. Realmente no hay una forma de hacer comentarios negativos ya que la parte no es un amplificador per se. Si cambia U3 a un amplificador operacional, puede agregar retroalimentación negativa y generar un voltaje de control para entrar en Vsense, solo recuerde que la compensación interna del buck IC también entrará en juego (los bucles pueden interactuar entre sí a menos que haga el bucle externo muy lento). Puede sujetar la salida del amplificador operacional con un zener para mantenerlo alejado del voltaje de entrada máximo del pin e intentar controlar Vsense directamente.
Gracias por la edición. He comprobado la salida de pasos de carga y cortos. No hay oscilaciones. ¡Estoy realmente sorprendido de cómo esto funcionó de maravilla! Ahora, tengo que hacer algunas adiciones para poder usar esto para un cargador de iones de litio para el que necesito un voltaje constante.
Esa es una buena señal. La forma 'adecuada' de probar la estabilidad es con un analizador de ganancia/fase, pero ese es un equipo de $ 10k y más.

La solución a este problema que tuve es una combinación de las dos respuestas de Dave Tweed y Madmanguruman. Gracias chicos.

He sustituido el comparador LM393 por un LM358 que tiene casi el mismo precio, al menos en Digi-Key. $ 0.0797 por LM358 y $0.0756 por LM393, ambos en 100 cantidades.

También agregué un poco de retroalimentación negativa con un capacitor, para que la salida aumente lo suficientemente lento, permitiendo que TPS5430 controle la regulación reductora. Ah, y no olvidemos que he cambiado los pines de entrada.

Los resultados de las pruebas son geniales. He intentado escalonar la carga, sin problemas. También acorté la salida o apliqué muy poca resistencia (menos de medio ohmio) y nuevamente, no hay problema.

Para una carga de 5 ohmios a 1A, la eficiencia es de alrededor del 91 %. Para una corriente de 2A con la misma carga, la eficiencia es del 90%. El ruido de salida es de unos 60 mV de pico a pico. Estoy bastante contento con los resultados. Mi objetivo ahora es agregar algún mecanismo de regulación de voltaje también para poder implementar la carga de Li-Ion. Aquí está el último esquema:

Esquema de un cargador de Ni-MH que utiliza un microcontrolador PIC