方予琪
(第七一五研究所,浙江 杭州 310000)
智能家居是在互聯(lián)網(wǎng)影響之下物聯(lián)化的體現(xiàn)。智能家居以住宅為平臺通過物聯(lián)網(wǎng)技術(shù)將家中的各種設(shè)備連接到一起,提供家電控制、照明控制、電話遠程控制、室內(nèi)外遙控、防盜報警、環(huán)境監(jiān)測、暖通控制、紅外轉(zhuǎn)發(fā)以及可編程定時控制等多種功能和手段。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,兼?zhèn)浣ㄖ?、網(wǎng)絡(luò)通信、信息家電、設(shè)備自動化,提升家居的便利性、舒適性、安全性等,甚至為各種能源費用節(jié)約資金。
根據(jù)智能空調(diào)溫度控制系統(tǒng)的設(shè)計要求,將其分為五個模塊,如圖1 所示。
圖1 系統(tǒng)硬件構(gòu)成圖
1.1 主控部分模塊:用MSP430FG4618 單片機完成系統(tǒng)的初始化,控制各模塊工作。
1.2 溫度檢測模塊:用溫度傳感器DS18B20 檢測室內(nèi)溫度并采集,并與設(shè)定溫度作對比,調(diào)整室內(nèi)溫度與設(shè)定溫度相同。
1.3 電機驅(qū)動模塊:通過單片機控制電機轉(zhuǎn)動并調(diào)節(jié)PWM 的占空比從而調(diào)節(jié)電機轉(zhuǎn)速。
1.4 按鍵設(shè)定模塊:通過此模塊來完成對溫度的設(shè)定。
1.5 紅外線檢測模塊:用人體紅外傳感器HC-SR501判斷屋內(nèi)是否有人,從而決定是否對室內(nèi)溫度進行采集。
該設(shè)計是以MSP430FG4618 單片機為主控制模塊的智能空調(diào)溫度控制系統(tǒng)。主要分為三部分,分別為DS18B20 溫度檢測電路、直流小電機電路和HC-SR501紅外線檢測電路。主控模塊完成模塊初始化后,其按鍵用來人為設(shè)定空調(diào)溫度,有增溫和減溫兩個按鍵。首先HC-SR501 電路檢測附近是不是有人來決定空調(diào)機器的開啟與關(guān)閉。如果附近有人,那么HC-SR501 傳感器將人體熱源信號經(jīng)由放大電路傳遞給單片機,設(shè)置在板子上的管腳置高,然后人為按鍵設(shè)定空調(diào)溫度,然后單片機控制溫度檢測電路采集室內(nèi)溫度需要與設(shè)定溫度相比較,室內(nèi)溫度高于設(shè)定溫度,則電機驅(qū)動電路驅(qū)動電機轉(zhuǎn)動降溫;反之則升溫。同時根據(jù)設(shè)定溫度和室內(nèi)溫度的大小差值來控制電機的轉(zhuǎn)速,溫差越大,轉(zhuǎn)速越快,以達到變頻的目的。
MSP430FG4618 單片機CPU 與別的CPU 基本類似,設(shè)計上區(qū)別于其他CPU 為控制結(jié)構(gòu)和指令系統(tǒng)。其內(nèi)核中央處理器設(shè)計目的為精簡指令和透明性高,采用內(nèi)核和仿真指令,均基于硬件執(zhí)行。該操作不僅能增強CPU處理的實時性,還可以提高指令執(zhí)行速度和效率。
存儲器用于對外圍模塊信息、數(shù)據(jù)、程序的存儲,分為程序和數(shù)據(jù)兩類。對前者的代碼以字的形式取得,后者則為字或字節(jié)形式。
外圍模塊經(jīng)由MDB、MAB、中斷服務(wù)及請求線與中央處理器相連。該產(chǎn)品系列包含:時鐘模塊,WDTDOG,Timer_A,Timer_B,DMA,Basic Timer,端口,Compare_A,Port0、1,模數(shù)、數(shù)模轉(zhuǎn)換,液晶模塊,硬件乘法器等中的各個部分,種類繁多,數(shù)目豐富。其原理圖如圖2 所示。
圖2 MSP430FG4618 單片機原理圖
DS18B20 通過1-Wire 總線進行通信,根據(jù)定義,只需一條數(shù)據(jù)線(和地)即可與中央微處理器進行通信。測溫范圍為從-55°C 到+ 125°C,精度為±0.5°C。除此之外,DS18B20 可以直接用數(shù)據(jù)線對器件進行供電。
64 位ROM 存儲設(shè)備的唯一序列碼。便箋式存儲器包含存儲溫度傳感器數(shù)字輸出的2 字節(jié)溫度寄存器。除此之外,TH 和TL 與配置寄存器(可調(diào)節(jié)分辨率為9、10、11、12 位)均為一字節(jié),它們均通過暫存器訪問。 TH,TL 和配置寄存器是非易失性(EEPROM),所以它們將在器件斷電時保留數(shù)據(jù)。并且該器件還有一個優(yōu)點是不需要外部供電即可正常運行。
PWM 是通過調(diào)節(jié)開關(guān)頻率固定的直流電源電壓的占空比來改變負載兩端電壓的平均值而達到控制要求的一種電壓調(diào)整方法。通過改變直流電機的輸出PWM波來調(diào)節(jié)電機的轉(zhuǎn)速。設(shè)計根據(jù)用戶已設(shè)定的溫度和實時溫度的差值來設(shè)置PWM 來控制直流電機轉(zhuǎn)速的快慢,其差值越大,電機轉(zhuǎn)速越快。反之電機轉(zhuǎn)速就越慢。
從而達到智能控制空調(diào)的要求。
人類為恒溫動物,體溫趨于一個穩(wěn)定的區(qū)間內(nèi),因此會發(fā)射出一種波長在10UM 附近紅外射線,該射線經(jīng)由HC-SR501 接收到后,首先由菲泥爾濾光片加大光線的強度,使感應(yīng)更靈敏。然后匯聚到感應(yīng)源上,感應(yīng)源采用熱釋電元件,該元件溫度改變后電荷失衡,向外發(fā)射電荷,再由后續(xù)處理加工后輸出高電平。
主程序的主要功能為:關(guān)閉看門狗定時器,防止程序跑飛。配置2MHZ 的時鐘,配置14pf 匹配電容。
對照原理圖選擇P2.3 置為紅外輸入,上升沿捕獲,開啟P2.3 中斷和P2 口總中斷。
中斷P2 為紅外中斷,用IR=1 表示來人,用IR=2 表示人離開。檢測到來人后,IR=1,將P1.2 置為電機輸出口,然后進行液晶初始化,液晶清屏。接著調(diào)用測溫函數(shù),將測得的溫度取整作為初始設(shè)定溫度。如果初始測得的室溫大于31 度,則初始設(shè)定溫度定為30 攝氏度;如果初始測得的室溫小于16 度,則初始設(shè)定溫度定為16攝氏度,然后將室溫和設(shè)定的溫度顯示出來。檢測到人離開后,IR=2,則關(guān)液晶,將P1.2 置為輸入,即將電機關(guān)閉,然后將IR 清零,準備下一個周期循環(huán)。最后清零中斷標志位,返回斷點處。主程序流程圖如圖3 所示。
圖3 主程序流程圖
溫度檢測程序設(shè)計的核心部件為DS18B20,因為DS18B20 為單總線結(jié)構(gòu),故對時隙的要求十分嚴格,因此讀寫時序十分重要,MSP430 對DS1820 的處理必須完全按照時序概念來進行。為使讀出的溫度更加準確,在程序設(shè)計中進行了五次讀取,并且去除最大值和最小值,再對剩下的三個數(shù)值取平均作為返回值。
首先引用了全局變量室溫和設(shè)定溫度,接著對電機進行初始化:將P1.2 選擇為第二功能,將TA 定時器設(shè)為增量計數(shù)模式,選擇ACLK 作為時鐘源,選擇高電平PWM 輸出,周期定為328,即100HZ。然后判斷室溫和設(shè)定溫度的大小,溫差越大,電機輸出占空比越大。
定義一個液晶專用延時函數(shù),用于完成液晶初始化。將P5.4、P5.3、P5.2 選擇為第二功能并置為輸出。將液晶頻率進行128 分頻。選擇4 工作模式。打開液晶總開關(guān)和液晶管腳開關(guān)。在液晶.h 文件中,查閱了MSP430 相關(guān)型號的數(shù)據(jù)手冊,對液晶顯示段腳進行了規(guī)范的定義,并且將數(shù)字0-9 也用段腳表示出來,存放在數(shù)組中。
首先檢查各個模塊完整性,然后對照各模塊數(shù)據(jù)手冊進行接線焊接,然后對各個模塊進行功能性測試。發(fā)現(xiàn)問題后對照原理圖或數(shù)據(jù)手冊繼續(xù)排查問題,重新進行接線焊接,直至功能性測試完成。
問題一:無人情況下完整硬件電路調(diào)試
問題描述:左邊為主控部分模塊,右邊最下方為紅外感應(yīng)模塊,中間為溫控模塊,最上面為電機模塊,實際測試結(jié)果如圖4 所示。測試結(jié)果:無人情況下,紅外模塊未感應(yīng),單片機上液晶顯示屏未顯示室溫和設(shè)定溫度,溫控模塊未測定溫度,同時電機未驅(qū)動。
圖4 無人完整硬件電路調(diào)試圖
問題二:有人情況下完整硬件電路測試
問題描述:實際測試結(jié)果如圖5 所示。
圖5 有人完整硬件電路調(diào)試圖
測試結(jié)果:紅外模塊檢測到人存在,溫控模塊測溫后通過液晶模塊顯示出來,圖中顯示兩個數(shù)字:左邊為測得的室溫,右邊為初始設(shè)定溫度定為室溫的整數(shù)部分。電機根據(jù)溫差選擇轉(zhuǎn)速轉(zhuǎn)動。
問題三:有人情況下調(diào)溫電機轉(zhuǎn)速調(diào)試
問題描述:在完成問題二調(diào)試情況下,通過按鍵改變設(shè)定溫度并通過液晶顯示屏顯示,然后觀察電機轉(zhuǎn)速變化。測試結(jié)果:為保證調(diào)試效果明顯,將設(shè)定溫度與室溫溫差調(diào)至五度以上,發(fā)現(xiàn)電機轉(zhuǎn)速明顯加快。
基于MSP430FG4618 單片機的智能空調(diào)溫度變頻控制系統(tǒng)設(shè)計,先用人體紅外傳感器HC-SR501 檢測是否有人進出家門,然后將MSP430 內(nèi)按鍵模塊輸入的溫度值與DS18B20 溫度傳感器測得的室內(nèi)溫度相比較,按鍵模塊輸入的溫度值可以通過液晶顯示模塊顯示出來并修改,同時實時顯示室溫。根據(jù)輸入的溫度值與室溫差值的大小來設(shè)置不同的PWM 的占空比,從而控制直流電機的轉(zhuǎn)速。據(jù)此達到對空調(diào)溫度變頻智能控制的目的。