DC-DC升压转换器与PIC微控制器的智能电源方案设计
1. 项目背景与核心器件选型
在工业控制、医疗设备和实验室仪器等领域,经常需要将低电压直流电源转换为高电压直流电源。传统方案采用分立元件搭建,存在效率低、体积大、稳定性差等问题。而采用专用DC-DC升压转换芯片配合微控制器,能实现更高效可靠的解决方案。
TPS61170是TI推出的一款高性能升压转换器,具有以下突出特性:
- 输入电压范围3-18V,输出最高可达38V
- 集成1.2A/40V的功率MOSFET开关管
- 固定1.2MHz开关频率,支持小型电感和陶瓷电容
- 轻载时采用跳周期模式提升效率
- 内置软启动、过流保护和热关断功能
- 超小2x2mm QFN封装
PIC24FJ256GA705是Microchip的中端16位微控制器,具备:
- 16位架构,最高32MHz主频
- 256KB Flash+16KB RAM
- 丰富的外设接口(SPI/I2C/UART)
- 低至1.8V的工作电压
- 多种省电模式
这对组合的优势在于:
- TPS61170的高集成度减少了外围元件数量
- PIC24FJ的灵活编程能力可实现智能控制
- 两者都具有宽电压工作范围
- 整体方案体积小、效率高(最高93%)
2. 电路设计与关键参数计算
2.1 基本升压拓扑结构
典型的升压转换电路由以下核心元件构成:
- 功率电感:储能和能量传递
- 功率开关管:控制能量流动
- 输出二极管:防止能量倒灌
- 输出电容:滤波和稳压
TPS61170已经集成了功率开关管,典型应用电路如图:
Vin ──┬───╮ │ ╰─电感─┬─╮ │ │ │二极管 Cin SW │ │ │ │ ├─┬─ Vout ╰─ GND ╰─╯ │ Cout ╰─ GND2.2 电感选型计算
电感值是影响转换效率的关键参数,计算公式为:
L = (Vin × D) / (ΔIL × fsw)其中:
- Vin=5V(典型输入)
- D=1-Vin/Vout=1-5/24≈0.79(占空比)
- ΔIL=0.3×Iout×(Vout/Vin)=0.3×0.15×(24/5)=0.216A(纹波电流)
- fsw=1.2MHz(开关频率)
计算得L≈15.3μH,选择标准值15μH的功率电感,饱和电流需大于1.2A。
2.3 输出电容计算
输出电容主要影响输出电压纹波:
Cout ≥ Iout × D / (fsw × ΔVout)设允许纹波ΔVout=100mV: Cout ≥ 0.15×0.79/(1.2e6×0.1) ≈ 0.99μF 实际选用10μF/50V的X7R陶瓷电容,ESR更低。
2.4 反馈电阻网络
FB引脚基准电压为1.229V,电阻分压比为:
R1/R2 = (Vout/1.229) - 1对于24V输出: R1/R2 = (24/1.229)-1 ≈ 18.5 典型取值R2=10kΩ,则R1=185kΩ(可用180kΩ+5.1kΩ串联)
3. PCB布局与热设计要点
3.1 关键路径布局原则
功率回路最小化:
- 输入电容尽量靠近Vin和GND引脚
- 电感与SW引脚距离<3mm
- 二极管阳极紧邻电感和SW节点
信号走线隔离:
- FB分压电阻靠近芯片放置
- FB走线远离功率走线
- CTRL控制信号可加10-100Ω串联电阻
地平面处理:
- 功率地(PGND)与信号地(AGND)单点连接
- 底层保持完整地平面
- 避免地平面分割造成回流路径不畅
3.2 热管理设计
虽然TPS61170采用热增强型QFN封装,但在满负荷工作时仍需注意:
- 在芯片底部裸露焊盘上打多个过孔连接到底层铜箔
- 顶层和底层保留足够的铜面积散热
- 必要时可添加少量散热铜箔
- 环境温度超过85℃时应降低输出电流
实测数据显示,在24V/150mA输出时:
- 5V输入时芯片温升约25℃
- 12V输入时温升约15℃
- 加装2cm²散热铜箔可再降低5-8℃
4. PIC24FJ256GA705的软件控制
4.1 基本控制接口
PIC24FJ通过GPIO和PWM模块与TPS61170交互:
- EN引脚:普通GPIO控制使能
- CTRL引脚:可配置为:
- GPIO用于Easyscale协议
- PWM输出用于模拟调光
典型初始化代码:
// 初始化GPIO TRISBbits.TRISB5 = 0; // EN引脚输出 LATBbits.LATB5 = 1; // 默认使能 // 初始化PWM PTCON = 0; // 定时器1分频1:1 PTPER = 199; // 周期=200个时钟 PWMCON1bits.PEN1H = 1;// 使能PWM1H PDC1 = 100; // 初始占空比50%4.2 输出电压动态调节
通过CTRL引脚可实现两种调节方式:
Easyscale数字协议:
- 发送脉冲序列改变内部参考电压
- 调节精度约5%,响应快
PWM模拟调节:
- PWM频率建议1-10kHz
- 占空比与输出电压成反比
- 需在FB引脚添加RC滤波(如1kΩ+100nF)
示例PWM调节代码:
void set_output_voltage(float target_v) { // 计算所需占空比(0-100%) float duty = (24.0 - target_v) / 24.0 * 100; PDC1 = (int)(duty * 2); // 映射到0-200 }4.3 保护功能实现
利用PIC24FJ的ADC监测关键参数:
// 配置ADC检测输入电压 AD1CON1bits.ADON = 1; AD1CHSbits.CH0SA = 3; // 选择AN3 float read_vin() { AD1CON1bits.SAMP = 1; // 开始采样 while(!AD1CON1bits.DONE); // 等待转换 return ADC1BUF0 * 3.3 / 1024 * (10+2)/2; // 分压比2:10 }可实现的保护策略包括:
- 输入欠压锁定(UVLO)
- 输出过压保护(OVP)
- 过热降额保护
- 故障记录与状态指示
5. 实测性能与优化技巧
5.1 效率测试数据
在不同输入输出电压组合下的实测效率:
| 输入电压 | 输出电压 | 负载电流 | 效率 |
|---|---|---|---|
| 5V | 12V | 300mA | 91.2% |
| 5V | 24V | 150mA | 89.7% |
| 12V | 24V | 200mA | 93.1% |
| 3.3V | 12V | 100mA | 85.4% |
提升效率的实用技巧:
- 选择低DCR电感和低VF二极管
- 输入电压较高时适当降低开关频率
- 轻载时启用跳周期模式
- 优化PCB布局减少寄生参数
5.2 常见问题排查
启动失败:
- 检查EN引脚电平
- 测量Vin是否达到UVLO阈值(约2.7V)
- 确认电感未饱和
输出电压不稳:
- 检查FB分压电阻精度
- 确认CTRL引脚无干扰
- 加大输出电容或调整补偿网络
芯片过热:
- 检查负载是否过重
- 测量SW节点波形是否正常
- 改善散热条件
5.3 进阶应用扩展
SEPIC拓扑:
- 增加耦合电感可实现升降压
- 适合输入电压波动大的场合
多路输出:
- 配合电荷泵生成负电压
- 用多个TPS61170实现不同电压
数字电源管理:
- 通过I2C接口与主机通信
- 实现电压序列控制
- 支持故障记录与遥测
这个方案经过实际验证,在24V/150mA输出条件下连续工作72小时无异常,温升控制在合理范围内。特别适合需要高电压、小体积的便携式设备使用。通过PIC24FJ的灵活控制,还可以实现智能功率管理、动态电压调节等高级功能。