萬方高,盧俊宇,盧俊誠,盧澤林
(哈爾濱理工大學(xué)電氣與電子工程學(xué)院,黑龍江 哈爾濱 150080)
本文所設(shè)計(jì)的智能風(fēng)扇控制系統(tǒng)主要由七大模塊構(gòu)成,分別是溫濕度檢測(cè)模塊、人體感應(yīng)模塊、語音識(shí)別模塊、風(fēng)扇驅(qū)動(dòng)模塊、空氣加濕模塊、LCD觸摸屏以及藍(lán)牙模塊。
具體實(shí)現(xiàn)的功能有:
(1)在LCD液晶屏上實(shí)時(shí)顯示溫濕度、風(fēng)扇工作模式、風(fēng)扇轉(zhuǎn)速、加濕功能是否開啟等相關(guān)信息;在藍(lán)牙連接的情況下會(huì)將這些信息發(fā)送給手機(jī),在手機(jī)APP上實(shí)時(shí)更新顯示。
(2)可通過語音、手機(jī)和LCD觸摸屏設(shè)置風(fēng)扇的模式和各部件的運(yùn)作。
(3)在手動(dòng)模式下,風(fēng)扇的轉(zhuǎn)速根據(jù)用戶輸入的風(fēng)力等級(jí)指令來變化,一共有3級(jí)風(fēng)力等級(jí)可以設(shè)置。
(4)在智能模式下,用戶可以自行建立風(fēng)扇轉(zhuǎn)速與溫度的函數(shù)關(guān)系,風(fēng)扇轉(zhuǎn)速將依照該函數(shù)隨溫度的變化而變化。
(5)風(fēng)扇配備人體感應(yīng)模塊,可實(shí)現(xiàn)人來風(fēng)來、人走風(fēng)停的功能。
本次選用的主控芯片是以Cortex-M3為內(nèi)核的STM32F103ZET6單片機(jī),該芯片不僅最高工作頻率可達(dá)72MHz,而且還具有64KB SRAM、512KB FLASH、8個(gè)定時(shí)器、5個(gè)串口、1個(gè)FSMC接口以及112個(gè)通用IO口等,資源相當(dāng)豐富,從性能與功耗兩方面綜合考慮,該控制芯片是一個(gè)極佳的選擇。
DS18B20是一款高精度的數(shù)字溫度傳感器,它具有體積小、適用電壓寬、硬件開銷低、抗干擾能力強(qiáng)、接口簡(jiǎn)單等優(yōu)點(diǎn)。DHT11是一款濕溫度一體化的低功耗數(shù)字傳感器,該傳感器包括一個(gè)電阻式測(cè)濕元件和一個(gè)NTC測(cè)溫元件,與單片機(jī)進(jìn)行簡(jiǎn)單連接后,就能夠?qū)崟r(shí)地采集本地濕度和溫度。DS18B20和DHT11均具有“單總線”接口,僅需要一個(gè)I/O口便可以實(shí)現(xiàn)和STM32的通信,雙方之間的通信協(xié)議采用單總線協(xié)議。由于DHT11的溫度測(cè)量精度較低,故使用時(shí)只取其測(cè)量的濕度值,溫度值通過DS18B20獲得。
本次設(shè)計(jì)采用HC-SR505人體感應(yīng)模塊檢測(cè)人體,HCSR505是基于紅外線技術(shù)的自動(dòng)控制產(chǎn)品,它具有靈敏度高、可靠性強(qiáng)、體積小,工作電壓低的優(yōu)點(diǎn)。設(shè)計(jì)時(shí),將HCSR05配置成可重復(fù)觸發(fā)方式:感應(yīng)到人體輸出高電平后,在延時(shí)時(shí)間段內(nèi),如果有人體在其感應(yīng)范圍活動(dòng),其輸出將一直保持高電平,直到人離開后才延時(shí)將高電平變?yōu)榈碗娖健?/p>
本次設(shè)計(jì)采用HC-05藍(lán)牙模塊與手機(jī)端進(jìn)行交互,HC-05藍(lán)牙模塊可連接到微控制器的串行端口,并允許微控制器通過藍(lán)牙連接其他設(shè)備通信,其成本低、傳輸數(shù)據(jù)穩(wěn)定、使用簡(jiǎn)單便捷,在使用時(shí),需將其RX和TX端與STM32的RX和TX端交替連接,配置并統(tǒng)一好通信格式后便可以很輕松地與手機(jī)進(jìn)行交互,使用者可通過手機(jī)控制風(fēng)扇的運(yùn)作。
LD3320是基于非特定人體語音識(shí)別技術(shù)的語音識(shí)別芯片,LD3320芯片上集成了高精度的A/D和D/A接口,不再需要外接輔助的Flash和RAM,即可以實(shí)現(xiàn)語音識(shí)別以及人機(jī)對(duì)話功能,并且識(shí)別的關(guān)鍵詞語列表是可以動(dòng)態(tài)編輯的。該模塊支持SPI與串口兩種通信接口,本次設(shè)計(jì)中采用SPI接口與STM32進(jìn)行通信。
系統(tǒng)的主程序設(shè)計(jì)流程如圖1所示,在主程序中先初始化系統(tǒng)和各個(gè)模塊;然后,在主循環(huán)中進(jìn)行溫度檢測(cè);語音、藍(lán)牙、LCD觸摸屏的輸入檢測(cè)與處理,用戶可以通過語音、藍(lán)牙和LCD觸摸屏來設(shè)置風(fēng)扇的運(yùn)行模式以及是否加濕空氣等其他功能;接下來,LCD屏更新溫濕度、風(fēng)扇工作模式等相關(guān)信息;隨后,判斷當(dāng)前系統(tǒng)的工作模式,如果是在智能模式下,則計(jì)算出風(fēng)扇的轉(zhuǎn)速,其中,v是風(fēng)扇的轉(zhuǎn)速,T是環(huán)境溫度,k和b是風(fēng)力調(diào)節(jié)參數(shù),用戶可以通過語音、手機(jī)APP等方式,結(jié)合自身喜好修改該參數(shù);如果是在手動(dòng)模式下,系統(tǒng)則根據(jù)用戶輸入的風(fēng)力等級(jí)指令輸出標(biāo)定好的風(fēng)扇轉(zhuǎn)速;最后,系統(tǒng)會(huì)采用PID算法控制輸出PWM波的占空比,以使風(fēng)扇達(dá)到期望的轉(zhuǎn)速。人體感應(yīng)信號(hào)作為外部中斷的觸發(fā)信號(hào),外部中斷選擇雙邊沿觸發(fā)方式,進(jìn)入中斷后再讀取感應(yīng)信號(hào)的電平,判斷是人靠近還是人離開,實(shí)現(xiàn)人來風(fēng)來、人走風(fēng)停的功能。
圖1 主程序設(shè)計(jì)框圖
STM32F103ZET6一共有8個(gè)定時(shí)器,其中6個(gè)定時(shí)器有4路輸出比較通道,即可以同時(shí)輸出4路PWM波,本次設(shè)計(jì)采用TIM3的CH1輸出PWM波控制風(fēng)扇電機(jī)的工作,其主要步驟如下:開啟TIM3時(shí)鐘,配置對(duì)應(yīng)引腳為復(fù)用輸出;初始化TIM3,設(shè)置TIM3的ARR和PSC;設(shè)置TIM3_CH1的PWM模式,使能TIM3的CH1輸出;使能TIM3,修改TIM3_CCR1來控制占空比。TIM_CCR1的裝載值是通過PID算法計(jì)算得出的,風(fēng)扇電機(jī)帶有檢測(cè)其轉(zhuǎn)速的編碼器,將TIM4配置為編碼器模式,讀取單位時(shí)間內(nèi)風(fēng)扇編碼器上的脈沖數(shù),以此計(jì)算出風(fēng)扇的實(shí)際轉(zhuǎn)速,整定好PID各參數(shù)后,根據(jù)理想轉(zhuǎn)速與實(shí)際轉(zhuǎn)速采用位置式PID計(jì)算出TIM_CCR1的裝載值,以此輸出需要的PWM波,使風(fēng)扇快速達(dá)到穩(wěn)定、精準(zhǔn)的轉(zhuǎn)速。
本次設(shè)計(jì)以STM32F103ZET6為核心控制芯片,是對(duì)傳統(tǒng)風(fēng)扇的智能化升級(jí)與改造。本系統(tǒng)的兩種運(yùn)行模式,使風(fēng)扇能自如應(yīng)對(duì)生活中多樣化的需求,在智能控制下,能根據(jù)環(huán)境溫度自動(dòng)調(diào)節(jié)相應(yīng)功能,而在人工模式下,則能通過液晶屏、手機(jī)APP、語音等多種手段,來自定義用戶最舒適的環(huán)境體驗(yàn)。系統(tǒng)總體較為節(jié)能、高效,應(yīng)用場(chǎng)景廣泛,有著良好的市場(chǎng)前景。