TPS61170与PIC18F45K42的高效DC-DC升压转换系统设计
1. 高电压DC-DC升压转换系统架构设计
当我们需要将低电压电源转换为高电压输出时,TPS61170与PIC18F45K42的组合提供了一个高效可靠的解决方案。这个系统架构的核心在于TPS61170作为功率转换的主芯片,负责实际的电压提升工作,而PIC18F45K42则作为智能控制器,管理整个转换过程并实现各种保护功能。
TPS61170是一款单片式高压开关稳压器,集成了1.2A、40V的功率MOSFET。这款芯片最吸引人的特点是其宽输入电压范围(3V至18V)和高输出电压能力(最高可达38V)。在实际应用中,这意味着它可以从多节电池或常见的5V、12V电源轨获取能量,并将其提升到工业设备、LED驱动或其他高电压应用所需的水平。
PIC18F45K42微控制器在这个系统中扮演着"大脑"的角色。作为Microchip公司PIC18系列的一员,这款MCU具有丰富的外设资源,包括多个PWM模块、ADC通道和通信接口。它的主要职责包括:
- 监测输入输出电压和电流
- 动态调整TPS61170的工作参数
- 实现过压、过流保护
- 提供用户界面和通信接口
提示:在选择电感时,除了考虑电流额定值,还需注意其饱和电流应至少比TPS61170的开关电流限制(1.2A)高30%,以防止在高负载条件下电感饱和导致效率下降或芯片损坏。
2. TPS61170关键电路设计与参数计算
2.1 基本升压转换电路配置
TPS61170的标准升压配置需要几个关键外部元件:电感、输出电容、二极管和反馈电阻网络。图1展示了基本应用电路,其中:
- L1是储能电感,推荐值在4.7μH至10μH之间
- D1是肖特基二极管,需能承受至少40V的反向电压
- C_OUT是输出滤波电容,通常使用10μF以上的低ESR陶瓷电容
- R1和R2组成反馈分压网络,决定输出电压
输出电压由反馈电阻比值决定,计算公式为: V_OUT = V_REF × (1 + R1/R2) 其中V_REF是TPS61170的内部参考电压1.229V。
2.2 电感选择与电流计算
电感是升压转换器中最重要的元件之一,其选择直接影响转换效率和稳定性。对于TPS61170应用,电感值可通过以下公式估算:
L = (V_IN × D) / (ΔI_L × f_SW)
其中:
- V_IN是输入电压
- D是占空比,D = (V_OUT - V_IN) / V_OUT
- ΔI_L是电感电流纹波,通常取最大输入电流的20%-40%
- f_SW是开关频率,TPS61170固定为1.2MHz
例如,当V_IN=5V,V_OUT=12V时: D = (12-5)/12 ≈ 0.583 假设I_IN_MAX=0.5A,取ΔI_L=0.2A 则 L ≈ (5×0.583)/(0.2×1.2×10^6) ≈ 12.1μH
实际应用中可选择10μH的屏蔽电感,如Coilcraft的MSS1048系列。
2.3 热设计与PCB布局要点
由于TPS61170在升压转换过程中会产生热量,良好的热设计和PCB布局至关重要:
电源路径布局:
- 保持SW引脚到电感到二极管的路径尽可能短而宽
- 使用至少2oz铜厚的PCB以降低电阻
- 在SW节点下方避免走敏感信号线
散热处理:
- 充分利用芯片底部的散热焊盘,通过多个过孔连接到地平面
- 在空间允许的情况下增加铜箔面积帮助散热
- 考虑在持续大电流应用中添加散热片
接地策略:
- 采用星型接地,将功率地和信号地分开
- 反馈电阻的接地端应连接到干净的模拟地
注意:TPS61170的封装为2mm×2mm QFN,手工焊接时需要精确的温度控制。建议使用热风枪配合合适的焊膏,温度不超过260℃,时间控制在10秒以内。
3. PIC18F45K42与TPS61170的协同控制
3.1 硬件接口设计
PIC18F45K42与TPS61170的连接相对简单,主要通过以下几个引脚实现控制:
使能控制:
- 将TPS61170的EN引脚连接到PIC的一个GPIO
- 通过拉高或拉低此引脚来启用/禁用转换器
输出电压调节:
- 利用PIC的PWM输出连接到TPS61170的CTRL引脚
- 通过调整PWM占空比来动态改变输出电压
监测接口:
- 使用PIC的ADC通道监测输入输出电压
- 可通过电流检测电阻和放大器监测输入/输出电流
3.2 软件控制算法实现
PIC18F45K42的固件需要实现以下核心功能:
- 初始化序列:
void TPS61170_Init(void) { TRIS_EN = 0; // 配置EN引脚为输出 ANSEL_CTRL = 0; // 配置CTRL引脚为数字 PWM1_Init(); // 初始化PWM模块 ADC_Init(); // 初始化ADC模块 EN = 0; // 初始时禁用转换器 }- 电压调节算法:
void Set_Output_Voltage(float target_voltage) { // 读取当前输出电压 float current_voltage = ADC_Read(OUT_VOLTAGE_CHANNEL) * SCALE_FACTOR; // 简单的PID控制 float error = target_voltage - current_voltage; static float integral = 0; integral += error * DT; float derivative = (error - last_error) / DT; last_error = error; float pwm_duty = KP * error + KI * integral + KD * derivative; // 限制PWM占空比在安全范围内 pwm_duty = constrain(pwm_duty, 0, MAX_DUTY); // 应用新的PWM值 PWM1_Set_Duty(pwm_duty); }- 保护功能实现:
void Protection_Monitor(void) { // 读取输入输出电压和电流 float vin = ADC_Read(IN_VOLTAGE_CHANNEL) * VIN_SCALE; float vout = ADC_Read(OUT_VOLTAGE_CHANNEL) * VOUT_SCALE; float iin = ADC_Read(IN_CURRENT_CHANNEL) * IIN_SCALE; // 过压保护 if(vout > OVER_VOLTAGE_THRESHOLD) { EN = 0; // 立即禁用转换器 Fault_Flag |= OV_FAULT; } // 过流保护 if(iin > OVER_CURRENT_THRESHOLD) { EN = 0; Fault_Flag |= OC_FAULT; } // 输入欠压保护 if(vin < UNDER_VOLTAGE_THRESHOLD) { EN = 0; Fault_Flag |= UV_FAULT; } }3.3 动态响应优化技巧
为了提高系统对负载变化的响应速度,可以采取以下措施:
补偿网络调整:
- TPS61170允许外部补偿网络设计
- 根据实际负载特性调整补偿元件值
- 通常需要在带宽和稳定性之间取得平衡
前馈控制:
- 监测输入电压变化并提前调整控制参数
- 可以减少输入电压突变对输出的影响
自适应控制:
- 根据工作条件自动调整PID参数
- 轻载和重载时可采用不同的控制策略
4. 系统集成与性能测试
4.1 原型制作与调试步骤
完成原理图设计和PCB布局后,系统集成和调试可按以下步骤进行:
初始上电检查:
- 不安装TPS61170,先检查PIC微控制器的供电和基本功能
- 确认所有电源电压正常,无短路现象
基本功能测试:
- 安装TPS61170,使用固定电阻分压器设置输出电压
- 验证升压功能是否正常工作
- 测量关键波形,特别是SW节点的开关波形
闭环控制测试:
- 连接PIC的反馈和控制电路
- 验证软件控制算法是否能正确调节输出电压
- 测试各种保护功能是否正常触发
负载调整率测试:
- 使用电子负载依次测试不同负载条件下的性能
- 记录输入输出电压、电流和效率数据
4.2 关键性能指标测量方法
效率测量: 效率 = (V_OUT × I_OUT) / (V_IN × I_IN) 测量时需使用真有效值万用表或功率分析仪,特别是在输入电流纹波较大时。
纹波测量:
- 使用带宽限制为20MHz的示波器
- 采用接地弹簧直接接触测试点
- 测量输出端的峰峰值电压纹波
瞬态响应测试:
- 使用电子负载施加阶跃负载变化
- 测量输出电压的恢复时间和过冲幅度
- 典型指标:负载瞬变恢复时间<100μs,过冲<5%
4.3 常见问题与解决方案
在实际开发中,可能会遇到以下典型问题:
启动失败:
- 检查EN引脚是否被正确拉高
- 验证输入电压是否在3V-18V范围内
- 检查电感是否饱和或二极管方向是否正确
输出电压不稳定:
- 检查反馈电阻网络连接
- 验证补偿网络元件值是否合适
- 确保PCB布局符合推荐指南
效率低于预期:
- 检查电感DCR是否过大
- 验证二极管正向压降
- 测量SW节点的上升/下降时间是否正常
芯片过热:
- 检查负载电流是否超过额定值
- 验证散热设计是否充分
- 测量环境温度是否在规格范围内
经验分享:在调试过程中,使用热成像仪可以快速定位过热元件。我们发现当电感温度超过85℃时,系统效率通常会明显下降,这时需要考虑更换更高规格的电感或优化布局以改善散热。