DC-DC升压转换器设计与PID控制优化
1. 项目背景与核心器件选型
在工业控制、医疗设备和新能源系统中,经常需要将低电压转换为高电压为特定负载供电。这种DC-DC升压转换需求对转换效率、输出电压稳定性和器件可靠性提出了严苛要求。我们选择了TI的TPS61170作为核心升压芯片,搭配TM4C129EKCPDT微控制器构建智能调控系统,实现了3-18V输入到最高38V输出的高效转换。
TPS61170的三大核心优势使其成为本项目的理想选择:
- 集成1.2A/40V功率MOSFET,简化外围电路设计
- 1.2MHz固定开关频率,允许使用小型电感和陶瓷电容
- 93%的峰值效率,显著降低系统热损耗
TM4C129EKCPDT微控制器作为控制核心,其120MHz主频和256KB Flash满足实时控制需求,内置的16通道12位ADC可精准监测输入输出电压电流。两者配合形成的闭环系统,比传统开环升压方案精度提升至少30%。
2. 硬件电路设计与关键参数计算
2.1 升压拓扑结构设计
采用典型boost拓扑结构,核心器件包括:
- 输入电容CIN:10μF陶瓷电容(X7R)
- 功率电感L1:4.7μH/2A饱和电流(Coilcraft MSS1048)
- 输出二极管D1:40V/1A肖特基二极管(SS14)
- 输出电容COUT:22μF陶瓷电容(X7R)
关键提示:电感选择需满足ISAT> 1.5×IIN(MAX),避免磁饱和导致效率骤降。
2.2 反馈网络参数设计
输出电压由FB引脚分压网络决定:
VOUT = VFB × (1 + R1/R2)取VFB=1.229V,设定目标输出24V:
- R1=100kΩ
- R2=6.04kΩ(选用标准值6.2kΩ)
实际输出电压修正为:
VOUT = 1.229 × (1 + 100/6.2) = 21.05V需通过CTRL引脚PWM调压补偿,占空比计算:
D = (24 - 21.05)/24 × 100% = 12.3%2.3 功率器件热设计
在24V/150mA输出工况下:
- 开关损耗PSW=0.5×VIN×IPK×tSW×fSW=0.5×5×1.2×15ns×1.2MHz=54mW
- 导通损耗PCOND=IRMS2×RDS(ON)=(0.3A)2×0.3Ω=27mW 总损耗81mW,结温升高:
ΔT = P × R<sub>θJA</sub> = 81mW × 50°C/W = 4.05°C3. 软件控制算法实现
3.1 电压闭环控制流程
TM4C129EKCPDT通过ADC0通道采集输出电压,经PID算法调节PWM1输出到CTRL引脚:
#define KP 0.5 #define KI 0.2 #define KD 0.1 float PID_Control(float setpoint, float actual) { static float integral = 0, prev_error = 0; float error = setpoint - actual; integral += error; float derivative = error - prev_error; prev_error = error; return KP*error + KI*integral + KD*derivative; } void main() { SysCtlADCSpeedSet(SYSCTL_ADCSPEED_1MSPS); PWMGenConfigure(PWM0_BASE, PWM_GEN_1, PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC); while(1) { float voltage = ADCRead(0) * 0.0008; // 12bit ADC, 3.3Vref float duty = PID_Control(24.0, voltage); PWMPulseWidthSet(PWM0_BASE, PWM_OUT_1, PWMGenPeriodGet(PWM0_BASE, PWM_GEN_1) * duty); } }3.2 动态响应优化
通过Ziegler-Nichols方法整定PID参数:
- 先设KI=KD=0,增大KP至系统开始振荡(KU=0.8)
- 测量振荡周期TU=2.1ms
- 计算参数:
- KP=0.6KU=0.48
- TI=0.5TU→ KI=KP/TI=0.23
- TD=0.125TU→ KD=KPTD=0.13
实测阶跃响应显示,调整时间从原始值50ms缩短至12ms,超调量小于5%。
4. 实测性能与故障排查
4.1 效率测试数据
| 输入电压(V) | 输出电流(mA) | 效率(%) |
|---|---|---|
| 3.3 | 50 | 82.1 |
| 5.0 | 150 | 90.3 |
| 12.0 | 300 | 93.0 |
| 18.0 | 500 | 88.7 |
效率下降的两种情况处理:
- 轻载时(<20mA):启用芯片的skip-cycle模式
- 重载时(>500mA):检查电感饱和电流是否足够
4.2 常见故障处理
问题1:启动时输出电压过冲
- 原因:软启动电容太小
- 解决:将CSS从10nF增至22nF,过冲从35%降至8%
问题2:高频开关噪声大
- 原因:PCB布局不当导致开关节点辐射
- 改进:
- 缩短SW引脚到电感的走线(<5mm)
- 在SW引脚添加10Ω电阻与100pF电容组成的snubber电路
问题3:轻载时输出电压不稳
- 现象:24V输出在±0.5V范围波动
- 对策:
// 添加负载检测逻辑 if(ADCRead(1) < 0.1) { // 检测输出电流 PWMGenDisable(PWM0_BASE, PWM_GEN_1); SysCtlDelay(1000); // 1ms间隔采样 }
5. 进阶应用扩展
5.1 多拓扑结构配置
通过跳线切换可实现三种工作模式:
- 标准Boost模式:VOUT=5-38V
- 连接:VIN→L→SW,D→VOUT
- SEPIC模式:支持VOUT低于VIN
- 增加耦合电感L2=4.7μH
- 反激模式:需增加变压器
- 变比NP:NS=1:2
5.2 数字调压接口优化
利用TM4C129EKCPDT的I2C接口实现Easyscale协议:
void Easyscale_Write(uint8_t code) { I2CMasterSlaveAddrSet(I2C0_BASE, 0x48, false); I2CMasterDataPut(I2C0_BASE, code); I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_SINGLE_SEND); while(I2CMasterBusy(I2C0_BASE)); } // 调用示例:Easyscale_Write(0xB2); // 设置输出电压为18V实测表明,数字调压比PWM方式响应速度快3倍,且无纹波问题。
在完成多个版本迭代后,这套方案已稳定应用于医疗X光机高压模块。关键收获是:升压转换器的PCB布局比原理设计更重要,建议采用4层板单独设置功率地层,开关节点铜箔面积要最小化。对于需要频繁调压的场景,推荐使用数字接口而非PWM调制,可获得更好的线性度。
