安 森,張彥航,崔文華
(哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱 150001)
隨著微電子技術(shù)、自動(dòng)控制、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及通信技術(shù)的飛速發(fā)展,面向各種復(fù)雜應(yīng)用背景的多傳感器系統(tǒng)大量涌現(xiàn),人類開始步入物聯(lián)網(wǎng)時(shí)代。融合了自動(dòng)化控制、計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)和無線通訊技術(shù)于一體的智能化家居控制系統(tǒng)作為其中的一個(gè)典型應(yīng)用越來越成為人們關(guān)注的熱點(diǎn)[1-4]。以往人們對居室環(huán)境的要求僅僅是簡單的居住功能,隨著技術(shù)的進(jìn)步和時(shí)代的變遷,人們對居住環(huán)境提出了更新和更高的要求,而功能化和智能化已成為其中不可或缺的選擇。作為智能家居的一個(gè)重要組成部分,智能窗簾控制系統(tǒng)在家居、大型會(huì)議室等領(lǐng)域具有廣泛的應(yīng)用前景。設(shè)計(jì)實(shí)現(xiàn)的智能窗簾系統(tǒng)以凌陽61 單片機(jī)[5]為主控核心,采用模擬、數(shù)字式傳感器應(yīng)用技術(shù),具有自動(dòng)模式和手動(dòng)模式兩種工作方式供用戶選擇,還更為人性化地設(shè)置了自動(dòng)模式、手動(dòng)模式指示燈,光照度等級指示燈、數(shù)字式溫度、濕度計(jì)。在自動(dòng)模式下,可以通過對室內(nèi)溫度、濕度及光照度的實(shí)時(shí)綜合檢測,實(shí)現(xiàn)窗簾開合程度的自動(dòng)調(diào)節(jié)。手動(dòng)模式下,通過人工操作遙控器對窗簾實(shí)現(xiàn)任意開度的控制。根據(jù)面板上設(shè)置的指示燈,用戶可以很方便地獲取當(dāng)前系統(tǒng)的工作模式以及系統(tǒng)所測得的周圍環(huán)境的參數(shù)。該系統(tǒng)克服了傳統(tǒng)窗簾功能單一、缺少智能化的缺點(diǎn),能滿足不同程度的多種應(yīng)用需求,為人們提供更方便、更快捷和更舒適的生活環(huán)境,有助于提高生活質(zhì)量。
為方便用戶的使用,智能窗簾控制系統(tǒng)設(shè)置了自動(dòng)模式和手動(dòng)模式兩種工作方式,方便用戶進(jìn)行選擇。并且設(shè)置了人性化的人機(jī)面板,設(shè)置指示燈方便用戶操作,面板上顯示的溫度、濕度值還可以作為數(shù)字式溫度、濕度計(jì)供用戶使用。在自動(dòng)模式下,通過對室內(nèi)溫度、濕度及光照度強(qiáng)弱的實(shí)時(shí)綜合檢測,實(shí)現(xiàn)窗簾開合程度的自動(dòng)調(diào)節(jié)。調(diào)整的原則是,白天,隨著室內(nèi)溫度相比正常值(可設(shè)定)不同程度的下降或升高,窗簾可以有不同程度的開、合,即通過增加或減少室內(nèi)的光照,避免室內(nèi)過冷或過熱,同時(shí),測得的溫度值顯示在顯示屏上供用戶讀取;同理,也可以利用對室內(nèi)濕度的檢測自動(dòng)調(diào)整窗簾開度,通過加快或減少室內(nèi)水蒸氣的蒸發(fā),使室內(nèi)濕度保持相對穩(wěn)定,檢測到的濕度值也顯示在面板上。另一方面,智能窗簾系統(tǒng)還能通過對室內(nèi)光照度的檢測,控制窗簾的開合程度,以保證室內(nèi)的光照始終處于一個(gè)適宜的范圍,用戶可以通過光照度等級指示燈讀取當(dāng)前室內(nèi)光照度的等級。需要說明的是,在溫度、濕度和光照度三者中,光照度的優(yōu)先級最高。若溫度、濕度和光照度均不滿足要求,則首先保證光照度,其次考慮溫度,最后考慮濕度問題。如果傳感器檢測到的光照度低于設(shè)定的黑夜值,則窗簾將完全閉合并不再自動(dòng)調(diào)整。此外,自動(dòng)方式下用戶還可以通過預(yù)約方式設(shè)定定時(shí)時(shí)間,使窗簾在指定時(shí)間實(shí)現(xiàn)開啟和閉合。預(yù)約時(shí)間通過數(shù)碼管顯示,便于查看。如果用戶對智能窗簾的自動(dòng)調(diào)整效果不滿意,或者遇到特殊情況需要人工干預(yù)和調(diào)整,則用戶可以選擇手動(dòng)模式,通過對遙控器的按鍵操作能夠方便地控制窗簾實(shí)現(xiàn)任意開度。一旦用戶選擇手動(dòng)方式進(jìn)行操控后,窗簾將保持用戶調(diào)整的結(jié)果,直到用戶再次手工調(diào)整或重新切換到自動(dòng)方式為止。
系統(tǒng)由單片機(jī)、紅外接收、光敏檢測、溫度檢測、濕度檢測、電機(jī)驅(qū)動(dòng)、數(shù)碼顯示以及鳴響提示模塊組成。主要模塊所需的關(guān)鍵芯片及器件包括:凌陽61單片機(jī)、通用紅外遙控器、VS1838B 紅外接收頭、光敏電阻、DS18B20 溫度傳感器、DHT11 溫濕度傳感器、窗簾用交流管狀電動(dòng)機(jī)、數(shù)碼管、發(fā)光二極管及蜂鳴器。系統(tǒng)總體框圖如圖1 所示。
圖1 硬件結(jié)構(gòu)框架圖
系統(tǒng)I/O 引腳如表1 所示。
表1 系統(tǒng)I/O 引腳
紅外線是一種低成本、高速的無線傳輸形式,本系統(tǒng)中紅外發(fā)射裝置選用通用紅外遙控器,使用紐扣電池,比較省電。紅外遙控器發(fā)射編碼選擇最為通用的NEC 編碼,從而有利于查閱資料和解碼,同時(shí)也能滿足可學(xué)習(xí)型紅外遙控器進(jìn)行學(xué)習(xí)的需要。紅外接收頭接口電路如圖2 所示。
光照度檢測采用光敏電阻及凌陽61 單片機(jī)A/D轉(zhuǎn)換通道,具有靈敏度高、操作簡單、價(jià)格低廉的特點(diǎn)。接口電路參數(shù)設(shè)置如圖3 所示。
繼電器選用FANGKE JZC-23F,用以驅(qū)動(dòng)交流管狀電機(jī),該電機(jī)力矩大,能帶動(dòng)3 ×3(m2)以上的窗簾。此外,電機(jī)具有過熱保護(hù)、正反轉(zhuǎn)保護(hù)功能,當(dāng)通電時(shí)間過長、電機(jī)過熱時(shí),電機(jī)可自動(dòng)斷電進(jìn)行冷卻;當(dāng)正轉(zhuǎn)、反轉(zhuǎn)接頭同時(shí)接通時(shí),電機(jī)內(nèi)部的機(jī)電裝置可進(jìn)行報(bào)警。
圖2 VS1838B 紅外接收頭接口電路
溫度傳感器和濕度傳感器分別采用美國Dallas公司的DS18B20 數(shù)字式溫度傳感器及國產(chǎn)DHT11數(shù)字式溫濕度傳感器。兩種傳感器均采用單總線時(shí)序,能有效減少對I/O 口的占用數(shù)量。
圖3 光敏電阻接口電路
系統(tǒng)的軟件設(shè)計(jì)主要針對凌陽61 單片機(jī)的中斷系統(tǒng),其中用到了定時(shí)器中斷IRQ1 及外部中斷IRQ3。定時(shí)器中斷IRQ1的優(yōu)先級要高于外部中斷IRQ3的優(yōu)先級。
主程序首先進(jìn)行中斷的初始化操作,設(shè)定定時(shí)器中斷IRQ1的初值、控制字,在開中斷后進(jìn)入循環(huán)等待,等待IRQ1 定時(shí)器中斷或者IRQ3 外部中斷的發(fā)生。主程序流程圖如圖4 所示。
圖4 主程序流程圖
系統(tǒng)通過IRQ1 定時(shí)器中斷每隔固定的時(shí)間(可由用戶設(shè)定)對室內(nèi)環(huán)境參數(shù)值(溫度、濕度、光照度)進(jìn)行自動(dòng)檢測,并對獲取的參數(shù)進(jìn)行分析和推算,進(jìn)而得出窗簾位置的調(diào)整判斷,確保窗簾系統(tǒng)可以實(shí)時(shí)地對周圍環(huán)境的變化做出相應(yīng)的反應(yīng)。在IRQ1 定時(shí)器中斷的設(shè)計(jì)中對窗簾位置的調(diào)整加入了反饋控制。如圖5 所示,根據(jù)當(dāng)前測得的溫度、濕度值,經(jīng)過程序的分析和推算獲得一個(gè)理想的光照度值,將當(dāng)前時(shí)刻的光照度檢測值L 作為反饋量,根據(jù)理想光照度和當(dāng)前光照度的差值調(diào)整窗簾的位置,直到室內(nèi)光照度值接近理想的光照度值,窗簾保持穩(wěn)定,體現(xiàn)了以光照度為中心,即光照度優(yōu)先級最高的原則。
圖5 IRQ1 定時(shí)器中斷設(shè)計(jì)思想
圖6 中過程A、B、C、D 分別對應(yīng)于溫度低于或高于20℃,濕度低于或高于30%的四種情況,這四個(gè)過程模塊的處理流程類似,只是參數(shù)設(shè)置不同。以過程A為例,根據(jù)溫度、濕度以及光照度的檢測值對窗簾位置實(shí)現(xiàn)自動(dòng)調(diào)節(jié)的過程如圖7 所示。
IRQ3 外部中斷用于紅外遙控的控制,當(dāng)用戶對遙控器有按鍵操作,則紅外遙控器發(fā)射NEC 碼,此時(shí)檢測外部中斷的I/O 端口將檢測到低電平,這個(gè)低電平將會(huì)觸發(fā)IRQ3 外部中斷,對紅外遙控器發(fā)射的NEC 編碼進(jìn)行解碼。根據(jù)不同的解碼值系統(tǒng)做出相應(yīng)的反應(yīng)。例如若用戶按下的鍵是“開啟”或“閉合”,則系統(tǒng)發(fā)出開啟窗簾或閉合窗簾的電機(jī)驅(qū)動(dòng)信號,并在退出IRQ3 外部中斷之前,關(guān)閉IRQ1定時(shí)器中斷,以確保窗簾不再自動(dòng)開合。若用戶按下的是“自動(dòng)模式”按鍵,則在退出IRQ3 外部中斷之前,系統(tǒng)重新設(shè)定定時(shí)器初值,并開啟IRQ1 定時(shí)器中斷,以確保系統(tǒng)可以實(shí)時(shí)進(jìn)行檢測,實(shí)現(xiàn)自動(dòng)控制。需要特別說明的是:由于單總線時(shí)序以及A/D轉(zhuǎn)換通道的需要,在主程序中需要將系統(tǒng)時(shí)鐘調(diào)整到一個(gè)適合的值。
以凌陽61 單片機(jī)為控制核心,設(shè)計(jì)實(shí)現(xiàn)了集溫度控制、濕度控制、光照度控制、紅外遙控、電機(jī)驅(qū)動(dòng)及數(shù)碼顯示為一體的智能窗簾系統(tǒng)。該系統(tǒng)靈敏度高、穩(wěn)定性強(qiáng)、使用方便、可擴(kuò)展性強(qiáng),具有多種功能,不僅可以應(yīng)用在大眾家居領(lǐng)域,還可以應(yīng)用在如醫(yī)院、學(xué)校、商場等諸多場合。具有廣闊的市場發(fā)展前景和應(yīng)用價(jià)值。
[1]錢云,鄭舒予,秦雷.基于ATMEGA16 單片機(jī)的智能窗簾控制系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009(25):24-25.
[2]王春武,劉春玲,姜文龍,等.基于單片機(jī)的無線智能窗簾控制器的設(shè)計(jì)[J].吉林師范大學(xué)學(xué)報(bào),2010(1):93-95.
[3]孫勇,楊文月,趙宇新.自動(dòng)窗簾控制系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2010(13):15-17.
[4]周敬.基于單片機(jī)的窗簾智能控制系統(tǒng)設(shè)計(jì)[J].信息時(shí)代,2010(2):58-60.
[5]羅亞非.凌陽16 位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2004.