新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于低成本MCU的電流環路校準器的設計與實現

        基于低成本MCU的電流環路校準器的設計與實現

        作者: 時間:2012-09-12 來源:網絡 收藏


        我們還使用模擬/數字轉換器測量電流。PIC16F877內部的模擬/數字轉換器具有10位分辨率,可以測量0至5V的電壓值。電流流經0.47Ω電阻,并利用同相放大器放大到0~5V電平。另外,我們還使用了4x3的數字鍵盤和16x2大小而且帶HD44780接口的GDM1602B指示器。

        本次設計的設備有兩種模式:第一種模式產生大小由用戶輸入的電流,第二種模式讀取從外部檢測到的電流。在電流源模式,從鍵盤輸入的電流信息被送往微控制器并通過解碼器分析。由微控制器決定了的電流信息再通過SPI協議發送到DAC,然后產生4-20mA范圍內的目標電流值。在測量模式,連接輸入端的外部電流環值將顯示在LCD指示器上。

        嵌入式軟件設計

        我們在Code Composer Studio(CCS)環境中用PIC C語言開發微控制器上運行的嵌入式軟件。在微控制器上運行的軟件接收是否在用戶選擇的電流源或電流測量模式下工作的信息。圖5顯示了我們開發的主程序流程圖。

        newmaker.com
        圖5:主程序流程圖

        從主流程圖可以看出,#鍵實現的是“取消”或“刪除”任務,并重復這個任務。另外,*鍵具有在任何時刻返回主干程序的功能。

        電流源模式

        在電流源模式,嵌入式程序根據圖6所示的流程圖運行。從這個流程圖可以看出,首先,用戶要輸入一個電流值,其中小數點左邊兩位,小數點右邊三位(精度為0.1%)。如果在輸入階段輸入了錯誤的值,用戶可以按#鍵取消這個值。如果想要一步步地處理,那么整個過程可以用5個值完成:4mA、8mA、12mA、16mA和20mA。

        newmaker.com
        圖6:電流源程序的流程圖

        在輸入完電流值后,數據將通過SPI協議傳送給AD420集成電路并啟動電流產生過程。不管是在輸入電流值期間還是在產生該電流值后,加載進*鍵和#鍵的功能都不會改變,只會執行。這些功能是:

        不管何時只要按下*鍵,系統就會返回到模式選擇菜單(主菜單)

        不管何時只要按下#鍵,都會進行清屏,然后提供電流值輸入界面

        一旦電流值的小數點右邊三位輸入完后,電流就會自動產生,等整個過程成功完成后,還會在LCD上的電流值旁邊顯示“OK”標記。如果用戶輸入的電流值超出范圍,即小于4mA或大于20mA,LCD上將顯示“超出輸出范圍”的警告消息。

        電流測量模式

        在電流測量模式時,由電壓放大層產生的電平被模擬/數字轉換器讀取,然后在屏幕上顯示測量出的電流值,見圖7所示的流程圖。

        newmaker.com
        圖7:電流測量模式下的程序流程圖

        鍵盤中斷

        在鍵盤接口中,我們使用了PIC16F877的“根據狀態改變(change on-state)”中斷源來檢測是否有鍵按下。利用這個中斷源,當微控制器的B輸入端口的狀態發生改變時,中斷將自動啟動。這樣,當設備不在使用時,微控制器將進入睡眠模式以節省功耗。

        電流源與測量

        如圖8所示,微控制器的數字輸出通過SPI協議接口連接到帶16位CMOS電流輸出的數字/模擬轉換器電路(AD420)。


        關鍵詞: MCU 電流環路 校準器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 云龙县| 海兴县| 虹口区| 通江县| 株洲县| 鄂伦春自治旗| 米泉市| 颍上县| 丰顺县| 平昌县| 怀柔区| 襄汾县| 玉山县| 穆棱市| 海林市| 鄱阳县| 怀安县| 和顺县| 津南区| 墨竹工卡县| 栖霞市| 龙井市| 马鞍山市| 黄龙县| 依兰县| 铜山县| 太保市| 浪卡子县| 广河县| 新安县| 苗栗市| 章丘市| 托里县| 保德县| 辉县市| 延安市| 元氏县| 安平县| 松溪县| 娄底市| 兴仁县|