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