1. 项目背景与核心器件选型
在工业控制、医疗设备和汽车电子等领域,经常需要将低压直流电源转换为高压直流电源。传统方案采用分立元件搭建,存在效率低、体积大、稳定性差等问题。本项目采用TI的TPS61170升压转换器与ST的STM32F071VB微控制器组合,实现高效可靠的DC-DC升压方案。
TPS61170是一款集成1.2A开关管的单片升压转换器,具有以下突出特性:
- 输入电压范围3-18V,输出电压最高可达38V
- 固定1.2MHz开关频率,支持小型电感和陶瓷电容
- 集成软启动、过流保护和热关断功能
- 6引脚2x2mm QFN封装,节省PCB空间
STM32F071VB作为控制核心,其优势在于:
- Cortex-M0内核,48MHz主频满足实时控制需求
- 丰富的外设资源,特别是高级定时器可生成精确PWM
- 低至1.65V的工作电压,与TPS61170直接兼容
- 成本效益比高,适合工业级应用
2. 硬件电路设计与关键参数计算
2.1 升压拓扑基础原理
升压转换器(Boost Converter)通过控制开关管通断,使电感储能-释能,实现输出电压高于输入电压。其基本关系为: Vout = Vin / (1 - D) 其中D为开关管导通占空比。实际设计中还需考虑二极管压降、电感直流电阻等损耗因素。
2.2 功率级元件选型计算
以输入12V升压至24V/150mA为例:
电感选择: 临界电感值Lmin = (Vin × D) / (ΔIL × fsw) 取ΔIL=20%Iout(max),fsw=1.2MHz D = 1 - (Vin/Vout) = 0.5 Lmin = (12×0.5)/(0.2×0.15×1.2e6) ≈ 16.7μH 实际选用22μH/1.5A饱和电流的屏蔽电感
输出电容: 纹波电压ΔVout = Iout × D / (Cout × fsw) 目标纹波<100mV,则: Cout > (0.15×0.5)/(0.1×1.2e6) ≈ 6.25μF 选用10μF/50V X7R陶瓷电容
二极管选择: 反向电压需>Vout,电流能力>Iout 选用40V/1A肖特基二极管如B140
2.3 典型应用电路
完整电路包含以下关键部分:
- 输入滤波:10μF陶瓷电容+100nF去耦
- 功率级:TPS61170+电感+二极管+输出电容
- 反馈网络:电阻分压使FB脚电压=1.229V
- PWM控制:STM32定时器输出连接CTRL引脚
3. STM32 PWM配置与闭环控制
3.1 定时器配置步骤
使用STM32CubeMX配置TIM1:
- 时钟源选择内部时钟,预分频器设为0
- 计数模式为向上,自动重装载值ARR=399
- 通道1设为PWM模式1,比较值CCR初始为200
- 死区时间设为最小,输出极性高有效
对应寄存器配置:
TIM1->PSC = 0; TIM1->ARR = 399; TIM1->CCR1 = 200; TIM1->CCMR1 |= TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1; TIM1->CCER |= TIM_CCER_CC1E; TIM1->BDTR |= TIM_BDTR_MOE; TIM1->CR1 |= TIM_CR1_CEN;3.2 电压闭环控制算法
采用增量式PID算法实现稳压:
float PID_Update(PID_TypeDef *pid, float error) { float p_term = pid->Kp * error; pid->integral += pid->Ki * error; pid->integral = constrain(pid->integral, -100, 100); float d_term = pid->Kd * (error - pid->last_error); pid->last_error = error; return p_term + pid->integral + d_term; } void Adjust_PWM(uint16_t new_duty) { new_duty = constrain(new_duty, 50, 350); // 限制占空比范围 TIM1->CCR1 = new_duty; }4. 实测性能优化与问题排查
4.1 效率提升技巧
实测中发现以下优化点:
- 电感DCR影响:选用DCR<0.1Ω的电感可提升2-3%效率
- 布局优化:开关回路面积控制在<50mm²,降低辐射损耗
- 二极管选择:肖特基比快恢复二极管效率高约5%
4.2 常见问题解决方案
启动失败:
- 检查EN引脚电平>1.5V
- 确认输入电压>3V且未过压
- 测量SW引脚应有1.2MHz方波
输出电压不稳:
- 反馈电阻分压比误差应<1%
- CTRL引脚需加100nF滤波电容
- 检查电感是否饱和
过热保护触发:
- 测量实际负载电流是否超限
- 检查PCB散热设计,必要时增加铜箔面积
5. 进阶应用与扩展
5.1 多路输出实现
通过TPS61170+变压器可扩展出隔离输出:
- 采用反激拓扑,增加1:1隔离变压器
- 次级整流后得到与初级相同的电压
- 注意增加RCD吸收电路保护开关管
5.2 数字调压接口
利用STM32的USART实现调压指令接收:
void USART1_IRQHandler(void) { if(USART1->ISR & USART_ISR_RXNE) { uint8_t cmd = USART1->RDR; if(cmd == 'U') target_voltage += 1.0; else if(cmd == 'D') target_voltage -= 1.0; } }实际测试数据显示:
- 输入12V时,输出可在15-30V连续调节
- 满载效率最高达91%,轻载时启用跳周期模式
- 负载瞬态响应时间<200μs(负载变化10%-90%)
这个方案特别适合需要灵活电压调整的场合,如实验室电源、LED驱动等。通过STM32的ADC监测输入输出电压电流,还可实现完整的电源管理功能。