《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > AT89C51多路數(shù)控直流穩(wěn)壓電源
AT89C51多路數(shù)控直流穩(wěn)壓電源
摘要: 本文以單片機(jī)為核心,構(gòu)成可同時(shí)控制6路正負(fù)輸出,具有定點(diǎn)顯示和巡回顯示等功能的數(shù)控直流穩(wěn)壓電源。
Abstract:
Key words :
  當(dāng)今社會人們極大的享受著電子設(shè)備帶來的便利,但是任何電子設(shè)備都有一個(gè)共同的電路--電源電路,直流電源趨向多功能和數(shù)字化方向。直流穩(wěn)壓電源的供電電源大都是交流電源,當(dāng)交流供電電源的電壓或負(fù)載電阻變化時(shí),穩(wěn)壓器的直流輸出電壓都會保持穩(wěn)定。直流穩(wěn)壓電源隨著電子設(shè)備向高精度、高穩(wěn)定性和高可靠性的方向發(fā)展,對電子設(shè)備的供電電源提出了高的要求。本文以單片機(jī)為核心,構(gòu)成可同時(shí)控制6路正負(fù)輸出,具有定點(diǎn)顯示和巡回顯示等功能的數(shù)控直流穩(wěn)壓電源。

  1系統(tǒng)的功能和特點(diǎn)

  系統(tǒng)有6路電壓輸出,其中3路為正,3路為負(fù)。電壓調(diào)節(jié)范圍為0~35V,最大輸出電流(A)分別為5,2和1,具有過流保護(hù)功能。數(shù)字顯示有5位,其中1位顯示路號,1位顯示電壓極性,另3位顯示輸出電壓。鍵盤設(shè)有16個(gè)鍵,數(shù)字鍵0~9及小數(shù)點(diǎn)鍵用于設(shè)定電壓輸出路號及幅值;“↑”鍵為逐步增加輸出電壓或路號;“↓”鍵為逐步減少輸出電壓或路號;“CLR”鍵用于清除錯(cuò)誤輸入,恢復(fù)原先狀態(tài);“#”鍵用于啟動電壓設(shè)定狀態(tài)和確認(rèn)新設(shè)定;“@”鍵為巡回顯示和定點(diǎn)顯示切換鍵。

  本系統(tǒng)設(shè)有巡回顯示、定點(diǎn)顯示和電壓設(shè)定3種工作狀態(tài)。當(dāng)接通電源時(shí),自動設(shè)置為巡回顯示狀態(tài),它將每隔4s在顯示器上巡回顯示不同路號和相應(yīng)電壓。若再按“#”,則電壓顯示值出現(xiàn)閃爍現(xiàn)象,表示進(jìn)入電壓設(shè)定狀態(tài)。如果依次按下“2”,“6”,“·”,“3”,再按“#”鍵確認(rèn),新的電壓26.3V為實(shí)際輸出,設(shè)定完畢。也可以在電壓設(shè)定狀態(tài)下,用“↑”鍵和“↓”鍵以0.1V的增量設(shè)定電壓。系統(tǒng)設(shè)有自動識別功能,將不接受超出使用范圍的電壓設(shè)定值。在未按“#”鍵之前,對誤輸入的電壓可以用“CLR”鍵清除后重新設(shè)定。在定點(diǎn)顯示態(tài),可用數(shù)字鍵、“↑”或“↓”鍵選擇監(jiān)視的電壓路號。同樣地,系統(tǒng)將不接受超出實(shí)際范圍的路號設(shè)定值。輸出電壓的正負(fù)值由系統(tǒng)自動給出,無需用戶輸入。巡回顯示和定點(diǎn)顯示的切換按“@”鍵即可。

  2硬件電路分析

  系統(tǒng)選用AT89C51單片機(jī)為控制核心,完全兼容了8031單片機(jī)的指令和功能。同時(shí),它還增加了內(nèi)置4KB閃速存儲器,具有128B內(nèi)部RAM,3個(gè)I/O口,功耗低,體積小巧,不需擴(kuò)展存儲器就能滿足系統(tǒng)要求。圖1為系統(tǒng)硬件原理圖。

系統(tǒng)硬件原理圖

  2.1電壓輸出回路

  電壓輸出回路原理,如圖2所示。其調(diào)整管采用共射極連接方式,與常見的共集極連接方式相比,功耗和紋波系數(shù)大為降低。增并調(diào)整管,適當(dāng)增加BG2的容量即可擴(kuò)展功率輸出容量。由于電壓反饋調(diào)節(jié)采用了比例積分調(diào)節(jié)器,輸出電壓在正常的工作區(qū)能完全地跟蹤控制電壓Uin.經(jīng)過推導(dǎo),可得穩(wěn)態(tài)的輸出電壓值Uo=WinRw/Rr.Rb及BG3等構(gòu)成過流保護(hù)電路。理論可以證明,該回路近似為一階控制系統(tǒng),具有絕對的穩(wěn)定性。因此,它十分適合于系統(tǒng)的設(shè)計(jì)要求,詳細(xì)的分析說明可參見文獻(xiàn)〔2〕。

電壓輸出回路原理

  2.2控制電壓給定回路

  控制電壓給定回路由單片機(jī)、D/A轉(zhuǎn)換器和采樣保持器等組成。控制電壓由D/A提供,系統(tǒng)采用了開環(huán)控制方式。一般說來,開環(huán)控制的抗干擾能力和精度差〔3〕。但由于本電壓輸出電路采用了特有的結(jié)構(gòu),能實(shí)現(xiàn)無靜差調(diào)節(jié)。這樣,可以省去類似文獻(xiàn)〔2〕電路中的A/D采樣和比較電路,既降低了成本,又簡化了結(jié)構(gòu)。其控制算法簡單,可靠性顯著增強(qiáng)。D/A輸出一般很穩(wěn)定,但分辨率有限。按本系統(tǒng)的設(shè)計(jì)要求,輸出電壓的分辨率必須大于0.1V.已知穩(wěn)壓輸出量程為0~35V,若D/A的量程和參考電壓以5V計(jì),則D/A的分辨率B應(yīng)滿足2B>35/0.1,B>8.4.故可采用10或12位的D/A轉(zhuǎn)換器。為保證一定裕量,系統(tǒng)采用DAC1210.本系統(tǒng)具有多路正負(fù)輸出,考慮到高位D/A轉(zhuǎn)換器價(jià)格較高。采樣-保持電路由數(shù)據(jù)鎖存器74LS273,以及6塊采樣-保持器LF398組成。當(dāng)DAC1210輸出第N路(1≤N≤6)控制電壓時(shí),通過74LS273的第N位輸出狀態(tài)的改變,使相應(yīng)路的采樣/保持器LF398由保持狀態(tài)變?yōu)椴蓸訝顟B(tài)。然后,再恢復(fù)成保持狀態(tài),從而實(shí)現(xiàn)對控制電壓的采樣和保持。

  2.3顯示和鍵盤接口電路

  考慮到本系統(tǒng)監(jiān)控軟件的負(fù)擔(dān)較重,顯示采用了靜態(tài)顯示模式〔5〕。不難發(fā)現(xiàn),電源輸出的極性決定于輸出電壓回路的電路結(jié)構(gòu),與路號有一一對應(yīng)的關(guān)系。因而,可由軟件自動設(shè)置。故兩塊數(shù)碼管完全可以共享一組8位顯示數(shù)據(jù)。這樣5位LED只需設(shè)4個(gè)鎖存器(74LS273)。鍵盤電路設(shè)置于P1口,為典型的4×4中斷掃描鍵盤。

  3系統(tǒng)軟件設(shè)計(jì)

  本軟件設(shè)計(jì)通過合理安排中斷和劃分各功能模塊,設(shè)置統(tǒng)一的狀態(tài)字,有效克服了系統(tǒng)的功能多、狀態(tài)轉(zhuǎn)換復(fù)雜給軟件設(shè)計(jì)帶來的困難。系統(tǒng)軟件流程圖,如圖3所示。

系統(tǒng)軟件設(shè)計(jì)

  3.1狀態(tài)字設(shè)計(jì)

  狀態(tài)字(SB)占用一個(gè)字節(jié),有效位為5位。狀態(tài)字通道被啟動后,控制指定的設(shè)備完成規(guī)定的操作,同時(shí),通道在執(zhí)行對外圍設(shè)備控制的過程中,要記錄通道與設(shè)備執(zhí)行情況,為此系統(tǒng)在主存中安排另一個(gè)固定單元,用于存放這些被記錄狀態(tài),有

  SB.0=1,表示處于巡回顯示狀態(tài),SB.0=0,無意義;

  SB.1=1,表示處于定點(diǎn)顯示狀態(tài),SB.0=0,無意義;

  SB.2=1,表示處于電壓設(shè)定狀態(tài),SB.0=0,無意義;

  SB.3=1,表示電壓設(shè)定值有誤,SB.3=0,表示電壓設(shè)定值正確;

  SB.4=1,表示電壓非首次數(shù)字設(shè)定,SB.4=0,表示電壓首次數(shù)字設(shè)定。

  3.2各功能處理模塊

  主程序。進(jìn)行系統(tǒng)初始化設(shè)定(I/O口、定時(shí)、中斷、狀態(tài)字、各數(shù)據(jù)緩沖區(qū)等初始化),等待中斷。定時(shí)中斷服務(wù)程序。輸出電壓的穩(wěn)定性是穩(wěn)壓器最重要的指標(biāo)??紤]到采樣-保持器輸出有一緩慢的下降速率(當(dāng)LF398保持電容為0.1μF時(shí),下降速率約200V·min-1),故需定時(shí)對其進(jìn)行保持和電壓刷新。本服務(wù)程序完成各路電壓值刷新和顯示。中斷申請由定時(shí)/計(jì)數(shù)器T0提出,每隔130ms中斷一次,中斷服務(wù)級為最高級。鍵盤中斷服務(wù)程序。根據(jù)鍵碼和當(dāng)前狀態(tài)字,跳轉(zhuǎn)相應(yīng)的功能處理程序,中斷由INT0引入。鍵掃描譯碼程序。將0~9、小數(shù)點(diǎn),以及其它按鍵譯成對應(yīng)00H~0FH的十六進(jìn)制碼。顯示譯碼程序。將鍵碼緩沖區(qū)的內(nèi)容譯成七段碼并存入相應(yīng)的顯示緩沖區(qū)。D/A譯碼程序。將鍵碼緩沖區(qū)的內(nèi)容譯成對應(yīng)的12位D/A二進(jìn)制數(shù)碼,并存入相應(yīng)的D/A數(shù)據(jù)緩沖區(qū)(一路輸出占2B)。顯示子程序。根據(jù)路數(shù),將該路數(shù)據(jù)緩沖區(qū)的內(nèi)容與屏蔽字相或后,送對應(yīng)數(shù)管。錯(cuò)程識別序1.在電壓設(shè)定狀態(tài),判定鍵入數(shù)字碼后,鍵碼緩沖區(qū)數(shù)據(jù)格式的錯(cuò)誤,恢復(fù)鍵入前的狀態(tài)并給出相應(yīng)標(biāo)志(SB.3)。錯(cuò)程識別序2.在電壓設(shè)定狀態(tài),判定鍵入“↑”鍵、“↓”鍵后,鍵碼緩沖區(qū)數(shù)據(jù)格式的錯(cuò)誤恢復(fù)鍵入前的狀態(tài),并給出相應(yīng)標(biāo)志(SB.3)。

  3.3數(shù)據(jù)緩沖區(qū)設(shè)定

  互方之一定義用于數(shù)據(jù)交換的底層內(nèi)存分配機(jī)制。另一方總是使用已公布的接口來分配或釋放緩沖區(qū),從而避免潛在的不一致。這種模型需要雙方都堅(jiān)持一個(gè)可能與軟件基本功能無關(guān)的編程約定,而且在一般情況下,這個(gè)編程約定可能使代碼更加不可重用。

  驅(qū)動數(shù)據(jù)交換的那一方將負(fù)責(zé)管理操作——當(dāng)該方充當(dāng)數(shù)據(jù)提供者時(shí),這是一個(gè)相對適當(dāng)?shù)姆桨?。然而,?dāng)該方充當(dāng)數(shù)據(jù)使用者時(shí),事情就變得棘手了。為避免去發(fā)現(xiàn)數(shù)據(jù)大小,數(shù)據(jù)使用者可以分配一個(gè)任意大小的緩沖區(qū)。如果該數(shù)據(jù)緩沖區(qū)沒有足夠大,就必須對數(shù)據(jù)提供者發(fā)出多次調(diào)用。因此這種方法需要圍繞該交互調(diào)用編寫額外的循環(huán)代碼,以備多次調(diào)用之需。

  (1)D/A數(shù)據(jù)緩沖區(qū)。存放各路輸出的D/A值二進(jìn)制碼,每路占2B,共12B.(2)鍵碼緩沖區(qū)。在電壓設(shè)定狀態(tài),存儲鍵入的數(shù)值碼(包括小數(shù)點(diǎn)),一鍵碼用4位二進(jìn)制數(shù)表示。故每路占2B,共12B.(3)顯示緩沖區(qū)。存儲各路輸出電壓顯示七段碼(含路數(shù)、輸出極性、電壓大?。柯氛?B,共24B.(4)鍵碼備份緩沖區(qū)。進(jìn)入電壓設(shè)定狀態(tài)時(shí),程序?qū)?fù)制當(dāng)前路鍵碼緩沖區(qū)的內(nèi)容并存入此區(qū),共2B.(5)顯示備份緩沖區(qū)。進(jìn)入電壓設(shè)定狀態(tài)時(shí),程序?qū)?fù)制當(dāng)前路顯示緩沖區(qū)的內(nèi)容并存入此區(qū),共4B.

  除了上述困難之外,安全性也證明是傳統(tǒng)方法存在的問題:傳統(tǒng)緩沖區(qū)管理方案無法容易地防止惡意用戶刻意改寫數(shù)據(jù)緩沖區(qū),從而導(dǎo)致程序異常??紤]到所有這一切,設(shè)計(jì)一個(gè)適當(dāng)?shù)臄?shù)據(jù)緩沖區(qū)接口就勢在必行!

  4結(jié)束語

本文將單片機(jī)控制回路與無靜差的電壓輸出回路有機(jī)結(jié)合,構(gòu)成一款新式多路數(shù)字可調(diào)功率直流穩(wěn)壓電源,非常適合一般教學(xué)和科研使用。單片機(jī)、DAC與其它外圍電路獨(dú)立供電。DAC采用高穩(wěn)定性的基準(zhǔn)電源為參考電壓,面板電源開關(guān)可設(shè)計(jì)成僅切斷輸出回路的供電電源。還要注意選擇特性較理想的、功率適當(dāng)?shù)木w管,加裝大小適當(dāng)?shù)纳崞?。這樣,一般不需太多調(diào)試就能獲得成功。因此,本電源推廣容易,可望獲得廣泛的應(yīng)用。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。