張琥石,徐雪芳,林偉龍,陳 妮,覃茂昌,梁 妮,陶 陶,何婷婷
(廣西醫(yī)科大學(xué) 生物醫(yī)學(xué)工程系,廣西 南寧 530021)
在電子技術(shù)迅速發(fā)展的今天,電子產(chǎn)品已經(jīng)成為人們?nèi)粘I钪械谋匦杵?,電子設(shè)備只有在電源電路的支持下才能正常工作。普通的直流電流源輸出的電流值單一,只能在特殊的場(chǎng)合使用,通用性不強(qiáng)。而傳統(tǒng)的可以實(shí)現(xiàn)多級(jí)電流輸出的直流電流源,往往采用電位器來調(diào)節(jié)輸出電流,精度差,無法實(shí)現(xiàn)精確步進(jìn)[1]。隨著單片機(jī)技術(shù)的不斷發(fā)展和D∕A技術(shù)的成熟,數(shù)控直流電流源開始出現(xiàn)。數(shù)控直流電流源采用單片機(jī)控制輸出的電流值,是一種精度高、穩(wěn)定性好、當(dāng)負(fù)載在一定范圍內(nèi)變化時(shí)不會(huì)影響輸出電流值的電流源。它是現(xiàn)代科研和生產(chǎn)的需要,是直流電流源的一個(gè)發(fā)展方向,在實(shí)際生活中有很好的應(yīng)用價(jià)值[2]。它可以通過單片機(jī)按鍵來控制輸出電流值,實(shí)現(xiàn)精確步進(jìn),實(shí)時(shí)直觀地查看輸出電流,改善了傳統(tǒng)電位器調(diào)節(jié)影響輸出電流精度和不方便查看電流值的問題,比傳統(tǒng)的直流電流源更具優(yōu)勢(shì)。因此,本文設(shè)計(jì)了一款以STC12C5A60S2單片機(jī)為核心的數(shù)控直流電流源。實(shí)現(xiàn)以下功能:
1)輸出電流200 mA~1 A可調(diào);
3)可通過藍(lán)牙遠(yuǎn)程調(diào)控輸出電流值;
4)當(dāng)前電流值能在液晶屏上顯示。
總體設(shè)計(jì)框圖如圖1所示。整個(gè)系統(tǒng)主要由單片機(jī)、D∕A轉(zhuǎn)換模塊、放大模塊、電壓轉(zhuǎn)電流模塊組成。以STC12C5A60S2單片機(jī)為核心控制單元,從手機(jī)端輸入電流值,利用藍(lán)牙傳輸?shù)絾纹瑱C(jī)或是直接利用按鍵加減改變電流值,單片機(jī)進(jìn)行處理后輸出相應(yīng)的控制信號(hào),數(shù)模轉(zhuǎn)換模塊將數(shù)字量轉(zhuǎn)換成對(duì)應(yīng)的模擬電壓量,再將模擬電壓量放大,然后通過電壓轉(zhuǎn)電流模塊產(chǎn)生相應(yīng)的電流信號(hào),并且在液晶屏上顯示輸出的電流值。
圖1 總體設(shè)計(jì)框圖
主控芯片選擇STC12C5A60S2作為控制單元,如圖2所示。STC12C5A60S2運(yùn)行速度快、功耗低、抗干擾能力強(qiáng),速度比最早的單片機(jī)[3]8051快8~12倍。它的工作電壓選用5 V,晶振選用11.059 2 MHz,通用I∕O口可設(shè)置成四種模式:準(zhǔn)雙向口∕弱上拉、推挽∕強(qiáng)上拉、僅為輸入∕高阻、開漏輸出。每個(gè)I∕O口驅(qū)動(dòng)能力均可達(dá)到20 mA,但整個(gè)芯片[4]最大不要超過120 mA。本次設(shè)計(jì)使用單片機(jī)的P0口、P2口和P3口。系統(tǒng)將使用P0端口向DAC0832芯片輸出數(shù)字量。P2口控制LCD1602的工作。P3.0與P3.1口為串口通信口,與藍(lán)牙模塊HC05的TXD與RXD口相連接。使用外部中斷0控制電流值增加10 mA,使用外部中斷1控制電流值減少10 mA。LCD1602芯片電路圖如圖3所示。
圖2 STC12C5A60S2芯片電路設(shè)計(jì)圖
圖3 LCD1602芯片電路圖
電流是一個(gè)模擬信號(hào),是一個(gè)隨時(shí)間和數(shù)值不斷變化的信號(hào)。D∕A轉(zhuǎn)換器是把輸入的數(shù)字量轉(zhuǎn)換為與之成正比的模擬量器件,其輸入的是數(shù)字量,輸出的是模擬量。D∕A轉(zhuǎn)換模塊首先把數(shù)字量轉(zhuǎn)換成相應(yīng)的模擬電流,由電阻解碼網(wǎng)絡(luò)結(jié)構(gòu)中的D∕A轉(zhuǎn)換器完成,之后由運(yùn)算放大器將模擬電流轉(zhuǎn)換成模擬電壓。DAC0832與單片機(jī)通過單緩沖方式連接。
D∕A轉(zhuǎn)換模塊如圖4所示。
圖4 D/A轉(zhuǎn)換模塊電路圖
其中DAC0832的CS、WR2、WR1、XFER與地相連接,DI0~DI7與單片機(jī)的P0口相連。DAC0832的輸入寄存器受單片機(jī)控制導(dǎo)通,DAC寄存器直接導(dǎo)通,當(dāng)單片機(jī)向DAC0832的輸入寄存器寫入數(shù)據(jù),D∕A轉(zhuǎn)換器開始轉(zhuǎn)換,轉(zhuǎn)換的模擬電流通過輸出端輸出。之后IOUT1接運(yùn)算放大器的正輸入端,IOUT2接負(fù)輸入端,經(jīng)過運(yùn)算放大器OPA2277后將模擬電流轉(zhuǎn)換成模擬電壓輸出。
俗話說:人比人該死,貨比貨該扔。比較不光有利,還有弊。人們總被攀比心理糾纏,無法逃脫。日本一青年的方法是躲藏在大自然中。他試驗(yàn)了幾個(gè)月,果然,那心急火燎的攀比欲望,那輾轉(zhuǎn)不安的焦躁?duì)顟B(tài),都冷卻和止息了。因?yàn)椋诖笞匀焕?,各種植物皆悠然生長(zhǎng),從不比較。
假設(shè)單片機(jī)輸入的數(shù)字量為F,D∕A模塊輸出電壓為VO,DAC0832是8位數(shù)模轉(zhuǎn)換器,輸入數(shù)字量范圍為00000000~11111111,轉(zhuǎn)換成十進(jìn)制就是0~255?;鶞?zhǔn)電壓為5 V,根據(jù)公式(1)得到D∕A模塊電壓輸出范圍為0~4.98 V,當(dāng)數(shù)字量增加1時(shí),輸出的模擬電壓約增加0.02 V。
放大模塊首先是將D∕A輸出的電壓進(jìn)行放大,然后是將D∕A轉(zhuǎn)換電路輸出的模擬電壓量放大。D∕A轉(zhuǎn)換器輸出的電壓范圍只有0~4.98 V,在電路設(shè)計(jì)中要用到更大的電壓值,所以要經(jīng)過一個(gè)運(yùn)算放大器放大電壓。放大電模塊電路圖如圖5所示。
圖5 放大模塊電路圖
因?yàn)閿?shù)模轉(zhuǎn)換電路輸出的是負(fù)電壓,所以需要設(shè)計(jì)一個(gè)反相放大器把電壓值變成正值。此反相放大器由運(yùn)放OPA2277和電阻R2,R3,R4組成,輸出的電壓值為:
R3的作用是消除零點(diǎn)偏移,本次設(shè)計(jì)需要使D∕A模塊輸出電壓反相放大7倍,R4取值為10 kΩ,根據(jù)式(2)算出R2取值為1.428 kΩ,R3的值等于R4/R2,所以R3的值為1.25 kΩ。此時(shí)只要按下按鍵,數(shù)字量增加0.02 V,放大7倍后就是增加0.14 V。
電壓轉(zhuǎn)電流模塊是將放大模塊輸出的電壓轉(zhuǎn)換成電流,通過控制電壓的值實(shí)現(xiàn)對(duì)電流的調(diào)控。采用功率運(yùn)放LM675構(gòu)成電壓轉(zhuǎn)電流模塊,LM675在電源電壓為25 V時(shí)可在8Ω負(fù)載上輸出20 W以上的功率,它具有較低輸入失調(diào)電壓,能夠在3 A電流下工作,有短路保護(hù)功能。其電路圖如圖6所示。
圖6 電壓轉(zhuǎn)電流模塊電路圖
根據(jù)運(yùn)放“虛短”的特性,運(yùn)放的正向輸入端電壓V1和反向輸入端電壓V2相等。又因?yàn)檫\(yùn)放輸入端輸入電阻很高,幾乎沒有電流注入和流出,運(yùn)放“虛斷”,所以流過負(fù)載R6和電阻R5的電流相等。因此電阻R5和VIN共同決定了流經(jīng)R6電流的大小,VIN為正向端輸入電壓。VIN改變則流經(jīng)R6的電流改變,輸出的電流值為:
根據(jù)設(shè)計(jì)要求電流輸出范圍為200 mA~1 A,R5的阻值取14Ω,由式(3)可得輸入的電壓范圍為2.8~14 V。設(shè)計(jì)要求電流步進(jìn)值為10 mA,換算成電壓量為14Ω×10 mA=0.14 V,D∕A轉(zhuǎn)換模塊數(shù)字量變化1,根據(jù)式(1)得到模擬電壓量變換大約為0.02 V,由此可得運(yùn)算放大器的放大倍數(shù)為7倍,即可得0.14 V,實(shí)現(xiàn)步進(jìn)10 mA的功能。
藍(lán)牙技術(shù)可以實(shí)現(xiàn)移動(dòng)設(shè)備、固定設(shè)備短距離數(shù)據(jù)傳送,是一種無線技術(shù)的標(biāo)準(zhǔn)。藍(lán)牙模塊與STC12C5A60S2連接只需要VCC、GND、TXD、RXD引腳,用于給模塊供電和傳輸數(shù)據(jù),通過串口傳輸數(shù)據(jù),可以用帶有藍(lán)牙設(shè)備的上位機(jī)進(jìn)行遠(yuǎn)程傳輸數(shù)據(jù)。
按鍵模塊采用獨(dú)立式按鍵,KEY5和KEY6一邊與單片機(jī)的P3.3和P3.2引腳連接,一邊接地,當(dāng)按鍵按下時(shí),開關(guān)閉合,P3.3和P3.2引腳電平從高到低跳變。顯示模塊電路選用LCD1602液晶顯示器,VSS接電源地,VDD連接+5 V,為L(zhǎng)CD1602液晶顯示模塊供電。VL為液晶顯示偏壓信號(hào),一般用來調(diào)節(jié)液晶顯示屏對(duì)比度。在VL端口對(duì)地接一個(gè)滑動(dòng)變阻器,調(diào)節(jié)滑動(dòng)變阻器可以使液晶屏得到一個(gè)最優(yōu)的顯示效果。RS、R∕W、E為L(zhǎng)CD1602的控制引腳,分別為選擇數(shù)據(jù)∕命令端、讀寫選擇端、使能端。D0~D7為8位雙向數(shù)據(jù)I∕O口,與單片機(jī)連接時(shí),可以選擇8個(gè)并行口也可以選用4位并行口,本次設(shè)計(jì)選擇8個(gè)并行口與單片機(jī)P2口相連。
單片機(jī)的軟件設(shè)計(jì)是在KeilμVision5開發(fā)軟件上實(shí)現(xiàn)的。采用C51語(yǔ)言編寫代碼,程序編寫完成后進(jìn)行編譯,沒有錯(cuò)誤就可以生成hex文件,然后通過ISP將hex文件下載到STC12C5A60S2單片機(jī)。軟件設(shè)計(jì)的關(guān)鍵是對(duì)D∕A轉(zhuǎn)換模塊的控制,軟件實(shí)現(xiàn)的功能為:
1)步進(jìn)調(diào)整電流值;
2)藍(lán)牙調(diào)控輸出電流值;
3)驅(qū)動(dòng)液晶顯示屏LCD1602顯示電流值。
軟件流程圖如圖7所示。
圖7 軟件程序流程
單片機(jī)上電后,先進(jìn)行藍(lán)牙串口初始化、外部中斷初始化、LCD1602初始化,之后預(yù)置輸入電流值為200 mA。當(dāng)按鍵6按下時(shí),電流值增加10 mA;當(dāng)按鍵5按下時(shí),電流值減少10 mA。如果按鍵5按下時(shí)電流值為200 mA,那么減少的下一個(gè)值將為1 A;如果按鍵6按下時(shí)電流值為1 A,那么增加的下一個(gè)值將為200 mA。這樣既可以確保電流值在200 mA~1 A這個(gè)范圍內(nèi),也可使用藍(lán)牙預(yù)置和改變輸出的電流值。
把各模塊連接起來,萬用表的紅色表筆一端插入10 A電流孔,黑色表筆一端插到COM孔,將萬用表打到直流電流檔,把它串聯(lián)到電路輸出端中測(cè)量輸出的電流值。給系統(tǒng)通電,通過按鍵步進(jìn)調(diào)節(jié)或者藍(lán)牙隨機(jī)調(diào)控輸出電流值,讀取萬用表測(cè)得的電流值,記錄結(jié)果測(cè)量結(jié)果如表1所示。
表1 電流輸出測(cè)試結(jié)果 mA
在200 mA~1 A范圍內(nèi),通過KEY5和KEY6可實(shí)現(xiàn)10 mA加減步進(jìn),通過液晶顯示屏可觀察到效果。測(cè)試結(jié)果表明,該電流源輸出達(dá)到了200 mA~1 A的輸出要求,輸出準(zhǔn)確且輸出響應(yīng)良好,實(shí)現(xiàn)了藍(lán)牙遠(yuǎn)程調(diào)控輸出電流的功能,能在液晶顯示屏上顯示輸出的電流值。
本系統(tǒng)通過單片機(jī)STC12C5A60S2控制電流輸出,通過按鍵或者藍(lán)牙調(diào)控單片機(jī)輸出的數(shù)字量,并通過液晶顯示屏顯示電流值。通過藍(lán)牙從手機(jī)端發(fā)送數(shù)據(jù)調(diào)控電流值,實(shí)現(xiàn)了電流遠(yuǎn)程控制,在傳統(tǒng)的控制方式上又多了一個(gè)選擇。經(jīng)過測(cè)試,用此電源給負(fù)載提供電流時(shí),輸出響應(yīng)良好,誤差小,具有廣闊的應(yīng)用前景。