1. 项目背景与核心器件选型
在电力电子设计中,DC-DC升压转换是一个经典课题。当我们需要将较低电压(如3.3V或5V)提升到更高电压(如12V、24V甚至38V)时,升压转换器(Boost Converter)是最常用的解决方案。本次项目选用TI的TPS61170作为核心升压芯片,配合STM32F732IE微控制器实现智能化控制,这是一个典型的"模拟+数字"混合设计案例。
为什么选择TPS61170?
- 宽输入电压范围(3-18V)适配多种电源场景
- 高达38V的输出电压满足大多数高压需求
- 集成1.2A/40V的MOSFET开关管,减少外部器件
- 1.2MHz固定开关频率,可使用小型电感电容
- 93%的高效率转换减少能量损耗
- 2x2mm QFN封装节省PCB空间
STM32F732IE的价值体现作为Cortex-M7内核的高性能MCU,它提供了:
- 216MHz主频满足实时控制需求
- 硬件FPU加速数学运算
- 丰富的外设接口(ADC/DAC/PWM等)
- 单精度浮点运算能力
- 充足的Flash(512KB)和RAM(256KB)
2. 升压转换器基础原理
2.1 Boost拓扑工作原理
升压转换器的核心是电感储能原理。当开关管导通时,电感存储能量;开关管关断时,电感释放能量与输入电压叠加,通过二极管向输出电容充电。输出电压由占空比D决定:
Vout = Vin / (1 - D)
例如,当输入5V,需要输出12V时: 12 = 5 / (1 - D) → D ≈ 58.3%
2.2 TPS61170关键引脚功能
| 引脚 | 名称 | 功能说明 |
|---|---|---|
| 1 | EN | 使能端,高电平有效 |
| 2 | VIN | 电源输入(3-18V) |
| 3 | SW | 开关节点,接电感和二极管 |
| 4 | GND | 地 |
| 5 | FB | 反馈端(基准1.229V) |
| 6 | CTRL | 参考电压调整/PWM输入 |
注意:实际布局时SW节点是高频开关点,需尽量减小走线长度和环路面积。
3. 硬件电路设计详解
3.1 原理图设计要点
典型应用电路包含以下关键部分:
功率级设计:
- 输入电容:10μF陶瓷电容(低ESR) + 100nF去耦电容
- 电感选择:4.7μH~10μH(如Coilcraft MSS1048系列)
- 饱和电流需>1.5A
- DCR尽量小以降低损耗
- 输出二极管:肖特基二极管如SS34(3A/40V)
- 输出电容:22μF陶瓷电容(耐压>1.5倍Vout)
反馈网络计算:输出电压由电阻分压决定: Vout = 1.229V × (1 + R1/R2)
例如需要24V输出: 取R2=10kΩ,则R1≈185kΩ(可用180kΩ+5.1kΩ串联)
3.2 PCB布局黄金法则
- 功率回路最小化:VIN→CIN→L→SW→GND的环路面积要最小
- 地平面处理:模拟地(反馈网络)与功率地单点连接
- 热设计:QFN封装的散热焊盘必须良好接地并增加过孔
- 噪声敏感走线:FB走线远离SW和电感,必要时加guard ring
4. STM32软件控制实现
4.1 基本控制流程
// 初始化代码示例 void Boost_Init(void) { // 使能GPIO时钟 __HAL_RCC_GPIOA_CLK_ENABLE(); // 配置EN引脚 GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_PIN_5; 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); // 初始状态关闭 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); } // 动态调整输出电压 void Set_OutputVoltage(float target_voltage) { // 计算需要的PWM占空比 float duty_cycle = 1.0 - (VIN / target_voltage); // 配置TIM产生对应PWM TIM_OC_InitTypeDef sConfigOC = {0}; sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = (uint32_t)(duty_cycle * 1000); // 假设TIM ARR=1000 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1); }4.2 高级功能实现
输出电压动态调整:通过CTRL引脚输入PWM信号,可实时调整输出电压。PWM占空比与输出电压成反比关系。
故障保护策略:
- 过流保护:监测输入电流,超过阈值立即关闭EN
- 过热保护:使用STM32内部温度传感器或外接NTC
- 软启动:通过逐步增加PWM占空比实现
5. 实测数据与性能优化
5.1 典型性能指标
| 测试条件 | 效率 | 纹波 | 负载调整率 |
|---|---|---|---|
| Vin=5V, Vout=12V@300mA | 91% | 50mV | ±1% |
| Vin=12V, Vout=24V@150mA | 89% | 80mV | ±1.5% |
| Vin=3.3V, Vout=9V@200mA | 85% | 70mV | ±2% |
5.2 常见问题解决方案
问题1:轻载时输出电压不稳
- 对策:在FB引脚并联100pF电容增强稳定性
- 原理:增加相位裕度
问题2:启动时出现过冲
- 对策:增加软启动时间(CTRL引脚接0.1μF电容)
- 原理:减缓参考电压上升速度
问题3:高频噪声干扰MCU
- 对策:在VIN引脚串联10Ω电阻+100nF电容滤波
- 原理:形成低通滤波器
6. 进阶应用扩展
6.1 多拓扑结构实现
TPS61170除了标准Boost拓扑外,还可配置为:
- SEPIC转换器:适合输入电压可能高于或低于输出的场景
- Flyback转换器:需要隔离输出的场合
6.2 与STM32的深度集成
利用STM32F732IE的高级特性:
- 使用ADC实时监测输入/输出电压电流
- 通过DAC精细调节参考电压
- 利用硬件CRC校验配置参数
- 使用FPU加速PID控制算法计算
在实际项目中,这种组合特别适合需要智能功率管理的应用,如:
- 便携式医疗设备电源
- 工业传感器供电系统
- 电池供电的测试仪器
- LED驱动控制系统
通过合理设计,这个方案可以实现从3V到38V的宽范围电压转换,满足大多数中等功率(≤10W)应用场景的需求。