闲来无事,在网上买了个艾默生HD4850-2电源,看了看网上其他人改成调压调流的,感觉还不错。心想,我也弄一个吧,但是又想搞点另类的,结果就做成这个样子了。先来张整体图
各位看出来了,改动很大,连显示都改了。没错,重新做的显示部分(连面板都自己做了)。说下参数:输出电压4.5-58V,分辨率0.1V输出电流0.5-50A,分辨率0.1A,电压和电流的波动大约为1%。
关于做这个的教程呢,我只能说说自己的思路,因为做这个不可能按照教程照搬照抄的,完全照做一定做不出来,因为你必须懂一些东西。而懂这些东西的人只要看看思路就能成了,不需要多详细。我的思路是这样的:首先,调压的原理,就是和别人的一样,通过改动UC3875 这个IC的第4脚调节电压。
(这张是借的图)实际上我是把这个可调电阻拆掉了换成了PC817光耦(同时也把R511阻值变动了),然后用单片机控制给光耦的电压,然后光耦产生不同的阻值,就是这样子。电流调节方面,我没再改动别处,只是在输出部分进行了电流采样,然后也输入单片机。如果输出的电流高于设定值,那么就降低输出电压,直到达到预设值,反之亦然,这样就把调节电压和调节电流统一归结为调节电压。
采样部分用的是ADS1115模块,电压输出部分用的是MCP4725模块,控制器用的arduinoMINI,它们之间用的是I2C通讯,连接到控制面板用的是串口通讯。在运行时串口接收控制面板发来的电压、电流设定,然后向控制面板发送实时电压电流。
这个就是用的Mega2560单片机,也是用的arduino 编程,屏幕直接用的串口屏。单片机向控制板发送需要设定的电压和电流,接收返回的电压电流数据,同时负责接收按键设定并存储、显示。还需要通过esp8266模块无线接收上位机发来的控制信息。反正它的任务就是接收、显示、存储。各部件之间都是串口通讯,自己定义的数据格式。最后是所谓的上位机,我用labview写的上位机软件,通过WIFI来控制电源运行,以实现简单的可编程效果,下面是图
除了按键能实现的功能以外,多了一个编程输出,能自动单次或者循环按照你预先设定的电压或者电流运行,不过响应速度比较慢,从5v上升到50v的话,需要4-5秒吧,再快了很容易过冲,这个不能和线性电源相比。对于空载情况下不能调到25v以下的问题我是这么解决的:做了一个所谓的智能负载,就是通过测量输出电压来调整负载电阻的大小,电压高的话就把负载电阻调大,反之调小,这样可以避免固定负载,如果阻值大了电压降不下来,阻值小的话如果电压输出较高功耗过大的弊端。当然,这又费了一个单片机...这个里面就是智能负载电阻其实采用这个方法以后,输出电压还能降到更低,考虑没啥用就没弄。