
1. 项目背景与核心器件选型在工业控制、医疗设备和便携式仪器等领域经常需要将低电压如3.3V或5V转换为更高的工作电压如12V/24V。TPS61170作为TI推出的高压升压转换器配合STM32L151ZD这类低功耗MCU可以构建高效可靠的电源解决方案。TPS61170的关键参数特性输入电压范围3V-18V输出电压最高可达38V集成1.2A/40V功率MOSFET固定1.2MHz开关频率轻载时采用跳周期模式6引脚2x2mm QFN封装STM32L151ZD的优势在于超低功耗特性运行模式仅170μA/MHz丰富的外设接口12位ADC、DAC、比较器等128KB Flash16KB RAM存储配置硬件PWM生成能力2. 硬件电路设计要点2.1 基本升压拓扑设计典型应用电路包含以下核心元件输入电容建议使用10μF低ESR陶瓷电容X5R/X7R功率电感4.7μH~10μH如TDK VLS252010ET-4R7M饱和电流需1.5ADCR尽量小100mΩ输出二极管肖特基二极管如SS34反向耐压40V正向电流1A输出电容22μF陶瓷电容100μF电解电容组合关键提示布局时需将功率回路面积最小化SW引脚到电感的走线应短而宽FB分压电阻尽量靠近芯片放置。2.2 输出电压设置输出电压由FB引脚的分压电阻决定Vout 1.229V × (1 R1/R2)推荐R2取10kΩ则R1计算公式为R1 10kΩ × (Vout/1.229V - 1)例如需要24V输出时R1 10k × (24/1.229 - 1) ≈ 184kΩ2.3 STM32控制接口设计通过STM32的GPIO和PWM实现智能控制EN引脚控制使用GPIO直接驱动高电平(1.5V)使能低电平(0.4V)关闭CTRL引脚应用PWM调光100Hz-1kHz方波Easyscale协议脉冲宽度编码反馈监测通过ADC检测输出电压典型连接方式// STM32引脚配置示例 GPIO_InitTypeDef GPIO_InitStruct {0}; GPIO_InitStruct.Pin GPIO_PIN_4; // 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配置 TIM_OC_InitTypeDef sConfigOC {0}; htim3.Instance TIM3; htim3.Init.Prescaler 79; // 1MHz时钟 htim3.Init.CounterMode TIM_COUNTERMODE_UP; htim3.Init.Period 999; // 1kHz PWM HAL_TIM_PWM_Init(htim3); sConfigOC.OCMode TIM_OCMODE_PWM1; sConfigOC.Pulse 500; // 50%占空比 HAL_TIM_PWM_ConfigChannel(htim3, sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_Start(htim3, TIM_CHANNEL_1);3. 软件控制策略实现3.1 基本工作流程初始化阶段配置GPIO、PWM、ADC软启动控制约1ms延时运行阶段电压闭环控制故障检测与保护待机模式关闭PWM输出进入低功耗状态3.2 电压闭环控制算法采用增量式PID算法实现精密调节typedef struct { float Kp, Ki, Kd; float Err[3]; float Output; } PID_TypeDef; void PID_Update(PID_TypeDef *pid, float target, float actual) { pid-Err[2] pid-Err[1]; pid-Err[1] pid-Err[0]; pid-Err[0] target - actual; float delta pid-Kp*(pid-Err[0]-pid-Err[1]) pid-Ki*pid-Err[0] pid-Kd*(pid-Err[0]-2*pid-Err[1]pid-Err[2]); pid-Output delta; pid-Output (pid-Output 1000) ? 1000 : ((pid-Output 0) ? 0 : pid-Output); __HAL_TIM_SET_COMPARE(htim3, TIM_CHANNEL_1, (uint32_t)pid-Output); }3.3 保护机制实现过压保护OVPif(ADC_value OVP_threshold) { HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_RESET); Error_Handler(); }过流检测通过检测输入电流突变配合硬件保护TPS61170内置1.2A限流温度监控使用STM32内部温度传感器或外接NTC电阻4. 实测性能优化技巧4.1 效率提升方法通过实测数据对比不同配置下的效率表现条件5V→12V300mA5V→24V150mA普通二极管87%84%肖特基二极管91%89%同步整流方案93%91%优化建议选择低VF的肖特基二极管电感DCR控制在50mΩ以内适当增大开关频率需重新补偿4.2 纹波抑制方案实测纹波组成开关噪声高频20-50mV低频波动10mV改进措施增加π型滤波22μH47μF优化布局减少寄生电感采用三端电容接地4.3 典型问题排查启动失败检查EN引脚电平测量SW引脚波形确认电感未饱和输出电压不稳检查FB分压电阻确认补偿网络RC取值测量输入电源质量过热问题计算功率损耗Pd≈(1-η)*Pin检查散热设计5. 进阶应用扩展5.1 多路输出设计利用TPS61170实现正负电压输出SEPIC拓扑生成24V电荷泵产生-24V总输出功率需3W5.2 数字调压接口通过Easyscale协议实现void Send_Easyscale_Pulse(uint16_t width_us) { HAL_GPIO_WritePin(CTRL_GPIO_Port, CTRL_Pin, GPIO_PIN_SET); HAL_Delay(width_us); HAL_GPIO_WritePin(CTRL_GPIO_Port, CTRL_Pin, GPIO_PIN_RESET); HAL_Delay(100); // 间隔时间 } // 设置输出电压比例(0-100%) void Set_Output_Scale(uint8_t percent) { uint16_t pulse_width 10 (percent * 90)/100; // 10-100μs Send_Easyscale_Pulse(pulse_width); }5.3 电池供电优化针对锂电应用的特殊处理低压检测3.3V时降频动态效率优化if(battery_voltage 3.6) { // 降低PWM频率 htim3.Init.Prescaler 159; // 500kHz HAL_TIM_Base_Init(htim3); }在实际项目中这种组合方案已经成功应用于工业HMI的背光驱动便携式医疗设备的传感器供电无人机图传系统的电源模块调试时建议先用EVM评估板验证设计再逐步优化参数。特别注意在高电压输出时做好绝缘防护避免电弧放电损坏器件。