降压芯片/方案能够帮助我们将一个高电压的 DC 降低成合适的低电压。市面上也有很多降压模块可供选择,通常上面有一个可调电阻,通过旋转调整电阻实现期望的输出电压:

但是能够实现可编程的降压模块非常罕见。这次基于 MP8869 来制作一个可编程降压模块。
MP8869是一款集成I2C接口的高频同步降压转换器,主要特性如下:
核心参数
- 输入电压:2.85-18V
- 输出电流:12A连续/15A峰值
- 输出电压:0.6- 5.5V
- 封装:QFN-14(3mm×4mm)
首先进行电路图设计:

电路图中需要注意的位置有:
1.L1 的选择,如果你有大电流的需求,那么需要特别注意 L1 的参数是否能够承载你的要求,这里选择的是 14A 的
2.R1 和 R2 决定芯片开始工作后的电压,公式如下:

当前使用 R1=82K,R2=75K, 默认 Vref 是 0.72V, 上电后的输出电压为 0.72*(82+75)/75=1.5072V
3.编程控制 Vref 的输出,从上面的公式可以看到 R1 R2 是固定的, Vref 决定最终的输出
4.RA0_UP 和 RA0_DOWN 决定芯片的 I2C 地址,默认不上件地址为 0x61

5.Vout 是通过SW Pin输出的
6.EN 拉高开始工作,实际使用时可以将这个引脚直接连接到 Vin 这样上电即可工作
PCB 设计如下:

最终成品如下:

下面就可以进行测试了。
编写一个库,提供如下功能:
- 输出当前芯片版本
- 输出当前电流和电压
- 设置输出电压
工作的测试视频,测试中 R1=75K R2=82K ,此外,还测试了 R1=39K,R2=82K 的情况。根据公式可以得知这两种组合提供的电压范围不同。
最后芯片还提供了编程控制 EN 功能,电压斜率控制,过流保护,软停止,最大电流限制,过流指示,温度超限提示等功能,有需要的朋友可以继续研究。
特别注意:这次使用的是 MP8869S 型号,此外还有一款MP8869(不带后缀),最大的却别在于后者的参考电压调节范围为 0.6V 至 1.87V, 这样的话,可以直接覆盖 0.6×3=1.8V 到 1.87×3=5.61V。
电路图和PCB下载(立创EDA):
Arduino 库下载:
特别注意:在测试中发生了芯片烧毁的问题,猜测可能是因为测试时有过一次Vin先断电的情况,这样会导致 Arduino 从 I2C 灌入5V 电流导致的。