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