1. 项目背景与核心器件选型
在嵌入式系统开发中,电源管理模块的设计往往决定了整个系统的稳定性和可靠性。当我们需要将低电压电源(如3.7V锂电池)转换为更高电压(如12V或24V)为传感器、显示屏或其他外围设备供电时,DC-DC升压转换器就成为不可或缺的关键组件。
TPS61170是德州仪器(TI)推出的一款高性能升压转换器芯片,具有以下突出特性:
- 宽输入电压范围:3V至18V
- 高输出电压能力:最高可达38V
- 集成1.2A开关MOSFET
- 固定1.2MHz开关频率
- 高达93%的转换效率
- 6引脚2x2mm QFN超小封装
STM32L031C6则是STMicroelectronics的低功耗ARM Cortex-M0+微控制器,具有:
- 32MHz主频
- 8KB RAM/32KB Flash
- 超低功耗特性(运行模式仅36μA/MHz)
- 丰富的外设接口(I2C, SPI, USART等)
这对组合特别适合需要高电压输出且对功耗敏感的应用场景,如便携式医疗设备、工业传感器节点等。
2. 电路设计与关键参数计算
2.1 基本升压拓扑结构
TPS61170的标准升压电路配置如下图所示(图示略,文字描述):
- 输入电容Cin:用于滤除输入端的开关噪声,通常选用10μF低ESR陶瓷电容
- 功率电感L1:存储和传递能量的核心元件,典型值4.7μH至10μH
- 输出二极管D1:选用肖特基二极管如B340A,正向压降约0.5V
- 输出电容Cout:稳定输出电压,通常22μF以上低ESR电容
2.2 输出电压设定
输出电压由FB引脚的分压电阻决定:
Vout = Vfb × (1 + R1/R2)其中Vfb=1.229V。例如要得到12V输出:
R1/R2 = (12/1.229) - 1 ≈ 8.76可取R2=10kΩ,则R1≈87.6kΩ(选用标准值86.6kΩ)
2.3 电感选型计算
电感值选择需考虑以下因素:
- 峰值电流:Ipeak = Iout × (Vout + Vd)/(Vin × η) + ΔIL/2
- 纹波电流:ΔIL = (Vin × D)/(L × fsw)
以Vin=5V, Vout=12V, Iout=300mA为例:
D = 1 - (Vin × η)/Vout ≈ 0.58 Lmin = (Vin × D)/(ΔIL × fsw) ≈ 4.8μH (取ΔIL=30%Ipeak)建议选用6.8μH/1.5A的功率电感,如Murata LQH3NPN6R8M03L
3. STM32控制接口实现
3.1 硬件连接方案
STM32L031C6与TPS61170的典型连接方式:
- GPIO控制EN引脚:用于使能/禁用转换器
- PWM输出连接CTRL引脚:实现动态电压调节
- ADC监测输入/输出电压:用于闭环控制
3.2 软件控制逻辑
通过STM32实现智能电源管理的示例代码:
// 初始化PWM用于电压调节 void PWM_Init(void) { TIM2->CCMR1 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2; // PWM模式1 TIM2->CCER |= TIM_CCER_CC1E; // 使能CH1 TIM2->PSC = 31; // 1MHz时钟 TIM2->ARR = 99; // 10kHz PWM TIM2->CCR1 = 50; // 初始50%占空比 TIM2->CR1 |= TIM_CR1_CEN; // 启动定时器 } // 动态调整输出电压 void Adjust_Voltage(float target_V) { uint16_t duty = (uint16_t)((target_V - 10.0)/20.0 * 100); if(duty > 90) duty = 90; TIM2->CCR1 = duty; }4. 实际应用中的关键注意事项
4.1 PCB布局要点
- 功率回路最小化:SW引脚、电感、二极管和输出电容的走线应尽可能短而宽
- 地平面处理:采用星型接地,模拟地和功率地单点连接
- 热管理:QFN封装的散热焊盘必须良好焊接并连接到地平面
4.2 常见问题排查
输出电压不稳:
- 检查FB分压电阻精度(建议1%精度)
- 确认电感未饱和(测量电感电流波形)
转换效率低:
- 检查二极管正向压降(应使用肖特基二极管)
- 测量开关节点波形(上升/下降时间应<10ns)
芯片过热:
- 确认负载电流未超过额定值
- 检查开关频率是否稳定(可能发生次谐波振荡)
5. 进阶应用:多电压输出系统
利用STM32L031C6的灵活控制能力,可以实现更复杂的电源管理方案:
5.1 时序控制
void Power_Sequence(void) { // 第一阶段:启动3.3V核心电源 HAL_GPIO_WritePin(EN_3V3_GPIO, EN_3V3_PIN, GPIO_PIN_SET); HAL_Delay(10); // 第二阶段:启动12V外围电源 PWM_Init(); Adjust_Voltage(12.0); // 第三阶段:启动24V电机驱动 HAL_Delay(100); HAL_GPIO_WritePin(EN_24V_GPIO, EN_24V_PIN, GPIO_PIN_SET); }5.2 动态电压调节
根据负载情况实时调整电压的示例:
void Dynamic_Scaling(void) { float current = Read_ADC(ADC_CHANNEL_1); if(current > 500.0) { // 500mA阈值 Adjust_Voltage(10.0); // 降电压减少功耗 } else { Adjust_Voltage(12.0); // 恢复正常电压 } }6. 性能测试与优化
6.1 基础测试项目
效率测试:
- 测量不同负载下的输入/输出功率
- 典型效率曲线应呈现"倒抛物线"形状
负载瞬态响应:
- 使用电子负载进行50%-100%阶跃变化
- 输出电压波动应<5%,恢复时间<100μs
温度测试:
- 满负载运行1小时后测量芯片温度
- 表面温度应<85℃(环境温度25℃)
6.2 优化方向
轻载效率提升:
- 启用芯片的跳周期模式
- 在STM32中实现自动休眠唤醒
EMI抑制:
- 在开关节点添加RC缓冲电路
- 使用屏蔽电感降低辐射
可靠性增强:
- 添加输入过压保护电路
- 实现软件看门狗监控电源状态
通过合理设计,这套基于TPS61170和STM32L031C6的解决方案可以实现高效率、高可靠性的电压转换系统,满足各类嵌入式应用的需求。在实际项目中,建议先制作验证板进行充分测试,再根据具体应用场景优化参数。