蔣帥帥,周志峰
(201620 上海市 上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院)
隨著城市不斷擴(kuò)容和美化,公共用電急劇增加,導(dǎo)致用電負(fù)荷激增,能源緊缺已成為世界面臨的嚴(yán)峻問(wèn)題,而中國(guó)經(jīng)濟(jì)持續(xù)多年的高速發(fā)展讓能源問(wèn)題日益突出[1]。雖然我國(guó)能源總儲(chǔ)量不低,但人均儲(chǔ)量少,單位產(chǎn)值能耗是發(fā)達(dá)國(guó)家的3~10 倍[2]。我國(guó)對(duì)能源的需求急劇增長(zhǎng),能源供需矛盾日益顯著,已經(jīng)成為制約國(guó)民經(jīng)濟(jì)發(fā)展的重要因素[3]。提高電燈用電效率,設(shè)計(jì)簡(jiǎn)單智能便捷的方法成為首要考慮的問(wèn)題。如今自動(dòng)感應(yīng)燈多用于走廊等公共場(chǎng)所,對(duì)用電更多的家庭室內(nèi)電燈卻很少有類似控制系統(tǒng),因此本文對(duì)室內(nèi)電燈智能感應(yīng)控制方法進(jìn)行了研究,設(shè)計(jì)一種能解決現(xiàn)有問(wèn)題的方案,可以有效地對(duì)房間照明燈具進(jìn)行智能控制。
基于單片機(jī)GD32F130 的智能燈光控制系統(tǒng),具有人體感應(yīng)、手機(jī)APP 遠(yuǎn)程控制和根據(jù)環(huán)境自動(dòng)調(diào)節(jié)亮度的功能。整個(gè)系統(tǒng)分為:?jiǎn)纹瑱C(jī)核心、人體動(dòng)作感應(yīng)系統(tǒng)、光照檢測(cè)電路、WiFi 通信模塊、燈光控制電路等。系統(tǒng)安裝在房門上,通過(guò)2 個(gè)反射式紅外光電開關(guān)傳感器檢測(cè)并判斷人體進(jìn)出房間的動(dòng)作,記錄房間內(nèi)人數(shù),若房間內(nèi)有人就打開電燈;通過(guò)亮度檢測(cè)電路檢測(cè)室內(nèi)光照強(qiáng)度,選擇關(guān)閉電燈或是自動(dòng)調(diào)節(jié)電燈亮度。本系統(tǒng)加入物聯(lián)網(wǎng)技術(shù),通過(guò)手機(jī)APP 可實(shí)現(xiàn)對(duì)房間燈光設(shè)備的遠(yuǎn)程控制,有人員進(jìn)出時(shí)發(fā)送當(dāng)前房間人數(shù)信息到手機(jī)APP 上。在便利日常生活的同時(shí)實(shí)現(xiàn)對(duì)能源的有效節(jié)約,可對(duì)房間人數(shù)進(jìn)行檢測(cè),同時(shí)保留傳統(tǒng)機(jī)械開關(guān),符合人性化設(shè)計(jì)。系統(tǒng)結(jié)構(gòu)如圖1 所示。

圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure diagram
兆易創(chuàng)新科技的GD32F130C8T6,是基于ARM Cortex-M3 內(nèi)核的32 位通用微控制器,供電電壓為2.6~3.6 V,內(nèi)核供電電壓為1.2 V,I/O 口可承受5 V 電平,內(nèi)嵌實(shí)時(shí)時(shí)鐘和2 個(gè)看門狗,具有掉電復(fù)位、上電復(fù)位及電壓監(jiān)測(cè)功能。芯片主頻108 MHz,8 K 的SRAM,最高主頻下的處理性能可達(dá)110 DMIPS。考慮芯片價(jià)格和國(guó)外芯片供應(yīng)問(wèn)題,優(yōu)先選擇國(guó)產(chǎn)芯片。
2.2.1 人體紅外模塊
HC-SR501 是基于紅外線技術(shù)的自動(dòng)控制模塊,LHI778 探頭設(shè)計(jì),靈敏度高,可靠性強(qiáng),超低電壓工作模式,廣泛應(yīng)用于各類自動(dòng)感應(yīng)電器設(shè)備。它配以LHI778 探頭和少量外接元器件就可構(gòu)成被動(dòng)式的熱釋電紅外開關(guān)[4]。將HC-SR501 的信號(hào)輸出引腳連接至GD32 單片機(jī)的PA7 引腳,通過(guò)讀取該引腳電平狀態(tài)即可感知是否有人存在。
2.2.2 動(dòng)作感知模塊
反射式紅外線光電開關(guān)利用物體對(duì)被調(diào)制的紅外光束反射檢測(cè)有無(wú)被檢物體,當(dāng)被檢測(cè)物體經(jīng)過(guò)檢測(cè)區(qū)域時(shí),紅外光電開關(guān)的輸出狀態(tài)就會(huì)翻轉(zhuǎn),以達(dá)到自動(dòng)檢測(cè)目的。本系統(tǒng)采用PNP 常開型的反射式光電開關(guān),輸出端默認(rèn)高電平,連接至單片機(jī)EXTI 引腳PA5、PA6,當(dāng)引腳電平發(fā)生變化時(shí),單片機(jī)產(chǎn)生中斷事件進(jìn)入中斷服務(wù)函數(shù)。
2.2.3 系統(tǒng)接口電路和硬件安裝
2 個(gè)反射式紅外線光電開關(guān)需要并排垂直安裝,當(dāng)有移動(dòng)物體經(jīng)過(guò)時(shí),開關(guān)先后觸發(fā),根據(jù)先后順序可以判斷出物體移動(dòng)方向。HC-SR501 感應(yīng)范圍寬,可安裝在2 個(gè)反射式紅外線光電開關(guān)之間,判斷接近目標(biāo)是否是人體即可。這3 個(gè)傳感器的狀態(tài)都通過(guò)GPIO 口獲取。紅外感應(yīng)模塊系統(tǒng)接口電路如圖2 所示。

圖2 紅外感應(yīng)模塊系統(tǒng)接口電路Fig.2 Infrared sensor module system interface circuit
利用光敏阻值的變化與電阻進(jìn)行分壓,得到的電壓值經(jīng)LM358 運(yùn)放電路進(jìn)行電壓跟隨處理,降低信號(hào)阻抗,通過(guò)10 k可調(diào)電阻調(diào)節(jié)采集靈敏度。單片機(jī)通過(guò)ADC 采集電壓跟隨器的輸出電壓獲得光照強(qiáng)度值。室光強(qiáng)度感應(yīng)電路如圖3 所示。

圖3 光敏電阻分壓電路Fig.3 Photoresistor voltage divider circuit
系統(tǒng)程序包含多個(gè)子系統(tǒng),各子系統(tǒng)配合可實(shí)現(xiàn)房間人數(shù)狀態(tài)的遠(yuǎn)程監(jiān)控、室內(nèi)光照采集、燈光的自行調(diào)控、遠(yuǎn)程功能控制。讀取人體動(dòng)作感應(yīng)裝置狀態(tài),進(jìn)行移動(dòng)人體捕捉、記錄房間人數(shù)。將獲取的光照強(qiáng)度信息和人數(shù)信息通過(guò)WiFi 傳輸?shù)轿锫?lián)網(wǎng)云平臺(tái),同時(shí)根據(jù)光照強(qiáng)度和房間有人無(wú)人狀態(tài)進(jìn)行燈光的控制和PID 自動(dòng)調(diào)節(jié)。主控制程序還包含系統(tǒng)時(shí)鐘初始化,對(duì)系統(tǒng)底層的初始化還有各個(gè)功能模塊的初始化。圖4 為系統(tǒng)主控制程序流程圖。

圖4 系統(tǒng)主控制程序流程圖Fig.4 Flow chart of the main control program of the system
人體動(dòng)作感應(yīng)通過(guò)熱釋電人體紅外傳感器和兩個(gè)并排安裝的反射式紅外光電開關(guān)實(shí)現(xiàn)。熱釋電人體紅外傳感器安放在兩個(gè)光電開關(guān)之間組成人體動(dòng)作感應(yīng)裝置,人體動(dòng)作感應(yīng)裝置示意圖如圖5 所示。系統(tǒng)通過(guò)該組合裝置的觸發(fā)狀態(tài)判斷觸發(fā)對(duì)象的移動(dòng)方向以及對(duì)象是否為人體。

圖5 人體動(dòng)作感應(yīng)裝置Fig.5 Human motion sensing device
3.1.1 人體感應(yīng)分析
本系統(tǒng)通過(guò)熱釋電人體紅外傳感器HC-SR501檢測(cè)人體存在信號(hào)。人進(jìn)入其感應(yīng)范圍時(shí)HCSR501 信號(hào)引腳輸出高電平,人離開感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉高電平。HC-SR501 信號(hào)引腳與GD32單片機(jī)PA7 引腳連接,直接讀取PA7 引腳狀態(tài)即可判斷是否有人存在。軟件通過(guò)配置GPIOA 寄存器初始化PA7 引腳為弱下拉輸入,無(wú)人體目標(biāo)時(shí)讀取PA7 對(duì)應(yīng)的輸入寄存器為0,有人體目標(biāo)時(shí)為1。人體感應(yīng)識(shí)別流程圖如圖6 所示。

圖6 人體感應(yīng)識(shí)別流程圖Fig.6 Flow chart of human body induction recognition
3.1.2 邏輯分析的軟件實(shí)現(xiàn)方法
根據(jù)人體動(dòng)作感應(yīng)裝置的觸發(fā)分析,完整的進(jìn)出門動(dòng)作分別對(duì)應(yīng)了5 個(gè)狀態(tài),人體目標(biāo)進(jìn)入房間的狀態(tài)順序依次為:無(wú)人狀態(tài)、進(jìn)門動(dòng)作1、進(jìn)門動(dòng)作2、進(jìn)門動(dòng)作3、無(wú)人狀態(tài);人體目標(biāo)離開房間的狀態(tài)順序依次為:無(wú)人狀態(tài)、出門動(dòng)作1、出門動(dòng)作2、出門動(dòng)作3、無(wú)人狀態(tài)。如果持續(xù)向一個(gè)方向移動(dòng),從開始的無(wú)人狀態(tài)變?yōu)閯?dòng)作1,動(dòng)作1 變?yōu)閯?dòng)作2,動(dòng)作2 變?yōu)閯?dòng)作3,動(dòng)作3 變?yōu)闊o(wú)人狀態(tài)。狀態(tài)順序正確的話可以確定進(jìn)出門動(dòng)作完成,房間人數(shù)加1 或減1,執(zhí)行流程如圖7 所示。

圖7 人體動(dòng)作感應(yīng)程序流程圖Fig.7 Human motion sensing program flow chart
當(dāng)人體感應(yīng)裝置觸發(fā)了中斷系統(tǒng)會(huì)進(jìn)入中斷服務(wù)函數(shù),進(jìn)入中斷服務(wù)函數(shù)后首先判斷哪一個(gè)開關(guān)發(fā)生了觸發(fā),然后判斷觸發(fā)類型為上升沿還是下降沿,再根據(jù)上一時(shí)刻的動(dòng)作狀態(tài)來(lái)識(shí)別移動(dòng)目標(biāo)是繼續(xù)向前還是后退,最后進(jìn)行狀態(tài)更新。
3.2.1 PID 自動(dòng)調(diào)節(jié)算法
通過(guò)APP 設(shè)定好光強(qiáng)值,單片機(jī)ADC 檢測(cè)到實(shí)際光強(qiáng),通過(guò)PID 算法輸出PWM 信號(hào)來(lái)控制雙向可控硅的導(dǎo)通,從而實(shí)現(xiàn)對(duì)光強(qiáng)的自動(dòng)控制。由于對(duì)電燈的光照強(qiáng)度控制量是電流,電流和光照強(qiáng)度并不是直接相關(guān)的物理量,所以為了對(duì)燈光亮度進(jìn)行閉環(huán)控制,讓室光強(qiáng)度穩(wěn)定在用戶設(shè)定值,本系統(tǒng)采用PID 自動(dòng)調(diào)節(jié)算法進(jìn)行燈光強(qiáng)度的調(diào)節(jié)。以ADC 采集到的光照強(qiáng)度感應(yīng)電路節(jié)點(diǎn)電壓值a作為變化量,用戶設(shè)定的光照強(qiáng)度等級(jí)作為期望值q,讓燈光隨著室光強(qiáng)度進(jìn)行亮度調(diào)節(jié),讓室內(nèi)光照強(qiáng)度能夠穩(wěn)定在用戶設(shè)定的期望值。光照強(qiáng)度偏差計(jì)算公式
PID 調(diào)節(jié)算法
3.2.2 燈光控制模式
本系統(tǒng)具有自動(dòng)調(diào)光模式,也可以通過(guò)手機(jī)遠(yuǎn)程開關(guān)燈。關(guān)燈將切斷燈光電源,關(guān)閉自動(dòng)調(diào)光模式;遠(yuǎn)程開燈默認(rèn)燈光亮度級(jí)別為最高,這時(shí)自動(dòng)調(diào)光模式關(guān)閉;選擇自動(dòng)調(diào)光模式時(shí)系統(tǒng)將切換到燈光自動(dòng)控制模式,該模式下當(dāng)環(huán)境光照低于一個(gè)預(yù)設(shè)值,系統(tǒng)則進(jìn)行PID 自動(dòng)調(diào)光。燈光控制系統(tǒng)程序流程如圖8 所示。

圖8 燈光控制系統(tǒng)程序流程圖Fig.8 Flow chart of the light control system program
WiFi 模塊采用的是國(guó)產(chǎn)樂(lè)鑫的ESP8266 的模組,通過(guò)串口與單片機(jī)串口連接,該模組支持TCP透?jìng)髂J健I衔粰C(jī)采用了物聯(lián)網(wǎng)平臺(tái)OneNET 智能云與ESP8266 無(wú)線連接,用來(lái)存儲(chǔ)數(shù)據(jù),監(jiān)控終端使用手機(jī)APP 設(shè)備云制作圖形界面遠(yuǎn)程監(jiān)測(cè)房間人數(shù)、房間亮度等信息,APP 也用來(lái)設(shè)置房間電燈的控制模式、手動(dòng)控制開關(guān)燈、手動(dòng)調(diào)節(jié)電燈亮度,如圖9 為手機(jī)APP 操作界面。

圖9 手機(jī)APP 操作界面Fig.9 Mobile APP operation interface
本設(shè)計(jì)以GD32 單片機(jī)為核心,通過(guò)利用人體紅外熱釋電傳感器、反射式紅外開關(guān)、光照采集電路、電燈驅(qū)動(dòng)電路、WiFi 等模塊,實(shí)現(xiàn)了對(duì)照明燈的自動(dòng)控制。系統(tǒng)的硬件及軟件設(shè)計(jì)簡(jiǎn)單實(shí)用,實(shí)驗(yàn)結(jié)果顯示,該系統(tǒng)具有良好的穩(wěn)定性。智能燈控制系統(tǒng)實(shí)現(xiàn)了對(duì)人員活動(dòng)的感應(yīng),測(cè)出室內(nèi)進(jìn)出的人數(shù),可根據(jù)室內(nèi)人數(shù)信息和光線的強(qiáng)度來(lái)自動(dòng)控制電燈開關(guān)和調(diào)節(jié)亮度,滿足人們對(duì)照明的需求,同時(shí)達(dá)到節(jié)能的目的。