<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 直流數控電流源的設計與實(shí)現

直流數控電流源的設計與實(shí)現

作者: 時(shí)間:2008-11-25 來(lái)源:網(wǎng)絡(luò ) 收藏

直流電流源作為穩定電源的分支,在工程技術(shù)和測量領(lǐng)域中有著(zhù)重要的實(shí)用價(jià)值,其涉及的應用由穩定電磁場(chǎng)、校正電流表等擴展至激光、超導、現代通信和傳感技術(shù)等領(lǐng)域?;谀M電路的電流源雖然可以實(shí)現高精度、寬電流范圍輸出,但其結構復雜, 調整困難,指示不直觀(guān)。隨著(zhù)單片機技術(shù)的發(fā)展,數字控制電流源開(kāi)始出現,其以控制靈活、調節方便等特點(diǎn)展示了良好的應用前景。


一般的恒流電流源往往是電流值固定,或是有限數值檔的電流值輸出,不便于通用。數字控制的電流源則通過(guò)單片機作為核心控制器,通過(guò)鍵盤(pán)設置所需的電流值,電流值取值范圍大,使用方便靈活。
本文將介紹數字電流源設計方案,實(shí)現基于單片機控制的程控電流源硬件及軟件設計。

數控電流源硬件設計
數字控制電流源可以有多種方案,如基于PWM技術(shù)的開(kāi)關(guān)電源、基于模擬器件的模擬反饋壓控,以及基于微控制器的數字反饋數控方案。本設計采用基于微處理控制器的數字控制方案,硬件系統框圖如圖1所示。利用單片機AT89C51將輸入的控制信號進(jìn)行處理輸出數字量,再把輸出的數字量轉換成模擬電壓量,最后把轉換后的模擬電壓量進(jìn)行電壓/電流的轉換供給負載。

圖1 硬件電路框圖


1 單片機控制與顯示電路
直流數控電流源原理圖如圖2所示??刂齐娐酚葾T89C51、晶振、按鍵等構成,包括單片機時(shí)鐘電路、復位電路以及按鍵輸入電路。


該電路的工作原理為:AT89C51單片機通電后復位,P0和P1口均輸出高電平。當按鍵輸入電路給電路輸入控制信號后,通過(guò)程序控制經(jīng)過(guò)內部處理,在P0及P1口輸出處理后的信號。P0的信號送至DAC0832的數字輸入端進(jìn)行數模轉換,P1的輸出信號送至顯示電路進(jìn)行顯示。


鍵盤(pán)作為輸入控制的信號,如圖2所示,總共有8個(gè)按鍵,具體功能為:++鍵用于實(shí)現步進(jìn)加,--鍵用作實(shí)現步進(jìn)減,S1~S4用于實(shí)現從最低位至最高位設置時(shí)的位選,位選后,由+、-鍵調節各位的數值。


顯示電路用于指示輸出電流的數值,電路主要由四個(gè)相連的共陽(yáng)極數碼管和驅動(dòng)電路組成。AT89C51的P1和P2口連接顯示電路,其中,P1口的8個(gè)引腳用來(lái)控制數碼管的段碼。用三極管V5~V8組成數碼管四個(gè)位的驅動(dòng)電路,再分別與單片機的P2.4~P2.7相連實(shí)現對位的控制。

圖2 直流數控電流源原理圖


2 D/A轉換電路
D/A轉換電路由數模轉換器DAC0832和運放LM324構成。DAC0832芯片是一個(gè)8位D/A轉換器,有8個(gè)數碼輸入端,1個(gè)模擬輸出端,能將控制電路輸出的8位二進(jìn)制數字量轉換成模擬量的輸出,送給后級的V/I轉換電路。


運放A4輸出電壓為:
(1)
式中,Vref為外接參考電壓,D7~DO為8位輸入數字量。
當輸入數字量在00000000~11111111之間變化時(shí),其對應的輸出模擬電壓U1在0~-Vref之間,電壓分辨率為:△V=5V/(28-1)=19.6mV。


3 V/I轉換電路
V/I轉換電路是整個(gè)電流源的關(guān)鍵部分,其電路圖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,則通過(guò)負載RL的電流I為:I=UM/RM=-U1/RM。
可見(jiàn),輸出電流I僅由電壓U1和電阻RM決定。當U1和RM一定時(shí),I保持恒定。U1是由數模轉換器得到,則該恒流源的電流大小由數字量決定。

軟件編程

圖3 軟件流程圖


軟件流程如圖3所示,程序采用C語(yǔ)言編寫(xiě)。用仿真機進(jìn)行功能調試,實(shí)現全部功能,然后把程序寫(xiě)入AT89C51芯片,固化成功后,便可進(jìn)行獨立運行。
主程序部分代碼。
 void main()
 {unsigned char Debugging=0;
unsigned char Sampling=0;
while (1)
{ Sampling =P2|0xf0; //采樣鍵盤(pán)信號
if (Sampling!=0xff) //如果有鍵盤(pán)按下執行下列程序
┇//處理鍵盤(pán)程序
┇//顯示程序
┇//電流輸出程序
}}


實(shí)驗結果
測試結果表明(見(jiàn)表1),負載RL阻值在0~5Ω變化時(shí),最大絕對誤差△I=|測試電流值-輸出電流值|=10mA;相對誤差為=絕對誤差/顯示電流值=1%;


另一測試結果表明(見(jiàn)表2),最大紋波系數=紋波電流值/設定輸出電流值=1.5%;


表3所示為部分設定輸出值與實(shí)際測試值的數據對照。設定輸出值和測試值的比較曲線(xiàn)如圖4所示,從圖中可得,步進(jìn)誤差較小,其設定輸出在0~1000mA時(shí),實(shí)際測試值為0~990mA,最大絕對誤差△I=10mA,最大相對誤差為1%。

圖4 設定輸出值和測試值的比較曲線(xiàn)


若電流精度不夠(設定輸出值與實(shí)際測試值存在較大誤差)時(shí),可采用12位的D/A,并增加模數轉換采樣電路,將輸出值反饋回單片機,并由單片機程序實(shí)現校正。此外,電路中RM可以選用精密電阻以減少誤差。

結語(yǔ)
本文詳細介紹了一種基于單片機控制的直流數控電流源。該電源由單片機接收鍵盤(pán)的輸入數據,將設定的電流值通過(guò)D/A轉換器轉換為控制電壓,再轉換為電流輸出,同時(shí)將設定電流在數碼管上顯示。整個(gè)數控電流源具有很高的性?xún)r(jià)比,穩態(tài)精度高,控制部分電路簡(jiǎn)明,結構緊湊,工作穩定可靠,應用前景廣闊。



關(guān)鍵詞: 單片機 數控電流 D/A 設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>