基于單片機控制的DDZ型熱工儀表檢測儀的設計
引言
傳統的DDZ型熱工儀表檢測儀以模擬顯示為主,有性能不穩定、誤差較大等缺點(diǎn)。針對這一問(wèn)題研制了基于單片機控制的熱工儀表檢測儀,它不僅能在DDZ 型熱工儀表的設計、校正、維修中提供信號源,而且能把某些儀表端口的信號采集到計算機上處理并且打印出數據,以便相關(guān)人員分析處理并作出相應的反應。
儀表的功能
本儀表不僅能測量和產(chǎn)生DDZ型熱工儀表統一的聯(lián)絡(luò )信號,而且能數字化并顯示信號大小,具有動(dòng)態(tài)顯示、性能穩定等優(yōu)點(diǎn)。概括起來(lái),儀表具有如下功能:
(1) 可以測量和產(chǎn)生DDZ-Ⅱ型儀表間的聯(lián)絡(luò )信號:0~10mA DC。
(2) 可以測量和產(chǎn)生DDZ-Ⅲ型儀表間的聯(lián)絡(luò )信號:4~20mA DC,1~5V DC。
(3) 具有RS-232串行通信口,可以和上位機進(jìn)行通信。
(4) 通過(guò)按鍵設定信號輸出值,信號輸出和顯示的整個(gè)過(guò)程在毫秒內完成。
(5) 4位數碼管動(dòng)態(tài)地顯示測量和產(chǎn)生信號值大小。
儀表的硬件結構
本儀表主要由PIC16F877單片機和外圍器件及其相應的軟件編程構成,如圖1所示??煞譃?大模塊:輸入模塊、A/D轉換模塊、數碼顯示模塊、串口通信模塊、鍵盤(pán)設置模、D/A轉換模塊和電源模塊。
本文主要介紹輸入模塊、通信模塊、A/D轉換模塊、及鍵盤(pán)設置模塊,以便更好地說(shuō)明該儀表的硬件電路和軟件編程。
關(guān)鍵芯片和技術(shù)
輸入模塊
輸入模塊設計了三路模擬量輸入電路:一路輸入0~10mA DC電流信號,通過(guò)500?的精密電阻轉化為0~5V DC電壓信號;一路輸入1~5V DC 電壓信號;另一路輸入4~20mA電流信號,經(jīng)過(guò)250?的精密電阻轉化為1~5V DC電壓信號。由于使用OP07運放器構成電壓跟隨器,顯著(zhù)提高了抗干擾能力和精度,輸入模塊的硬件電路圖如圖2所示。
OP07運放器后接了一個(gè)超量程報警系統,它由穩壓管、報警器、過(guò)電壓繼電器和動(dòng)斷觸點(diǎn)組成。穩壓管和過(guò)電壓繼電器的額定電壓都是+5V,當輸入電壓值超過(guò)該值時(shí),過(guò)電壓繼電器就會(huì )使動(dòng)斷觸點(diǎn)斷開(kāi)從而自動(dòng)切斷電路,與此同時(shí)穩壓管導通,報警器產(chǎn)生一個(gè)報警信號。
由于測量現場(chǎng)往往有磁干擾和火花干擾,所以本設計選用低通濾波器用于對現場(chǎng)強電磁和火花干擾的抑制和消除,同時(shí)除掉直流信號中混入的交流信號。
A/D轉換模塊
本設計采用PIC16F877單片機作為核心芯片,其A/D轉換值為10位,可設置1~8個(gè)A/D轉換通道。本儀表將A口的RA0引腳設定為模擬電壓輸入,進(jìn)行A/D轉換后先將A/DRESH和A/DRESL寄存器中的值經(jīng)數據處理變?yōu)榕c實(shí)際模擬量相對應的二進(jìn)制數,再變換成對應的BCD碼,最后送到與C口相連的數碼顯示模塊上進(jìn)行顯示。
設置輸入/輸出引腳
由于PIC16F877的引腳同時(shí)具備輸入/輸出的功能,因此使用前必須進(jìn)行設置,其初始化引腳的命令如下:
banksel TRISC ;選擇TRISC寄存器所在的數據存儲體
clrf TRISC,3:0> ;設定C口的RC3:RC0為數據輸出口
bsf TRISA,0 ;設定A口的RA0為輸入口
進(jìn)行A/D轉換的步驟
(1) A/D轉換的初始設定:對A/DCON1和A/DCON0寄存器中的位進(jìn)行設置。
(2) 選擇A/D轉換的模擬輸入端:A/DCON0寄存器的5:3>位設為000,表示選擇A口0>位RA0為模擬輸入端。
(3) 啟動(dòng)A/D轉換:A/DCON0寄存器的2>位GO/DONE為1時(shí),表示正開(kāi)始進(jìn)行A/D轉換。
(4) 查看A/D轉換是否完成:GO/DONE同時(shí)作為A/D轉換的標志信號,若為1時(shí),表示正在進(jìn)行A/D轉換,轉換工作尚未結束;若為0時(shí),表示A/D轉換已完成,可以讀取轉換結果。
(5) 存放A/D轉換的結果:把A/D轉換的結果存放在A(yíng)/DRESH和A/DRESL寄存器中。
RS-232 串口通信
PIC16F877與PC之間的雙向RS-232通信的目的是把A/DRESH、A/DRESL中的數據傳到上位機(計算機),上位機采用C語(yǔ)言編輯的接收軟件接收數據,并進(jìn)行更進(jìn)一步的處理。
選擇波特率
在PIC16F877的UART模塊中,8位寄存器SPBRG的值X和寄器TXSTA中的BRGH位決定通信時(shí)的波特率。當BRGH=1 時(shí),由于該儀器的波特率設為9600bit/s, Fosc=4MHz,通過(guò)計算可以得到X=25.042≈25,此時(shí)其誤差僅為:(9615-9600)/9600=0.16%,表示波特率選擇合適。
評論