單片機(jī)構(gòu)成的環(huán)境溫濕度實(shí)時(shí)測(cè)控裝置設(shè)計(jì)
介紹了環(huán)境溫濕度實(shí)時(shí)測(cè)控裝置的研制思路和方法。該裝置可實(shí)現(xiàn)環(huán)境溫度、濕度的實(shí)時(shí)測(cè)量與控制,并附有通信接口以及可控制多種設(shè)備的多點(diǎn)時(shí)間控制電路,能方便地應(yīng)用于各種溫濕度控制場(chǎng)合。
環(huán)境條件中的溫濕度指標(biāo)是許多工作場(chǎng)合的重要參數(shù),不論是倉(cāng)庫(kù)管理、圖書(shū)保存還是工業(yè)測(cè)量與計(jì)量檢定,都需要符合操作規(guī)定的溫濕度環(huán)境條件。而溫濕度也是最不易保障的指標(biāo),針對(duì)這一情況,研制可靠且實(shí)用的溫濕度控制器顯得非常重要。本文介紹的溫濕度實(shí)時(shí)控制裝置可在0~50℃和20%~98%RH(相對(duì)濕度)的范圍內(nèi)任意設(shè)定溫濕度值,其附加的通信接口可方便地實(shí)現(xiàn)與計(jì)算機(jī)的實(shí)時(shí)通信,而且便于功能的擴(kuò)展,可保證溫度、濕度滿(mǎn)足設(shè)計(jì)指標(biāo)。此外,該裝置還可自動(dòng)控制多個(gè)設(shè)備的多點(diǎn)時(shí)間控制電路,因而具有更廣泛的應(yīng)用前景。該裝置可實(shí)現(xiàn)的功能如下:
●在0~50℃和20%~98%RH間可任意設(shè)定溫濕度控制點(diǎn);
●可以實(shí)時(shí)監(jiān)測(cè)環(huán)境溫濕度的變化情況,并記錄、存儲(chǔ)相關(guān)數(shù)據(jù);
●對(duì)環(huán)境溫濕度的控制可滿(mǎn)足設(shè)計(jì)指標(biāo);
●具有多點(diǎn)定時(shí)設(shè)備控制電路,便于功能擴(kuò)展;
●設(shè)有語(yǔ)音提示功能,可方便地實(shí)現(xiàn)儀器操作和工作管理提示;
●配有通信接口,可方便地與計(jì)算機(jī)進(jìn)行通信;
●溫濕度控制的精度分別為:溫度(0~50℃)±0.5℃;濕度(20%~98%RH)±2%~3%RH。
?。庇布O(shè)計(jì)
該裝置的硬件框圖如圖1所示。它主要由單片機(jī)PIC16C73及外部電路構(gòu)成。PIC16C73是由美國(guó)Microchip公司生產(chǎn)的8位單片微機(jī),采用Harvard結(jié)構(gòu),這種結(jié)構(gòu)可使指令執(zhí)行和取指操作重疊進(jìn)行,因而具有很高的執(zhí)行速度。它只有35條單字節(jié)指令,除了跳轉(zhuǎn)指令是2周期指令外,其它指令都是單周期指令。這些特點(diǎn)使它較之于別的8位單片機(jī)節(jié)省了1/2的程序空間,并具有41的速度優(yōu)勢(shì)。PIC16C73在芯片內(nèi)集成了一個(gè)8位算術(shù)邏輯單元和工作寄存器、4k程序存儲(chǔ)器、192個(gè)數(shù)據(jù)寄存器、22個(gè)I/O口、3個(gè)定時(shí)/計(jì)數(shù)器及2個(gè)捕捉/比較/PWM模塊和2個(gè)串行口,其中A/D轉(zhuǎn)換器具有5路模擬量輸入端,同時(shí)還具有時(shí)鐘、復(fù)位、看門(mén)狗定時(shí)器等。這5路模擬量輸入通道共同復(fù)用一個(gè)采樣/保持和A/D轉(zhuǎn)換器。PIC16C73外接溫濕度采樣電路及電器驅(qū)動(dòng)電路,因而可實(shí)現(xiàn)對(duì)溫濕度的控制。該系統(tǒng)硬件主要包括本機(jī)地址設(shè)定電路、采樣電路、鍵盤(pán)顯示電路、看門(mén)狗電路、電器驅(qū)動(dòng)電路、時(shí)間設(shè)置及定時(shí)驅(qū)動(dòng)電路、RS-232通信等電路。下面以計(jì)量實(shí)驗(yàn)室溫濕度的控制為例,對(duì)各主要電路加以介紹。
?。保睖囟葯z測(cè)電路
溫度檢測(cè)電路選用Dallas公司生產(chǎn)的一線(xiàn)式數(shù)字溫度傳感器DS1820作為溫度檢測(cè)器件,該器件只有3個(gè)引腳(即電源VDD、地線(xiàn)GND、數(shù)據(jù)線(xiàn)DQ),且不需要外部元件,而是共用一條數(shù)據(jù)線(xiàn)進(jìn)行通信,使用一根I/O線(xiàn)通信時(shí),DS1820的電源電壓是以寄生方式供電的,因此,只需將其VDD和GND端接地即可。該電路的檢測(cè)溫度范圍為-55~+125℃;精度為0.5℃;用9bit數(shù)字量來(lái)表示溫度;每次將溫度轉(zhuǎn)換成數(shù)字量需200ms。筆者采用三塊DS1820來(lái)實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室環(huán)境溫度的檢測(cè),之所以用三塊,是為了更好地保持溫度的恒定。使用時(shí)可分別將這三塊DS1820放置在房間的不同位置。獲得溫度信息時(shí),先由PIC16C73的RA2腳發(fā)送一個(gè)1ms的復(fù)位脈沖,以使DS1820復(fù)位后將向PIC16C73發(fā)送一個(gè)回應(yīng)脈沖,PIC16C73接到回應(yīng)脈沖后將發(fā)送讀DS1820序列號(hào)的讀ROM命令,以分別讀取三個(gè)DS1820的序列號(hào)(每一塊DS1820有唯一的序列號(hào));然后,PIC16C73再發(fā)出定位命令以選擇在線(xiàn)的DS1820并進(jìn)行溫度轉(zhuǎn)換。此時(shí)PIC16C73的RA1腳應(yīng)輸出一個(gè)保持2s以上的高電平信號(hào)來(lái)使SK214導(dǎo)通,從而提供DS1820在總線(xiàn)供電下進(jìn)行溫度轉(zhuǎn)換時(shí)所需的1mA電流。當(dāng)溫度轉(zhuǎn)換完成后,PIC16C73的RA2腳會(huì)發(fā)送DS1820的存儲(chǔ)命令,從而完成溫度信息數(shù)據(jù)的轉(zhuǎn)換和讀取。
1.2濕度檢測(cè)電路
濕度信號(hào)的獲取采用電容式濕敏傳感器作為濕度檢測(cè)器件。環(huán)境濕度與傳感器電容成線(xiàn)性關(guān)系,所以可方便地將濕度轉(zhuǎn)換成PIC16C73可以接受的電信號(hào),本例中采用EL7556來(lái)實(shí)現(xiàn)轉(zhuǎn)換。EL7556由積分電路、基準(zhǔn)電路、頻率轉(zhuǎn)換電路及頻率—電壓(F/V)轉(zhuǎn)換電路等組成,積分電路及R1、R2、C1用于產(chǎn)生一定頻率的脈沖信號(hào)并從5腳送至8腳。調(diào)節(jié)R2可對(duì)該脈沖信號(hào)頻率進(jìn)行調(diào)整,從而使?jié)穸葌鞲衅鞯木€(xiàn)性和靈敏度處于較好狀態(tài);基準(zhǔn)電路和頻率轉(zhuǎn)換電路可將濕度傳感器的電容變化轉(zhuǎn)換成頻率變化,再經(jīng)頻率—電壓轉(zhuǎn)換電路后從9腳輸出與頻率成線(xiàn)性的電壓,然后經(jīng)C3等濾波后送入PIC16C73的RA0端,再進(jìn)行A/D轉(zhuǎn)換以將其轉(zhuǎn)換成數(shù)字信號(hào)。本例中的濕敏傳感器為MXS型電容式濕敏傳感器,濕度為76%RH時(shí)的電容值為500pF,電容相對(duì)變化率為+1.7pF/%。當(dāng)濕度為0%~100%RH時(shí),9腳輸出的相應(yīng)信號(hào)頻率為0~1000Hz,精度為2%,F/V電路輸出的電壓為0~5V。調(diào)整時(shí),可先設(shè)定濕度為5%RH,然后調(diào)節(jié)R2,使9腳輸出100mV電壓即可。
?。保扯〞r(shí)及控制驅(qū)動(dòng)電路
定時(shí)主要用于提前預(yù)熱儀器設(shè)備和定時(shí)語(yǔ)音提醒等,該功能的實(shí)現(xiàn)由單片機(jī)來(lái)完成。時(shí)鐘頻率選用32.768kHz,該頻率可使單片機(jī)工作在最小功耗狀態(tài)并可簡(jiǎn)化分頻、定時(shí)程序的編寫(xiě)。可選用看門(mén)狗電路來(lái)作為定時(shí)基準(zhǔn),看門(mén)狗每18ms復(fù)位一次可確保時(shí)鐘的準(zhǔn)確及語(yǔ)音電路的播放操作。
控制驅(qū)動(dòng)電路用于保護(hù)儀器。各個(gè)電磁閥的導(dǎo)通要有一定的時(shí)間間隔,本例中為2分鐘。推薦的工作方式為:6:00電磁閥1導(dǎo)通,接通穩(wěn)壓電源;602以后每間隔2分鐘接通一個(gè)相應(yīng)設(shè)備(應(yīng)先啟動(dòng)感性及大功率設(shè)備)。這樣,當(dāng)8:00上班后即可保證有些需要預(yù)熱1~2小時(shí)的儀器設(shè)備進(jìn)入最佳工作狀態(tài),從而提高工作效率,保證計(jì)量檢定的質(zhì)量。電器驅(qū)動(dòng)電路控制的設(shè)備主要包括空調(diào)機(jī)、風(fēng)機(jī)、吸濕機(jī)、加濕機(jī)等,可分別采用過(guò)零型固態(tài)繼電器來(lái)控制工作。為了便于擴(kuò)展該裝置的功能,系統(tǒng)應(yīng)留有足夠的擴(kuò)展空間。因此,設(shè)計(jì)時(shí)可用PIC16C73的RA3口作控制口,另外可外擴(kuò)兩片PCF8574以作備用。該系統(tǒng)最多可控制16個(gè)設(shè)備以滿(mǎn)足不同需要。繼電器采用交流固態(tài)繼電器,其內(nèi)部采用光電隔離方式,可有效地避免電磁干擾。當(dāng)單片機(jī)檢測(cè)到溫濕度信號(hào)超過(guò)設(shè)定值時(shí),將從RA3口發(fā)出控制信號(hào),并通過(guò)光耦產(chǎn)生大于5mA的觸發(fā)電流使固態(tài)繼電器啟動(dòng)相應(yīng)的電器工作,從而實(shí)現(xiàn)對(duì)相應(yīng)設(shè)備的控制。設(shè)計(jì)時(shí)應(yīng)注意各個(gè)電器不要同時(shí)啟動(dòng)以免沖擊電網(wǎng),這部分工作可由軟件延時(shí)完成。固態(tài)繼電器可選擇國(guó)產(chǎn)的H220D15。
?。保凑Z(yǔ)音電路
語(yǔ)音電路用于完成多種語(yǔ)音提示??蛇x用臺(tái)灣Winband公司生產(chǎn)的語(yǔ)音處理芯片W513000。該器件除了支持按鍵直接控制話(huà)筒和喇叭的隨錄隨放功能和快速搜索放音模式外,還具有完善的CPU微處理器控制模式,并可用單片機(jī)控制它的所有功能。其主要提供的語(yǔ)音信息為:
(1)加濕器、吸濕器水箱的水滿(mǎn)和缺水報(bào)警。這部分語(yǔ)音信號(hào)的觸發(fā)由安裝在水槽內(nèi)的導(dǎo)電電極片完成;
(2)中午休息和下班信息的提示;
(3)預(yù)約工作的提示,如可提示預(yù)先設(shè)置的工作計(jì)劃安排等信息。
語(yǔ)音的錄制等操作可由鍵盤(pán)和PIC16C73完成。
1.5通信和鍵盤(pán)顯示電路
為了更好地實(shí)現(xiàn)與上位計(jì)算機(jī)之間的通信和系統(tǒng)功能的擴(kuò)展,該裝置設(shè)有RS-232接口電路,通信速率可由用戶(hù)在1200/2400/4800/9600比特等4種中通過(guò)鍵盤(pán)按需選擇。
該系統(tǒng)的鍵盤(pán)設(shè)有16個(gè)按鍵:0~9為10個(gè)數(shù)字鍵;A為設(shè)定功能選擇鍵,B為設(shè)定完成確定鍵,C為顯示選擇鍵,D~F鍵則用于完成語(yǔ)音處理和通信等功能。對(duì)于溫濕度的顯示,則可采用4位LED動(dòng)態(tài)分時(shí)完成。
2軟件設(shè)計(jì)
該系統(tǒng)軟件可采用模塊化設(shè)計(jì)方法,用匯編語(yǔ)言來(lái)實(shí)現(xiàn)。包括主程序、中斷服務(wù)程序、溫濕度檢測(cè)程序、語(yǔ)音處理程序、定時(shí)驅(qū)動(dòng)程序、顯示子程序等。主程序以循環(huán)方式工作,主要完成中斷初始化、鍵盤(pán)掃描、溫濕度檢測(cè)、語(yǔ)音處理及顯示子程序的循環(huán)調(diào)用等功能。
?。玻敝鞒绦蛟O(shè)計(jì)
主程序是控制和管理的核心,主要完成在系統(tǒng)上電后進(jìn)行定時(shí)器和中斷處理操作的初始化。初始化主要完成對(duì)溫濕度的設(shè)定和檢查除定時(shí)器T0外的所有中斷禁止,同時(shí)斷開(kāi)各電器的電源。初始化完成后,系統(tǒng)將開(kāi)始正常運(yùn)行,并進(jìn)行溫濕度檢測(cè)、鍵盤(pán)掃描及定時(shí)處理等操作,其軟件流程如圖2所示。
?。玻矞貪穸忍幚碜映绦?/p>
溫度傳感器選用DS1820,其軟件的編寫(xiě)相對(duì)簡(jiǎn)單,DS1820輸入單片機(jī)的信號(hào)為9位數(shù)字信號(hào),它不需要進(jìn)行轉(zhuǎn)換。這里應(yīng)注意的是,軟件控制單片機(jī)向DS1820發(fā)送的復(fù)位脈沖一定要大于1ms,否則軟件將無(wú)法正常運(yùn)行。這主要與DS1820的寫(xiě)時(shí)間有關(guān),在用軟件進(jìn)行寫(xiě)0之后和寫(xiě)1之前,必須有800μs的低脈沖,寫(xiě)1后再寫(xiě)1也是如此,否則將出現(xiàn)數(shù)據(jù)寫(xiě)錯(cuò)誤。
由于PIC16C73內(nèi)含A/D轉(zhuǎn)換器,因此,參考電壓可由軟件設(shè)置為器件的正電源電壓,同時(shí)由RA0引腳接入的模擬電壓可經(jīng)A/D轉(zhuǎn)換成數(shù)字信號(hào)。系統(tǒng)中的A/D模塊有3個(gè)寄存器分別為:A/D轉(zhuǎn)換結(jié)果寄存器(ADRES)、A/D控制寄存器0(ADCON0)和A/D控制寄存器1(ADCON1)。其中A/D控制寄存器0用于控制A/D模塊的工作,寄存器的上電復(fù)位值是00H,未用位在執(zhí)行讀操作時(shí)為0,不能執(zhí)行寫(xiě)操作,其它位均可讀寫(xiě)。A/D控制寄存器1則只用了0~2位,這3位是A/D轉(zhuǎn)換口配置位,通過(guò)這些位可將模擬口配置成不同的工作方式,包括模擬量輸入輸出、數(shù)字量輸入輸出以及參考電壓。
以RA0通道為例,其A/D轉(zhuǎn)換程序如下:
?。拢樱疲樱裕粒裕眨?,RP0;選擇頁(yè)面1
?。茫蹋遥疲粒模茫希危?;配置A/D輸入
BSFPIE1,ADIE;使能A/D中斷
?。拢茫疲樱裕粒裕眨樱遥校?;選擇頁(yè)面0
MOVLW0XC1;時(shí)鐘、A/D接通
?。停希郑祝疲粒模茫希危?;
?。拢茫疲校桑遥保粒模桑?;清除A/D中斷標(biāo)志
BCFINTCON,PEIE;使能外圍功能
BCFINTCON,GIE;使能所有中斷
?。辰Y(jié)束語(yǔ)
本裝置對(duì)需要溫濕度實(shí)時(shí)控制的工作場(chǎng)合是非常必要的,并且具有較大的應(yīng)用價(jià)值。由于采用了一線(xiàn)數(shù)字溫度傳感器DS1820來(lái)實(shí)現(xiàn)多點(diǎn)溫度采樣,所以可實(shí)現(xiàn)多點(diǎn)溫度采樣的集中控制。配置的RS-232接口可使多個(gè)這樣的裝置方便地與上位機(jī)(計(jì)算機(jī))互聯(lián),以實(shí)現(xiàn)溫濕度的測(cè)控。該裝置現(xiàn)已成功地應(yīng)用于程控機(jī)房中,效果較好。
by國(guó)外電子元器件