基于STM32可调节输出电压大小的开关电源设计*
2023-11-13胡显霜张启龙
阳 卫,吴 汉,胡显霜,陈 函,张启龙
(六盘水师范学院物理与电气工程学院,贵州六盘水 553000)
0 引言
在当前电子信息技术高速发展的背景下,各类电子设备不断更新优化,同时对电源的要求也在不断提升。开关电源由于其具有可靠性、调压范围宽、体积小、重量轻、效率高、电路形式灵活多样等优点,在各类电子设备中受到广泛应用。随着电子技术的迅速发展,单片机应用已经成为当今电子技术领域中的一个重要研究方向。以ARM Cortex-M4 为内核的单片机是一款功能强大的单片机,STM32F401 是其典型代表之一,其具有高性能、低功耗等优点,且4 开关Buck-Boost 电路是一种比较新的DC-DC 变换器拓扑结构[1-5],具有高效、稳定等特点,适用于各种电子产品的电源设计。本文所涉及的4 开关Buck-Boost 电路拓扑结构,可实现电压转换和输出稳定的直流电,具有高效率、高精度、高频率等优点,在各种电子设备中得到广泛应用。其研究背景主要包括:电源管理、可再生能源、电动汽车等领域的需求;以及集成电路技术的发展,促进4 开关Buck-Boost 电路高度智能化、小型化、低成本化等。
与其他拓扑结构相比,4 开关Buck-Boost 有着更好的电性能和更广泛的应用范围,且有助于提高电力转换的效率和质量[6-12]。本文旨在探索STM32 与4 开关Buck-Boost 电路的相互连接及控制方法,并结合INA226、4 针I2C OLED 模块,实现电流、电压等参数的测量与显示。同时,其在电动汽车、新能源发电和智能电网等领域的应用也具有重要意义。
1 系统拓扑结构
1.1 系统结构
本文的系统结构框图如图1 所示:输入端接220 V∕50 Hz的交流电,通过变压整流滤波以后得到较为平顺的直流电,利用LM7812 和LM7805 芯片转换得到稳定的12 V 和5 V 电压,其中12 V 电压主要用于给MOS 管的驱动电路供电,5 V 的电压分别为主控STM32 单片机、INA226、0.96寸I2C OLED屏幕等供电。主要电路部分由2 个NMOS 和2 个PMOS 组成一个类似于H 桥的4 开关Buck-Boost 升降压电路,由STM32 单片机给驱动电路输入4 路可调节占空比的PWM[13-18],从而使得驱动电路控制4 个MOS 管的导通和关断,进而输出不同幅值的直流电压。其中,按键主要用于控制系统的开∕关、调节PWM 的占空比以及切换显示屏显示功率、电压、电流等信息。INA226主要用于电压、电流输出采集。
图1 系统结构
1.2 系统原理
系统原理如图2 所示。可调开关电源主要由STM32主控芯片、OLED 显示模块、独立按键及辅助电源等组成。辅助电源部分主要由LM7812 和LM7805 及变压、整流、滤波电路构成,电压电流检测模块主要是INA226模块和采样电阻构成,在实际应用中采样电阻的阻值需要尽可能小,耐压值尽量大。MOS 管驱动电路由一个IR2101,一个FR207 快恢复二极管、一个电容构成。4开关DC-DC 转换电路由两个PMOS、两个NMOS、一个储能电感和一个电容组成,一个NMOS 和一个PMOS 工作在不同的开关状态使得总体呈现升压或降压电路。
1.3 DC-DC变换电路工作原理
图3 所示为开关Buck-Boost 原理,本文中的DC-DC变换电路存在3 种工作模式,即Buck、Boost、Buck-Boost模式,各工作模式的使用条件由系统的输入电压来确定,从而达到在不同输入电压的条件下使用不同的工作模式。在这3 种工作模式中,Q1 与Q2 组成Buck 桥臂,Q3 与Q4组成Boost 桥臂。由于开关管在开关时会存在开关损耗,导致输出波形中会产生纹波,这时可以适当提高PWM 的频率或者增大后端电容C2 的容 量。在Buck 模 式时,Q1、Q2 互 补 通断,Q3 常闭,Q4 常开;在Boost 模式时,Q1 常闭,Q2 常开,Q3、Q4互补通断。Q1、Q3为PMOS,在此电路中为低电平导通,高电平截止;Q2、Q4 为NMOS,在此电路中为高电平导通,低电平截止。导通特性总结如表1所示。
图3 开关Buck-Boost原理
表1 MOS管导通特性总结
1.4 系统软件设计
程序流程如图4 所示,系统上电的时候,先对所有的外设和内部函数进行初始化,OLED 展示开机页面等等一系列的操作。由于此设计中没有包含PID闭环控制,所以输入的电压需要在进行实物调试时,给定准确的输入电压幅值,然后系统再进行判断使用何种模式。再者,由于本文采用12 V 交流输出的变压器(实际输出会偏高一点),所以特意将DC∕DC 变换电路(4开关Buck-Boost电路)、驱动电路和控制电路使用单独的稳压芯片来分开,这样会使得控制回路受到DC∕DC 变换电路的影响较小,但在实际中也会使得DC∕DC 变换部分电路的输入电压达不到标准DC12 V。
2 电源参数计算
在完成本文系统结构的基础之上,为了保证本文能够输出可调电压,需要对MOS 管的死区时间、驱动电路的传输时间进行理论计算,具体计算方法是根据选择的元器件而得出。详细计算过程如下。
图4 程序流程
2.1 开关管死区时间计算
MOS 管的死区时间是指在MOS 管的导通和截止状态之间,由于电荷注入和抽出的延迟,使得MOS 管处于不能导通和截止的状态,从而影响电路的正常工作。因此,在实际电路设计中,需要正确计算MOS 管的死区时间,以保证电路的稳定性和可靠性。由于本文采用的驱动电路具备MOS管驱动IC自带死区关断的功能,除了硬件关断,在软件设计中也加入了互补死区时间。所以死区计算在本文中是极其重要的,如果输入输出的PWM控制信号没有死区余量,会导致上下桥臂的MOS 管在某一时刻同时导通。本文使用以下公式来计算死区时间:
式中:td_off_max为最大关断延时时间;td_on_min为最小开通延迟时间;tpdd_max为驱动电路最大传输延迟时间;tpdd_min为驱动电路最小传输延迟时间。
2.2 开关管开关时间
本文使用IRF9530(P)和IRF540N(N)来作为主要的开关管器件,查看开关管对应型号参数如表2~3所示。
表2 IRF9530开关参数
表3 IRF540N开关参数
在开关管开关状态已知,上下桥臂不能同时导通时。此时由表2~3 可知开关管的参数如下:IRF9530 的关断时间为31 ns+39 ns=70 ns;IRF9530 的开通时间为12 ns+52 ns=64 ns;IRF540N 的关断时间为53 ns+43 ns=96 ns;IRF540N的开通时间为11 ns+44 ns=55 ns。
在4 开关Buck-Boost 电路中,由于半桥是由一个PMOS 和一个NMOS 组成的,可知最小开通延迟时间为:td_on_min= 70 ns + 55 ns = 125 ns = 0.125µs。则最大关断延迟时间为:td_off_max= 64 ns + 96 ns = 160 ns = 0.16µs。
2.3 驱动电路传输时间
驱动电路传输时间是指信号从驱动电路发出到达MOS 管控制端的时间,即延迟时间。图5 所示为Proteus仿真的波形图(在PWM 频率为10 kHz 时),是PWM 信号经过驱动电路以后输入与输出对比所得到的波形,黄色为输入,蓝色为输出。
图5 驱动电路传输延迟时间
由此可知,信号经驱动电路后,当输入高电平PWM在100.25µs - 99.40µs = 0.85µs 时,才有输出;而当输入PWM 由高电平转换至低电平时,输入的PWM 在57.27µs - 56.35µs = 0.92µs 后才输出。所以此时可计算出驱动电路最大传输延迟时间:
tpdd_max=57.27µs - 56.35µs = 0.92µs
最小传输延迟时间:
tpdd_min=100.25µs - 99.40µs = 0.85µs
将td_on_min、td_off_max、tpdd_max、tpdd_min代入式(1)计算得出死区时间为:
tdead=(0.035µs + 0.07µs) × 1.2 = 0.126µs
因为本文利用PWM控制占空比,因此应将所得到的死区时间转化为PWM所对应的占空比数值。在定时器的配置中,PWM 的频率由自动重装载值即计数值(ARR)和预分频值(PSC)还有该定时器所在的时钟总线的频率来确定。其基本公式为:
由STM32F401RCT6数据手册可知,本文中所使用的通用定时器TIM5的时钟频率f时钟主频= 84 MHz,在软件配置的时候设定的ARR 和PSC 分别为84 000 000 /649 000和0,所以此时的PWM 频率Fpwm= 129.3 kHz。由周期计算公式T= 1∕f可得一个周期的时间为7.73µs,所以死区时间tdead对应的占空比数值为1.630,约等于2(此处约等于2 是由于定时器的占空比数值类型只能输入整型)。由于中心对齐计数模式的死区时间分别分给了上升沿和下降沿一侧,所以此时需要设置死区的占空比数值为2 × 2 = 4。
3 可调开关电源调试测试
图6 所示为可调开关电源大小设计实际电路,在实际电路中,由于LM7812 和LM7805 稳压芯片的负载较大,导致发热较为严重,但是对本文的可调电压没有影响。在经过多次调试后增加了一个散热风扇,主要是对LM7812和LM7805稳压芯片和4开关Buck-Boost电路进行散热处理。其中4开关Buck-Boost电路是自己设计的PCB板子,目的就是为该电路模块化,方便携带及调试。在电压电流采集模块上,使用10 个100 Ω 电阻并联来组成一个大小在10 Ω的采样电阻来对输出电压和电流进行采样。
系统上电后,首先单片机会先执行各模块的初始化程序,并将开机信息显示在OLED 屏幕上。等待系统稳定后,利用数字万用表对电路进行测试,测试结果如图7所示。
从以上测试结果可知,在PWM 频率为129.3 kHz时,储能电感取值为47 µH,电容为1 000 µF 时,测试输出电压范围在1.48~13.48 V,如图7(a)所示。这一测试结果验证了本文基于STM32 的4 开关Buck-Boost 电路数控可调开关电源大小的可行性。又因为电路在设计过程中考虑不足,还有很多待完善之处,如图7(b)所示,会导致输出电压在高于10.93 V时,稍有小幅度波动,但不影响开关电源的稳定性。
4 结束语
本文设计了一款基于STM32 可调节输出电压大小的开关电源,其主要采用的是4 开关Buck-Boost 电路变换电压的方式并且是以PWM为驱动输入信号调节占空比的方式进行控制调节。并结合INA226 采集模块、4 针I2C OLED 模块,实现电流、电压等参数的测量与实时显示。本文中还对4 开关Buck-Boost 的死区时间进行了计算,在本文中计算得出为0.126 µs。最后根据电路原理图制作出实物,经调试测试得出该设计电压的范围为1.4~13 V 的可调电压输出,满足了一定的设计要求。但本文主要有以下几点不足。
(1)软硬件设计方面。硬件设计中存在一些不足,如电路噪声和干扰问题,需要进一步改进和优化。软件设计方面,程序的稳定性和可靠性还需要进一步测试和优化。同时,需要更加完善的异常处理机制,使系统功能更加完善。
(2)电源噪声方面。由于硬件电路元件布局不当,会使得电路产生电源噪声,后续可以进一步修改并完善。
(3)发热方面。系统中的稳压芯片LM7812和LM7805由于负载较多,因此发热会稍微严重,在后续改进中适当增加稳压芯片的使用,减少单个稳压芯片的负载。
(4)体积方面。由于变压、整流和滤波电路的元件使用之初没有考虑到体积因素,从而导致样机的体积稍大,在后续的改进中可以采用当前体积较小的模块来直接代替这一部分的电路。除此之外,样机中采用的主要模块都是现成的,虽然是方便了一点,但是体积还是稍大。