閑來無事,在網上買了個艾默生HD4850-2電源,看了看網上其他人改成調壓調流的,感覺還不錯。心想,我也弄一個吧,但是又想搞點另類的,結果就做成這個樣子了。先來張整體圖
各位看出來了,改動很大,連顯示都改了。沒錯,重新做的顯示部分(連面板都自己做了)。說下參數:輸出電壓4.5-58V,分辨率0.1V輸出電流0.5-50A,分辨率0.1A,電壓和電流的波動大約為1%。
關于做這個的教程呢,我只能說說自己的思路,因為做這個不可能按照教程照搬照抄的,完全照做一定做不出來,因為你必須懂一些東西。而懂這些東西的人只要看看思路就能成了,不需要多詳細。我的思路是這樣的:首先,調壓的原理,就是和別人的一樣,通過改動UC3875 這個IC的第4腳調節電壓。
(這張是借的圖)實際上我是把這個可調電阻拆掉了換成了PC817光耦(同時也把R511阻值變動了),然后用單片機控制給光耦的電壓,然后光耦產生不同的阻值,就是這樣子。電流調節方面,我沒再改動別處,只是在輸出部分進行了電流采樣,然后也輸入單片機。如果輸出的電流高于設定值,那么就降低輸出電壓,直到達到預設值,反之亦然,這樣就把調節電壓和調節電流統一歸結為調節電壓。
采樣部分用的是ADS1115模塊,電壓輸出部分用的是MCP4725模塊,控制器用的arduinoMINI,它們之間用的是I2C通訊,連接到控制面板用的是串口通訊。在運行時串口接收控制面板發來的電壓、電流設定,然后向控制面板發送實時電壓電流。
就是這個樣子,按鍵設置各個功能??刂泼姘咫娐罚?a target="_blank">
這個就是用的Mega2560單片機,也是用的arduino 編程,屏幕直接用的串口屏。單片機向控制板發送需要設定的電壓和電流,接收返回的電壓電流數據,同時負責接收按鍵設定并存儲、顯示。還需要通過esp8266模塊無線接收上位機發來的控制信息。反正它的任務就是接收、顯示、存儲。各部件之間都是串口通訊,自己定義的數據格式。最后是所謂的上位機,我用labview寫的上位機軟件,通過WIFI來控制電源運行,以實現簡單的可編程效果,下面是圖
除了按鍵能實現的功能以外,多了一個編程輸出,能自動單次或者循環按照你預先設定的電壓或者電流運行,不過響應速度比較慢,從5v上升到50v的話,需要4-5秒吧,再快了很容易過沖,這個不能和線性電源相比。對于空載情況下不能調到25v以下的問題我是這么解決的:做了一個所謂的智能負載,就是通過測量輸出電壓來調整負載電阻的大小,電壓高的話就把負載電阻調大,反之調小,這樣可以避免固定負載,如果阻值大了電壓降不下來,阻值小的話如果電壓輸出較高功耗過大的弊端。當然,這又費了一個單片機...這個里面就是智能負載電阻其實采用這個方法以后,輸出電壓還能降到更低,考慮沒啥用就沒弄。