Fuente de alimentación digital Buck-Boost de rectificación síncrona basada en STM32, código abierto

Un fuente de alimentación digital Buck-Boost de cuatro interruptores basada en STM32G474, compatible con entrada PD engañosa de interfaz TypeC e entrada de interfaz DC5.5, entrada/salida máxima de 48V10A. Este es mi proyecto de graduación, ahora de código abierto, incluye esquemáticos, PCB, código fuente del programa, modelos 3D de carcasa y otros materiales.

Se hizo de manera general, sin críticas, bienvenidas conversaciones amistosas.

Video de demostración del proyecto: https://www.bilibili.com/video/BV1Ui421y7ip/

Carga electrónica inteligente de código abierto basada en CH32V307, proyecto de código abierto de competencia integrada: https://blog.zeruns.com/archives/785.html

Enlace de código abierto de la plataforma de código abierto Lichee de este proyecto: https://url.zeruns.com/noGf0

Grupo QQ de intercambio de tecnología electrónica/microcontrolador: 2169025065

La dirección de descarga de materiales está al final del artículo.

El circuito de hardware se diseñó utilizando el software Lichee EDA, que es realmente muy fácil de usar.

Introducción

Este documento diseña una fuente de alimentación digital Buck-Boost de rectificación sincrónica basada en STM32. El circuito de la fuente de alimentación consta de circuito de accionamiento MOSFET, circuito Buck-Boost de 4 interruptores, circuito de acondicionamiento de señal, circuito de protocolo de carga rápida PD, circuito de fuente de alimentación auxiliar, circuito de control de microcontrolador y otras partes.

La fuente de alimentación puede recibir energía a través de la interfaz DC o la interfaz Type-C, y la interfaz Type-C admite comunicación con cargadores a través del protocolo de carga rápida PD, solicitando y obteniendo automáticamente un voltaje de funcionamiento máximo de 20V. La fuente de alimentación utiliza el microcontrolador STM32G474 para monitorear en tiempo real el voltaje y la corriente de entrada y salida, y ajusta la relación de ciclo de trabajo PWM de salida mediante el algoritmo de control PID, implementando protección contra sobrevoltaje y sobrecorriente, y también puede muestrear la temperatura de la placa base para implementar protección contra sobrecalentamiento. Además, puede ver los parámetros de la fuente de alimentación en tiempo real a través de la pantalla OLED, y configurar el voltaje y la corriente de salida a través del codificador giratorio y los botones. También puede comunicarse con la computadora host a través de otra interfaz Type-C. A través del software de la computadora host, puede ver en tiempo real los parámetros y formas de onda de la fuente de alimentación.

Parámetros de rendimiento de diseño

Los parámetros de rendimiento de diseño de la fuente de alimentación son los siguientes:

Artículo Parámetro
Rango de voltaje de entrada 12Vdc~48Vdc
Rango de corriente de entrada 0~10A
Potencia máxima de salida 450W
Rango de voltaje de salida 0.5Vdc~48Vdc
Rango de corriente de salida 0~10A
Ondulación de voltaje de salida Pico a pico ≤200mV
Frecuencia de conmutación 181.333kHz

Fotos del producto real

Utilizando VOFA+ como software de computadora host, puede ver en tiempo real los parámetros de la fuente de alimentación (voltaje y corriente de entrada, voltaje y corriente de salida, temperatura de la placa base, temperatura del MCU, eficiencia de conversión de energía, etc.) y cambios de forma de onda. Como se muestra en la siguiente figura.

Diagrama de marco del sistema

Diseño de circuito de hardware

Cálculo de selección de componentes

Cálculo de inductancia

En la fuente de alimentación sincrónica BUCK-BOOST, el cálculo de la inductancia debe considerar la situación de funcionamiento en modo BUCK y modo BOOST para garantizar que se cumplan los requisitos de funcionamiento del circuito en ambos modos. Generalmente, la selección de la inductancia se basará en el modo que tenga requisitos más altos de inductancia.

Cuando la fuente de alimentación funciona en modo de reducción BUCK, suponiendo que el voltaje de entrada máximo es 48V y el voltaje de salida mínimo es 5V, calcule el ciclo de trabajo PWM mínimo:

D_{min} = \frac{V_{out\\_min}}{V_{in\\_max}} = \frac{5V}{48V} = 10.417\\%

Defina la cantidad de fluctuación de corriente de inductancia (ondulación de corriente nominal del 25% máximo, con corriente nominal máxima de 10A):

\\Delta I_L = 25\\% \\cdot I_{out\\_nom} = 25\\% \\times 10A = 2.5A

Calcule la inductancia BUCK mínima requerida:

L_{minBuck} = \\frac{V_{out\\_min} \\cdot (1 - D_{min})}{\\Delta I_L \\cdot f_{switch}} = \\frac{5V}{2.5A \\times 181333Hz} \\times (1 - 10.417\\%) \\approx 9.88\\mu H

Cuando la fuente de alimentación funciona en modo de aumento BOOST, tomando el voltaje de entrada nominal de 24V como punto de cálculo, calcule el ciclo de trabajo PWM:

D_{Bo} = 1 - \\frac{V_{in\\_nom}}{V_{out\\_max}} = 1 - \\frac{24V}{48V} = 50\\%

En modo Boost, cuando se toma 1A ( I_{minb} ) Boost entra en modo continuo (CCM), calcule la inductancia:

L_{minBoost} = \\frac{V_{out\\_max} \\cdot D_{Bo}(1-D_{Bo})^2}{2 \\cdot I_{minb} \\cdot f_{switch}} = \\frac{48V \\times 50\\% \\times (1 - 50\\%)^2}{2 \\times 1A \\times 181333Hz} = 16.544\\mu H

Basándose en los resultados de cálculo obtenidos de la fórmula, se determinó el valor de inductancia mínima requerido para cumplir con los requisitos de ondulación de corriente predeterminados. Para garantizar que se cumpla esta condición, se debe seleccionar un elemento de inductancia con un valor ligeramente superior al valor calculado. Al mismo tiempo, debe asegurarse de que la corriente de saturación del inductor seleccionado pueda soportar el valor de pico de corriente más alto en el circuito. Dado que los factores de eficiencia no se consideraron en el proceso de cálculo, el ciclo de trabajo real y la corriente de pico pueden ser inferiores a los valores calculados teóricamente. Por lo tanto, al seleccionar, debe considerarse un cierto margen de seguridad para adaptarse a varias situaciones que pueden ocurrir bajo condiciones de funcionamiento reales.

Considerando integralmente los factores anteriores, este diseño selecciona un inductor de 22μH con encapsulado de parche 1770 y corriente de saturación superior a 10A como elemento de inductancia del circuito BUCK-BOOST.

Cálculo de capacitancia

Para obtener una buena ondulación de voltaje de salida, tome la ondulación de voltaje de diseño como 50mV.

\\Delta V_{out} = 0.05V

El inductor seleccionado anteriormente es de 22μH, por lo que el cálculo aquí también usa este valor de inductancia:

L_{BB}=22\\mu H

Calcule respectivamente la capacitancia mínima requerida C_{minBuck} y C_{minBoost} cuando funciona en modo de reducción BUCK y modo de aumento BOOST:

C_{minBuck}=\\frac{V_{out\\_min}\\cdot(1-\\frac{V_{out\\_min}}{V_{in\\_max}})}{8\\cdot L_{BB}\\cdot \\Delta V_{out}\\cdot {f_{switch}}^2}=15.48\\mu F
C_{minBoost}=\\frac{I_{out\\_nom}\\cdot(1-\\frac{Vin\\_min}{Vout\\_max})}{\\Delta Vout\\cdot fswitch}=413.6\\mu F

El diseño necesita dejar cierto margen y para una ondulación de salida más baja, por lo que se selecciona un capacitor de estado sólido de baja ESR de 220μF más un capacitor electrolítico ordinario de 470μF, totalizando 690μF.

Cálculo de selección de MOS

Dentro del rango de voltaje de entrada y salida nominal, calcule el valor RMS de la corriente del MOS de entrada como:

i_{mos\\_rms}=7.098A

En la selección de MOSFET, la corriente nominal del tubo MOS I_D debe ser al menos 2 veces la corriente máxima que fluye a través del tubo MOS (para evitar daños por impacto causados por corriente excesiva en caso de falla o cortocircuito).

2×i_{mos\\_rms}=14.196A

La clasificación de voltaje nominal V_{DS} de la selección de MOSFET debe ser mayor que 1.5 veces el voltaje de entrada máximo (para evitar la ruptura por picos)

1.5×Vin\\_max=72V

Después de hacer referencia a los cálculos anteriores, para escenarios de aplicación convencionales, se puede seleccionar un MOSFET con corriente nominal superior a 15 amperios (A) y clasificación de voltaje de 100 voltios (V). La selección del MOSFET del tubo inferior es la misma que la del tubo superior. Considerando la situación de disipación de calor, para minimizar la pérdida de energía durante la conducción y el proceso de conmutación, se debe dar prioridad a los MOSFET con baja resistencia de conducción ( R_{DS(on)} ) y baja capacitancia de salida (Coss).

El modelo MOSFET seleccionado en este diseño es CJAC80SN10, fabricado por Jiangsu Changjing Semiconductor Co., Ltd., un MOSFET nacionalizado. Tiene un voltaje drenador-fuente ( V_{DS} ) de 100V y una corriente drenador-fuente ( I_D ) máxima de 80A. Su resistencia de conducción ( R_{DS(on)} ) es solo 6.2mΩ, esta característica de baja resistencia es beneficiosa para reducir la pérdida de potencia del dispositivo en estado de conducción. Al mismo tiempo, la capacitancia de salida Coss del dispositivo tiene un valor típico de 420pF, esta capacitancia relativamente baja es beneficiosa para reducir la pérdida dinámica durante el proceso de conversión de conmutación. Por lo tanto, CJAC80SN10 cumple con las características eléctricas requeridas por el proyecto, mientras que también puede reducir efectivamente la pérdida de energía y mejorar la eficiencia general del sistema.

Diseño de circuito de placa de fuente de alimentación

Circuito de potencia principal

La siguiente figura muestra el diagrama del circuito de potencia principal de la fuente de alimentación sincrónica BUCK-BOOST. El lado izquierdo es la entrada. El circuito BUCK de reducción sincrónica está compuesto por los tubos MOS Q2 y Q4 y la inductancia L1. El circuito BOOST de aumento sincrónico está compuesto por los tubos MOS Q3 y Q5 y la inductancia L1. Cada tubo MOS tiene una resistencia de 10kΩ en paralelo entre la puerta y la fuente para garantizar que la puerta del MOS no esté flotante y prevenir la conducción errónea.

El circuito de potencia principal tiene una estructura simétrica izquierda-derecha en general. Los puertos de entrada y salida están equipados con 1 capacitor de aluminio electrolítico de 470μF/63V y 1 capacitor de aluminio electrolítico de estado sólido de 220μF/63V. Además, hay 2 pequeños capacitores MLCC de parche (capacitores cerámicos multicapa) con parámetros de 10μF/50V para filtrar la interferencia de ruido de alta frecuencia en los puertos. R9 y R10 actúan como cargas falsas en los puertos de entrada y salida, permitiendo que el circuito disipe rápidamente la energía residual cuando se desconecta la fuente de alimentación. R13 y R14 son resistencias de precisión de 5mΩ utilizadas para muestreo de corriente, con un circuito de amplificación diferencial de etapa posterior para amplificar las señales de corriente de entrada y salida. CNT1 y CNT2 son terminales de salida. L1 y L2 son inductores de parche de encapsulado 1770 e inductores de núcleo de ferrita de inserción directa respectivamente. Se puede soldar uno de ellos, ambos se dibujan para facilitar la prueba de los efectos y el rendimiento de diferentes inductores.

Circuito de entrada de fuente de alimentación y protocolo de carga rápida

La siguiente figura muestra el diagrama del circuito de la interfaz de entrada de la fuente de alimentación y comunicación del protocolo de carga rápida PD.

La fuente de alimentación utiliza dos tipos de interfaces de entrada: un puerto hembra DC5.5*2.5mm y un puerto hembra TypeC. La interfaz TypeC admite múltiples protocolos de carga rápida como BC1.2, PD3.0/2.0. El chip del protocolo de carga rápida utilizado es el modelo CH224K, que puede comunicarse con el cargador de carga rápida para que el cargador produzca un voltaje máximo de 20V, con soporte máximo de 100W de potencia.

Los diodos D1, D3 y D4 previenen el reflujo de voltaje del puerto DC a la interfaz TypeC. El diseño no permite que ambas interfaces estén conectadas simultáneamente. D5 es un diodo para protección contra inversión. FH1 es un asiento de fusible de entrada de fuente de alimentación con un fusible de 12A.

Circuito de accionamiento

En el diseño de la fuente de alimentación sincrónica BUCK-BOOST, tanto el circuito BUCK como el circuito BOOST contienen MOSFET N de lado alto. Tradicionalmente, el accionamiento de estos MOSFET de lado alto generalmente utiliza el método de accionamiento aislado por transformador, pero este método aumenta la complejidad del circuito y expande el tamaño de la placa de circuito.

Este diseño selecciona dos chips de accionamiento de MOSFET EG3112 con función de circuito de arranque incorporada para accionar los tubos MOS de los circuitos BUCK y BOOST. EG3112 es un chip de accionamiento de canal dual complementario no aislado. Su capacidad de corriente de accionamiento de salida de 2A garantiza que el MOSFET pueda conducir rápidamente. El chip también tiene una función de control de tiempo muerto incorporada para evitar que la señal de accionamiento de salida se conduzca directamente, mejorando así la estabilidad del sistema. El circuito específico se muestra en la siguiente figura.

Tomando como ejemplo el accionamiento del tubo MOS del circuito de aumento BOOST, PWM2L y PWM2H son señales PWM de salida del microcontrolador STM32G474, enviadas a los pines LIN y HIN del chip de accionamiento EG3112. LO es la salida de la señal de accionamiento del tubo inferior con resistencia de accionamiento de 10Ω. HO es la salida de la señal de accionamiento del tubo superior con resistencia de accionamiento de 10Ω. D7 es el diodo de arranque del circuito de accionamiento del tubo superior. Los diodos D9 y D11 se utilizan para liberar rápidamente la carga de la puerta, acelerando la velocidad de apagado del tubo MOS. C14 es el capacitor de arranque.

La resistencia de accionamiento actúa para reducir la reflexión y la oscilación que pueden ocurrir en las trazas de PCB, capacitancia distribuida, inductancia y otros componentes durante el proceso de conmutación de MOSFET. Al conectar una resistencia en serie, se puede reducir esta oscilación, mejorando la estabilidad y confiabilidad del sistema.

Fuente de alimentación auxiliar

La siguiente figura es el diagrama esquemático del circuito de suministro de fuente de alimentación auxiliar de la placa de energía.

El circuito de fuente de alimentación auxiliar de salida de 12V de primera etapa selecciona el chip de fuente de alimentación BUCK tipo TPS54360B con MOSFET de lado alto integrado para el diseño. De acuerdo con el manual del chip, una resistencia de extracción en el pin RT puede establecer la frecuencia de conmutación. Aquí se selecciona una resistencia de 110kΩ, correspondiente a una frecuencia de conmutación de 876.5kHz. La frecuencia de conmutación más alta permite seleccionar un inductor más pequeño para ahorrar espacio. Según esta frecuencia, el valor de inductancia calculado debe ser mayor que 9.75μH. Aquí se selecciona un inductor de 10μH y se selecciona SS310 como diodo de recuperación. C26 y C27 son capacitores de filtro de entrada. Las resistencias de división de retroalimentación R19 y R25 dividen 0.8V de voltaje de referencia al pin FB del chip para garantizar que el voltaje de salida sea 12V. C18 y C19 son capacitores de filtro de la fuente de alimentación auxiliar de salida de 12V de primera etapa. La salida de 12V de primera etapa se suministra principalmente al circuito de reducción de 6V de segunda etapa, así como al circuito de accionamiento de MOSFET y al ventilador de refrigeración.

El circuito de fuente de alimentación auxiliar de salida de 6V de segunda etapa selecciona el chip de fuente de alimentación BUCK de rectificación sincrónica tipo SY8205 con MOSFET integrado para el diseño. De acuerdo con las instrucciones del manual del chip, la frecuencia de conmutación del chip es fija en 500kHz. Se selecciona el inductor del circuito BUCK de fuente de alimentación auxiliar como 10μH. C21 y C22 son capacitores de filtro de entrada. Las resistencias de división de retroalimentación R23 y R26 dividen 0.6V de voltaje de referencia al pin FB del chip para garantizar que el voltaje de salida sea 6V. C24 y C25 son capacitores de filtro de la fuente de alimentación auxiliar de salida de 6V de segunda etapa. Dado que usar directamente un regulador lineal para reducir de 12V a 5V causaría una pérdida considerable, se utiliza primero una fuente de alimentación de conmutación para reducir a un voltaje cercano a 5V y luego un regulador lineal para reducir al voltaje objetivo, lo que puede garantizar una eficiencia más alta y una ondulación de salida más baja.

El voltaje de 6V de salida de segunda etapa se reduce a 5V a través del chip regulador lineal AMS1117-5 como fuente de alimentación auxiliar de tercera etapa. El chip de referencia de voltaje REF3033 se suministra para acondicionamiento de señal, pantalla OLED, comunicación USB y otros circuitos funcionales.

El voltaje de corriente continua de 5V se reduce a 3.3V a través del chip regulador lineal AMS1117-3.3 como fuente de alimentación auxiliar de cuarta etapa, suministrando MCU, zumbador, chip Flash y otros circuitos.

El chip de referencia de voltaje REF3033 produce un voltaje de referencia de 3.3V para el puerto VREF del MCU, actuando como voltaje de referencia para el ADC integrado del MCU, mejorando la precisión de muestreo del ADC.

Circuito de acondicionamiento de señal

Como se muestra en la figura anterior, el circuito de muestreo y acondicionamiento de señal de voltaje de entrada y salida de este diseño utiliza tecnología de amplificación diferencial. La topología de amplificación diferencial puede reducir efectivamente la interferencia del ruido de alta frecuencia en la fuente de alimentación de conmutación en el circuito de acondicionamiento de señal, mejorando la estabilidad y confiabilidad de la señal. En este circuito, se selecciona el amplificador operacional de bajo desplazamiento de cero GS8558-SR para mejorar la precisión de la conversión. El amplificador operacional GS8558-SR tiene excelentes características de precisión de corriente continua y baja corriente de polarización, lo cual es crucial para mejorar el rendimiento de todo el circuito de acondicionamiento de señal.

Resistencias de retroalimentación del circuito de amplificación diferencial:

R_{38}=4.7kΩ
R_{36}=75kΩ

Calcule el múltiplo de amplificación diferencial:

K_V=\\frac{R_{38}}{R_{36}}=0.062667

El voltaje máximo de muestreo del ADC del MCU es 3.3V producido por el chip de referencia de voltaje. Entonces, el valor máximo de voltaje de entrada y salida que se puede muestrear se puede calcular como:

V_{max}=\\frac{3.3V}{K_V}=52.66V

Para suprimir mejor la interferencia del ruido de alta frecuencia en la fuente de alimentación de conmutación en el circuito de amplificación diferencial, se agregan capacitores de desacoplamiento C40 y C41 en los pines de suministro del amplificador operacional para filtrado. Los capacitores se seleccionan como MLCC (capacitores cerámicos multicapa). Debido a que MLCC tiene ESR y ESL más bajos, tiene un mejor efecto en el filtrado de ruido de alta frecuencia. Al mismo tiempo, se agrega una resistencia R35 y un capacitor C39 en el extremo de salida para formar un circuito de filtro paso-bajo RC para filtrar el ruido de alta frecuencia.

Como se muestra en la figura anterior, el circuito de acondicionamiento de corriente de entrada y salida utiliza el método de amplificación diferencial. La resistencia de muestreo de corriente de salida es:

R_{14}=5mΩ

Resistencias de retroalimentación del circuito de amplificación diferencial:

R_{48}=6.2kΩ
R_{46}=100Ω

Calcule el múltiplo de amplificación diferencial:

K_I=\\frac{R_{48}}{R_{46}}=62

Es decir, cada 1A de corriente de salida produce 310mV de voltaje.

El voltaje máximo de muestreo del ADC del MCU es 3.3V producido por el chip de referencia de voltaje. Entonces, el valor máximo de corriente de entrada y salida que se puede muestrear se puede calcular como:

I_{max}=\\frac{3.3V}{K_I \\times R_{14}}=10.65A

Circuito de control del MCU

Este diseño de fuente de alimentación digital selecciona el chip STM32G474RET6 como controlador. Este controlador tiene características destacadas como circuito periférico simple, múltiples formas de control y excelente capacidad de expansión. Para lograr una señal de reloj precisa, el controlador utiliza un cristal de cuarzo externo X1, es decir, un oscilador de cristal de cuarzo con frecuencia de 25 megahercios (MHz). Además, el circuito incluye múltiples capacitores de filtro, incluyendo C45, C51, C56, C46 y C52, que se utilizan respectivamente para diferentes pines de fuente de alimentación digital del microcontrolador (MCU) para garantizar la estabilidad de la fuente de alimentación y reducir la interferencia de ruido. La resistencia R49 y el capacitor C49 forman un circuito de reinicio de encendido. SW1 es el botón de reinicio del MCU. U11 es un chip convertidor USB a serie, modelo CH340C, conectado a la segunda interfaz TypeC. El puerto serie está conectado a la interfaz USART1 del MCU. U10 es un chip de almacenamiento Flash, modelo W25Q64, utilizado para almacenar información de configuración de parámetros, conectado a la interfaz SPI3 del MCU. Q6 es un tubo MOS de accionamiento de zumbador para controlar el zumbador. El pin de puerta del tubo MOS está conectado al puerto PB5 del MCU. H1 es el puerto de grabación SWD. H2 y H4 son conectores PH2.0 para conectar con el panel de control. El conector tiene un puerto USART2 reservado, lo que facilita cambiar el esquema del panel de control a una pantalla de puerto serie, y también se puede agregar ESP32 para agregar funciones de conectividad de red y control inalámbrico. D13 es un diodo de protección contra inversión de 5V.

Circuito de muestreo de temperatura de placa base y accionamiento de ventilador de refrigeración

El diagrama esquemático del circuito de muestreo de temperatura de placa base y accionamiento de ventilador de refrigeración se muestra en la siguiente figura. El principio del muestreo de temperatura de la placa base de la fuente de alimentación es utilizar una resistencia termistor NTC R2 en serie con una resistencia de extracción R4 para dividir el voltaje y enviarlo al puerto ADC del MCU para muestreo. La resistencia termistor NTC utilizada tiene un valor de resistencia de 10kΩ y un valor B de 3950K.​ El ventilador de disipación de calor utiliza un transistor N-MOS para su accionamiento, modelo AO3400. En la interfaz del ventilador de disipación de calor se conecta en paralelo inverso un diodo D2 para prevenir daños causados por la fuerza contraelectromotriz (back EMF) generada por el motor. Cuando el motor se desconecta, debido a la inercia de rotación, el rotor del motor no se detiene inmediatamente, sino que continúa girando y genera una fuerza electromotriz. Esta fuerza electromotriz puede causar daños en los transistores o circuitos integrados del circuito, especialmente cuando el motor está conectado a estos componentes a través de interruptores semiconductores (como MOSFET).

Diseño del circuito del panel de control

​ El esquema del circuito del panel de control se muestra en la siguiente figura. SW1 es un codificador rotatorio utilizado para configurar parámetros, etc. SW2 y SW3 son botones; SW2 se utiliza para cambiar elementos de configuración, y SW3 se utiliza para controlar la activación y desactivación de la salida de energía. LED1 es el indicador de estado de funcionamiento del sistema, que parpadea a intervalos de 500 ms durante el funcionamiento normal. LED2 es el indicador de estado de salida; se enciende cuando la salida está activada y se apaga cuando la salida está desactivada. OLED1 es la pantalla OLED, utilizada para mostrar parámetros de energía, información de estado, etc.

Capturas de pantalla de PCB

Capa superior de la placa de alimentación

Capa GND de la placa de alimentación

Capa interna 2 de la placa de alimentación

Capa inferior de la placa de alimentación

Capa superior del panel

Capa inferior del panel

Instrucciones de uso

​ A través de los botones y el codificador rotatorio se pueden configurar los valores de voltaje y corriente de salida. Como se muestra en la siguiente figura, el valor mostrado en color invertido es la posición actual a configurar. Girando el codificador rotatorio se puede aumentar o disminuir el valor. Presionando el codificador se puede cambiar a la siguiente posición para configurar. A través del botón SW2 se puede cambiar el elemento a configurar. Los datos configurados se guardan automáticamente en el chip de almacenamiento Flash; la próxima vez que se encienda, los datos se leerán del chip de almacenamiento.

​ El botón SW3 activa/desactiva la salida de energía.

​ Se puede cambiar a la página de visualización de datos para ver el voltaje y la corriente de entrada y salida actuales de la fuente de alimentación, así como información sobre la temperatura de la placa base y la temperatura del MCU, como se muestra en la siguiente figura.

​ Se puede cambiar a la página de configuración para establecer los umbrales de protección por sobrecalentamiento, sobrecorriente y sobrevoltaje, como se muestra en la siguiente figura. Los datos configurados se guardan automáticamente en el chip de almacenamiento Flash; la próxima vez que se encienda, los datos se leerán del chip de almacenamiento.

Prueba de ondulación

​ Se utiliza una carga electrónica y un osciloscopio para probar el rendimiento de salida de la fuente de alimentación y la ondulación de salida, como se muestra en la siguiente figura. Con una entrada de 36V y una salida de 12V 2A, el valor pico a pico de la ondulación medido es de aproximadamente 42mV, como se muestra en la siguiente figura.

Prueba de eficiencia de conversión

​ La eficiencia de conversión de la fuente de alimentación con entrada de 20V y salida de 12V 10A se prueba en 92%, como se muestra en la siguiente figura.

​ La siguiente tabla muestra la eficiencia de conversión en diferentes voltajes de entrada y salida, con una eficiencia máxima de 94,3%.

Voltaje de entrada (V) Corriente de entrada (A) Potencia de entrada (W) Voltaje de salida (V) Corriente de salida (A) Potencia de salida (W) Eficiencia de conversión (%)
20.003 4.035 80.712 15.010 5.000 75.050 92.985
47.999 5.335 256.075 24.040 9.900 237.996 92.940
48.000 7.875 378.000 36.020 9.900 356.598 94.338
48.000 9.860 473.280 45.030 9.900 445.797 94.193
23.998 8.835 212.022 48.070 4.000 192.280 90.689
23.998 9.830 235.900 35.998 6.001 216.024 91.574
12.099 9.166 110.899 24.070 4.000 96.280 86.817
20.008 2.645 52.921 4.970 9.000 44.730 84.522
20.008 10.550 211.084 24.030 8.000 192.240 91.073
36.000 6.418 231.048 24.010 9.000 216.090 93.526
36.000 10.540 379.440 35.950 9.800 352.310 92.850

Forma de onda de la puerta del transistor MOS

​ Prueba de la forma de onda de la puerta de cada transistor MOS con entrada de 20V y salida de 24V.

​ Gráfico de forma de onda de voltaje respecto a tierra de los transistores superior e inferior del circuito BUCK:

​ Gráfico de forma de onda de voltaje respecto a tierra de los transistores superior e inferior del circuito BOOST:

Prueba de generación de calor

Imagen térmica sin carga:

Imagen térmica después de 10 minutos de salida de 10A de corriente, temperatura del transistor MOS alrededor de 100 grados:

Unboxing y revisión de la cámara térmica Uni-Trend UTi261M: https://blog.zeruns.com/archives/798.html

Direcciones de compra de componentes

La mayoría de los componentes utilizados en este proyecto se pueden comprar aquí:- Muestra de resistencias y capacitores 0805: https://s.click.taobao.com/begdskt

Se recomienda comprar componentes en LCSC: https://activity.szlcsc.com/invite/D03E5B9CEAAE70A4.html

En la tabla BOM del enlace de código abierto de LCSC, haga clic en “Comprar ahora en LCSC” para importar todos los componentes necesarios al carrito de compras con un solo clic.

Dirección de descarga de recursos

Los siguientes enlaces contienen: proyectos LCSC EDA, archivos PDF de esquemas, hojas de datos de cada chip, paquetes comprimidos de código fuente, y algunos códigos de programa de referencia.

Descarga sin límite de velocidad en 123 Cloud Drive: https://www.123pan.com/ps/2Y9Djv-8yevH.html

Dirección de descarga de Baidu Netdisk: https://url.zeruns.com/MW2d1

Dirección de código abierto del programa del proyecto en Gitee: https://gitee.com/zeruns/STM32-Buck-Boost

Dirección de código abierto del programa del proyecto en GitHub: https://github.com/zeruns/Synchronous-Rectification-Buck-Boost-Digital-Power-Supply-Based-on-STM32

Por favor, dale una estrella y un like.

Problemas conocidos

  1. El chip SY8205 en la fuente de alimentación auxiliar entra en modo PFM con baja carga, lo que resulta en una frecuencia más baja y produce un ruido leve.
  2. El programa de control PID en modo de corriente constante no es muy bueno, solo es estable en corriente constante bajo cargas puramente resistivas. (El modo de voltaje constante no tiene problemas)

Otros proyectos de código abierto recomendados

Lectura recomendada

5 Me gusta

¿Puede el experto explicar cómo calcular la frecuencia de conmutación? :grin:

1 me gusta

La frecuencia de conmutación se define por uno mismo; a partir de ella se calculan el resto de parámetros (como el valor de la inductancia, la capacitancia, etc.).
Cuanto mayor es la frecuencia de conmutación, mayores suelen ser las pérdidas por conmutación (por ejemplo, las pérdidas durante la apertura/cierre del transistor), ya que al aumentar el número de ciclos por unidad de tiempo las pérdidas se hacen proporcionales a la frecuencia; no obstante, el volumen de los componentes de filtrado (inductancias y condensadores) puede reducirse (a mayor frecuencia, para un mismo rizado, los valores necesarios de reactancia inductiva o capacitiva disminuyen). A la inversa, a menor frecuencia las pérdidas son menores, pero los elementos aumentan de tamaño. Además, la frecuación de conmutación está limitada por la velocidad de conmutación de los dispositivos (por ejemplo, la frecuencia máxima de trabajo del MOSFET) y por la dificultad para atenuar las interferencias electromagnéticas (EMI), más problemáticas en alta frecuencia. En un diseño real se debe equilibrar eficiencia, volumen, coste y EMI para elegir la frecuencia de conmutación adecuada.

4 Me gusta

Hola, me gustaría preguntar qué mejoras habría que hacer en esta base para implementar rectificación síncrona bidireccional. Gracias :thinking:

1 me gusta

La fuente de alimentación auxiliar se modifica para tomar energía tanto del lado de entrada como del lado de salida (añadiendo diodos), el muestreo de corriente se cambia a bidireccional (el voltaje en el terminal no inversor del amplificador operacional de muestreo de corriente se eleva a 1,25 V), y también hay que modificar el código; lo demás prácticamente no requiere cambios.

2 Me gusta

Buen proyecto :+1:

Muy bien :+1:

¡Aprendí algo genial! :blush:

Hola, autor. ¿Podrías explicarme por qué estableces la frecuencia de conmutación en 181,333 kHz, con decimales? Por lo general, no suelen ser valores enteros. ¿A qué se debe esto? ¡Gracias!

La frecuencia generada por multiplicación/división de frecuencia del temporizador, puedes modificarla.

Vale, entendido, gracias.

Experto, ¿cómo se determina inicialmente el valor a ingresar para el parámetro PID?

¡Hola! Para el ajuste inicial del PID en estas fuentes de alimentación digitales, suelo comenzar con valores conservadores basados en la dinámica esperada del sistema: por ejemplo, establecer un Ki bajo para evitar sobrepasos, y un Kp apenas suficiente para obtener respuesta sin oscilaciones. Luego realizo ajustes en tiempo real mientras monitoreo la salida con un osciloscopio, prestando atención a la estabilidad. La flexibilidad del STM32 permite modificar los parámetros sobre la marcha, lo que ahorra horas de intentos al azar. Siempre empieza con valores pequeños y ve ajustando progresivamente; créeme, así es como evitas el momento de “¡ups, demasiada ganancia”! :grinning_face_with_smiling_eyes:

Oye, ¿por qué hay que calcular el valor eficaz en un MOSFET? ¿No basta con observar directamente la corriente máxima del inductor y luego elegir un MOSFET cuya corriente ID sea mayor que esa corriente pico?

Permita que le pregunte con cortesía, ¿cuáles son los pasos específicos a seguir durante la depuración? Por ejemplo, ¿es necesario realizar primero una depuración en lazo abierto? ¿Cómo se realiza la depuración en lazo cerrado? ¿Hay algún punto importante que pueda recordarme? Actualmente estoy desarrollando una fuente de alimentación numéricamente controlada similar, pero no sé cómo proceder con la depuración. Durante mis pruebas en lazo abierto quemé dos veces el MOSFET. No sé si sería mejor comenzar directamente con lazo cerrado. La primera vez, el daño pudo deberse a saturación del inductor o haber superado el voltaje máximo admisible del MOSFET. La segunda vez quizás fue por no conectar carga, lo que provocó un pico excesivo de voltaje en el inductor que acabó perforando el MOSFET. El primer fallo fue entre drenador y surtidor; en el tercer caso, los tres terminales resultaron dañados.

La sección de elevación (boost) no debe operar en vacío y en lazo abierto, de lo contrario el voltaje seguirá aumentando hasta superar el voltaje nominal.

Este es el error más clásico en el diseño de fuentes de alimentación conmutadas:
elegir el MOS solo según la corriente pico del inductor, a corto plazo no explota, pero a largo plazo seguro se quema; lo que realmente determina si el transistor MOS se sobrecalienta o se destruye es la corriente eficaz (RMS), no el valor pico.


1. Idea principal en una frase

  • Corriente pico del inductor: evita ruptura instantánea y saturación del inductor
  • Corriente eficaz (RMS): calcula calentamiento, elevación de temperatura y vida útil del MOS

El 90 % de los fallos por quemado del MOS son por falla térmica, no por sobrecorriente instantánea.


2. ¿Por qué para el calor usamos el «valor eficaz» y no el «pico»?

La potencia disipada cuando el MOS está en conducción es:

P_{loss} = I_{rms}^2 \times R_{ds(on)}

Aquí, la I debe ser siempre el valor eficaz, independiente del pico.

  • Corriente pico: solo es un valor máximo instantáneo, dura poco tiempo, no representa el calentamiento promedio
  • Valor eficaz: equivale a una corriente continua constante, y es lo que realmente determina la temperatura

Por ejemplo:

  • Corriente pico del inductor: 10 A
  • Pero el valor RMS podría ser solo de 4 a 6 A

Si eliges el MOS solo basado en los 10 A sin calcular el aumento de temperatura por el RMS, la temperatura superará el límite y el MOS fallará por calor.


3. ¿Qué controlan respectivamente el pico y el valor eficaz?

① Corriente pico del inductor (Ipk)

Solo importa para dos cosas:

  1. Evitar saturación del inductor
  2. Evitar ruptura por sobrecorriente instantánea del MOS (ver la especificación I_DM, corriente pulsante)

No sirve para calcular el calentamiento.

② Corriente eficaz (I_rms)

Controla una sola cosa, pero es la más importante:

  • Determina si el MOS se calienta, cuánto sube su temperatura y si acabará quemándose
    Define qué valor de R_ds(on) necesitas, qué tamaño de disipador usar y qué clasificación de corriente necesitas.

4. La lógica correcta para seleccionar el MOS (procedimiento adecuado)

  1. Calcular la corriente pico del inductor (Ipk)
    → Asegurar que I_DM > Ipk, para evitar ruptura instantánea y saturación magnética
  2. Calcular el valor eficaz de la corriente del MOS (I_rms)
    → Calcular las pérdidas y el aumento de temperatura, asegurando operación segura a largo plazo
  3. Seleccionar I_D (corriente nominal) y R_ds(on) en consecuencia

Fijarse solo en el pico e ignorar el RMS es como ir desnudo ante el peligro.


5. Resumen ultrabreve

  • Pico: evita morir al instante
  • Eficaz (RMS): evita morir lentamente por calor

Diseñar una fuente es diseño térmico primero, no prioridad al pico de corriente.

Hola, quiero preguntar por qué, después de encenderlo, al medir con un multímetro la tensión de salida, esta es de 5 V, pero en la pantalla se muestran valores anormales de tensión y corriente de entrada y salida.

Inspección de soldadura

Por favor, ¿cómo se calculan los parámetros de compensación del lazo?