上次搞了个音乐频谱,这次对数字电源产生了兴趣,搞个玩玩。 时下开始流行起来数字电源,可以通过上位机指令调整电源的参数。上位机包括PC,手机,PLC等各种支持串行通信的设备。因此我花了1个月的时间,制作了这款简易的数字电源。 本次设计用到的材料: 1. STM32F05,需要利用该芯片的DAC输出口做负反馈信号,同时负责LCD彩屏的显示 2. XL4051 这是一款国产芯龙出的5A输出的Buck降压IC,关键是市场上尚未发现假货,质量可以保证 3. XL2001 定压5V输出的IC,提供控制器显示屏运放所需的一切电源 4. 还是之前做频谱用的那个彩屏,0.96寸,有点小,挤挤更健康。 5. 运放,选用的是TL082,比较常见,基本可以满足要求。想磨机的自己回去改. 本次设计的目标: 1. 实现数控,数控接口是串口,协议采用使用modbus,可通过换用不同的转接板连接232,485,串口蓝牙; 2. 手动单键飞梭可以调节所有参数 3. 电压电流达到XL4015的全范围输出; 4. 带过流保护,带强制散热,风扇启动受温度控制 5. 参数实时显示 6. 想带个电流波形图,在给电流有动态的设备供电时可以便于观察到电流波形 7. 使用标准外壳,方便安装 8. 所有数据断电后保存,上电后恢复上次的状态以便工业现场无人值守时使用。 9. 成本低廉,价格美丽。
画电路图:
画PCB 开始编程: 编程思路: 1. 使用DMA通道实时连续扫描100次ADC数据后产生中断,在中断中计算得到电压/电流/温度/参考电压的值,这样可以大大节省MCU的负担 2. 起一个定时器,刷新LCD显示,特别时底部的电流波形,要连续刷新不能有顿挫感; 3. 在MCU主循环中更新DAC数据,以便得到稳定的电压输出,同时检测过流,发现立断。检测温度,超过窗口后启动风扇 程序并不复杂,但调试加打样花费了我1个多月的时间,算是搞完了。 做出来的效果: 在电流超过设定值时会保护,停止输出。 上位机程序: PC版的正在开发,时间紧张,抽空搞好。搞好后将提供上位机的源码给客户方便改成自己需要的。使用Delphi2009开发,使用了mbaxp控件,不需要自己再搞modbus协议栈。
蓝牙版的使用手机端,尝试使用微信的小程序实现,还没开始,欢迎有志者参与。
本电源需要一个30V/5A以内的开关电源作为主电源,因平时工作是大量的自动化项目,常见24V 2.5A的电源,故各种测试是基于该电源做出的。因平时本人较忙,回复可能不及时,有问题可以看本人签名。
随着时代的进步,大量数码科技的应用,许多问题需要用新思维,新技术,新工具去解决了。工业现场总线的场合,干扰无处不在,高精度的输出对于数控设备已经不是最重要的了,取而代之的是容量,反应速度,转换效率(发热量),跟上时代的变化,用最新的技术,合适的成本解决当前的问题,是我们这一代年轻人要努力做到的。
数控电源上位机代码:https://www.mydigit.cn/forum.php?mod=viewthread&tid=67702
|