DC-DC升压转换器设计与PIC微控制器集成方案
1. 项目背景与核心器件选型
在工业控制、医疗设备和实验室仪器等领域,经常需要将较低的直流电压(如5V或12V)升压至更高电压(如24V或36V)为特定负载供电。传统方案采用分立元件搭建升压电路,但存在效率低、体积大、稳定性差等问题。而采用专用DC-DC升压转换芯片配合微控制器,能实现更高效可靠的解决方案。
本方案选用TI的TPS61170作为核心升压器件,主要基于以下考量:
- 宽输入电压范围(3V-18V):适配多种电源输入场景,包括锂电池组(7.4V/11.1V)、12V适配器等
- 高输出电压能力(最高38V):满足大多数高压负载需求,如工业传感器、真空荧光管驱动等
- 集成1.2A功率MOSFET:简化外围电路设计,降低BOM成本
- 1.2MHz固定开关频率:允许使用小型电感(典型值4.7μH)和陶瓷电容,减小PCB面积
微控制器选用Microchip的PIC18F57Q43,因其具备:
- 硬件PWM模块:支持1MHz以上频率,精准控制TPS61170的CTRL引脚
- 12位ADC:实时监测输入/输出电压,实现闭环调节
- 低至1.8V工作电压:在输入电压跌落时仍能保持运行
2. 电路设计与关键参数计算
2.1 升压拓扑基础原理
升压转换器(Boost Converter)通过控制开关管周期性通断,在电感储能和释放过程中实现电压提升。当开关管导通时,电感电流线性增加;关断时,电感通过二极管向输出电容和负载释放能量,此时输出电压为输入电压与电感感应电压之和。
TPS61170采用峰值电流模式控制,其工作周期由以下因素决定:
- 内部比较器检测电感电流峰值
- 误差放大器比较FB引脚电压与内部基准(1.229V)
- PWM调制器根据上述信号调整占空比
2.2 关键元件选型计算
假设设计需求:输入5V→输出24V@150mA
电感选择: 最小电感值由下式决定:
L_min = (V_in × D) / (ΔI_L × f_sw)其中:
- D = 1 - (V_in/V_out) = 1 - (5/24) ≈ 0.79
- 取电流纹波率r=0.4,则ΔI_L = r × I_out / (1-D) = 0.4×0.15/(1-0.79) ≈ 0.286A
- f_sw = 1.2MHz
计算得:
L_min = (5×0.79)/(0.286×1.2e6) ≈ 11.5μH实际选用15μH/1.5A饱和电流的屏蔽电感(如TDK VLS201510ET-150M)
输出电容计算: 为满足输出电压纹波≤1%(即240mV):
C_out ≥ I_out × D / (f_sw × ΔV_out) = 0.15 × 0.79 / (1.2e6 × 0.24) ≈ 0.41μF考虑负载瞬态响应,选用10μF/50V X7R陶瓷电容(如Murata GRM32ER71H106KA12L)
二极管选型: 需满足:
- 反向耐压 > V_out = 24V
- 平均电流 > I_out = 150mA
- 快恢复特性(trr < 50ns)
选用肖特基二极管B340A(40V/3A,VF≈0.5V)
3. 硬件实现与PCB设计要点
3.1 典型应用电路
TPS61170外围电路包含以下关键部分:
功率回路:
- 输入滤波:10μF X7R陶瓷电容靠近VIN引脚
- 电感连接:SW引脚至电感,走线宽度≥1mm
- 输出整流:肖特基二极管阳极接SW,阴极接输出电容
反馈网络:
- 分压电阻计算:V_out = 1.229×(1+R1/R2) 取R2=10kΩ,则R1=10k×(24/1.229-1)≈185kΩ(选用187kΩ 1%精度电阻)
- FB引脚走线远离噪声源,必要时加100pF滤波电容
控制接口:
- CTRL引脚可接PIC的PWM输出(建议频率100kHz-1MHz)
- 使能引脚EN通过10k电阻上拉到VIN
3.2 PCB布局规范
层叠设计:
- 4层板优选方案:
- 顶层:信号走线+功率元件
- 内层1:完整地平面
- 内层2:电源层(分割为输入/输出区域)
- 底层:控制信号走线
- 4层板优选方案:
热管理措施:
- TPS61170底部散热焊盘必须通过多个过孔连接至地平面
- 功率电感与二极管周围预留通风空间
- 持续满载时建议添加铜箔散热区域
噪声抑制技巧:
- 输入/输出电容尽量靠近芯片引脚
- SW节点面积最小化(<30mm²)
- 敏感模拟地(如FB分压电阻)采用星型单点接地
4. 软件控制策略与优化
4.1 PIC18F57Q43配置流程
// 初始化PWM模块(控制TPS61170输出电压) void PWM_Init(void) { TRISCbits.TRISC5 = 0; // 设置RC5为输出(PWM1) PWM1CON = 0x80; // 使能PWM模块 PWM1CLKCON = 0x01; // 时钟源=Fosc/4 (16MHz/4=4MHz) PWM1PH = 0x00; // 相位=0 PWM1DC = 0x8000; // 初始占空比50%(16位分辨率) PWM1PR = 39; // 周期=40个时钟周期(4MHz/40=100kHz) PWM1LDCON = 0x80; // 使能PWM输出 } // ADC采样函数(监测输入/输出电压) uint16_t ADC_Read(uint8_t ch) { ADCON0bits.CHS = ch; // 选择通道(AN0=输入电压,AN1=输出电压) ADCON0bits.GO = 1; // 启动转换 while(ADCON0bits.GO); // 等待转换完成 return ((ADRESH << 8) | ADRESL); }4.2 动态电压调节算法
通过PWM信号调节TPS61170的CTRL引脚,可实现输出电压的动态调整。CTRL引脚接受两种控制方式:
- Easyscale™数字接口:单线协议,适合精确设定
- PWM模拟调节:占空比与输出电压成反比
实测PWM控制特性(f_PWM=100kHz时):
| PWM占空比 | 输出电压比例 |
|---|---|
| 0% | 100% V_set |
| 25% | 85% V_set |
| 50% | 70% V_set |
| 75% | 55% V_set |
| 100% | 40% V_set |
实现软启动的代码示例:
void Soft_Start(uint16_t target_voltage) { uint16_t current_voltage = ADC_Read(1); while(current_voltage < target_voltage) { PWM1DC += 50; // 逐步增加PWM占空比 __delay_ms(10); current_voltage = ADC_Read(1); // 过压保护 if(current_voltage > target_voltage * 1.1) { PWM1DC = 0; break; } } }5. 实测性能与故障排查
5.1 效率测试数据
在输入5V、输出24V条件下:
| 负载电流 | 效率 | 芯片温度 |
|---|---|---|
| 50mA | 89% | 42°C |
| 100mA | 91% | 51°C |
| 150mA | 90% | 58°C |
| 200mA | 88% | 65°C |
注意:当输入电压低于4V时,效率会快速下降(约降低5-8%),建议保持输入≥4.5V
5.2 常见问题解决方案
问题1:启动时输出电压振荡
- 检查FB分压电阻布局(远离电感)
- 在FB引脚添加100pF-1nF电容
- 确保软启动时间≥1ms(可通过增大SS引脚电容实现)
问题2:重载时输出电压跌落
- 确认输入电源能力足够(5V输入时需≥1A余量)
- 检查电感饱和电流(需>1.5倍最大负载电流)
- 测量输入线压降(建议线径≥22AWG)
问题3:轻载时有音频噪声
- 在输出端添加假负载(如10kΩ电阻)
- 检查电感规格(推荐带胶芯的屏蔽电感)
- 尝试调整PWM频率(通过CTRL引脚)
6. 进阶应用扩展
6.1 多拓扑配置方案
TPS61170除标准升压模式外,还可配置为:
SEPIC拓扑:实现升降压功能,适合输入电压波动大的场景
- 需增加耦合电感(如Würth Elektronik 744873115)
- 典型电路差异:
- 增加隔直电容(1μF/50V)
- 电感改为两个独立绕组
反激式拓扑:实现隔离输出
- 选用带气隙的变压器(如Coilcraft LPD6235-103MLB)
- 需调整反馈网络为光耦隔离方案
6.2 多模块并联同步
对于需要更高输出电流(>1.2A)的应用:
主从模式:
- 主模块CTRL引脚接PWM信号
- 从模块CTRL引脚接主模块的SYNC输出
- 各模块FB引脚通过电阻网络合并
交错并联:
- 设置不同模块PWM相位差(如两模块相差180°)
- 可降低输入电流纹波约30%
6.3 与PIC18F57Q43的深度集成
利用MCU高级外设可实现:
数字闭环控制:
void Voltage_Control(void) { static uint16_t target = 2400; // 24.00V uint16_t actual = ADC_Read(1); int16_t error = target - actual; // PI控制器 static int32_t integral = 0; integral += error; if(integral > 10000) integral = 10000; if(integral < -10000) integral = -10000; int16_t output = error * 5 + integral / 100; PWM1DC = constrain(output, 0, 65535); }故障保护系统:
- 利用PIC的CLC模块实现硬件级保护
- 配置ADC自动触发过压/欠压检测
- 通过NCO模块生成精确的PWM频率
在实际部署中,建议先用TPS61170EVM-280评估板验证设计,再移植到自定义PCB。调试时重点关注SW节点波形(应呈现清晰的方波)和电感电流(连续模式时三角波,断续模式时锯齿波)。对于噪声敏感应用,可在输入/输出端添加π型滤波器(如10μH+2×10μF)。
