news 2026/7/12 7:05:03

基于TPS61170与PIC32的高效DC-DC升压转换设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于TPS61170与PIC32的高效DC-DC升压转换设计

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

在工业控制和新能源领域,高电压DC-DC升压转换是一个常见但极具挑战性的需求。当我们需要将较低的直流输入电压(如3.3V或5V)转换为更高的输出电压(如12V、24V甚至38V)时,选择合适的升压转换器和控制方案至关重要。

TPS61170是德州仪器(TI)推出的一款高性能升压转换器IC,具有以下突出特性:

  • 输入电压范围:3V至18V
  • 输出电压最高可达38V
  • 集成1.2A/40V功率MOSFET
  • 固定1.2MHz开关频率
  • 效率高达93%
  • 6引脚2x2mm QFN封装

PIC32MX675F512L则是Microchip公司的一款32位微控制器,具备:

  • 80MHz主频的MIPS32 M4K核心
  • 512KB Flash程序存储器
  • 128KB RAM
  • 丰富的外设接口(PWM、ADC、UART等)
  • 宽工作电压范围(2.3V至3.6V)

这两款器件的组合非常适合需要精确控制的高压升压应用场景,如:

  • 工业传感器供电
  • LED驱动电路
  • 便携式医疗设备
  • 电池供电系统

2. 电路设计与关键参数计算

2.1 基本升压拓扑结构

TPS61170的标准升压转换电路包含以下核心元件:

  1. 输入电容(Cin):用于滤除输入端的开关噪声
  2. 功率电感(L1):储能元件,决定电流纹波
  3. 输出二极管(D1):防止反向电流
  4. 输出电容(Cout):平滑输出电压
  5. 反馈电阻网络(R1/R2):设置输出电压

基本工作原理:

  • 当内部MOSFET导通时,电感储能,二极管截止,负载由输出电容供电
  • 当MOSFET关断时,电感释放能量,与输入电压叠加通过二极管向输出供电

2.2 关键参数计算示例

假设我们需要将5V输入升压至24V/150mA输出:

  1. 占空比计算: D = (Vout - Vin) / Vout = (24 - 5)/24 ≈ 0.79 (79%)

  2. 电感选择: 电感电流纹波通常取最大输入电流的20-40% Iin_max = VoutIout/(Vinη) = 240.15/(50.93) ≈ 0.77A 取30%纹波:ΔIL = 0.770.3 ≈ 0.23A L = VinD/(fswΔIL) = 50.79/(1.2e6*0.23) ≈ 14.3μH 选择标准值15μH电感

  3. 输出电容计算: 为满足输出电压纹波<1%: Cout ≥ IoutD/(fswΔVout) = 0.150.79/(1.2e60.24) ≈ 4.1μF 考虑ESR影响,选择10μF/50V陶瓷电容

  4. 反馈电阻: Vfb = 1.229V R2取10kΩ R1 = R2*(Vout/Vfb - 1) = 10k*(24/1.229 - 1) ≈ 185kΩ 选择标准值187kΩ

3. PIC32MX675F512L的接口与控制设计

3.1 硬件接口连接

PIC32与TPS61170的主要连接包括:

  1. PWM输出引脚 → TPS61170的CTRL引脚
  2. ADC输入引脚 → 输出电压分压检测
  3. GPIO引脚 → TPS61170的ENABLE引脚

具体接线方案:

  • PIC32的OC1(PWM输出)连接TPS61170的CTRL
  • 通过电阻分压将24V输出降至3.3V以内,接入PIC32的AN0
  • PIC32的RB0连接TPS61170的EN引脚实现软启动控制

3.2 软件控制策略

PIC32的程序需要实现以下功能:

  1. 电压闭环控制:
#define VOUT_SETPOINT 24.0f // 目标输出电压24V #define KP 0.5f // 比例系数 #define KI 0.1f // 积分系数 float voltage_control(float v_actual) { static float integral = 0; float error = VOUT_SETPOINT - v_actual; integral += error; // 限制积分项防止windup if(integral > 100) integral = 100; if(integral < -100) integral = -100; return KP * error + KI * integral; }
  1. PWM输出配置:
void pwm_init(void) { // 配置OC1为PWM模式 OC1CON = 0; // 先关闭OC1 OC1R = 0; // 初始占空比0 OC1RS = 200; // PWM周期值(1.2MHz/200=6kHz) OC1CON = 0x0006; // PWM模式,无故障保护 // 定时器2配置 T2CON = 0; // 先关闭定时器 TMR2 = 0; // 清零计数器 PR2 = 200; // 周期值 T2CONSET = 0x8000; // 开启定时器2 }
  1. ADC采样配置:
void adc_init(void) { AD1CON1 = 0; // 先关闭ADC AD1CON1bits.SSRC = 7; // 自动转换 AD1CON1bits.FORM = 0; // 整数输出 AD1CON1bits.ASAM = 1; // 自动采样 AD1CON2 = 0; AD1CON2bits.VCFG = 0; // 使用AVDD/AVSS作为参考 AD1CON2bits.CSCNA = 0; // 不扫描输入 AD1CON2bits.SMPI = 0; // 每采样完成产生中断 AD1CON3 = 0; AD1CON3bits.ADCS = 2; // Tad = 3*Tcy = 37.5ns (80MHz) AD1CON3bits.SAMC = 8; // 采样时间=8*Tad AD1CHS = 0; // 选择AN0 AD1PCFG = 0xFFFE; // AN0为模拟输入 AD1CON1bits.ON = 1; // 开启ADC }

4. 实际调试经验与问题解决

4.1 常见问题及解决方案

  1. 输出电压不稳定:

    • 检查反馈电阻网络连接,确保分压准确
    • 增加输出电容或并联多个电容降低ESR
    • 在FB引脚添加100pF-1nF的补偿电容
  2. 电感发热严重:

    • 确认电感饱和电流足够(应大于1.5倍最大输入电流)
    • 检查开关波形,确保没有异常振荡
    • 考虑使用低DCR的电感或更大封装
  3. 轻载效率低:

    • 启用TPS61170的跳周期模式(SKIP引脚接高)
    • 优化PWM控制策略,在轻载时降低开关频率

4.2 PCB布局要点

  1. 功率回路最小化:

    • 输入电容尽量靠近VIN和GND引脚
    • 电感到SW引脚走线要短而宽
    • 输出二极管和输出电容形成紧凑回路
  2. 信号走线隔离:

    • FB反馈走线远离功率走线和SW节点
    • 使用地平面隔离模拟和数字部分
    • CTRL信号可串联22-100Ω电阻抑制振铃
  3. 热管理:

    • 在TPS61170底部使用散热过孔阵列
    • 必要时添加铜箔增加散热面积
    • 避免电感与IC距离过近导致热耦合

5. 性能优化与进阶应用

5.1 效率提升技巧

  1. 二极管选择:

    • 优先选用低压降肖特基二极管(如MBRS340T3)
    • 考虑同步整流方案(需外接MOSFET)
  2. 动态电压调整:

    • 利用PIC32通过CTRL引脚动态调节输出电压
    • 根据负载情况优化电压等级实现节能
  3. 多相并联:

    • 对于更大电流需求,可并联多个TPS61170
    • 使用PIC32实现交错控制降低输入纹波

5.2 扩展应用示例

  1. SEPIC拓扑实现:

    • 添加耦合电感可实现升降压功能
    • 适合输入电压可能高于或低于输出的场景
  2. 负电压生成:

    • 配合电荷泵电路可产生负电压
    • 用于运算放大器供电等场景
  3. 电池供电系统:

    • 利用PIC32实现低功耗模式
    • 在待机时关闭TPS61170降低静态电流

通过PIC32的灵活控制,可以实现更智能的电源管理策略,如:

  • 负载检测自动调整输出电压
  • 故障保护与自恢复
  • 工作状态记录与通信上报

这个组合方案特别适合需要高电压输出且对控制精度有要求的应用场景。实际测试表明,在5V转24V/150mA的条件下,系统效率可达90%以上,输出电压纹波小于2%,完全满足大多数工业应用需求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 7:04:47

GitLab 16.10 跨版本迁移实战:5种方案对比与3个关键避坑点

GitLab 16.10 跨版本迁移实战&#xff1a;5种方案对比与3个关键避坑点 当企业级代码仓库面临服务器更换、云迁移或版本升级时&#xff0c;GitLab数据迁移往往成为DevOps团队最棘手的挑战之一。不同于简单的文件拷贝&#xff0c;GitLab实例包含代码仓库、CI/CD流水线、用户权限等…

作者头像 李华
网站建设 2026/7/12 7:04:38

虚拟内存管理实战:C语言模拟Clock页面置换算法(含访问位与修改位)

虚拟内存管理实战&#xff1a;C语言模拟Clock页面置换算法&#xff08;含访问位与修改位&#xff09;1. 理解Clock页面置换算法的核心机制Clock算法是操作系统中常用的页面置换策略&#xff0c;它巧妙地在LRU算法的高效性和FIFO算法的简单性之间找到了平衡点。这个算法的核心思…

作者头像 李华
网站建设 2026/7/12 7:04:27

智能驾驶无图化:从高精地图到动态神经表征的技术演进

1. 项目概述&#xff1a;当“无图”成为智驾新共识&#xff0c;我们到底在扔掉什么、又在重建什么&#xff1f;“无图 端到端 智驾到底用什么样的图”——这个标题乍看像一句自相矛盾的诘问&#xff0c;实则是当前智能驾驶技术演进中最具张力的真实切口。过去五年&#xff0c;“…

作者头像 李华
网站建设 2026/7/12 7:03:55

学了不忘,忘了能查:超级学习 Skill + LLM Wiki 双引擎学习系统

“Obsidian 是 IDE&#xff0c;LLM 是程序员&#xff0c;Wiki 是代码库。” —— Andrej Karpathy 0.1 为什么需要这篇文章&#xff1f; 传统的笔记工具&#xff08;Notion、OneNote、甚至 Obsidian 本身&#xff09;有一个共同问题&#xff1a;你写了笔记&#xff0c;但很少回…

作者头像 李华
网站建设 2026/7/12 6:58:34

Java安全深度解析:JNDI注入防御与实战加固指南

1. 项目概述&#xff1a;为什么JNDI注入依然是Java安全的“头号通缉犯”干了这么多年Java开发和安全研究&#xff0c;我见过太多因为一个lookup()参数没管好&#xff0c;整个应用被拖下水的案例。JNDI注入&#xff0c;这个从Log4Shell事件后彻底出圈的漏洞类型&#xff0c;到现…

作者头像 李华
网站建设 2026/7/12 6:58:26

Unity Recorder深度指南:从Timeline录制到独立窗口捕捉

1. 项目概述&#xff1a;为什么Unity Recorder是开发者的“刚需”&#xff1f;在Unity项目开发的最后冲刺阶段&#xff0c;或者是在向团队、客户展示成果时&#xff0c;一个清晰、流畅、高保真的演示视频往往比千言万语更有说服力。过去&#xff0c;我们可能依赖OBS、Bandicam等…

作者头像 李华