直流數(shù)控電流源的設(shè)計與實
直流電流源作為穩(wěn)定電源的分支,在工程技術(shù)和測量領(lǐng)域中有著重要的實用價值,其涉及的應(yīng)用由穩(wěn)定電磁場、校正電流表等擴展至激光、超導(dǎo)、現(xiàn)代通信和傳感技術(shù)等領(lǐng)域?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/模擬電路">模擬電路的電流源雖然可以實現(xiàn)高精度、寬電流范圍輸出,但其結(jié)構(gòu)復(fù)雜, 調(diào)整困難,指示不直觀。隨著單片機技術(shù)的發(fā)展,數(shù)字控制電流源開始出現(xiàn),其以控制靈活、調(diào)節(jié)方便等特點展示了良好的應(yīng)用前景。
一般的恒流電流源往往是電流值固定,或是有限數(shù)值檔的電流值輸出,不便于通用。數(shù)字控制的電流源則通過單片機作為核心控制器,通過鍵盤設(shè)置所需的電流值,電流值取值范圍大,使用方便靈活。
本文將介紹數(shù)字電流源設(shè)計方案,實現(xiàn)基于單片機控制的程控電流源硬件及軟件設(shè)計。
數(shù)控電流源硬件設(shè)計
數(shù)字控制電流源可以有多種方案,如基于PWM技術(shù)的開關(guān)電源、基于模擬器件的模擬反饋壓控,以及基于微控制器的數(shù)字反饋數(shù)控方案。本設(shè)計采用基于微處理控制器的數(shù)字控制方案,硬件系統(tǒng)框圖如圖1所示。利用單片機AT89C51將輸入的控制信號進行處理輸出數(shù)字量,再把輸出的數(shù)字量轉(zhuǎn)換成模擬電壓量,最后把轉(zhuǎn)換后的模擬電壓量進行電壓/電流的轉(zhuǎn)換供給負載。
圖1 硬件電路框圖
1 單片機控制與顯示電路
直流數(shù)控電流源原理圖如圖2所示??刂齐娐酚葾T89C51、晶振、按鍵等構(gòu)成,包括單片機時鐘電路、復(fù)位電路以及按鍵輸入電路。
該電路的工作原理為:AT89C51單片機通電后復(fù)位,P0和P1口均輸出高電平。當(dāng)按鍵輸入電路給電路輸入控制信號后,通過程序控制經(jīng)過內(nèi)部處理,在P0及P1口輸出處理后的信號。P0的信號送至DAC0832的數(shù)字輸入端進行數(shù)模轉(zhuǎn)換,P1的輸出信號送至顯示電路進行顯示。
鍵盤作為輸入控制的信號,如圖2所示,總共有8個按鍵,具體功能為:++鍵用于實現(xiàn)步進加,--鍵用作實現(xiàn)步進減,S1~S4用于實現(xiàn)從最低位至最高位設(shè)置時的位選,位選后,由+、-鍵調(diào)節(jié)各位的數(shù)值。
顯示電路用于指示輸出電流的數(shù)值,電路主要由四個相連的共陽極數(shù)碼管和驅(qū)動電路組成。AT89C51的P1和P2口連接顯示電路,其中,P1口的8個引腳用來控制數(shù)碼管的段碼。用三極管V5~V8組成數(shù)碼管四個位的驅(qū)動電路,再分別與單片機的P2.4~P2.7相連實現(xiàn)對位的控制。
圖2 直流數(shù)控電流源原理圖
2 D/A轉(zhuǎn)換電路
D/A轉(zhuǎn)換電路由數(shù)模轉(zhuǎn)換器DAC0832和運放LM324構(gòu)成。DAC0832芯片是一個8位D/A轉(zhuǎn)換器,有8個數(shù)碼輸入端,1個模擬輸出端,能將控制電路輸出的8位二進制數(shù)字量轉(zhuǎn)換成模擬量的輸出,送給后級的V/I轉(zhuǎn)換電路。
運放A4輸出電壓為:
(1)
式中,Vref為外接參考電壓,D7~DO為8位輸入數(shù)字量。
當(dāng)輸入數(shù)字量在00000000~11111111之間變化時,其對應(yīng)的輸出模擬電壓U1在0~-Vref之間,電壓分辨率為:△V=5V/(28-1)=19.6mV。
3 V/I轉(zhuǎn)換電路
V/I轉(zhuǎn)換電路是整個電流源的關(guān)鍵部分,其電路圖2所示,主要由運放LM324和電流擴展電路構(gòu)成。運放A1構(gòu)成加法器,有U2=-(U1+U5)。三極管V1、V2、V3、V4構(gòu)成電流擴展電路,以便有足夠的輸出電流。A2構(gòu)成電壓跟隨器,有U4=U3。A3是反相器,有U5=-U4,則U5=-U3。
電阻RM上的壓降UM為:UM=U2-U3=-(U1-U3)-U3=-U1,則通過負載RL的電流I為:I=UM/RM=-U1/RM。
可見,輸出電流I僅由電壓U1和電阻RM決定。當(dāng)U1和RM一定時,I保持恒定。U1是由數(shù)模轉(zhuǎn)換器得到,則該恒流源的電流大小由數(shù)字量決定。
軟件編程
圖3 軟件流程圖
軟件流程如圖3所示,程序采用C語言編寫。用仿真機進行功能調(diào)試,實現(xiàn)全部功能,然后把程序?qū)懭階T89C51芯片,固化成功后,便可進行獨立運行。
主程序部分代碼。
void main()
{unsigned char Debugging=0;
unsigned char Sampling=0;
while (1)
{ Sampling =P2|0xf0; //采樣鍵盤信號
if (Sampling!=0xff) //如果有鍵盤按下執(zhí)行下列程序
┇//處理鍵盤程序
┇//顯示程序
┇//電流輸出程序
}}
實驗結(jié)果
測試結(jié)果表明(見表1),負載RL阻值在0~5Ω變化時,最大絕對誤差△I=|測試電流值-輸出電流值|=10mA;相對誤差為=絕對誤差/顯示電流值=1%;
另一測試結(jié)果表明(見表2),最大紋波系數(shù)=紋波電流值/設(shè)定輸出電流值=1.5%;
表3所示為部分設(shè)定輸出值與實際測試值的數(shù)據(jù)對照。設(shè)定輸出值和測試值的比較曲線如圖4所示,從圖中可得,步進誤差較小,其設(shè)定輸出在0~1000mA時,實際測試值為0~990mA,最大絕對誤差△I=10mA,最大相對誤差為1%。
圖4 設(shè)定輸出值和測試值的比較曲線
若電流精度不夠(設(shè)定輸出值與實際測試值存在較大誤差)時,可采用12位的D/A,并增加模數(shù)轉(zhuǎn)換采樣電路,將輸出值反饋回單片機,并由單片機程序?qū)崿F(xiàn)校正。此外,電路中RM可以選用精密電阻以減少誤差。
結(jié)語
本文詳細介紹了一種基于單片機控制的直流數(shù)控電流源。該電源由單片機接收鍵盤的輸入數(shù)據(jù),將設(shè)定的電流值通過D/A轉(zhuǎn)換器轉(zhuǎn)換為控制電壓,再轉(zhuǎn)換為電流輸出,同時將設(shè)定電流在數(shù)碼管上顯示。整個數(shù)控電流源具有很高的性價比,穩(wěn)態(tài)精度高,控制部分電路簡明,結(jié)構(gòu)緊湊,工作穩(wěn)定可靠,應(yīng)用前景廣闊。
評論