DC-DC升压转换器设计与PIC微控制器控制实现
1. 高电压DC-DC升压转换系统架构设计
在电力电子领域,DC-DC升压转换器是实现电压变换的关键器件。我们设计的系统采用TPS61170作为核心升压芯片,配合PIC18LF4620微控制器构建智能控制平台。这种组合特别适合需要精确电压调节和高转换效率的应用场景,如工业自动化设备、医疗仪器和便携式测试设备。
TPS61170是一款单片式高压开关稳压器,集成了1.2A、40V的功率MOSFET。它的输入电压范围宽达3-18V,输出电压最高可达38V,开关频率固定为1.2MHz。这些特性使其成为中小功率升压应用的理想选择。芯片采用6引脚2x2mm QFN封装,极大地节省了PCB空间。
PIC18LF4620是Microchip公司生产的一款8位微控制器,具有64KB闪存和3968字节RAM,支持多种通信接口(USART、SPI、I2C)。其内置的10位ADC和PWM模块特别适合电源控制应用。在系统中,PIC主要负责以下功能:
- 通过ADC监测输入/输出电压和电流
- 根据负载需求动态调整PWM输出
- 实现保护逻辑和故障处理
- 提供用户界面和通信接口
系统工作原理如下:当输入电压(如5V或12V)接入后,TPS61170通过内部开关管和外部电感、二极管构成boost拓扑,将电压升至设定值(如24V或36V)。PIC微控制器通过分压电阻网络检测输出电压,并与内部基准比较,通过调整PWM占空比来稳定输出电压。整个系统采用电压模式控制,具有响应快、稳定性好的特点。
2. TPS61170外围电路设计与参数计算
2.1 关键元器件选型与计算
电感选择是升压转换器设计的核心环节。对于TPS61170,推荐使用饱和电流至少1.5A的电感,电感值可通过以下公式计算:
L = (V_in × (V_out - V_in)) / (ΔI_L × f_sw × V_out)
其中:
- V_in = 5V(最小输入电压)
- V_out = 24V(目标输出电压)
- ΔI_L = 0.3 × I_out × (V_out/V_in) = 0.3 × 0.15 × (24/5) ≈ 0.216A(纹波电流)
- f_sw = 1.2MHz(开关频率)
代入得L ≈ 4.7μH。实际选用6.8μH/2A的屏蔽功率电感,型号为Murata LQH3N6R8M24,其DCR仅为45mΩ,可有效降低铜损。
输出电容选择需考虑纹波电压和负载瞬态响应。使用低ESR的陶瓷电容可满足要求:
C_out ≥ I_out × D / (f_sw × ΔV_out)
其中:
- D = 1 - (V_in/V_out) = 1 - (5/24) ≈ 0.79(占空比)
- ΔV_out = 50mV(允许纹波)
计算得C_out ≥ 19.7μF,选用两个22μF/50V X7R陶瓷电容并联(如GRM32ER71H226KE15),总ESR<5mΩ。
2.2 反馈网络设计
TPS61170的FB引脚基准电压为1.229V。输出电压通过电阻分压网络设定:
V_out = V_ref × (1 + R1/R2)
取R2=10kΩ,对于24V输出: R1 = 10k × (24/1.229 - 1) ≈ 184kΩ
选用1%精度的182kΩ电阻,实际输出电压为24.07V。为增强稳定性,在FB引脚对地接100pF陶瓷电容,形成极点补偿。
2.3 功率器件布局要点
高频开关电路布局直接影响性能和EMI:
- 采用星型接地,将输入电容、输出电容和芯片GND直接连接到功率地平面
- SW引脚到电感和二极管的走线尽可能短而宽(>50mil)
- 反馈电阻靠近FB引脚放置,走线远离噪声源
- 在VIN和SW引脚附近放置0.1μF去耦电容
- 使用完整的接地平面减少环路面积
肖特基二极管选用MBRS340T3(3A/40V),其低VF(0.5V@3A)可提高效率。实测显示,在5V输入、24V/150mA输出时,系统效率可达89%。
3. PIC18LF4620控制程序设计
3.1 电压调节算法实现
PIC18LF4620通过内置ADC0通道监测输出电压。采用均值滤波提高测量精度:
#define ADC_CHANNEL 0 uint16_t read_ADC() { uint16_t sum = 0; for(uint8_t i=0; i<16; i++) { ADCON0 = (ADC_CHANNEL << 2) | 0x01; while(ADCON0bits.GO); // 等待转换完成 sum += ADRES; } return sum >> 4; // 16次平均 }PID控制算法调节PWM输出:
typedef struct { float Kp, Ki, Kd; float integral, prev_error; } PID_Controller; void PID_Init(PID_Controller *pid, float Kp, float Ki, float Kd) { pid->Kp = Kp; pid->Ki = Ki; pid->Kd = Kd; pid->integral = 0; pid->prev_error = 0; } 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; }3.2 保护功能实现
系统集成多重保护机制:
- 过压保护(OVP):当输出电压超过设定值10%时切断驱动
- 过流保护(OCP):通过采样电阻检测开关电流
- 热关断:监测芯片温度
void check_protections() { // 读取温度传感器 float temp = read_temperature(); if(temp > 85.0) { // 超过85℃关断 shutdown_system(); set_fault_flag(THERMAL_SHUTDOWN); } uint16_t v_out = read_ADC(); if(v_out > VOUT_MAX_THRESHOLD) { disable_pwm(); set_fault_flag(OVERVOLTAGE); } }3.3 PWM信号生成配置
PIC18LF4620的CCP模块产生PWM控制TPS61170的CTRL引脚:
void PWM_Init() { PR2 = 0x4F; // PWM周期=1.2MHz/(4*(PR2+1)) ≈ 24kHz CCP1CON = 0x0C; // PWM模式 CCPR1L = 0x20; // 初始占空比50% T2CON = 0x04; // 预分频1:1,启动定时器2 TRISCbits.TRISC2 = 0; // CCP1输出 }通过调整CCPR1L寄存器值改变占空比,实现输出电压的动态调节。实测表明,系统负载调整率<1%,线性调整率<0.5%。
4. 系统测试与性能优化
4.1 效率测试与损耗分析
在不同输入电压和负载条件下测试系统效率:
| 输入电压(V) | 负载电流(mA) | 输出电压(V) | 效率(%) |
|---|---|---|---|
| 5.0 | 50 | 24.1 | 85.2 |
| 5.0 | 150 | 24.0 | 89.1 |
| 12.0 | 100 | 24.0 | 92.3 |
| 12.0 | 300 | 23.9 | 90.7 |
主要损耗来源:
- 电感DCR损耗:P_L = I_RMS² × R_DCR ≈ 45mW@150mA
- 二极管导通损耗:P_D = V_F × I_OUT ≈ 75mW@150mA
- 开关损耗:P_SW = 0.5 × V_IN × I_OUT × (t_r + t_f) × f_SW ≈ 60mW
优化措施:
- 更换更低DCR的电感(如LPS3015-682,DCR=28mΩ)
- 使用同步整流方案替代肖特基二极管
- 优化栅极驱动电阻减少开关时间
4.2 瞬态响应测试
使用电子负载进行0-150mA阶跃测试,结果如下:
- 恢复时间:<200μs
- 过冲电压:<300mV
- 下冲电压:<400mV
改善方法:
- 增加输出电容至47μF
- 调整PID参数(Kp=0.5, Ki=0.1, Kd=0.05)
- 在反馈网络中加入前馈电容(10nF)
4.3 EMI对策与滤波设计
传导发射测试显示在1.2MHz开关频率处有峰值超标。采取以下改进:
- 在输入端口增加π型滤波器(10μH+2×47μF)
- 在SW节点串联2.2Ω电阻并并联100pF电容
- 使用铁氧体磁珠(600Ω@100MHz)过滤输出噪声
- 优化地平面布局,减少高频环路面积
改进后测试结果满足EN55022 Class B标准,余量>6dB。