單片機(jī)構(gòu)成的環(huán)境溫濕度實(shí)時(shí)測控裝置設(shè)計(jì)
介紹了環(huán)境溫濕度實(shí)時(shí)測控裝置的研制思路和方法。該裝置可實(shí)現(xiàn)環(huán)境溫度、濕度的實(shí)時(shí)測量與控制,并附有通信接口以及可控制多種設(shè)備的多點(diǎn)時(shí)間控制電路,能方便地應(yīng)用于各種溫濕度控制場合。環(huán)境條件中的溫濕度指標(biāo)是許多工作場合的重要參數(shù),不論是倉庫管理、圖書保存還是工業(yè)測量與計(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ò)展,可保證溫度、濕度滿足設(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)測環(huán)境溫濕度的變化情況,并記錄、存儲(chǔ)相關(guān)數(shù)據(jù);
●對(duì)環(huán)境溫濕度的控制可滿足設(shè)計(jì)指標(biāo);
●具有多點(diǎn)定時(shí)設(shè)備控制電路,便于功能擴(kuò)展;
●設(shè)有語音提示功能,可方便地實(shí)現(xiàn)儀器操作和工作管理提示;
●配有通信接口,可方便地與計(jì)算機(jī)進(jìn)行通信;
●溫濕度控制的精度分別為:溫度(0~50℃)±0.5℃;濕度(20%~98%RH)±2%~3%RH。
1 硬件設(shè)計(jì)
該裝置的硬件框圖如圖1所示。它主要由單片機(jī)PIC16C73及外部電路構(gòu)成。PIC16C73是由美國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ù)位、看門狗定時(shí)器等。這5路模擬量輸入通道共同復(fù)用一個(gè)采樣/保持和A/D轉(zhuǎn)換器。PIC16C73外接溫濕度采樣電路及電器驅(qū)動(dòng)電路,因而可實(shí)現(xiàn)對(duì)溫濕度的控制。該系統(tǒng)硬件主要包括本機(jī)地址設(shè)定電路、采樣電路、鍵盤顯示電路、看門狗電路、電器驅(qū)動(dòng)電路、時(shí)間設(shè)置及定時(shí)驅(qū)動(dòng)電路、RS-232通信等電路。下面以計(jì)量實(shí)驗(yàn)室溫濕度的控制為例,對(duì)各主要電路加以介紹。
1.1 溫度檢測電路
溫度檢測電路選用Dallas公司生產(chǎn)的一線式數(shù)字溫度傳感器DS1820作為溫度檢測器件,該器件只有3個(gè)引腳(即電源VDD、地線GND、數(shù)據(jù)線DQ),且不需要外部元件,而是共用一條數(shù)據(jù)線進(jìn)行通信,使用一根I/O線通信時(shí),DS1820的電源電壓是以寄生方式供電的,因此,只需將其VDD和GND端接地即可。該電路的檢測溫度范圍為-55~+125℃;精度為0.5℃;用9bit數(shù)字量來表示溫度;每次將溫度轉(zhuǎn)換成數(shù)字量需200ms。筆者采用三塊DS1820來實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室環(huán)境溫度的檢測,之所以用三塊,是為了更好地保持溫度的恒定。使用時(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ā)出定位命令以選擇在線的DS1820并進(jìn)行溫度轉(zhuǎn)換。此時(shí)PIC16C73的RA1腳應(yīng)輸出一個(gè)保持2s以上的高電平信號(hào)來使SK214導(dǎo)通,從而提供DS1820在總線供電下進(jìn)行溫度轉(zhuǎn)換時(shí)所需的1mA電流。當(dāng)溫度轉(zhuǎn)換完成后,PIC16C73的RA2腳會(huì)發(fā)送DS1820的存儲(chǔ)命令,從而完成溫度信息數(shù)據(jù)的轉(zhuǎn)換和讀取。
1.2 濕度檢測電路
濕度信號(hào)的獲取采用電容式濕敏傳感器作為濕度檢測器件。環(huán)境濕度與傳感器電容成線性關(guān)系,所以可方便地將濕度轉(zhuǎn)換成PIC16C73可以接受的電信號(hào),本例中采用EL7556來實(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é)穸葌鞲衅鞯木€性和靈敏度處于較好狀態(tài);基準(zhǔn)電路和頻率轉(zhuǎn)換電路可將濕度傳感器的電容變化轉(zhuǎn)換成頻率變化,再經(jīng)頻率—電壓轉(zhuǎn)換電路后從9腳輸出與頻率成線性的電壓,然后經(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電壓即可。
1.3 定時(shí)及控制驅(qū)動(dòng)電路
定時(shí)主要用于提前預(yù)熱儀器設(shè)備和定時(shí)語音提醒等,該功能的實(shí)現(xiàn)由單片機(jī)來完成。時(shí)鐘頻率選用32.768kHz,該頻率可使單片機(jī)工作在最小功耗狀態(tài)并可簡化分頻、定時(shí)程序的編寫??蛇x用看門狗電路來作為定時(shí)基準(zhǔn),看門狗每18ms復(fù)位一次可確保時(shí)鐘的準(zhǔn)確及語音電路的播放操作。
控制驅(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ī)等,可分別采用過零型固態(tài)繼電器來控制工作。為了便于擴(kuò)展該裝置的功能,系統(tǒng)應(yīng)留有足夠的擴(kuò)展空間。因此,設(shè)計(jì)時(shí)可用PIC16C73的RA3口作控制口,另外可外擴(kuò)兩片PCF8574以作備用。該系統(tǒng)最多可控制16個(gè)設(shè)備以滿足不同需要。繼電器采用交流固態(tài)繼電器,其內(nèi)部采用光電隔離方式,可有效地避免電磁干擾。當(dāng)單片機(jī)檢測到溫濕度信號(hào)超過設(shè)定值時(shí),將從RA3口發(fā)出控制信號(hào),并通過光耦產(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)繼電器可選擇國產(chǎn)的H220D15。
1.4 語音電路
語音電路用于完成多種語音提示??蛇x用臺(tái)灣Winband公司生產(chǎn)的語音處理芯片W513000。該器件除了支持按鍵直接控制話筒和喇叭的隨錄隨放功能和快速搜索放音模式外,還具有完善的CPU微處理器控制模式,并可用單片機(jī)控制它的所有功能。其主要提供的語音信息為:
(1)加濕器、吸濕器水箱的水滿和缺水報(bào)警。這部分語音信號(hào)的觸發(fā)由安裝在水槽內(nèi)的導(dǎo)電電極片完成;
(2)中午休息和下班信息的提示;
(3)預(yù)約工作的提示,如可提示預(yù)先設(shè)置的工作計(jì)劃安排等信息。
語音的錄制等操作可由鍵盤和PIC16C73完成。
1.5 通信和鍵盤顯示電路
為了更好地實(shí)現(xiàn)與上位計(jì)算機(jī)之間的通信和系統(tǒng)功能的擴(kuò)展,該裝置設(shè)有RS-232接口電路,通信速率可由用戶在1200/2400/4800/9600比特等4種中通過鍵盤按需選擇。
該系統(tǒng)的鍵盤設(shè)有16個(gè)按鍵:0~9為10個(gè)數(shù)字鍵;A為設(shè)定功能選擇鍵,B為設(shè)定完成確定鍵,C為顯示選擇鍵,D~F鍵則用于完成語音處理和通信等功能。對(duì)于溫濕度的顯示,則可采用4位LED動(dòng)態(tài)分時(shí)完成。
2 軟件設(shè)計(jì)
該系統(tǒng)軟件可采用模塊化設(shè)計(jì)方法,用匯編語言來實(shí)現(xiàn)。包括主程序、中斷服務(wù)程序、溫濕度檢測程序、語音處理程序、定時(shí)驅(qū)動(dòng)程序、顯示子程序等。主程序以循環(huán)方式工作,主要完成中斷初始化、鍵盤掃描、溫濕度檢測、語音處理及顯示子程序的循環(huán)調(diào)用等功能。
2.1 主程序設(shè)計(jì)
主程序是控制和管理的核心,主要完成在系統(tǒng)上電后進(jìn)行定時(shí)器和中斷處理操作的初始化。初始化主要完成對(duì)溫濕度的設(shè)定和檢查除定時(shí)器T0外的所有中斷禁止,同時(shí)斷開各電器的電源。初始化完成后,系統(tǒng)將開始正常運(yùn)行,并進(jìn)行溫濕度檢測、鍵盤掃描及定時(shí)處理等操作,其軟件流程如圖2所示。
2.2 溫濕度處理子程序
溫度傳感器選用DS1820,其軟件的編寫相對(duì)簡單,DS1820輸入單片機(jī)的信號(hào)為9位數(shù)字信號(hào),它不需要進(jìn)行轉(zhuǎn)換。這里應(yīng)注意的是,軟件控制單片機(jī)向DS1820發(fā)送的復(fù)位脈沖一定要大于1ms,否則軟件將無法正常運(yùn)行。這主要與DS1820的寫時(shí)間有關(guān),在用軟件進(jìn)行寫0之后和寫1之前,必須有800μs的低脈沖,寫1后再寫1也是如此,否則將出現(xiàn)數(shù)據(jù)寫錯(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í)行寫操作,其它位均可讀寫。A/D控制寄存器1則只用了0~2位,這3位是A/D轉(zhuǎn)換口配置位,通過這些位可將模擬口配置成不同的工作方式,包括模擬量輸入輸出、數(shù)字量輸入輸出以及參考電壓。
以RA0通道為例,其A/D轉(zhuǎn)換程序如下:
BSF STATUS,RP0 ;選擇頁面1
CLRF ADCON1 ;配置A/D輸入
BSF PIE1,ADIE ;使能A/D中斷
BCF STATUS,RP0 ;選擇頁面0
MOVLW 0XC1 ;時(shí)鐘、A/D接通
MOVWF ADCON0 ;
BCF PIR1,ADIF ;清除A/D中斷標(biāo)志
BCF INTCON,PEIE ;使能外圍功能
BCF INTCON,GIE ;使能所有中斷
3 結(jié)束語
本裝置對(duì)需要溫濕度實(shí)時(shí)控制的工作場合是非常必要的,并且具有較大的應(yīng)用價(jià)值。由于采用了一線數(shù)字溫度傳感器DS1820來實(shí)現(xiàn)多點(diǎn)溫度采樣,所以可實(shí)現(xiàn)多點(diǎn)溫度采樣的集中控制。配置的RS-232接口可使多個(gè)這樣的裝置方便地與上位機(jī)(計(jì)算機(jī))互聯(lián),以實(shí)現(xiàn)溫濕度的測控。該裝置現(xiàn)已成功地應(yīng)用于程控機(jī)房中,效果較好。