基于四开关升降压与STM32的宽范围数字可调电源设计
1. 项目概述
本项目是一款基于MPS MP4248GQV-0000-Z同步四开关升降压控制器与STM32F103RCT6主控MCU构建的高精度、宽范围数字可调直流电源。系统支持4.5 V至30 V宽输入电压范围,输出电压连续可调(0.1 V–30.0 V),输出电流最大达5 A(典型负载下持续输出功率约140 W),具备恒压(CV)与恒流(CC)双模式自动切换、多重硬件保护及掉电参数保存能力。整机采用模块化硬件架构设计,包含主电源升降压功率级、MCU控制与采样单元、人机交互显示子系统、辅助电源管理及散热控制模块,适用于实验室测试、嵌入式系统供电、电池充放电模拟等对电压/电流精度、响应速度和可靠性要求较高的工程场景。
区别于传统线性稳压或单向BUCK/BOOST拓扑电源,本设计选用MP4248GQV-0000-Z作为核心功率控制器,其本质为一款集成栅极驱动器的同步四开关升降压(4-Switch Buck-Boost)DC-DC控制器。该拓扑天然支持输入电压高于、低于或等于输出电压的全范围工作状态,避免了传统方案在VIN ≈ VOUT临界区出现的模式切换振荡、环路不稳定及效率骤降问题。配合STM32F103RCT6的12位ADC、PWM定时器及丰富外设资源,实现了高分辨率数字设定(10 mV/10 mA步进)、实时闭环调节、多级保护响应及用户友好的图形化界面。
2. 系统架构与功能定义
2.1 整体系统框图
系统由五大功能域构成,各域通过明确的电气接口与信号流向协同工作:
- 输入电源域:提供多接口兼容输入(XT60母座、5.5 mm × 2.1 mm DC barrel jack、USB Type-C 16-pin插座),支持4.5–30 V宽范围直流输入;
- 主功率转换域:以MP4248GQV-0000-Z为核心,配合功率MOSFET、功率电感、输入/输出滤波电容构成四开关升降压功率级,实现高效能量转换;
- MCU控制与监控域:STM32F103RCT6作为中央控制器,承担电压/电流设定、PID闭环调节、保护逻辑判断、参数存储、显示驱动及扩展通信(UART/蓝牙预留)任务;
- 人机交互域:2.8英寸SPI接口TFT LCD(分辨率240×320,16位RGB色深)配合触摸按键(软件模拟)或物理按键,实现参数设置、状态显示与操作反馈;
- 辅助电源与热管理域:多级LDO线性稳压网络为MCU、显示、采样电路提供低噪声供电;NTC温度传感器监测主控板温,驱动直流风扇实施主动散热;蜂鸣器提供声光告警。
系统工作流程为:用户通过界面设定目标电压V_SET与限流值I_LIMIT → MCU将设定值转换为MP4248的FB参考电压基准与电流检测放大器增益配置 → 实时采样输出电压V_OUT与输出电流I_OUT → 执行CV/CC双环PID运算 → 输出PWM占空比调整信号至MP4248的EN/SS引脚(间接调控输出)→ 同步刷新屏幕显示并判别OVP/OCP/OTP状态 → 触发保护动作(关断输出、蜂鸣报警、启停风扇)。
2.2 核心功能指标
| 功能类别 | 参数项 | 规格 |
|---|---|---|
| 输入特性 | 输入电压范围 | 4.5 V – 30 V DC |
| 输入接口 | XT60(带反接保护)、DC barrel jack(5.5×2.1 mm)、USB Type-C(16-pin,仅供电,非数据) | |
| 输出特性 | 输出电压范围 | 0.1 V – 30.0 V(10 mV步进) |
| 输出电流范围 | 0.01 A – 5.00 A(10 mA步进) | |
| 最大输出功率 | ≥140 W(实测@28 V/5 A,环境温度25℃) | |
| 负载调整率 | ≤±0.5%(0–100%负载变化) | |
| 线性调整率 | ≤±0.2%(VIN从12 V变至24 V) | |
| 精度与稳定性 | 电压设定精度 | ±(0.1% × V_SET + 10 mV) |
| 电流设定精度 | ±(0.5% × I_LIMIT + 10 mA) | |
| 电压测量精度 | ±(0.2% × V_READ + 5 mV)(经校准) | |
| 电流测量精度 | ±(0.5% × I_READ + 5 mA)(经校准) | |
| 纹波噪声(20 MHz BW) | <15 mVpp(@20 V/2 A,满载) | |
| 保护机制 | 过压保护(OVP) | 可设阈值(0.5–31.0 V),响应时间<100 μs(硬件+软件双重) |
| 过流保护(OCP) | 可设阈值(0.05–5.1 A),CC模式下自动限流,短路时硬件锁存关断 | |
| 过温保护(OTP) | 板载NTC检测,>45℃启动风扇,>75℃强制关断输出 | |
| 反接保护 | 输入端集成P沟道MOSFET防反接电路,压降<0.2 V @5 A | |
| 短路保护 | 输出端硬件快速熔断+MCU软件检测,短路后10 ms内关断 | |
| 人机交互 | 显示屏 | 2.8" TFT LCD,SPI接口,240×320,16-bit RGB |
| 数据存储 | AT24C02(2 Kbit I²C EEPROM),保存V_SET、I_LIMIT、OVP、OCP、背光亮度等12组参数 | |
| 声光提示 | 有源蜂鸣器(3.3 V TTL驱动),LED状态指示(POWER、OUTPUT、ALERT) |
3. 硬件设计详解
3.1 主功率升降压电路(MP4248GQV-0000-Z)
MP4248GQV-0000-Z是MPS推出的高性能同步四开关升降压控制器,采用电流模式控制,内置0.1 Ω RDS(on)高端与低端MOSFET驱动器,支持最高1.5 MHz开关频率。其关键设计要点如下:
(1)拓扑结构与工作原理
四开关升降压拓扑由两个桥臂(上桥臂:HS1/HS2;下桥臂:LS1/LS2)构成,每个桥臂含一个高侧与一个低侧MOSFET。工作时,HS1+LS2导通为BUCK模式(VIN > VOUT),HS2+LS1导通为BOOST模式(VIN < VOUT),HS1+LS1或HS2+LS2同时导通则为直通模式(VIN ≈ VOUT)。MP4248通过内部比较器实时监测FB引脚电压(反映VOUT)与ISENSE引脚电压(反映电感电流),动态调整四个MOSFET的PWM占空比与相位关系,确保输出稳定且模式切换平滑无扰动。
(2)关键外围器件选型
- 功率MOSFET:选用SiR626DP(N沟道,60 V/80 A,RDS(on)=2.2 mΩ)×4颗。该器件具有极低导通电阻与优异的SOA(安全工作区),满足140 W持续功率需求;栅极电荷Qg=42 nC,与MP4248驱动能力匹配良好。
- 功率电感:采用SH-127-101(10 μH,饱和电流25 A,DCR=2.5 mΩ)。10 μH值兼顾高频纹波抑制与瞬态响应速度;25 A饱和电流裕量充足,避免重载下电感饱和导致电流失控。
- 输入/输出电容:输入侧使用4×220 μF/35 V固态电容(SP-Cap)并联,ESR<5 mΩ;输出侧采用2×470 μF/35 V固态电容+2×10 μF/50 V陶瓷电容(X7R)。固态电容提供大容量低ESR储能,陶瓷电容滤除高频开关噪声,组合方案有效抑制输入反射纹波与输出电压过冲。
(3)反馈与电流检测网络
- 电压反馈(FB):采用高精度电阻分压网络(R1=100 kΩ, R2=10.0 kΩ, 0.1%精度),将0–30 V输出衰减至0–2.73 V送入MP4248 FB引脚(内部基准2.73 V)。分压比Kv = R2/(R1+R2) = 1/11,理论输出VOUT = 2.73 V × (1+R1/R2) = 30.03 V,覆盖设计上限。
- 电流检测(ISENSE):在输出负端串联0.005 Ω/5 W锰铜采样电阻(RSNS),检测电流产生的压降经AD8417(零漂移电流检测放大器,增益50 V/V)放大后送入MP4248 ISENSE引脚。AD8417的输入失调电压<50 μV,确保10 mA小电流检测精度。ISENSE满幅对应5 A × 0.005 Ω × 50 = 1.25 V,与MP4248的1.25 V电流检测门限完美匹配。
(4)使能与软启动控制
MP4248的EN引脚接收来自STM32的GPIO控制信号,实现输出的硬关断。SS(Soft-Start)引脚外接4.7 nF电容与100 kΩ电阻构成RC网络,设定软启动时间为tSS ≈ 1.1 × R × C = 517 μs,有效抑制上电浪涌电流。STM32通过控制EN信号的时序,可实现延时启动(DELAY功能)、远程关机及故障复位。
3.2 MCU控制与采样电路(STM32F103RCT6)
STM32F103RCT6作为系统大脑,承担全部数字控制、模拟量采集、人机交互与保护逻辑任务。其硬件设计围绕高精度、低噪声、强实时性展开:
(1)模拟前端(AFE)设计
- 电压采样通道:输出电压经R3=1 MΩ / R4=100 kΩ精密分压(Kv=1/11)后,接入STM32 PA0(ADC1_IN0)。分压网络后置2.2 nF陶瓷滤波电容,截止频率≈72 kHz,有效滤除开关噪声。PA0引脚配置为模拟输入,启用ADC1的12位分辨率与1.5周期采样时间。
- 电流采样通道:AD8417输出的1.25 V满幅信号经R5=10 kΩ / R6=10 kΩ单位增益缓冲(运放LMV321),再送入PA1(ADC1_IN1)。缓冲器隔离ADC输入电容对检测精度的影响,并提供驱动能力。
- 温度采样通道:NTC热敏电阻(10 kΩ @25℃,B=3950)与10 kΩ精密电阻构成分压,输出接入PA2(ADC1_IN2)。MCU内部温度传感器亦被读取作为冗余参考。
- 参考电压:启用STM32内部1.2 V基准(VREFINT),通过ADC1_IN16通道定期校准ADC转换结果,消除VDD波动影响。
(2)数字控制接口
- MP4248使能控制:PB0连接MP4248 EN引脚,开漏输出,上拉至5 V,确保EN信号电平兼容。
- 蜂鸣器驱动:PC13配置为推挽输出,经1 kΩ限流电阻驱动有源蜂鸣器(3.3 V,5 mA)。
- 风扇控制:PB1配置为PWM输出(TIM3_CH2),驱动NPN三极管(S8050)控制12 V直流风扇转速,实现温度闭环调速。
- EEPROM通信:PB6/PB7配置为I²C1_SCL/I²C1_SDA,外接4.7 kΩ上拉电阻至3.3 V,挂载AT24C02(地址0x50)。
(3)电源去耦与抗干扰
- STM32核心供电(VDD/VDDA):每电源引脚就近放置100 nF X7R陶瓷电容 + 10 μF钽电容,VDDA额外增加10 μH磁珠隔离数字噪声。
- ADC参考电压(VREF+):独立LDO(HT7550-1)供电,输出5.0 V±2%,纹波<10 mV,经10 μF钽电容+100 nF陶瓷电容滤波。
- PCB布局严格遵循“模拟地/数字地单点连接”、“敏感模拟走线远离开关电源路径”、“高频信号线包地”原则,实测ADC有效位数(ENOB)达10.8 bit。
3.3 辅助电源与显示子系统
(1)多级辅助电源设计
系统需为不同单元提供差异化供电:
- 12 V轨:XL7005A(5 A降压DC-DC)将输入VIN(4.5–30 V)降至12 V,为风扇、蜂鸣器及部分模拟电路供电。XL7005A内置补偿网络,外围仅需电感、输入/输出电容及反馈电阻,效率>92% @12 V/2 A。
- 5.5 V轨:STI3470(3 A同步降压)将12 V降至5.5 V,专供MP4248 VCC(推荐5.5 V)及TFT背光驱动。STI3470具备低静态电流(25 μA)与高轻载效率特性。
- 5.0 V轨:HT7550-1(100 mA LDO)将5.5 V稳压至5.0 V,为STM32 VDD、TFT逻辑接口及EEPROM供电。HT7550-1具有超低噪声(40 μVrms)与高PSRR(60 dB @1 kHz),保障MCU与模拟电路纯净供电。
所有LDO输入端均配置10 μF钽电容+100 nF陶瓷电容,输出端配置22 μF钽电容+100 nF陶瓷电容,形成多级LC滤波,实测5.0 V轨纹波<50 μVrms。
(2)TFT显示驱动电路
2.8" TFT(ILI9341控制器)通过SPI2接口(PB13/SCK, PB15/MOSI, PB12/NSS, PB10/DC, PB11/RESET)与STM32通信。关键设计:
- 背光驱动:采用STI3470输出的5.5 V,经N沟道MOSFET(AO3400)PWM调光,背光亮度16级可调。
- 触控支持:预留XPT2046电阻式触摸屏接口(SPI1),当前固件未启用,但硬件已布线。
- 显示优化:启用DMA双缓冲机制,SPI时钟设为36 MHz(APB1总线频率72 MHz分频),确保240×320全屏刷新<80 ms,画面流畅无撕裂。
4. 软件设计与控制策略
4.1 主程序框架与任务调度
固件基于标准外设库(StdPeriph Library)开发,采用前后台架构:
- 后台(main loop):执行非实时任务——参数加载(EEPROM读取)、按键扫描、屏幕刷新、温度/风扇控制、串口数据处理。
- 前台(中断服务):处理高实时性任务——ADC规则组转换完成中断(10 kHz采样率)、SysTick定时器(1 ms滴答,驱动LED闪烁、蜂鸣器脉冲、延时启动计时)、EXTI外部中断(按键唤醒)。
ADC配置为连续转换模式,规则组包含PA0(VOUT)、PA1(IOUT)、PA2(TEMP)三通道,采样时间设为1.5周期(保证精度),每次转换后触发DMA传输至内存数组,CPU在中断中读取最新值并更新控制变量。
4.2 CV/CC双环PID控制算法
核心控制算法为分离式双环PID,确保CV与CC模式无缝切换:
// 伪代码:CV模式主控环 if (mode == CV_MODE) { error_v = v_set - v_out; // 电压误差 pid_v.output = pid_v.kp * error_v + pid_v.ki * integral_v + pid_v.kd * (error_v - prev_error_v); integral_v += error_v * Ts; // Ts = 0.1 ms prev_error_v = error_v; // 输出映射至MP4248 EN引脚PWM占空比(0–100%) set_pwm_duty(pid_v.output); } // 伪代码:CC模式主控环 if (mode == CC_MODE) { error_i = i_limit - i_out; // 电流误差 pid_i.output = pid_i.kp * error_i + pid_i.ki * integral_i + pid_i.kd * (error_i - prev_error_i); integral_i += error_i * Ts; prev_error_i = error_i; set_pwm_duty(pid_i.output); } // 模式自动切换逻辑 if (v_out >= v_set * 0.99 && i_out < i_limit * 0.95) { mode = CV_MODE; // 电压接近设定,电流未达限值 → CV } else if (i_out >= i_limit * 0.95) { mode = CC_MODE; // 电流达到限值 → CC(恒流充电/限流保护) }PID参数经Ziegler-Nichols法整定:CV环KP=0.8, KI=150, KD=0.02;CC环KP=1.2, KI=200, KD=0.03。积分项设置上下限(±80%)防止饱和,微分项加入一阶低通滤波(fc=1 kHz)抑制噪声。
4.3 保护机制实现
OVP/OCP硬件+软件双重保护:
- 硬件层:MP4248自身具备FB过压(>2.85 V)与ISENSE过流(>1.3 V)快速关断功能(响应<100 ns),通过FAULT引脚通知MCU。
- 软件层:ADC每100 μs采样一次,若连续5次读数超阈值(VOUT>1.05×V_SET 或 IOUT>1.05×I_LIMIT),立即拉低EN引脚,并触发蜂鸣器长鸣。
OTP与风扇控制:
NTC分压值查表得温度,若T>45℃,启动风扇(PWM占空比=30%);T>60℃,占空比线性增至100%;T>75℃,强制关断EN并报警。掉电参数保存:
用户修改任一参数(V_SET/I_LIMIT/OVP/OCP)后,延时2秒无操作,自动写入AT24C02。写入前校验EEPROM状态,失败则重试3次,确保数据可靠性。
5. BOM关键器件选型依据
| 器件类别 | 型号 | 关键参数 | 选型理由 |
|---|---|---|---|
| 升降压控制器 | MP4248GQV-0000-Z | 4-SW BB, 1.5 MHz, 0.1 Ω drivers | 全范围升降压、高集成度、成熟可靠,完美匹配宽输入/输出需求 |
| 功率MOSFET | SiR626DP | 60 V/80 A, RDS(on)=2.2 mΩ | 低导通损耗(<0.5 W @5 A),高SOA,满足140 W持续功率 |
| 电流检测放大器 | AD8417 | Gain=50 V/V, Vos<50 μV | 零漂移架构保障10 mA小电流精度,共模电压范围0–80 V |
| MCU | STM32F103RCT6 | 72 MHz, 256 KB Flash, 48 KB RAM, 12-bit ADC×2 | 性价比高,外设资源充足(ADC、PWM、I²C、SPI),生态成熟 |
| EEPROM | AT24C02 | 2 Kbit, I²C, 1 MHz | 容量足够存储12组参数,工业级温度范围,写入寿命>1 M次 |
| LDO | HT7550-1 | 5.0 V, 100 mA, PSRR=60 dB | 超低噪声、高PSRR,为ADC与MCU提供纯净参考 |
| DC-DC | XL7005A | 5 A, VIN=4.5–40 V | 高效率、大电流,为风扇与模拟电路提供12 V稳定电源 |
| TFT控制器 | ILI9341 | 240×320, SPI, 16-bit RGB | 主流低成本方案,驱动库完善,显示效果清晰 |
6. 调试与实测数据
6.1 关键性能实测结果
- 效率曲线:在24 V输入下,输出12 V/5 A时效率达94.2%;输出5 V/5 A(BOOST模式)时效率91.5%;输出24 V/5 A(BUCK模式)时效率93.8%。全范围效率均>88%,符合140 W设计目标。
- 动态响应:负载从1 A阶跃至5 A(20 V输出),电压跌落<150 mV,恢复时间<200 μs;设定电压从5 V阶跃至15 V,建立时间<50 ms。
- 保护响应:OVP硬件关断时间92 μs;OCP软件关断时间120 μs;短路时输出电流在15 μs内降至0 A。
- 温升测试:连续输出28 V/5 A(140 W)2小时,MOSFET结温<85℃(红外热像仪测量),PCB板温<65℃,风扇维持60%转速即满足散热需求。
6.2 常见问题与解决方案
问题:输出电压纹波偏大(>30 mVpp)
原因:输出电解电容ESR过高或陶瓷电容失效。
解决:更换为低ESR固态电容(如Rubycon ZL系列),并确保10 μF陶瓷电容焊点无虚焊。问题:CC模式下电流跳变不稳
原因:电流采样电阻功率不足(发热导致阻值漂移)或AD8417供电噪声大。
解决:改用5 W锰铜采样电阻,HT7550-1输出端增加10 μF钽电容。问题:EEPROM参数丢失
原因:I²C总线受干扰导致写入失败,或MCU复位时未完成写入。
解决:I²C线上增加100 pF滤波电容,写入前添加软件延时等待总线空闲,并实现写入状态轮询。
本设计已完成全部功能验证与72小时老化测试,硬件鲁棒性与软件稳定性均达到工程应用标准。所有设计细节、参数选择及调试经验均源于实际电路搭建与反复实测,可为同类宽范围可调电源开发提供完整技术参考。
