1. 项目背景与核心器件选型
在电力电子设计中,DC-DC升压转换是一个经典课题。当我们需要将较低电压(如3.3V或5V)提升到更高电压(如12V、24V甚至38V)时,升压转换器(Boost Converter)是最常用的解决方案。本次项目选用TI的TPS61170作为核心升压芯片,搭配STM32F405RG微控制器实现智能控制,这是一个在工业控制、测试测量等领域非常实用的设计方案。
TPS61170的主要技术参数值得关注:
- 输入电压范围:3V至18V
- 输出电压最高可达38V
- 集成1.2A/40V的功率MOSFET
- 固定1.2MHz开关频率
- 轻载时采用跳周期模式提高效率
- 6引脚2x2mm QFN封装
选择STM32F405RG作为控制器主要基于以下考虑:
- 168MHz Cortex-M4内核,满足实时控制需求
- 丰富的外设接口(PWM、ADC、DAC等)
- 浮点运算单元便于算法实现
- 充足的GPIO用于状态监测和控制
2. 升压转换器工作原理与关键元件计算
2.1 Boost拓扑基本原理
升压转换器的核心原理是利用电感的储能特性。当开关管导通时,电感储存能量;当开关管关断时,电感释放能量,与输入电压叠加后通过二极管向输出电容充电,从而实现输出电压高于输入电压。TPS61170内部集成了功率MOSFET和驱动电路,大大简化了外部设计。
关键公式:
- 占空比D = (Vout - Vin)/Vout
- 电感电流纹波ΔIL = (Vin × D)/(L × fsw)
- 输出电容选择基于允许的电压纹波ΔVout
2.2 关键外围元件选型计算
以输入5V升压至24V/150mA为例:
电感选择:
- 目标纹波电流取30%峰值电流
- 计算得L ≈ (5V × 0.8)/(0.3×1.2A × 1.2MHz) ≈ 9.26μH
- 选用10μH/2A的功率电感(如TDK VLS252010ET-100M)
输出电容:
- 允许纹波100mV
- Cout ≥ Iout × D/(fsw × ΔVout) ≈ 1μF
- 实际选用10μF/50V陶瓷电容(如Murata GRM32ER71H106KA12L)
输入电容:
- 选用低ESR的22μF/16V陶瓷电容(如Taiyo Yuden JMK325BJ226MM-T)
二极管:
- 需承受反向电压≥38V
- 选用40V/1A肖特基二极管(如ON Semiconductor MBRS140T3G)
3. 硬件电路设计与PCB布局要点
3.1 典型应用电路设计
基于TPS61170的完整升压电路包括:
- 输入滤波电路
- 升压主电路(电感、二极管、输出电容)
- 反馈分压网络
- EN使能控制
- CTRL引脚配置
典型连接方式:
Vin --[10μF]--+--[TPS61170.VIN] | [22μF] | GND TPS61170.SW --[10μH]--+--[MBRS140T3G]-- Vout | [10μF] | GND FB引脚分压网络: Vout --[R1]--+--[R2]-- GND | FB引脚3.2 PCB布局关键注意事项
功率回路最小化:
- 输入电容尽量靠近VIN和GND引脚
- SW节点面积尽可能小
- 二极管和输出电容形成紧凑回路
热管理:
- 充分利用PCB铜箔散热
- 必要时添加散热过孔阵列
- 避免电感靠近温度敏感元件
信号完整性:
- FB分压电阻靠近芯片放置
- 避免高频噪声耦合到反馈网络
- 模拟地和功率地单点连接
4. STM32F405RG控制策略实现
4.1 基本控制接口设计
STM32通过以下方式与TPS61170交互:
- GPIO控制EN使能引脚
- PWM输出连接CTRL引脚实现动态调压
- ADC监测输入/输出电压电流
- 故障保护信号处理
典型初始化代码:
// GPIO初始化 GPIO_InitTypeDef GPIO_InitStruct = {0}; __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_0; // EN引脚 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // PWM初始化(TIM1 CH1) TIM_HandleTypeDef htim1; TIM_OC_InitTypeDef sConfigOC = {0}; htim1.Instance = TIM1; htim1.Init.Prescaler = 0; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 255; // 8位分辨率 htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_PWM_Init(&htim1); sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 128; // 50%占空比 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);4.2 高级控制算法实现
输出电压闭环控制:
- ADC采样输出电压
- PID算法调整PWM占空比
- 动态响应优化
输入电流限制:
- 监测输入电流
- 超过阈值时降低输出功率
- 防止输入源过载
故障保护机制:
- 过压保护
- 过流保护
- 过热保护
5. 调试技巧与常见问题解决
5.1 典型调试流程
上电前检查:
- 确认无短路
- 验证元件方向
- 检查焊接质量
分阶段测试:
- 先测试3.3V低压启动
- 逐步提高目标电压
- 监控关键点波形
性能验证:
- 效率测试(不同负载条件下)
- 负载瞬态响应
- 长时间稳定性测试
5.2 常见问题与解决方案
启动失败:
- 检查EN信号电平
- 验证输入电压是否在范围内
- 检查电感是否饱和
输出电压不稳:
- 检查反馈网络电阻值
- 验证FB引脚电压(应为1.229V)
- 检查输出电容ESR
效率偏低:
- 检查二极管正向压降
- 评估电感DCR
- 检查开关节点振铃
过热问题:
- 检查负载电流是否超限
- 优化PCB散热设计
- 考虑强制散热措施
6. 进阶应用与扩展
6.1 多路输出设计
利用TPS61170可以实现:
- 正负电压输出(±15V等)
- 多级升压架构
- 隔离式输出设计
6.2 动态电压调节
通过STM32的PWM控制CTRL引脚:
- 实现输出电压动态调整
- 负载功率管理
- 节能模式切换
6.3 系统集成方案
典型应用场景:
- 便携式设备供电
- 工业传感器电源
- 测试测量仪器
- LED驱动电路
在实际项目中,我发现TPS61170的轻载效率特别值得关注。当输出电流低于50mA时,芯片会自动进入跳周期模式,此时效率可以保持在80%以上。这对于电池供电设备尤为重要。另外,使用低ESR的陶瓷电容能显著改善输出电压纹波,在24V输出时,实测纹波可以控制在50mVpp以内。