劉艷峰
(甘肅省太陽(yáng)能發(fā)電系統(tǒng)工程重點(diǎn)實(shí)驗(yàn)室酒泉職業(yè)技術(shù)學(xué)院,甘肅酒泉,735000)
智能家電是指將計(jì)算機(jī)及相關(guān)技術(shù)運(yùn)用到家用電器中,使其在一定程度上實(shí)現(xiàn)自動(dòng)控制、數(shù)據(jù)采集等功能,從而達(dá)到節(jié)能環(huán)保的目的。目前我國(guó)正在加快推進(jìn)“互聯(lián)網(wǎng)+”戰(zhàn)略和信息化建設(shè)步伐,為推動(dòng)智能家居行業(yè)發(fā)展提供了良好契機(jī),同時(shí)也帶來(lái)了巨大挑戰(zhàn)[1]。
傳統(tǒng)的電風(fēng)扇大都是手動(dòng)換擋或者開(kāi)關(guān),隨著我國(guó)經(jīng)濟(jì)社會(huì)發(fā)展水平不斷提高,人們對(duì)生活質(zhì)量有了更多追求,對(duì)舒適度要求不斷提高和節(jié)能環(huán)保理念越來(lái)越深入人心,因此傳統(tǒng)手動(dòng)擋位式風(fēng)扇已經(jīng)不能滿(mǎn)足現(xiàn)代消費(fèi)者需求。為了提高電風(fēng)扇的工作效率以及減少維護(hù)成本,我們應(yīng)該對(duì)這些問(wèn)題進(jìn)行分析并加以解決。綜上所述,設(shè)計(jì)了一種基于STM32 單片機(jī)的教室智能風(fēng)扇控制系統(tǒng)。首先介紹了系統(tǒng)總體結(jié)構(gòu)及主要功能,然后詳細(xì)闡述了系統(tǒng)硬件電路和軟件設(shè)計(jì)原理,重點(diǎn)討論了該系統(tǒng)中各個(gè)模塊的選取原則,最后詳細(xì)論述了系統(tǒng)的軟硬件實(shí)現(xiàn)方案以及控制方法[2]。
教室智能風(fēng)扇控制系統(tǒng)包括主控制器模塊、傳感器模塊和電機(jī)模塊[3]。整個(gè)系統(tǒng)采用模塊化結(jié)構(gòu),由若干功能模塊組成,各功能部分均獨(dú)立完成各自所需的任務(wù)。在設(shè)計(jì)中,以STM32 單片機(jī)為核心控制單元,利用單片機(jī)的可編程性和嵌入式系統(tǒng)特點(diǎn),將單片機(jī)與傳統(tǒng)的傳感器及控制軟件相結(jié)合,實(shí)現(xiàn)了對(duì)智能風(fēng)扇電機(jī)進(jìn)行智能化管理。通過(guò)傳感器采集的數(shù)據(jù)(溫度信號(hào)和人體檢測(cè)信號(hào)),再利用單片機(jī)處理后輸出控制信號(hào)給電機(jī)驅(qū)動(dòng)模塊進(jìn)行相關(guān)操作;當(dāng)電機(jī)工作時(shí),主控制器模塊根據(jù)傳感器信息計(jì)算出相應(yīng)轉(zhuǎn)速,并將轉(zhuǎn)速反饋到主控板上。傳感器模塊還可以實(shí)時(shí)監(jiān)測(cè)室內(nèi)溫度,從而可自動(dòng)調(diào)節(jié)風(fēng)扇運(yùn)轉(zhuǎn)狀態(tài),使風(fēng)扇運(yùn)行更平穩(wěn)、更加舒適。同時(shí)還增加紅外遙控模塊,使用戶(hù)可以手動(dòng)開(kāi)關(guān)風(fēng)扇。該系統(tǒng)設(shè)計(jì)簡(jiǎn)單實(shí)用,具有良好的穩(wěn)定性、安全性和很高的實(shí)用性,能夠?qū)崿F(xiàn)對(duì)風(fēng)扇進(jìn)行自動(dòng)控制,可廣泛地用于教室內(nèi)的風(fēng)扇節(jié)能控制中。系統(tǒng)硬件設(shè)計(jì)框圖如圖1 所示。
圖1 系統(tǒng)硬件框圖
教室智能風(fēng)扇控制系統(tǒng)是一種集智能感應(yīng)、溫度控制、風(fēng)速調(diào)節(jié)為一體的系統(tǒng),它的主控制器采用STM32 單片機(jī),STM32F103R8T6 單片機(jī)是一款高性能、低成本的32位微控制器,具有高可靠性和功耗低的優(yōu)勢(shì)[4]。具有集成的ADC,可以實(shí)現(xiàn)模擬量的采集;具有超高的內(nèi)存容量,外掛的Flash 可以達(dá)到128K;還具有高速的處理能力,最高處理速度可達(dá)到72M/s。此外,單片機(jī)還支持多種輸入輸出模式,可以靈活控制多種外設(shè),從而實(shí)現(xiàn)多種功能。最小系統(tǒng)電路圖如圖2 所示。
圖2 單片機(jī)最小電路圖
溫度采集模塊采用DS18B20 溫度傳感器[5]。DS18B20溫度傳感器是一種常用的溫度測(cè)量傳感器,具有單總線(xiàn)操作、高精度、低功耗、體積小、重量輕、使用簡(jiǎn)便等特點(diǎn)。采用高精度溫度傳感元件與精密控溫電路相結(jié)合,使其具有很高的精確度和可靠性,在測(cè)溫精度方面遠(yuǎn)遠(yuǎn)優(yōu)于目前國(guó)內(nèi)外使用的各種傳感器。通過(guò)對(duì)溫度信號(hào)進(jìn)行采樣并經(jīng)過(guò)A/D轉(zhuǎn)換后送入單片機(jī)處理。它的工作電壓范圍可以是3.5~5V,采樣精度可以達(dá)到±0.5℃,可以有效抑制外部環(huán)境對(duì)溫度測(cè)量的干擾,并且可以在-55℃~125℃的范圍內(nèi)檢測(cè)溫度。電路原理圖如圖3 所示。
圖3 溫度傳感器電路圖
人體檢測(cè)采用HC-SR501 人體紅外感應(yīng)模塊,其采用PIR(熱釋電)技術(shù),能夠監(jiān)測(cè)到人體的熱釋電波,實(shí)現(xiàn)智能感應(yīng)控制[6]。 它具有較高的靈敏度,可以響應(yīng)7 米以?xún)?nèi)的人體活動(dòng),而且功耗低,靜態(tài)電流小于50μA,能夠非常精準(zhǔn)地監(jiān)測(cè)到人體移動(dòng)。 此外,它還可以根據(jù)實(shí)際應(yīng)用場(chǎng)合來(lái)調(diào)節(jié)檢測(cè)時(shí)間,可以有效避免誤觸發(fā),提高模塊的可靠性。HC-SR501 芯片還具有溫度補(bǔ)償功能,可以根據(jù)環(huán)境溫度變化而自動(dòng)調(diào)節(jié),以確保模塊穩(wěn)定可靠地工作。它具有體積小、結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉的特點(diǎn),是智能家居、安防系統(tǒng)等多種場(chǎng)合的理想選擇。電路原理圖如圖4 所示。
圖4 人體紅外感應(yīng)電路圖
電機(jī)控制模塊由直流電機(jī)和電機(jī)驅(qū)動(dòng)電路構(gòu)成[7]。 電機(jī)的控制是通過(guò)脈寬調(diào)制信號(hào)(PWM)來(lái)實(shí)現(xiàn)的,單片機(jī)通過(guò)改變PWM 信號(hào)的占空比來(lái)控制電機(jī)的轉(zhuǎn)速和方向。單片機(jī)根據(jù)電機(jī)工作時(shí)所需電壓大小以及電源頻率變化而自動(dòng)調(diào)節(jié)PWM 輸出脈沖寬度及幅值。PWM 信號(hào)的占空比可以由用戶(hù)設(shè)定,從而實(shí)現(xiàn)精確控制電機(jī)的旋轉(zhuǎn)速度和方向。驅(qū)動(dòng)模塊使用L9110S 電機(jī)驅(qū)動(dòng),L9110S 電機(jī)驅(qū)動(dòng)模塊是一款采用小型雙路H 橋驅(qū)動(dòng),節(jié)省PCB 空間的電機(jī)驅(qū)動(dòng)模塊,可以控制電機(jī)的正反轉(zhuǎn)及速度,可接入外部PWM 信號(hào)控制,也可以采用模擬信號(hào)控制,適用于微型直流電機(jī)的控制,支持多種電壓范圍,支持2.5 ~12V 范圍的電壓,可應(yīng)用于多種智能機(jī)器人,智能小車(chē),智能無(wú)人機(jī)等,具有低成本,使用方便等優(yōu)點(diǎn),是智能裝置的不錯(cuò)選擇。
電機(jī)驅(qū)動(dòng)電路圖如圖5 所示。
圖5 電機(jī)驅(qū)動(dòng)電路圖
紅外遙控技術(shù)具有體積小,功耗低,抗干擾能力強(qiáng),操作方便以及可實(shí)現(xiàn)遠(yuǎn)程遙控等優(yōu)點(diǎn),目前在國(guó)外應(yīng)用廣泛[8]。紅外遙控模塊可以實(shí)現(xiàn)遠(yuǎn)程控制風(fēng)扇,它可以通過(guò)紅外信號(hào)控制智能風(fēng)扇的開(kāi)啟、關(guān)閉、調(diào)節(jié)風(fēng)速等功能。紅外遙控系統(tǒng)的工作原理:在一個(gè)固定距離內(nèi)發(fā)射紅外光線(xiàn)后,接收來(lái)自接收器的探測(cè)信息進(jìn)行處理,然后將所獲得的數(shù)據(jù)傳給處理器。處理器根據(jù)接收到的信號(hào)判斷是否需要進(jìn)一步操作。
該模塊使用HS0038 紅外接收頭接收信息,HS0038 紅外接收頭是一種接收紅外光信號(hào)的小型電子元件,它可以接收紅外輻射,然后將它轉(zhuǎn)換為電信號(hào),供電子設(shè)備使用。它可以用于控制遙控器、遙控玩具等設(shè)備。HS0038 紅外接收頭具有較低的功耗、低延遲、可靠的連接性能等特點(diǎn),可以滿(mǎn)足不同的應(yīng)用需求。紅外遙控電路圖如圖6 所示。
圖6 紅外遙控電路圖
顯示模塊主要用來(lái)顯示教室實(shí)時(shí)溫度和風(fēng)扇相關(guān)的參數(shù)。采用LCD1602 液晶顯示屏。LCD1602 液晶顯示模塊是一種常用的高性?xún)r(jià)比的顯示器,它能夠顯示字母和數(shù)字等信息,可以適應(yīng)不同的電路控制,是電子行業(yè)中廣泛應(yīng)用的一種顯示器件。它的原理是利用液晶顯示技術(shù),通過(guò)控制驅(qū)動(dòng)電路,將數(shù)字和字母等信息進(jìn)行顯示,從而實(shí)現(xiàn)顯示效果。 LCD1602 液晶顯示模塊主要由液晶顯示屏和控制電路組成,液晶顯示屏采用多行多列的矩陣顯示,可以清晰顯示多種字母和數(shù)字信息;控制電路是核心,它可以控制顯示屏的顯示內(nèi)容,并負(fù)責(zé)液晶顯示屏的點(diǎn)陣驅(qū)動(dòng)。顯示模塊電路圖如圖7 所示。
圖7 顯示模塊電路圖
按鍵模塊的主要功能是用來(lái)設(shè)置溫度的上下限。按鍵電路的原理是當(dāng)按鍵被按下時(shí),它就會(huì)將外部電源的電壓信號(hào)輸入到單片機(jī)端口,單片機(jī)端口檢測(cè)到電壓信號(hào)發(fā)生變化,從而實(shí)現(xiàn)按鍵的功能。按鍵設(shè)置電路有3 個(gè)按鍵,分別為K1 鍵、K2 鍵、K3 鍵,其中K1 和K2 鍵可根據(jù)需要選擇加一或減一,K3 鍵為溫度設(shè)置鍵。在實(shí)際應(yīng)用中,我們可根據(jù)需要對(duì)這三個(gè)按鍵進(jìn)行調(diào)節(jié)來(lái)達(dá)到設(shè)定溫度的目的。當(dāng)按鍵設(shè)定好溫度后,單片機(jī)會(huì)根據(jù)設(shè)定的溫度輸出相應(yīng)的量,并顯示在液晶屏上。當(dāng)溫度達(dá)到設(shè)定值以后,單片機(jī)根據(jù)所測(cè)量出的數(shù)據(jù)進(jìn)行運(yùn)算并發(fā)出控制命令,控制風(fēng)扇的開(kāi)關(guān)。按鍵控制是一種簡(jiǎn)單方便、操作靈活且無(wú)需專(zhuān)門(mén)維護(hù)的電子控制技術(shù)。它具有體積小、功耗低、可靠性高、便于集成等優(yōu)點(diǎn)。按鍵模塊電路圖如圖8 所示。
圖8 按鍵模塊電路圖
軟件程序采用模塊化設(shè)計(jì)思想,并通過(guò)串口通信技術(shù)將各功能模塊連接起來(lái)進(jìn)行工作,利用C 語(yǔ)言編程完成了整個(gè)軟件系統(tǒng)的編寫(xiě)[9]。教室智能風(fēng)扇控制系統(tǒng)軟件部分的主要功能是實(shí)現(xiàn)自動(dòng)控制風(fēng)扇的運(yùn)行,根據(jù)教室的溫度變化,可以自動(dòng)調(diào)節(jié)風(fēng)扇的速度。此外,還可以實(shí)現(xiàn)對(duì)風(fēng)扇的運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控,提供及時(shí)的報(bào)警和故障提示。另外,還可以通過(guò)設(shè)置溫度閾值來(lái)實(shí)現(xiàn)自動(dòng)開(kāi)關(guān)風(fēng)扇的功能,以實(shí)現(xiàn)節(jié)能效果。同時(shí)也可以通過(guò)紅外遙控模塊手動(dòng)操作對(duì)風(fēng)扇進(jìn)行控制。
首先,系統(tǒng)上電初始化,用戶(hù)根據(jù)實(shí)際需要設(shè)置教室溫度閾值,系統(tǒng)開(kāi)始采集教室環(huán)境溫度,通過(guò)溫度傳感器DS18B20 檢測(cè)環(huán)境溫度,并可在顯示屏上實(shí)時(shí)顯示當(dāng)前溫度情況,經(jīng)處理后送入單片機(jī)進(jìn)行比較判斷,當(dāng)環(huán)境溫度高于設(shè)定值時(shí)驅(qū)動(dòng)風(fēng)扇工作;而當(dāng)溫度低于設(shè)定值時(shí)關(guān)閉風(fēng)扇工作,使室內(nèi)保持在適當(dāng)溫度范圍內(nèi),以達(dá)到節(jié)約能源和提高教學(xué)效率的目的。通過(guò)人體紅外感應(yīng)模塊檢測(cè)是否有人,來(lái)控制風(fēng)扇的開(kāi)關(guān)。在人體進(jìn)入一定范圍內(nèi)(即有紅外線(xiàn)發(fā)射源),紅外感應(yīng)模塊將信號(hào)傳遞給控制器,控制器根據(jù)該信號(hào)強(qiáng)度,自動(dòng)開(kāi)啟或關(guān)閉相應(yīng)的風(fēng)扇;當(dāng)人體離開(kāi)一定距離時(shí)(如無(wú)紅外線(xiàn)發(fā)射源,則不啟動(dòng)風(fēng)扇),紅外感應(yīng)裝置不再輸出信號(hào),從而達(dá)到安全保護(hù)目的。由于人體具有很強(qiáng)的隱蔽性,該模塊可以準(zhǔn)確地檢測(cè)到人在什么時(shí)候進(jìn)入了教室或者是離開(kāi)了教室。整個(gè)過(guò)程中,控制器對(duì)各個(gè)傳感器所獲取的信息都能準(zhǔn)確地識(shí)別出來(lái),從而實(shí)現(xiàn)了智能監(jiān)控功能,實(shí)現(xiàn)了自動(dòng)控制,且具有很好的節(jié)能效果。主程序流程圖如圖9 所示。
圖9 主程序流程圖
實(shí)驗(yàn)測(cè)試條件如下:測(cè)試環(huán)境溫度為33℃,且環(huán)境中始終有人,風(fēng)扇控制系統(tǒng)上電后,通過(guò)按鍵模塊設(shè)定預(yù)期溫度為25℃,通過(guò)溫度檢測(cè)模塊檢測(cè)環(huán)境溫度,單片機(jī)對(duì)溫度信號(hào)進(jìn)行處理,并發(fā)出控制信號(hào),控制風(fēng)扇工作,在640s 的時(shí)候,測(cè)試環(huán)境的溫度趨于穩(wěn)定,達(dá)到系統(tǒng)初始設(shè)定的溫度值25℃。溫度控制曲線(xiàn)圖如圖10 所示。
圖10 溫度控制曲線(xiàn)圖(設(shè)定溫度為25℃)
當(dāng)環(huán)境溫度高于設(shè)定的溫度值,并且系統(tǒng)檢測(cè)到有人時(shí),風(fēng)扇開(kāi)始轉(zhuǎn)動(dòng),并且根據(jù)實(shí)時(shí)溫度的不同區(qū)間,風(fēng)扇轉(zhuǎn)速的擋位也不同,風(fēng)扇轉(zhuǎn)速的擋位分為0、1、2、3 四個(gè)擋位。實(shí)驗(yàn)現(xiàn)象如表1 所示。
表1 測(cè)試環(huán)境溫度對(duì)風(fēng)扇狀態(tài)的影響
本文提出了一種基于STM32 單片機(jī)的教室智能風(fēng)扇控制系統(tǒng)。該系統(tǒng)既可以根據(jù)教室溫度實(shí)時(shí)調(diào)節(jié)風(fēng)扇轉(zhuǎn)速,也可以根據(jù)是否有人控制風(fēng)扇開(kāi)關(guān),實(shí)現(xiàn)節(jié)能效果,提升學(xué)習(xí)環(huán)境,可以更加便捷和高效地滿(mǎn)足教室的風(fēng)扇需求。此外,系統(tǒng)還可以進(jìn)行溫度數(shù)據(jù)的采集和存儲(chǔ),方便對(duì)環(huán)境數(shù)據(jù)進(jìn)行分析,做出合理的調(diào)控策略,使教室得到更加舒適的環(huán)境。
實(shí)驗(yàn)結(jié)果表明:(1)當(dāng)教室一直處于有人狀態(tài)時(shí),系統(tǒng)預(yù)設(shè)目標(biāo)溫度,通過(guò)控制風(fēng)扇的開(kāi)啟和關(guān)閉,可以使教室保持恒定的溫度;(2)系統(tǒng)根據(jù)教室環(huán)境實(shí)時(shí)溫度和檢測(cè)風(fēng)扇周?chē)欠裼腥藖?lái)精準(zhǔn)控制風(fēng)扇的啟停,一定程度上避免了電能的浪費(fèi)。(3)通過(guò)紅外遙控可以任意控制風(fēng)扇的啟停。