1. DC-DC调压基础与常见拓扑
DC-DC电源转换是电子设计中不可或缺的一环,它能将直流电压转换为另一个电压等级。在实际项目中,我们经常需要对输出电压进行动态调节。Buck(降压)电路作为最常用的DC-DC拓扑之一,其调压方式值得深入探讨。
Buck电路的核心原理是通过开关管(通常是MOSFET)的快速通断,配合电感和电容实现能量传递和滤波。输出电压Vout与输入电压Vin的关系为:Vout = D × Vin,其中D为占空比。这个简单的公式背后,隐藏着多种调压实现方式。
2. PWM占空比直接控制法
2.1 基本原理与实现
PWM(脉宽调制)是最直观的Buck电路调压方式。通过改变PWM信号的占空比,可以直接控制输出电压。例如使用STC8H单片机生成PWM时,配置定时器为PWM模式后,只需修改CCR寄存器值即可调整占空比。
// STC8H PWM配置示例 PWMx_CCER = 0x03; // 使能CC1通道 PWMx_CCMR1 = 0x60; // PWM模式1 PWMx_ARR = 999; // 设定周期(假设时钟1MHz,则PWM频率=1kHz) PWMx_CCR1 = 300; // 初始占空比30%2.2 关键参数设计
设计PWM控制Buck电路时需注意:
- 开关频率选择:通常50kHz-1MHz,高频可减小电感体积但增加开关损耗
- 死区时间设置:防止上下管直通,一般50ns-200ns
- 栅极驱动能力:确保MOSFET能快速开关
提示:实际调试时建议用示波器同时观察PWM信号和输出电压波形,确保无震荡和异常毛刺。
3. FB反馈引脚电阻网络调压法
3.1 传统电阻分压方案
大多数DC-DC芯片都有FB(反馈)引脚,通过电阻分压网络设定输出电压。典型连接方式如下:
Vout ──┬── R1 ─── FB │ R2 │ GND输出电压公式:Vout = Vref × (1 + R1/R2),其中Vref通常是0.6V或0.8V。
3.2 动态调压技巧
如网络资料所示,可通过以下方法实现动态调压:
- DAC控制:用MCU的DAC输出通过电阻连接到FB引脚
- PWM滤波:将PWM通过RC滤波后接入FB 3.电阻切换:用MOSFET切换不同电阻组合
// 动态电阻切换示例代码 if(需要高压){ GPIO_SetBits(GPIOB, GPIO_Pin_0); // 开启MOSFET并联R3 } else { GPIO_ResetBits(GPIOB, GPIO_Pin_0); // 关闭MOSFET }4. 数字电位器与I2C控制方案
4.1 数字电位器应用
对于需要精密调压的场合,可采用数字电位器替代机械电位器。如MCP4018等I2C接口数字电位器,可直接替换传统分压电阻中的R2。
接线示例:
MCU I2C ──── 数字电位器 ──── FB引脚 │ GND4.2 软件实现要点
使用数字电位器时需注意:
- I2C上拉电阻取值(通常4.7kΩ)
- 写操作后等待EEPROM写入完成(约5ms)
- 考虑温度系数对精度的影响
5. 多方案对比与选型建议
| 调压方式 | 精度 | 响应速度 | 成本 | 适用场景 |
|---|---|---|---|---|
| PWM直接控制 | 中 | 快 | 低 | 开环系统,简单应用 |
| FB电阻网络 | 高 | 中 | 低 | 固定电压输出 |
| DAC/FB控制 | 很高 | 快 | 中 | 需精密动态调压 |
| 数字电位器 | 高 | 慢 | 中 | 需非易失性存储的设置 |
| 电阻切换 | 低 | 快 | 低 | 离散电压切换 |
在实际项目中,我曾遇到一个需要三种电压快速切换的案例。最终采用PWM滤波+FB控制的混合方案:用STM32的定时器生成PWM,经过二阶RC滤波后(截止频率1kHz)通过10kΩ电阻接入FB引脚。这样既保证了响应速度,又获得了较好的调节精度。
调试中发现,当FB引脚引入外部控制时,需特别注意补偿网络的设计。建议:
- 保留原厂推荐的补偿元件
- 外部控制电阻值不小于分压网络的10倍
- 必要时在控制端串联100Ω电阻抑制振荡
对于Buck电路的输入电容选择,不能简单并联大电容了事。实际测试表明,在电压源与输入电容之间串联一个小电阻(0.1-1Ω)和电感(1-10μH)能有效抑制高频振荡。这个经验来自多次电源模块异常重启的教训。
最后提醒,无论采用哪种调压方式,都要做好PCB布局:
- 功率地与控制地单点连接
- FB走线远离开关节点
- 使用足够宽的电源铜皮
- 关键节点预留测试点
这些细节往往比调压方式本身更能决定项目的成败。