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