基于TPS61170与PIC32MZ的高效DC-DC升压转换设计

1. 项目背景与核心器件选型

在工业控制、医疗设备和实验室仪器等领域,经常需要将较低的直流电压转换为更高的直流电压。传统方案采用分立元件搭建,存在效率低、体积大、稳定性差等问题。而采用专用DC-DC升压转换芯片配合微控制器,能实现更高效可靠的解决方案。

TPS61170是TI推出的一款高压升压转换器,具有以下突出特性:

  • 输入电压范围3-18V,输出最高可达38V
  • 集成1.2A/40V的功率MOSFET
  • 固定1.2MHz开关频率
  • 轻载时采用跳周期模式提升效率
  • 内置软启动和热保护功能

PIC32MZ1024EFK144则是Microchip推出的高性能32位MCU,特点包括:

  • 200MHz主频的MIPS32® M-Class内核
  • 1MB Flash和256KB SRAM
  • 丰富的外设接口(USB, CAN, SPI等)
  • 144引脚TQFP封装便于布线

这两款器件的组合,特别适合需要高精度控制的高压电源应用场景。

2. 硬件电路设计要点

2.1 升压转换器基本拓扑

TPS61170支持Boost、SEPIC等多种拓扑结构。本设计采用最典型的Boost升压电路,其基本工作原理是:

  1. 开关管导通时,电感储能
  2. 开关管关断时,电感能量通过二极管向输出电容转移
  3. 通过PWM占空比调节输出电压

输出电压与输入电压的关系为: Vout = Vin / (1 - D) 其中D为占空比

2.2 关键外围元件选型

电感选择:

  • 推荐值:4.7μH~10μH
  • 饱和电流需大于峰值开关电流
  • 低DCR以减小损耗
  • 本例选用Coilcraft的MSS1048-473ML 4.7μH电感

输出电容:

  • 低ESR陶瓷电容,建议22μF以上
  • 耐压需高于最大输出电压
  • 本例采用2个10μF/50V X7R电容并联

二极管选择:

  • 快恢复或肖特基二极管
  • 反向耐压>Vout
  • 本例选用B340A(40V/3A肖特基)

2.3 PCB布局注意事项

  1. 功率回路面积最小化:

    • 输入电容尽量靠近VIN和GND引脚
    • 电感、二极管、输出电容形成紧凑回路
  2. 散热设计:

    • 芯片底部散热焊盘必须良好接地
    • 必要时增加铜箔面积或散热过孔
  3. 信号走线隔离:

    • FB反馈走线远离开关节点
    • 模拟地和功率地单点连接

3. 软件控制实现

3.1 PIC32MZ初始化配置

// 系统时钟配置 #pragma config FPLLIDIV = DIV_2 #pragma config FPLLMUL = MUL_20 #pragma config FPLLODIV = DIV_2 #pragma config POSCMOD = HS #pragma config FNOSC = PRIPLL // PWM模块配置 void PWM_Init(void) { OC1CON = 0; // 关闭OC1模块 OC1R = 0; // 初始占空比0 OC1RS = 1000; // 周期值 OC1CONbits.OCTSEL = 1; // 使用Timer3 OC1CONbits.OCM = 6; // PWM模式 T3CONbits.TCKPS = 0; // 预分频1:1 PR3 = 2000; // PWM频率=100kHz T3CONbits.ON = 1; // 启动Timer3 OC1CONbits.ON = 1; // 启动OC1 }

3.2 电压闭环控制算法

采用增量式PID算法实现输出电压的精确调节:

typedef struct { float Kp, Ki, Kd; float lastError, prevError; float integral; } PID_Controller; float PID_Update(PID_Controller* pid, float setpoint, float measurement) { float error = setpoint - measurement; // 比例项 float Pout = pid->Kp * error; // 积分项(带抗饱和) pid->integral += error; if(pid->integral > 1000) pid->integral = 1000; if(pid->integral < -1000) pid->integral = -1000; float Iout = pid->Ki * pid->integral; // 微分项 float derivative = error - pid->lastError; float Dout = pid->Kd * derivative; pid->prevError = pid->lastError; pid->lastError = error; return Pout + Iout + Dout; }

3.3 保护功能实现

  1. 过压保护:
if(ADC_Read(VOUT_CH) > OVER_VOLTAGE_THRESHOLD) { PWM_SetDuty(0); // 立即关闭输出 Fault_Handler(); }
  1. 过流保护:
if(ADC_Read(IOUT_CH) > OVER_CURRENT_THRESHOLD) { PWM_RampDown(); // 软关断 Fault_Handler(); }

4. 调试与优化技巧

4.1 启动问题排查

现象:无法正常启动,输出电压振荡 可能原因及解决方案:

  1. 输入电容不足 → 增加输入电容值
  2. 软启动时间过短 → 调整CTRL引脚电容
  3. 电感饱和 → 更换更大饱和电流的电感

4.2 效率优化措施

  1. 轻载效率提升:

    • 启用芯片的跳周期模式
    • 降低开关频率(通过CTRL引脚调节)
  2. 重载损耗降低:

    • 选择低VF的肖特基二极管
    • 使用低DCR电感
    • 优化PCB布局减小寄生电阻

4.3 环路补偿调整

TPS61170需要外部补偿网络,典型配置为:

  • 补偿电容(Ccomp): 1nF
  • 补偿电阻(Rcomp): 10kΩ

调试步骤:

  1. 用电子负载施加阶跃变化
  2. 观察输出电压的恢复波形
  3. 调整Rcomp/Ccomp直到获得临界阻尼响应

5. 实测数据与性能分析

5.1 不同输入电压下的效率曲线

输入电压(V)输出24V/100mA效率输出24V/500mA效率
589%85%
1292%90%
1593%91%

5.2 负载调整率测试

保持输入12V不变,改变负载电流:

负载电流(mA)输出电压(V)波动率(%)
10024.02+0.08
30023.98-0.08
50023.92-0.33

5.3 动态响应测试

使用电子负载进行50%-75%-50%的负载阶跃变化:

  • 恢复时间:<200μs
  • 过冲电压:<1.5%

6. 进阶应用扩展

6.1 多路输出设计

通过增加变压器绕组,可从单一TPS61170获得多路输出:

  1. 主输出:24V/500mA (直接Boost)
  2. 辅助输出:-12V/100mA (增加负压绕组)

6.2 数字电位器替代FB电阻

传统方案使用电阻分压网络设置输出电压。改进方案:

  • 采用数字电位器(如MCP4018)替代上分压电阻
  • 通过I2C动态调整输出电压
  • 实现软件可编程的电压输出

6.3 与上位机通信

利用PIC32MZ的USB或UART接口:

  1. 实时上传电压、电流数据
  2. 接收并执行电压设置命令
  3. 故障信息记录与上传

在实际项目中,这种高压DC-DC转换方案已经成功应用于:

  • 工业PLC的模拟量输出模块
  • 实验室可编程电源
  • 医疗设备的高压驱动电路

调试过程中发现,PCB布局对稳定性影响极大。最初版本因功率回路面积过大,导致输出电压有约50mV的开关噪声。重新优化布局后,噪声降低到10mV以内。另外,轻载时的跳周期模式会使输出电压纹波增大,对纹波敏感的应用可以适当增加输出电容或禁用该模式。