鄭澤華,宋文軒,堯?yàn)?,李墨涵,吳雨桐,吳炎賢
(中國礦業(yè)大學(xué)(北京)機(jī)電與信息工程學(xué)院,北京,100083)
隨著人類在數(shù)字電子技術(shù)、模擬電子技術(shù)、嵌入式技術(shù)以及各種控制算法等方面取得的進(jìn)步,使得各類智能家居產(chǎn)品相繼問世。智能控制窗簾作為家居智能生活系統(tǒng)的結(jié)構(gòu)之一,在智能家居系統(tǒng)中占據(jù)了很大一部分地位。對光感式電動窗簾系統(tǒng)的研究,旨在免去日常重復(fù)的開關(guān)窗簾操作,通過對夜晚、日間光照強(qiáng)度的檢測,實(shí)現(xiàn)早晨和晚上窗簾的自動開關(guān),并在日間光照過強(qiáng)時自動關(guān)閉窗簾,保持日間室內(nèi)光照強(qiáng)度始終處于合理的范圍,以此提升生活品質(zhì),同時也可以幫助行動不便的病人和老年人更加方便地使用窗簾。
系統(tǒng)機(jī)械傳動以及窗簾示意結(jié)構(gòu)如圖1所示,本系統(tǒng)采用百葉簾的收放結(jié)構(gòu)。百葉簾的葉片兩側(cè)通過線繩串行連接,線繩末端固定在卷繩器的一側(cè),卷繩器內(nèi)有一方型通孔,管狀電機(jī)通過方型傳動軸將旋轉(zhuǎn)力矩傳至卷繩器。以上各組件放置在“C”型不銹鋼托架中。共同構(gòu)成窗簾的機(jī)械傳動部分,而后僅需控制電機(jī)的轉(zhuǎn)動方向即可實(shí)現(xiàn)窗簾的收起和下落。
圖1 百葉簾機(jī)械結(jié)構(gòu)
系統(tǒng)基于電動百葉簾產(chǎn)品,在其已經(jīng)基本實(shí)現(xiàn)的直流電機(jī)傳動控制百葉簾的基礎(chǔ)上增加各模塊,實(shí)現(xiàn)光強(qiáng)信息的獲取并即時地判斷是否超過預(yù)設(shè)臨界值,對不同的光照強(qiáng)度區(qū)間執(zhí)行對應(yīng)的動作,使得窗簾完成自動地從感知到執(zhí)行一系列控制。另外,為了增加實(shí)用性,還設(shè)計(jì)了紅外遙控功能,并在算法中將紅外遙控設(shè)為高優(yōu)先級,接收到使用者的紅外控制信號能夠優(yōu)先執(zhí)行,此時不再采集判斷光強(qiáng)信號,以便人工控制窗簾的收起與放下。
系統(tǒng)控制部分的總體實(shí)現(xiàn)思路如圖2所示,核心電路模塊作為主要的數(shù)據(jù)處理部分,以來自紅外控制模塊接收的紅外信號為輸入;而后在自動控制模式下,同時接收光強(qiáng)信號采集模塊的信號輸入,核心電路模塊對接收的數(shù)據(jù)綜合處理后輸出控制信號至電機(jī)驅(qū)動模塊的控制端。電機(jī)驅(qū)動模塊中的控制端選通供電端到電機(jī)的通路,穩(wěn)定的直流電壓驅(qū)動直流電機(jī)的正轉(zhuǎn)、反轉(zhuǎn),進(jìn)而完成窗簾的收起或放下。
圖2 系統(tǒng)控制部分
如圖3所示,由BH1750FVI采集光強(qiáng)模擬信號,經(jīng)過A/D轉(zhuǎn)換后將數(shù)字信號以IIC總線通訊方式傳輸至Arduino Nano開發(fā)板,由VS1838B作為紅外信號采集模塊將接收的控制信息傳輸至開發(fā)板。開發(fā)板將控制信號傳輸至L298Nmini電機(jī)驅(qū)動模塊。同時采用百葉簾產(chǎn)品配套的整流電路與CK1602M迷你直流降壓電路為開發(fā)板與電機(jī)驅(qū)動電路提供5V直流電。
圖3 系統(tǒng)硬件設(shè)計(jì)
BH1750FVI是一款數(shù)字型光強(qiáng)度傳感器集成芯片。支持PC Bus接口,可以用多種方式調(diào)試,便于軟件設(shè)計(jì);光譜靈敏度特性接近人視覺靈敏度,結(jié)合50Hz/60Hz除光噪音功能,采集的數(shù)據(jù)貼合人的真實(shí)體驗(yàn),能夠滿足本系統(tǒng)檢測太強(qiáng)的光照時放下窗簾的目的;而且內(nèi)置模數(shù)轉(zhuǎn)換,可以直接輸出對應(yīng)光照強(qiáng)度的數(shù)字值,并且可采集的輸入光范圍大,相當(dāng)于1~65535lx。芯片內(nèi)部設(shè)計(jì)了低功耗功能,實(shí)現(xiàn)低電流化,減小整個系統(tǒng)的耗能。其原理如圖4所示,BH1750的內(nèi)部由光敏二極管、運(yùn)算放大器、ADC采集、晶振等組成。OSC作為芯片的時鐘源為內(nèi)部的振蕩器提供內(nèi)部邏輯時鐘。光電二極管(PD)是由一個PN結(jié)組成的具有單方向?qū)щ娞匦缘陌雽?dǎo)體器件,反向電壓下光電二極管處于工作狀態(tài),在不同光線照射下,產(chǎn)生不同強(qiáng)度的光電流,能夠?qū)⑤斎氲墓鈴?qiáng)信號轉(zhuǎn)變成電信號,射入光窗的光照越強(qiáng),產(chǎn)生的光電流越大,使得電阻兩端電壓越大。以此實(shí)現(xiàn)通過測量電壓的大小就可以判斷光照大小,但是電壓和光強(qiáng)對應(yīng)關(guān)系不是成正比的,所以這個芯片內(nèi)部使用放大器(AMP)與一個電容先將轉(zhuǎn)換的電壓線性處理,處理后電壓大小與光照強(qiáng)度呈線性關(guān)系,同時放大電壓。數(shù)模轉(zhuǎn)換器(ADC)采集處理后的電壓,將電壓強(qiáng)度信號轉(zhuǎn)換成16位二進(jìn)制數(shù)并將其存儲在BH1750的寄存器中。模塊引出I2C通訊所需的時鐘輸入線、雙向數(shù)據(jù)傳輸線、地址線,核心電路與BH1750通過I2C協(xié)議進(jìn)行通訊[1]。
圖4 BH1750結(jié)構(gòu)
紅外發(fā)射模塊使用NEC協(xié)議,38kHz的脈沖信號作為載波調(diào)制,為確保傳輸?shù)姆€(wěn)定性地址和命令數(shù)據(jù)各8位傳輸兩次。紅外控制信號的接收模塊是一體化紅外接收頭VS1838B,其內(nèi)部結(jié)構(gòu)圖見圖5。該接收頭有紅外線接收二極管、前置放大器、AGC放大器、限幅器、帶通濾波器、積分整形電路、比較器組合以及必要的而成。紅外接收模塊中,紅外信號被接收二極管接收到,而后通過其前置放大器進(jìn)行放大;再經(jīng)過AGC放大器,使較強(qiáng)的信號小幅放大,較弱的信號的用較高的增益放大,將前置放大器放大的信號調(diào)整置合適幅值;調(diào)整后的信號通過限幅放大器將其幅度限制在適當(dāng)?shù)碾妷悍秶g。帶通濾波器對被限幅的信號濾波,濾波后信號經(jīng)解調(diào)器和積分處理后通過比較器輸出數(shù)字信號,這樣就解調(diào)出紅外遙控器的消息信號。將發(fā)射信號通過OUT引腳傳輸至核心電路模塊[2]。
圖5 VS1838B內(nèi)部結(jié)構(gòu)
結(jié)合電機(jī)驅(qū)動需求以及整體系統(tǒng)結(jié)構(gòu)采用L298Nmini模塊,具有體積小,接線便捷的特點(diǎn)。
驅(qū)動信號端可承受1.8~7V電壓,整個芯片的供電電壓從2~10V,采用雙路H橋電機(jī)驅(qū)動,可同時驅(qū)動兩個直流電機(jī),進(jìn)行正反轉(zhuǎn)以及PWM調(diào)速,每路能夠提供1.5A連續(xù)電流,電流峰值可達(dá)2.5A。INx端接開發(fā)板四個引腳來傳輸控制信號,MOTOR-A和MOTOR-B端接兩電機(jī)。本系統(tǒng)僅包含一個電機(jī)故只需使用IN1/2與MOTOR-A單電機(jī)控制。邏輯功能表如表1所示[3]。
表1 L298N邏輯功能表
Arduino是一系列便捷靈活、方便上手的開源電子原型平臺,包含硬件即各種型號的Arduino板和配套開發(fā)環(huán)境Arduino IDE。本系統(tǒng)采用Arduino Nano3.0作為核心控制模塊。Nano3.0的處理器核心是ATmega328,ATmega328是一款Microchip公司生產(chǎn)的高性能、低功耗AVR8位微控制器,采用RISC指令集體系結(jié)構(gòu),內(nèi)含有32KB的Flash內(nèi)存,其中2KB用于Bootloader,同時還有2KB的SRAM和1KB的EEPROM,工作時鐘頻率在16MHz。Arduino Nano開發(fā)板在此基礎(chǔ)上增加了CH340芯片將串口信息轉(zhuǎn)為USB信號以便和主機(jī)通訊,并且添加復(fù)位電路、供電電路、等外圍電路。其引腳分配如圖6所示,其中Dx引腳為數(shù)字I/O口,其中六路可以輸出PWM波在本系統(tǒng)中可以用于控制直流電機(jī)轉(zhuǎn)速,Ax是具有10位分辨率的模擬I/O口,本系統(tǒng)使用A4引腳的I2C復(fù)用功能作SCL接口和A5引腳作SDA接口。
圖6 Arduino Nano引腳簡圖
總體程序在Arduino IDE標(biāo)準(zhǔn)編程環(huán)境下完成,主要分為初始化、BH1750驅(qū)動、VS1838B通訊、電機(jī)控制信號輸出幾部分。下面介紹主要模塊的驅(qū)動程序。
BH1750的通訊方式是簡化版I2C通訊協(xié)議,主機(jī)首先發(fā)送上電命令;接下來發(fā)送測量命令來選擇BH1750的工作模式,本系統(tǒng)采用單次高分辨率模式,測量后自動斷電;測量結(jié)束后傳感器發(fā)送起始信號向主機(jī),而后主機(jī)接收包括兩字節(jié)光照信息等數(shù)據(jù),直至結(jié)束信號。在以上協(xié)議的基礎(chǔ)上,通過依次控制ADDR口的電平高低,完成輪序讀取每一個傳感器的數(shù)據(jù),傳感器光照采集流程如圖7所示。
圖7 光照采集模塊流程
如圖8所示,核心板在接收到紅外信號后進(jìn)行兩種模式選擇,若是收起/放下指令則執(zhí)行相應(yīng)動作并將系統(tǒng)的工作模式設(shè)為手動模式,此時停止采集光照信號;若是自動指令則開始接收四個傳感器數(shù)據(jù)并取平均數(shù)后選擇對電機(jī)的控制方式。
圖8 核心板控制實(shí)現(xiàn)流程圖
使用手電照明模擬晴天光照太強(qiáng)的環(huán)境,黑紙覆蓋傳感器表面來模擬夜間環(huán)境,正常的室內(nèi)燈光作為適中照射條件,在主機(jī)上通過串口通訊獲取部分?jǐn)?shù)據(jù),以此作為光照控制的判斷閾值。通過硬件系統(tǒng)搭建和軟件測試,設(shè)計(jì)的系統(tǒng)各部分功能實(shí)現(xiàn),性能較為穩(wěn)定。考慮到特殊天氣或地區(qū)差異等因素,其中光強(qiáng)檢測部分可能由于設(shè)置的閾值不合適會執(zhí)行錯誤的動作,因此需要測取更多不同環(huán)境下的數(shù)據(jù)以增加系統(tǒng)的實(shí)用性。
本文完成了感光式電動窗簾的系統(tǒng)設(shè)計(jì),闡述了硬件原理與軟件設(shè)計(jì)方式,為家居智能化增添了一個新內(nèi)容,本系統(tǒng)通過使用光照傳感器采集環(huán)境中的光照強(qiáng)度變化,傳輸?shù)絾纹瑱C(jī)進(jìn)行數(shù)據(jù)分析后控制窗簾的自動開合,合理有效的控制窗簾,實(shí)用性強(qiáng),易于操作,有較高的集成性并提高用戶體驗(yàn)。此光感窗簾以較低的成本和極高的性價比,提升了家居的便利性、舒適性、尤其是對提高老年人及行動不便的患者的生活質(zhì)量具有積極的作用。