新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)控制的DDZ型熱工儀表檢測儀的設(shè)計(jì)

基于單片機(jī)控制的DDZ型熱工儀表檢測儀的設(shè)計(jì)

作者: 時(shí)間:2013-11-07 來源:網(wǎng)絡(luò) 收藏

引言
傳統(tǒng)的以模擬顯示為主,有性能不穩(wěn)定、誤差較大等缺點(diǎn)。針對(duì)這一問題研制了基于,它不僅能在DDZ 型熱工儀表的設(shè)計(jì)、校正、維修中提供信號(hào)源,而且能把某些儀表端口的信號(hào)采集到計(jì)算機(jī)上處理并且打印出數(shù)據(jù),以便相關(guān)人員分析處理并作出相應(yīng)的反應(yīng)。

儀表的功能
本儀表不僅能測量和產(chǎn)生熱工儀表統(tǒng)一的聯(lián)絡(luò)信號(hào),而且能數(shù)字化并顯示信號(hào)大小,具有動(dòng)態(tài)顯示、性能穩(wěn)定等優(yōu)點(diǎn)。概括起來,儀表具有如下功能:
(1) 可以測量和產(chǎn)生DDZ-Ⅱ型儀表間的聯(lián)絡(luò)信號(hào):0~10mA DC。
(2) 可以測量和產(chǎn)生DDZ-Ⅲ型儀表間的聯(lián)絡(luò)信號(hào):4~20mA DC,1~5V DC。
(3) 具有RS-232串行通信口,可以和上位機(jī)進(jìn)行通信。
(4) 通過按鍵設(shè)定信號(hào)輸出值,信號(hào)輸出和顯示的整個(gè)過程在毫秒內(nèi)完成。
(5) 4位數(shù)碼管動(dòng)態(tài)地顯示測量和產(chǎn)生信號(hào)值大小。
儀表的硬件結(jié)構(gòu)
本儀表主要由PIC16F877單片機(jī)和外圍器件及其相應(yīng)的軟件編程構(gòu)成,如圖1所示??煞譃?大模塊:輸入模塊、A/D轉(zhuǎn)換模塊、數(shù)碼顯示模塊、串口通信模塊、鍵盤設(shè)置模、D/A轉(zhuǎn)換模塊和電源模塊。
本文主要介紹輸入模塊、通信模塊、A/D轉(zhuǎn)換模塊、及鍵盤設(shè)置模塊,以便更好地說明該儀表的硬件電路和軟件編程。

關(guān)鍵芯片和技術(shù)
輸入模塊
輸入模塊設(shè)計(jì)了三路模擬量輸入電路:一路輸入0~10mA DC電流信號(hào),通過500?的精密電阻轉(zhuǎn)化為0~5V DC電壓信號(hào);一路輸入1~5V DC 電壓信號(hào);另一路輸入4~20mA電流信號(hào),經(jīng)過250?的精密電阻轉(zhuǎn)化為1~5V DC電壓信號(hào)。由于使用OP07運(yùn)放器構(gòu)成電壓跟隨器,顯著提高了抗干擾能力和精度,輸入模塊的硬件電路圖如圖2所示。
OP07運(yùn)放器后接了一個(gè)超量程報(bào)警系統(tǒng),它由穩(wěn)壓管、報(bào)警器、過電壓繼電器和動(dòng)斷觸點(diǎn)組成。穩(wěn)壓管和過電壓繼電器的額定電壓都是+5V,當(dāng)輸入電壓值超過該值時(shí),過電壓繼電器就會(huì)使動(dòng)斷觸點(diǎn)斷開從而自動(dòng)切斷電路,與此同時(shí)穩(wěn)壓管導(dǎo)通,報(bào)警器產(chǎn)生一個(gè)報(bào)警信號(hào)。
由于測量現(xiàn)場往往有磁干擾和火花干擾,所以本設(shè)計(jì)選用低通濾波器用于對(duì)現(xiàn)場強(qiáng)電磁和火花干擾的抑制和消除,同時(shí)除掉直流信號(hào)中混入的交流信號(hào)。
A/D轉(zhuǎn)換模塊
本設(shè)計(jì)采用PIC16F877單片機(jī)作為核心芯片,其A/D轉(zhuǎn)換值為10位,可設(shè)置1~8個(gè)A/D轉(zhuǎn)換通道。本儀表將A口的RA0引腳設(shè)定為模擬電壓輸入,進(jìn)行A/D轉(zhuǎn)換后先將A/DRESH和A/DRESL寄存器中的值經(jīng)數(shù)據(jù)處理變?yōu)榕c實(shí)際模擬量相對(duì)應(yīng)的二進(jìn)制數(shù),再變換成對(duì)應(yīng)的BCD碼,最后送到與C口相連的數(shù)碼顯示模塊上進(jìn)行顯示。
設(shè)置輸入/輸出引腳
由于PIC16F877的引腳同時(shí)具備輸入/輸出的功能,因此使用前必須進(jìn)行設(shè)置,其初始化引腳的命令如下:
banksel TRISC ;選擇TRISC寄存器所在的數(shù)據(jù)存儲(chǔ)體
clrf TRISC,3:0> ;設(shè)定C口的RC3:RC0為數(shù)據(jù)輸出口
bsf TRISA,0 ;設(shè)定A口的RA0為輸入口
進(jìn)行A/D轉(zhuǎn)換的步驟
(1) A/D轉(zhuǎn)換的初始設(shè)定:對(duì)A/DCON1和A/DCON0寄存器中的位進(jìn)行設(shè)置。
(2) 選擇A/D轉(zhuǎn)換的模擬輸入端:A/DCON0寄存器的5:3>位設(shè)為000,表示選擇A口0>位RA0為模擬輸入端。
(3) 啟動(dòng)A/D轉(zhuǎn)換:A/DCON0寄存器的2>位GO/DONE為1時(shí),表示正開始進(jìn)行A/D轉(zhuǎn)換。
(4) 查看A/D轉(zhuǎn)換是否完成:GO/DONE同時(shí)作為A/D轉(zhuǎn)換的標(biāo)志信號(hào),若為1時(shí),表示正在進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換工作尚未結(jié)束;若為0時(shí),表示A/D轉(zhuǎn)換已完成,可以讀取轉(zhuǎn)換結(jié)果。
(5) 存放A/D轉(zhuǎn)換的結(jié)果:把A/D轉(zhuǎn)換的結(jié)果存放在A/DRESH和A/DRESL寄存器中。
RS-232 串口通信
PIC16F877與PC之間的雙向RS-232通信的目的是把A/DRESH、A/DRESL中的數(shù)據(jù)傳到上位機(jī)(計(jì)算機(jī)),上位機(jī)采用C語言編輯的接收軟件接收數(shù)據(jù),并進(jìn)行更進(jìn)一步的處理。
選擇波特率
在PIC16F877的UART模塊中,8位寄存器SPBRG的值X和寄器TXSTA中的BRGH位決定通信時(shí)的波特率。當(dāng)BRGH=1 時(shí),由于該儀器的波特率設(shè)為9600bit/s, Fosc=4MHz,通過計(jì)算可以得到X=25.042≈25,此時(shí)其誤差僅為:(9615-9600)/9600=0.16%,表示波特率選擇合適。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉