1. 项目背景与核心器件选型
在工业控制、医疗设备和实验室仪器等领域,经常需要将低压直流电源转换为高压直流电源。传统线性稳压方案效率低下且发热严重,而基于开关模式的DC-DC升压转换技术则能有效解决这些问题。本项目采用TI的TPS61170升压转换器与Microchip的PIC18F4620单片机组合,构建一个可编程的高效升压电源系统。
TPS61170是一款集成1.2A开关管的单片升压转换器,具有以下突出特性:
- 输入电压范围:3V至18V
- 输出电压最高可达38V
- 固定1.2MHz开关频率
- 93%的峰值效率
- 6引脚2x2mm QFN封装
PIC18F4620作为控制核心的优势在于:
- 内置10位ADC和多路PWM输出
- 丰富的GPIO和通信接口
- 宽工作电压范围(2V-5.5V)
- 成熟的开发工具链支持
2. 电路设计与关键参数计算
2.1 升压拓扑基础原理
升压转换器(Boost Converter)通过控制开关管的通断,将能量存储在电感中,再释放到输出端。其输出电压与输入电压的关系为: Vout = Vin / (1 - D) 其中D为开关管导通占空比。当D接近1时,理论上输出电压可无限增大,但实际受器件耐压和效率限制。
2.2 电感选型计算
电感值是影响转换效率的关键参数。根据TPS61170数据手册推荐公式: L = (Vin × D) / (ΔIL × fsw) 其中:
- Vin取典型值12V
- 目标输出电压24V时,D=0.5
- 纹波电流ΔIL按30%的开关电流限值取0.36A
- fsw=1.2MHz
计算得L≈13.9μH,实际选用15μH/2A的屏蔽电感,如TDK VLS201510ET-150M。
2.3 输出电容选择
输出电容需满足两个要求:
- 储能需求:Cout ≥ (Iout × D) / (fsw × ΔVout) 设Iout=150mA,允许纹波ΔVout=240mV,计算得Cout≥26μF
- ESR要求:ESR ≤ ΔVout / ΔIL ≤ 0.24/0.36≈0.67Ω
选用47μF/50V的X7R陶瓷电容(如GRM32ER71H476KA12L),其ESR典型值仅10mΩ。
3. PCB布局与EMI优化
3.1 关键路径布局原则
- 功率回路最小化:SW引脚→电感→二极管→输出电容→GND→芯片GND
- 反馈网络远离噪声源:FB走线应短且远离电感和SW节点
- 散热处理:QFN封装底部裸露焊盘必须良好接地散热
3.2 实测中的EMI问题解决
初期版本在24V输出时出现高频噪声超标,通过以下措施改善:
- 在SW引脚串联2.2Ω电阻减缓开关边沿
- 增加输入端的π型滤波器(10μF+100nF)
- 采用四层板设计,中间层为完整地平面
4. 单片机控制程序设计
4.1 电压调节实现方案
PIC18F4620通过PWM控制TPS61170的CTRL引脚实现调压:
// PWM初始化设置 PR2 = 0xFF; // PWM周期=1us(1MHz) CCP1CON = 0x0C; // PWM模式 T2CON = 0x04; // 定时器2开启 // 设置输出电压函数 void SetOutputVoltage(float targetV) { float duty = (targetV - 12.0) / 24.0 * 255.0; CCPR1L = (uint8_t)duty; }4.2 保护功能实现
- 过流检测:通过ADC采样电流检测电阻电压
- 软启动:PWM占空比从0线性增加到设定值
- 故障记录:EEPROM存储历史故障代码
5. 实测性能与优化
5.1 效率测试数据
| 输入电压(V) | 输出电压(V) | 负载电流(mA) | 效率(%) |
|---|---|---|---|
| 5.0 | 12.0 | 100 | 89.2 |
| 12.0 | 24.0 | 150 | 91.5 |
| 9.0 | 18.0 | 200 | 90.1 |
5.2 常见问题解决
- 轻载振荡:在FB引脚并联1nF电容增强稳定性
- 启动失败:检查输入电容容量(建议≥22μF)
- 输出电压漂移:更换精度更高的反馈电阻(0.1%)
6. 进阶应用扩展
6.1 多路输出实现
利用TPS61170的Easyscale协议,通过单线通信实现:
- 正负电源:配合电荷泵产生负压
- 多级升压:级联多个转换器实现更高电压
6.2 数字闭环控制
在PIC中实现PID算法提升动态响应:
float PID_Control(float setpoint, float actual) { static float integral = 0, last_error = 0; float error = setpoint - actual; integral += error * 0.001; // 积分项 float derivative = (error - last_error) / 0.001; last_error = error; return Kp*error + Ki*integral + Kd*derivative; }在实际调试中发现,当负载突变超过50%时,单纯电压模式控制会出现较大跌落。加入电流前馈补偿后,跌落幅度从12%降低到3%以内。具体方法是在输出电压环的基础上,增加对电感电流变化的快速响应。