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

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

1. 项目概述与核心器件选型

在工业控制、医疗设备和实验室仪器等领域,经常需要将较低的直流电压转换为更高的直流电压。传统线性稳压器在升压应用中效率低下且发热严重,而开关电源方案则能有效解决这些问题。本项目采用德州仪器(TI)的TPS61170升压转换器与Microchip的PIC18F4458微控制器组合,构建一个高效、可编程的高压DC-DC转换系统。

TPS61170是一款集成1.2A开关管的单片升压转换器,具有以下突出特性:

  • 宽输入电压范围:3V至18V
  • 高达38V的可调输出电压
  • 1.2MHz固定开关频率
  • 集成40V/1.2A功率MOSFET
  • 93%的峰值效率

PIC18F4458作为控制核心,具备:

  • 增强型USB功能模块
  • 10位ADC模块
  • 增强型PWM模块
  • 灵活的I/O配置

这种组合特别适合需要精确电压控制的中小功率应用场景,如:

  • 便携式医疗设备的电源模块
  • 工业传感器的供电系统
  • 实验室测试设备的可编程电源
  • LED驱动电路

2. 硬件电路设计与关键参数计算

2.1 升压转换器基本拓扑

TPS61170采用典型的升压(Boost)拓扑结构,其核心工作原理是通过电感储能实现电压提升。当内部开关管导通时,电感储存能量;开关管关断时,电感释放能量与输入电压叠加,通过二极管向输出电容充电。

输出电压由反馈电阻网络决定: Vout = Vref × (1 + R1/R2) 其中Vref为1.229V(TPS61170内部参考电压)

2.2 关键元件选型与计算

电感选择:电感值计算公式: L = (Vin × D) / (ΔIL × fsw) 其中:

  • Vin = 5V(典型输入)
  • D = 1 - (Vin/Vout) = 0.79(假设Vout=24V)
  • ΔIL = 20% of Iout(max) × (Vout/Vin) ≈ 0.3A
  • fsw = 1.2MHz

计算得L ≈ 4.7μH,选择饱和电流大于1.5A的屏蔽电感,如TDK VLS252010ET-4R7M。

输出电容:考虑纹波电压要求(通常<1% Vout): Cout ≥ Iout × D / (fsw × ΔVout) 对于150mA输出,ΔVout=240mV: Cout ≥ 0.15 × 0.79 / (1.2e6 × 0.24) ≈ 0.41μF 实际选用10μF/50V X7R陶瓷电容以降低ESR。

二极管选择:需满足:

  • 反向电压 > Vout
  • 正向电流 > Iout(max)
  • 快速恢复特性 推荐使用40V/1A肖特基二极管如B140-13-F。

2.3 PCB布局要点

  1. 功率回路最小化:SW引脚、电感、二极管和输出电容形成的回路面积应尽可能小
  2. 地平面分割:模拟地(反馈网络)与功率地单点连接
  3. 热管理:TPS61170的散热焊盘需充分与铜箔连接
  4. 噪声敏感走线:FB引脚走线远离开关节点

3. 微控制器接口与编程实现

3.1 PIC18F4458硬件接口配置

PIC18F4458通过以下方式与TPS61170交互:

  • ADC通道监测输入/输出电压
  • PWM输出控制CTRL引脚实现动态调压
  • GPIO控制ENABLE引脚

典型连接方式:

TPS61170 CTRL —— PIC18F4458 PWM输出(CCP1) TPS61170 EN —— PIC18F4458 RA0 输出电压分压 —— PIC18F4458 AN0 输入电压分压 —— PIC18F4458 AN1

3.2 电压控制算法实现

PIC18F4458通过PID算法实现精确电压调节:

// PID参数 float Kp = 0.5, Ki = 0.1, Kd = 0.05; float error, lastError, integral, derivative; while(1) { float actualVoltage = readADC(AN0) * scalingFactor; error = setpoint - actualVoltage; integral += error; if(integral > MAX_INTEGRAL) integral = MAX_INTEGRAL; if(integral < -MAX_INTEGRAL) integral = -MAX_INTEGRAL; derivative = error - lastError; lastError = error; float pwmDuty = Kp*error + Ki*integral + Kd*derivative; setPWM1Duty(constrain(pwmDuty, 0, 0.9)); // 限制最大占空比 __delay_ms(10); }

3.3 保护功能实现

  1. 过压保护:
if(readOutputVoltage() > maxVoltage) { disableConverter(); triggerAlarm(); }
  1. 过流检测: 通过监测输入电流突变实现简易保护
float current = readInputCurrent(); if(current > threshold && currentRisingFast()) { reducePwmDuty(10); // 逐步降低输出 }

4. 系统调试与性能优化

4.1 启动问题排查

常见启动故障及解决方法:

  1. 无输出:
  • 检查EN引脚电平
  • 测量SW引脚波形(应有1.2MHz方波)
  • 确认反馈电阻网络连接正确
  1. 输出电压不稳定:
  • 检查FB引脚旁路电容(通常10nF)
  • 确认电感未饱和
  • 检查输入电源阻抗

4.2 效率优化技巧

  1. 轻载效率提升:
  • 利用TPS61170的跳周期模式
  • 动态调整开关频率(通过CTRL引脚PWM)
  1. 降低开关损耗:
  • 选择低Qg的肖特基二极管
  • 优化PCB布局减小寄生电容
  1. 实测数据(输入5V时): | 输出电压 | 负载电流 | 效率 | |---------|----------|------| | 12V | 300mA | 91% | | 24V | 150mA | 87% | | 36V | 80mA | 82% |

4.3 电磁干扰(EMI)抑制

  1. 输入滤波:
  • 添加π型滤波器(10μF+1Ω+10μF)
  • 共模扼流圈选择100μH
  1. 辐射抑制:
  • 开关节点覆铜面积最小化
  • 必要时添加RC缓冲电路(100Ω+100pF)
  1. 实测传导发射:
  • 150kHz-1MHz频段 < 50dBμV
  • 1MHz-30MHz频段 < 40dBμV

5. 进阶应用与功能扩展

5.1 多路输出实现

利用TPS61170构建±15V双电源:

  1. 主输出配置为+15V
  2. 添加电荷泵电路生成-15V
  3. 关键元件:
  • 耦合电感(1:1匝比)
  • 倍压电容:100nF/50V
  • 稳压二极管:BZX84C15

5.2 数字通信接口

通过PIC18F4458的USB模块实现PC控制:

  1. 实现CDC虚拟串口协议
  2. 上位机指令集示例:
SETV 24.5 # 设置输出电压24.5V GETI # 读取输入电流 ENABLE 1 # 使能输出

5.3 温度监测与保护

添加NTC热敏电阻实现:

  1. 电路连接:
  • NTC与10kΩ电阻分压
  • 连接至PIC的ADC输入
  1. 温度计算:
float readTemperature() { float adc = readADC(AN2); float Rntc = 10000.0 * (1023.0/adc - 1); float tempK = 1.0 / (1.0/298.15 + 1.0/3950.0 * log(Rntc/10000.0)); return tempK - 273.15; }

在实际调试中发现,当环境温度超过60℃时,TPS61170的效率会下降约5-8%。建议在密闭环境中添加小型散热片,或通过软件在高温时适当降低最大输出电流。