基于TPS61170与PIC18的数字升压电源设计

基于TPS61170与PIC18的数字升压电源设计

1. 项目背景与核心器件选型

在工业控制、医疗设备和实验室仪器等领域,经常需要将低压直流电源转换为高压直流电源。传统方案采用分立元件搭建,存在效率低、体积大、稳定性差等问题。德州仪器(TI)的TPS61170芯片配合Microchip的PIC18LF45K50微控制器,能够构建一套高性能的数字可控升压系统。

TPS61170是一款集成1.2A开关管的升压转换器IC,具有以下突出特性:

  • 输入电压范围:3V-18V
  • 输出电压最高可达38V
  • 固定1.2MHz开关频率
  • 93%峰值效率
  • 6引脚2x2mm QFN封装

PIC18LF45K50作为控制核心的优势在于:

  • 内置12位ADC和PWM模块
  • 宽工作电压范围(1.8V-5.5V)
  • 低至0.1μA的休眠电流
  • 44引脚TQFP封装便于布线

2. 硬件电路设计详解

2.1 功率级设计要点

升压转换器的核心是电感储能-释放机制。当内部MOSFET导通时,电感存储能量;关断时,电感能量通过二极管向输出电容充电。关键参数计算如下:

  1. 占空比计算: D = (Vout - Vin) / Vout 例如输入5V升压至24V时: D = (24-5)/24 ≈ 0.79 (79%)

  2. 电感选择: L = [Vin × D] / [ΔIL × fsw] 假设允许纹波电流ΔIL为0.3A,则: L = [5×0.79]/[0.3×1.2×10⁶] ≈ 11μH 推荐选用Coilcraft的MSS1278-113ML(11μH,3A饱和电流)

  3. 输出电容: Cout ≥ Iout × D / [fsw × ΔVout] 目标纹波ΔVout=50mV,输出150mA时: Cout ≥ 0.15×0.79/[1.2×10⁶×0.05] ≈ 2μF 实际选用10μF/50V陶瓷电容(如GRM32ER71H106KA12L)

2.2 关键外围电路设计

原理图设计需特别注意以下部分:

  1. 反馈网络:

    • 基准电压Vref=1.229V
    • 电阻分压比 R1/R2 = (Vout/Vref) - 1 对于24V输出: R1/R2 = (24/1.229)-1 ≈ 18.5 选用R2=10kΩ,则R1=187kΩ(可用180kΩ+6.8kΩ串联)
  2. 补偿网络:

    • 在FB引脚到地之间接入RC网络
    • 典型值:1nF陶瓷电容串联10kΩ电阻
    • 可改善相位裕度,防止振荡
  3. 输入滤波:

    • 必须靠近Vin引脚放置10μF低ESR陶瓷电容
    • 并联0.1μF高频去耦电容
    • 长输入线时需增加π型滤波器

3. 软件控制策略实现

3.1 PIC18LF45K50的PWM配置

通过微控制器动态调节输出电压的关键步骤:

// PWM初始化设置 void PWM_Init() { PR2 = 0x7F; // PWM周期=128个Tcy CCP1CON = 0x0C; // PWM模式 T2CON = 0x04; // 预分频1:1,启动定时器2 TRISCbits.TRISC2 = 0; // CCP1引脚输出 } // 设置PWM占空比(0-100%) void Set_PWM(uint8_t duty) { CCPR1L = duty >> 2; // 高6位 CCP1CONbits.DC1B = duty & 0x03; // 低2位 }

3.2 电压闭环控制算法

采用增量式PID算法实现稳压控制:

typedef struct { float Kp, Ki, Kd; float last_error, integral; } PID_Controller; float PID_Update(PID_Controller *pid, float error) { float derivative = error - pid->last_error; pid->integral += error; pid->last_error = error; return pid->Kp * error + pid->Ki * pid->integral + pid->Kd * derivative; } void Voltage_Control() { static PID_Controller pid = {0.5, 0.01, 0.05}; float setpoint = 24.0; // 目标电压 float voltage = ADC_Read(0) * 0.0244; // 12bit ADC, 60V量程 float error = setpoint - voltage; float pwm_adjust = PID_Update(&pid, error); uint8_t new_duty = constrain(50 + pwm_adjust, 0, 100); Set_PWM(new_duty); }

4. 实测性能优化技巧

4.1 效率提升方法

通过实测发现以下优化手段可提升3-5%效率:

  1. 二极管选型:

    • 普通肖特基二极管压降约0.5V
    • 改用TI的LM66200理想二极管控制器,压降可降至0.1V
  2. PCB布局要点:

    • 开关回路面积控制在5mm²以内
    • 使用2oz厚铜箔降低传导损耗
    • 电感下方禁止走信号线
  3. 热管理:

    • 在芯片底部铺铜并打多个过孔散热
    • 环境温度超过85℃时降低开关频率至800kHz

4.2 典型问题排查

  1. 启动失败:

    • 现象:输入电压被拉低至3V以下
    • 对策:增加输入电容至22μF,或降低启动负载
  2. 输出电压振荡:

    • 现象:输出有10-100mV周期性波动
    • 对策:调整补偿网络,典型改为1.5nF+15kΩ
  3. EMI超标:

    • 现象:传导辐射在30MHz处超标
    • 对策:在开关节点串联2.2Ω电阻,并添加RC吸收电路(100Ω+100pF)

5. 进阶应用扩展

5.1 多拓扑结构实现

通过改变外围连接,TPS61170还可实现:

  1. SEPIC拓扑:

    • 优点:支持输入电压高于或低于输出电压
    • 需增加耦合电感(如Würth的744873147)
  2. 反激式拓扑:

    • 可实现隔离输出
    • 需配合变压器(如Coilcraft的LPD6235)

5.2 数字接口扩展

利用PIC18LF45K50的USB模块,可增加以下功能:

  1. USB电压设定:

    void USB_Voltage_Control() { if(USB_DataReady()) { float new_voltage = USB_ReadFloat(); if(new_voltage >= 5.0 && new_voltage <= 38.0) { g_target_voltage = new_voltage; } } }
  2. 数据记录功能:

    • 通过USB实时上传输出电压、电流数据
    • 支持CSV格式导出供分析使用

实际测试表明,该方案在5V输入、24V/150mA输出条件下,效率可达91%,输出电压纹波小于30mV,完全满足精密仪器供电需求。通过微控制器实现数字闭环控制后,负载调整率优于0.5%,温度漂移小于100ppm/℃。