赛题要求
搭载屏幕显示电压电流数据参数;通过按键或旋钮进行参数设置;输入电压为 5~12V,输出电压与电流可调,具体参数如下:
- 电压输出范围:0~12V;
- 电压调整步进:0.1V;
- 电压测量精度:0.01V;
- 电流输出范围:0~2A;
- 电流调整步进:0.1A;
- 电流测量精度:0.01A。
设计摘要
本系统采用纯数字方案,以EG2104栅极驱动IC为核心,以STM32G474RBT6单片机为控制器,拓扑结构为四开关管的同步Buck-Boost,根据电压、电流输出采样,进行PID闭环控制,从而实现恒压或恒流输出。直流输入电压5-12V,系统输出直流电压0-12V可调、直流电流0-2A可调,步进电压0.1V、步进电流0.1A。系统搭载屏幕显示输出参数,显示精度0.01,支持用户触屏控制。输入输出接口使用XT30,输入支持过压保护、过流保护,输出支持过压保护、恒流自动切换。
系统方案
本系统采用双模态、四开关管的同步Buck-Boost拓扑结构作为升降压方案,通过改变单片机的PWM占空比,控制栅极驱动IC改变4颗NMOS的开关,从而获得用户要求的输出。
器件选型
主控
STM32G474RBT6,最高170 MHz主频,同时具有FPU单元。具有高精度定时器,此应用中输出的PWM频率为200kHz。G474带有可编程运放,所以无需设计外部电路,配置成电压跟随器,即可将内部运放用于电压采样。
MOSFET
因为是高频开关电路,所以MOS管的开关损耗和消耗功率不可忽略。应优先考虑栅极电荷较小、漏源导通电阻较小的MOS管。再根据输入电压,筛选漏源电压、驱动阈值电压小于EG2104供电电压的MOS管。最终,选择了 Qg typ=19nC, VGS=10V, RDS=3.1 mΩ 的IRFH8318PbF。
屏幕
采用陶晶驰T1系列2.8寸串口屏,电阻触摸,与MCU仅通过串口DMA通信,减小对主要pid计算速度的影响。
辅助电源
由于需要适应5~12V输入需求,且要能带动屏幕,所以先用DC-DC一级降压至4.8V,再用LDO降至其他所需电压。为了增加模拟采样的精准度,使用了TPS7A20作为模拟3.3V的降压IC,和精密、低压差的REF3025作为模拟2.5V的降压IC。
电感
降压时
已知公式
Lbuck=VIN×ΔIL×FSWVOUT×(VIN−VOUT)=ΔIL×FSWVOUT×(1−VINVOUT)
ΔIL=γIOUT
式中,FSW 是开关频率,本系统使用 200kHz,ΔIL 是电感的交变电流,γ 是交变系统系数,这里选取 γ=0.3。根据公式可知,当 VIN 不变,VOUT=0.5×VIN 时,Lbuck 得最大值。参考题目中 5V 的输入,这里选取 VIN=5V,VOUT=2.5V,代入公式计算得 ΔIL=0.3×2A=0.6A,Lbuck=5V×0.6A×200kHz2.5V×(5V−2.5V)=10.42μH.
然后,再根据公式计算 ILPK1=ILOAD+2ΔIL 计算电感峰值电流,得 ILPK1=2A+20.6A=2.3A.
升压时
已知公式
ΔIL=γIIN=γVINIOUT×VOUT
Lboost=VOUT×ΔIL×FSWVIN×(VOUT−VIN)=γIOUT×VOUT2×FSWVIN2×(VOUT−VIN)
相似地,取 VIN=5V,VOUT=12V 代入数据计算得 ΔIL2=0.3×5V2A×12V=1.44A,Lboost=0.3×2A×(12V)2×200kHz(5V)2×(12V−5V)=10.13μH
然后计算电感峰值电流 ILPK2=IIN+2ΔIL2=5V2A×12V+21.44A=5.52A
综合上述两种计算结果,选取电感量为15uH,饱和电流为14.5A的一体成型电感。(原理图中为10uH,并不是实际使用的电感)
其他芯片型号见原理图,电阻、电容实际使用数值与原理图相同,但型号可能不同。其中EG2104的自举电容用的NP0陶瓷电容。
电路设计
原理图


图一为核心升降压部分,图中4V8为一级降压后的输出电压4.8V,经测试,若供电电压较低(以4.3V为例测试),则整体带载能力不足,表现为PWM占空比极低时输出两颗MOS无法被驱动。且考虑到赛题最低5V供电,所以最终采取一级降压4.8V、自举电容100nF的方案。
图二为辅助电源部分,输入电压经过一级降压为4.8V,再经过二级降压为数字3.3V和模拟3.3V,再经过三级降压为模拟2.5V。
PCB

上图为主要电流路径,两个白色线框为回路区域示意,左侧输入端有一片保险丝和一片TVS、右侧输出端有一片TVS,三者起保护作用。右侧输出端使用一片5mΩ的电流采样电阻进行电流采样。板上共4个M3螺丝孔,便于后期将PCB固定于外壳。

上图左侧为功率地、数字地、模拟地的连接部分,通过0Ω电阻单点连接。右侧白线框为电压采样的分压电阻,采样电压输出后连接到单片机的内置运放,通过内置运放连接到ADC进行采样。
软件程序
主程序
MCU使用CUBEMX初始化,配置高精度定时器输出两路互补PWM波,其频率为200kHz。配置内部运放为电压跟随器模式,与ADC连接,ADC采样精度为12位。配置串口DMA,以及串口接收中断。配置主程序定时器频率1kHz。

PID控制部分

此部分使用MATLAB中的Simulink建模,并生成代码,部署到单片机上,作为程序的PID计算部分。
实物展示


总结
经测试,此数控电源可以实现5~12V输入,0~12V、0~2A输出,0.1V电压步进,0.1A电流步进,0.01V电压测量精度,0.01A电流测量精度,输出误差非常小,稳定性高,可以很好地满足赛题需求。(参赛队伍:此方。成员:Poria Cocos)
改进方向
- 本系统Buck-Boost为双模态(两路互补PWM波),无需区分升压或降压。可以换成三模态(建议添加输入电压采样,程序自动更改升压or降压模式)。
- pid响应不算快,有较大改进空间,CV和CC切换时不是很流畅。
- 如果不需要5V输入,一级降压可以高一点,提高EG2104带载能力。
- 输入输出的13V的TVS和5A保险丝是专为本赛题设计,可以更换,以达到更宽的输入输出范围,具体的极限还未测试。
- 带载时恒流模式实测值比显示值低,输出2A时低0.1~0.2A,应该是电流采样问题。
开源链接