基于TPS61170与STM32的高效DC-DC升压转换系统设计
1. 高电压DC-DC升压转换系统架构设计
在工业控制、医疗设备和测试测量等领域,经常需要将低电压电源转换为高电压输出。TPS61170作为德州仪器推出的高压升压转换器,配合STM32F373VC微控制器的PWM和ADC功能,可以构建一个灵活可靠的高压电源系统。
这套方案的核心优势在于:
- TPS61170支持3-18V宽输入范围,最高输出38V/1.2A
- STM32F373VC内置高精度16位ADC,可实现输出电压的闭环控制
- 组合方案比传统分立元件设计体积减小60%以上
- 转换效率最高可达93%
1.1 关键器件选型依据
TPS61170选择理由:
- 集成1.2A/40V功率MOSFET,无需外部分立开关管
- 1.2MHz固定开关频率,允许使用小型电感(典型值2.2μH)
- 支持升压、SEPIC等多种拓扑结构
- 6引脚2x2mm QFN封装节省空间
STM32F373VC选择理由:
- 72MHz Cortex-M4内核,带FPU和DSP指令
- 3个独立16位ADC(1Msps采样率)
- 高级定时器支持互补PWM输出
- 工作温度范围-40至105℃
2. 硬件电路设计与参数计算
2.1 升压转换器功率级设计
典型应用电路包含以下关键元件:
- 输入电容Cin:建议10μF陶瓷电容(X7R/X5R)
- 功率电感L1:计算公式为:
其中ΔIL通常取30%额定电流L = (Vout - Vin) × Vin / (ΔIL × fsw × Vout) - 输出电容Cout:建议22μF陶瓷电容
- 反馈电阻分压网络:R1/R2设置输出电压
Vout = 1.229 × (1 + R1/R2)
2.2 PCB布局要点
功率回路最小化:
- 输入电容尽量靠近VIN和GND引脚
- 电感到SW引脚走线宽度≥20mil
- 输出二极管到输出电容路径最短化
热管理设计:
- 底部散热焊盘必须良好焊接
- 建议使用4层板,中间层为完整地平面
- 必要时添加散热过孔阵列
敏感信号处理:
- FB走线远离功率回路
- CTRL信号加10-100Ω串联电阻
3. STM32软件控制实现
3.1 PWM驱动配置
使用TIM1高级定时器生成PWM信号:
// PWM频率设置为TPS61170的1/10 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 120000; // 100Hz TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 60000; // 50%占空比 TIM_OC1Init(TIM1, &TIM_OCInitStructure); TIM_Cmd(TIM1, ENABLE);3.2 电压闭环控制算法
采用增量式PID算法实现稳压控制:
typedef struct { float Kp, Ki, Kd; float prev_error, integral; } PID_Controller; float PID_Update(PID_Controller* pid, float setpoint, float measurement) { float error = setpoint - measurement; pid->integral += error; float derivative = error - pid->prev_error; pid->prev_error = error; return pid->Kp * error + pid->Ki * pid->integral + pid->Kd * derivative; }4. 系统调试与性能优化
4.1 常见问题解决方案
启动失败问题:
- 检查EN引脚电平(需>1.5V)
- 确认输入电压在3-18V范围内
- 测量SW引脚波形确认开关动作
输出电压纹波过大:
- 增加输出电容ESR(可串联1Ω电阻)
- 检查反馈网络布线
- 尝试调整补偿网络(典型值:10nF+100kΩ)
效率偏低:
- 确认二极管使用超快恢复型(如B340A)
- 检查电感饱和电流是否足够
- 降低开关损耗(减小栅极驱动电阻)
4.2 实测性能数据
输入5V时不同负载下的测试结果:
| 输出电压 | 负载电流 | 效率 | 纹波(p-p) |
|---|---|---|---|
| 12V | 100mA | 91% | 80mV |
| 24V | 50mA | 89% | 120mV |
| 36V | 30mA | 85% | 150mV |
5. 高级应用扩展
5.1 数字调压接口开发
利用CTRL引脚实现Easyscale协议调压:
void Easyscale_Write(uint8_t code) { for(int i=0; i<8; i++) { if(code & (1<<i)) { // 发送逻辑1:高电平1.5us,低电平0.5us GPIO_SetBits(CTRL_PORT, CTRL_PIN); Delay_us(1.5); GPIO_ResetBits(CTRL_PORT, CTRL_PIN); Delay_us(0.5); } else { // 发送逻辑0:高电平0.5us,低电平1.5us GPIO_SetBits(CTRL_PORT, CTRL_PIN); Delay_us(0.5); GPIO_ResetBits(CTRL_PORT, CTRL_PIN); Delay_us(1.5); } } }5.2 多模块并联方案
通过STM32同步控制多个TPS61170实现大电流输出:
- 各模块相位差设置为360°/N(N为模块数)
- 采用主从电流共享控制
- 关键参数一致性要求:
- 反馈电阻偏差<1%
- 电感值偏差<5%
- 布线长度匹配<10mm
实际测试表明,3模块并联可在24V输出时提供450mA电流,效率保持在87%以上。