基于低成本MCU的電流環(huán)路校準(zhǔn)器的設(shè)計(jì)與實(shí)現(xiàn)
我們還使用模擬/數(shù)字轉(zhuǎn)換器測(cè)量電流。PIC16F877內(nèi)部的模擬/數(shù)字轉(zhuǎn)換器具有10位分辨率,可以測(cè)量0至5V的電壓值。電流流經(jīng)0.47Ω電阻,并利用同相放大器放大到0~5V電平。另外,我們還使用了4x3的數(shù)字鍵盤(pán)和16x2大小而且?guī)D44780接口的GDM1602B指示器。
本次設(shè)計(jì)的設(shè)備有兩種模式:第一種模式產(chǎn)生大小由用戶(hù)輸入的電流,第二種模式讀取從外部電流環(huán)路檢測(cè)到的電流。在電流源模式,從鍵盤(pán)輸入的電流信息被送往微控制器并通過(guò)解碼器分析。由微控制器決定了的電流信息再通過(guò)SPI協(xié)議發(fā)送到DAC,然后產(chǎn)生4-20mA范圍內(nèi)的目標(biāo)電流值。在測(cè)量模式,連接輸入端的外部電流環(huán)值將顯示在LCD指示器上。
嵌入式軟件設(shè)計(jì)
我們?cè)贑ode Composer Studio(CCS)環(huán)境中用PIC C語(yǔ)言開(kāi)發(fā)微控制器上運(yùn)行的嵌入式軟件。在微控制器上運(yùn)行的軟件接收校準(zhǔn)器是否在用戶(hù)選擇的電流源或電流測(cè)量模式下工作的信息。圖5顯示了我們開(kāi)發(fā)的主程序流程圖。
圖5:主程序流程圖
電流源模式
在電流源模式,嵌入式程序根據(jù)圖6所示的流程圖運(yùn)行。從這個(gè)流程圖可以看出,首先,用戶(hù)要輸入一個(gè)電流值,其中小數(shù)點(diǎn)左邊兩位,小數(shù)點(diǎn)右邊三位(精度為0.1%)。如果在輸入階段輸入了錯(cuò)誤的值,用戶(hù)可以按#鍵取消這個(gè)值。如果想要一步步地處理,那么整個(gè)過(guò)程可以用5個(gè)值完成:4mA、8mA、12mA、16mA和20mA。
圖6:電流源程序的流程圖
不管何時(shí)只要按下*鍵,系統(tǒng)就會(huì)返回到模式選擇菜單(主菜單)
不管何時(shí)只要按下#鍵,都會(huì)進(jìn)行清屏,然后提供電流值輸入界面
一旦電流值的小數(shù)點(diǎn)右邊三位輸入完后,電流就會(huì)自動(dòng)產(chǎn)生,等整個(gè)過(guò)程成功完成后,還會(huì)在LCD上的電流值旁邊顯示“OK”標(biāo)記。如果用戶(hù)輸入的電流值超出范圍,即小于4mA或大于20mA,LCD上將顯示“超出輸出范圍”的警告消息。
電流測(cè)量模式
在電流測(cè)量模式時(shí),由電壓放大層產(chǎn)生的電平被模擬/數(shù)字轉(zhuǎn)換器讀取,然后在屏幕上顯示測(cè)量出的電流值,見(jiàn)圖7所示的流程圖。
圖7:電流測(cè)量模式下的程序流程圖
在鍵盤(pán)接口中,我們使用了PIC16F877的“根據(jù)狀態(tài)改變(change on-state)”中斷源來(lái)檢測(cè)是否有鍵按下。利用這個(gè)中斷源,當(dāng)微控制器的B輸入端口的狀態(tài)發(fā)生改變時(shí),中斷將自動(dòng)啟動(dòng)。這樣,當(dāng)設(shè)備不在使用時(shí),微控制器將進(jìn)入睡眠模式以節(jié)省功耗。
電流源與測(cè)量
如圖8所示,微控制器的數(shù)字輸出通過(guò)SPI協(xié)議接口連接到帶16位CMOS電流輸出的數(shù)字/模擬轉(zhuǎn)換器電路(AD420)。
評(píng)論