基于MSPM0G3507主控的空調(diào)風(fēng)速自動(dòng)調(diào)節(jié)系統(tǒng)
1 系統(tǒng)硬件圖
圖1 系統(tǒng)硬件圖
硬件連接說(shuō)明:
人體感應(yīng)模塊OUT 引腳<->MCU PB2 引腳,供電VCC<->+5 V
IR發(fā)射DAT引腳<->MCU PA12 引腳,不用供電
IR接收DAT引腳<->MCU PB9 引腳,供電VCC<->+5 V
2 實(shí)物演示視頻
附帶視頻文件《演示視頻.mp4》
3 項(xiàng)目介紹
3.1 項(xiàng)目設(shè)計(jì)初衷
夏天溫度很高時(shí),通常將空調(diào)溫度調(diào)較低、風(fēng)速調(diào)較大以滿足室內(nèi)的“冰涼溫度”。通??照{(diào)正吹風(fēng)口處溫度較較遠(yuǎn)區(qū)域低1~2℃,人員靠近空調(diào)吹風(fēng)口2~3 米處感官上會(huì)有較為明顯的驟冷。為了改善室內(nèi)人員體感舒適度,可以在空調(diào)吹風(fēng)口處附近部署人體感應(yīng)模塊。
使用MSPM0G3507 作為主控芯片,對(duì)人體感應(yīng)模塊進(jìn)行實(shí)時(shí)狀態(tài)監(jiān)測(cè)。當(dāng)室內(nèi)人員到達(dá)監(jiān)測(cè)點(diǎn)區(qū)域前將當(dāng)前空調(diào)的風(fēng)速、溫度調(diào)整為最佳值。直至室內(nèi)人員離開監(jiān)測(cè)點(diǎn)區(qū)域后,空調(diào)風(fēng)速、溫度調(diào)整為默認(rèn)設(shè)置??照{(diào)風(fēng)速、溫度調(diào)節(jié)由TI LP-MSPM0G3507 控制紅外發(fā)射頭發(fā)送相應(yīng)紅外指令完成。
3.2 開發(fā)思路
通過開啟M0G3507 主控外部中斷功能來(lái)響應(yīng)24G人體感應(yīng)模塊輸出的狀態(tài)電平,高電平表示人體感應(yīng)模塊監(jiān)測(cè)范圍內(nèi)有人,低電平表示無(wú)人。外部產(chǎn)生高電平后主控芯片立即捕獲到該類型中斷,啟用定時(shí)器產(chǎn)生PWM信號(hào)來(lái)驅(qū)動(dòng)紅外發(fā)射頭將空調(diào)升溫降速IR 指令發(fā)射出去,同時(shí)紅色LED 持續(xù)閃爍。直到檢測(cè)低電平時(shí)將紅色LED 設(shè)為長(zhǎng)亮,低電平時(shí)長(zhǎng)持續(xù)3 秒后熄滅紅色LED,此時(shí)對(duì)外發(fā)射原設(shè)空調(diào)運(yùn)行參數(shù)IR 指令,綠色LED 為常亮。即有人狀態(tài)下紅色LED 長(zhǎng)閃爍,無(wú)人狀態(tài)下綠色LED 常亮,有了LED 燈的狀態(tài)顯示,就很直觀了解到當(dāng)前系統(tǒng)運(yùn)行狀態(tài)。此外,通過按鍵S1 可以進(jìn)行模式切換,在設(shè)置模式下可以更改空調(diào)運(yùn)行參數(shù)。
3.3 功能演示說(shuō)明/操作講解
系統(tǒng)開機(jī)運(yùn)行后,默認(rèn)進(jìn)入運(yùn)行模式
按下按鍵S1后進(jìn)入系統(tǒng)參數(shù)設(shè)置模式
在設(shè)置模式下,空調(diào)遙控對(duì)準(zhǔn)紅外接收頭發(fā)送默認(rèn)運(yùn)行參數(shù)(空調(diào)吹風(fēng)口附近無(wú)人)
如23℃、三檔風(fēng)速。再次按下按鍵S1后設(shè)置參數(shù)生效
在運(yùn)行模式下若有人員到達(dá)空調(diào)吹風(fēng)口處,立即發(fā)送紅外指令(26℃、一檔風(fēng)速)
24G人體感應(yīng)模塊的有效監(jiān)測(cè)距離是0.75 m到8 米,監(jiān)測(cè)覆蓋角度為120°(與圓錐的錐角類似)其中監(jiān)測(cè)距離可以修改,這里監(jiān)測(cè)距離設(shè)為0.75m,實(shí)際應(yīng)設(shè)為2~3m
監(jiān)測(cè)靈敏度可設(shè)置范圍為10~100,實(shí)驗(yàn)中發(fā)現(xiàn)靈敏度不低于40 時(shí)且監(jiān)測(cè)距離小于2 m,該模塊的人體監(jiān)測(cè)效果很不錯(cuò)
4 硬件結(jié)構(gòu)圖、BOM 表
BOM表:
LP MSPM0G3507 評(píng)估板1套
紅外發(fā)射模塊1個(gè)
紅外接收模塊1個(gè)
24G 人體感應(yīng)模塊1個(gè)
圖1 BOM實(shí)物圖
圖2 硬件電路框圖
圖3 軟件流程圖
5 方案說(shuō)明
5.1 MCU片上資源使用情況
G3507 MCU在本方案設(shè)計(jì)中有著諸多應(yīng)用價(jià)值,尤其是定時(shí)器PWM 信號(hào)產(chǎn)生、外部中斷響應(yīng)處理,紅外發(fā)射信號(hào)的調(diào)制有多種方式,本方案采用的紅外信號(hào)調(diào)制為當(dāng)紅外數(shù)字編碼含低電平信號(hào)就產(chǎn)生PWM 信號(hào)驅(qū)動(dòng)IR 發(fā)射管,高電平就停止PWM 信號(hào)產(chǎn)生,這是由IR 接收管的開漏接收模式?jīng)Q定的低電平調(diào)制模式。
對(duì)于紅外遙控信號(hào)解碼和人體感應(yīng)模塊狀態(tài)電平處理,這里分別開啟了兩個(gè)外部中斷進(jìn)行相應(yīng)處理。
本方案亮點(diǎn):
用極少的外圍元器件就完成了空調(diào)風(fēng)速自動(dòng)調(diào)節(jié)系統(tǒng)項(xiàng)目的開發(fā),
其次,充分運(yùn)用到TI G3507 評(píng)估板的片內(nèi)、片上外設(shè)資源。
除此之外,整個(gè)程序運(yùn)行主要由中斷響應(yīng)進(jìn)行邏輯處理,在空閑狀態(tài)下通過__WFI 指令進(jìn)入休眠模式,當(dāng)觸發(fā)外部中斷后則退出休眠模式,進(jìn)一步降低了系統(tǒng)功耗。
該系統(tǒng)需要借助G3507 來(lái)實(shí)現(xiàn)三大功能。
功能一是判斷人員存在狀態(tài),該狀態(tài)由外部人體感應(yīng)模塊輸出高低電平?jīng)Q定。對(duì)于3507 MCU,其PB2 引腳檢測(cè)到外部信號(hào)出現(xiàn)上升沿即為有人狀態(tài),出現(xiàn)下降沿并延時(shí)3 秒PB2 電平仍為低電平則判斷為無(wú)人狀態(tài)。
功能二是完成紅外信號(hào)解碼與紅外信號(hào)編碼。
功能一啟用了G3507 內(nèi)部GPIO 端口的外部中斷工作模式,該模式對(duì)于外部信號(hào)的快速檢測(cè)非常重要,同時(shí)避免了CPU 頻繁檢測(cè)外部信號(hào)電平的負(fù)擔(dān),CPU 只需執(zhí)行外部中斷到來(lái)后的邏輯。另外,使用一個(gè)定時(shí)器G0,該定時(shí)器用于控制紅色LED 閃爍的頻率。
功能二使用到兩個(gè)定時(shí)器,一個(gè)定時(shí)器工作模式設(shè)為產(chǎn)生PWM 信號(hào),用于驅(qū)動(dòng)紅外發(fā)射管發(fā)射紅外信號(hào)。另一個(gè)定時(shí)器則是用于普通計(jì)時(shí),用于記錄紅外接收管的一系列接收脈寬持續(xù)時(shí)間。
功能三是狀態(tài)顯示與按鍵輸入檢測(cè)
狀態(tài)顯示使用到板載三色LED,所以使能對(duì)應(yīng)3 個(gè)GPIO引腳,紅色LED持續(xù)閃爍表示有人,綠色LED常亮表示無(wú)人。藍(lán)色LED 閃爍一次表示完成一次紅外信號(hào)解碼并將解碼數(shù)據(jù)保存在內(nèi)存中。按鍵輸入檢測(cè)使用到1 個(gè)GPIO 引腳,將該引腳設(shè)置為外部中斷模式,按鍵按下后進(jìn)入設(shè)置模式(可以錄入新的紅外指令),再次按下進(jìn)入運(yùn)行模式,即空調(diào)風(fēng)速自動(dòng)調(diào)節(jié)系統(tǒng)正在運(yùn)行。
總共使用了G3507 內(nèi)部3 個(gè)定時(shí)器資源、7 個(gè)GPIO 引腳資源。
G3507 對(duì)于的外部信號(hào)輸入檢測(cè)以及實(shí)現(xiàn)紅外信號(hào)編碼、解碼起到了重要作用,G3507 作為MCU 主控, 它片內(nèi)資源與性能勝任了這項(xiàng)工作任務(wù)。
總體感受是G3507 的定時(shí)器功能使用起來(lái)很不錯(cuò),無(wú)論是PWM 工作模式還是定時(shí)器模式,定時(shí)效果不錯(cuò),目前沒有發(fā)現(xiàn)有bug 的地方。外部中斷響應(yīng)迅速、準(zhǔn)確,可以說(shuō)一旦檢測(cè)到有人,空調(diào)調(diào)速紅外指令馬上就會(huì)發(fā)送執(zhí)行,通過邏輯分析儀可以得到具體驗(yàn)證,目前沒有外部中斷bug。
在開發(fā)過程中也出現(xiàn)了一些小插曲,比如我手機(jī)前置攝像頭旁有紅外發(fā)射裝置,它能夠干擾紅外接收管、以及空調(diào)紅外接收,屬實(shí)沒想到它的干擾影響有這么大。畢竟紅外接收管對(duì)于940nm 的紅外光信號(hào)是來(lái)者不拒的,統(tǒng)一接收。鑒于此我在程序中添加了紅外解碼增強(qiáng)干擾處理,進(jìn)一步提高了紅外解碼的準(zhǔn)確性、可靠性。
G3507 的另一特色功能是低功耗節(jié)能,該系統(tǒng)在人體監(jiān)測(cè)模塊未產(chǎn)生中斷時(shí)即刻執(zhí)行__WFI 指令進(jìn)入低功耗運(yùn)行模式,直接任意中斷事件發(fā)生MCU 隨即被喚醒。這本身就是M0 內(nèi)核MCU 的設(shè)計(jì)初衷之一,主打低功耗。
5.2 示例源碼
以下為本方案部分示例源碼:主函數(shù)代碼塊:
圖4
外部中斷處理代碼塊:
圖5
(注:本文來(lái)源于《EEPW》202412)
評(píng)論