基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)

前段时间做了一个数字降压电源,今天整理了一下分享出来。

使用的单片机是辉芒微电子的FT32F030K6AT7,封装为LQFP32,使用库函数开发。

下图源自MCU的数据手册。

基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第1张图片基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第2张图片

接下来先放两张实物图。因为是第一个样品,并且做得有点草率,所以比较丑陋,这里的钮子开关斜着焊主要是为了方便修改旁边的电阻参数,凑合看一下。

基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第3张图片基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第4张图片

然后介绍一下功能。

1、恒压模式

纽子开关往左拨进入恒压模式,最左侧的电位器用于设置输出电压,OLED第一行(VoSet)显示设定值。最后一行(ModeFlags)显示Voltage指示为恒压模式。

2、恒流模式

纽子开关往右拨进入恒流模式,左侧第二个的电位器用于设置输出电流,OLED第二行(IoSet)显示设定值。最后一行(ModeFlags)显示Current指示为恒流模式。

开关置于中间时电源无输出。

基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第5张图片

3、短路保护

当输出短路时,电源会关闭输出,同时OLED第四行会显示SHORT_CIRCUIT,这时系统不再运行,程序进入死循环,需要重新上电。可以看到短路瞬时电流达到了12A。

基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第6张图片

4、限流

最右侧的电位器用于设定最大电流,由OLED第三行(IoMax)显示。最大电流的上限只要硬件支持,程序可以随意修改,这里范围我设为了0-10A。

无论恒流还是恒压模式,只要电流达到限流设定值就不再会继续增加。

下面是电路原理图,最后说一下该电源的硬件部分以及简单的测试情况。基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第7张图片

  • 输入电压范围,7-36V;

这里下限7V是取决于栅极驱动IC的最低工作电压,而上限取决于LM317(MOS管耐压只要高于输入电压就可以),LM317的极限输入电压为40V,这里留有一定裕量,所以整个电源的最大输入电压定为36V。

由于LM317是线性稳压器,所以发热量会随输入电压上升而增加。这个版本由于当时画板没太注意LM317的散热,只在顶层敷了小面积的铜,散热不好,当输入电压超过30V的时候,温度就达到100°了。应该再打几个散热孔帮助散热的,这样也有利于在底部加散热片。

或者把·LM317换成DC-DC控制IC,这是热处理较好的办法,不过也会增加元件和成本。

  • 效率,92%左右。

因为是同步整流,所以效率还可以,输入106W时输出大概有97W。输出12V/8A的情况下MOS管会达到80多度(未加散热片),有需要可以加上散热片,加上的话还可以再增大功率,不过要注意元件的额定电流参数。MOS管我用的是手上现有的088N06。

基于辉芒微32位MCU(FT32_库函数开发)的数控降压电源(开源)_第8张图片

  • 电流采样误差,0.2A以内

采样电阻为12毫欧,低端采样,运放接为同相放大器。这里要注意的是,硬件上把放大倍数设为了20倍,但实际测量放大倍数约为22.5倍,所以程序在计算电流的时候把放大倍数设为22.5。校正后再测量,OLED显示的电流和用万用表测量电阻两端电压计算出来的电流误差在0.2A左右。

追求精度的话可以选用更高位的AD转换IC来做电流采样。

  • 电压采样误差,0.1V以内

OLED显示出来的电压和万用表测量出来的电压相差保持在0.1V以内。

  • 电感

电感用的是手头上现有的,33μH,开关频率设为了60KHz。电感量可以根据自己的应用情况计算一下,比较简单。

结语:程序源码、原理图以及Gerber文件会上传,有需要的盆友可以下载,欢迎交流、讨论。以后会持续更新开源项目。

你可能感兴趣的:(单片机,嵌入式硬件)