劉劍鋒
【摘要】 介紹了一種以單片機(jī)AT89C52、無線GSM模塊TC35和電平轉(zhuǎn)換芯片MAX232為核心的遠(yuǎn)程家居控制系統(tǒng)。該設(shè)計(jì)主要采用單片機(jī)系統(tǒng)模塊和GSM手機(jī)模塊實(shí)現(xiàn),使用單片機(jī)的輸入輸出口和中斷實(shí)現(xiàn)對(duì)控制信號(hào)的處理,通過手機(jī)短信,實(shí)現(xiàn)對(duì)家用電器等電源的通斷控制以及工作狀態(tài)的查詢與監(jiān)測(cè)。
【關(guān)鍵詞】 AT89C52 TC35模塊 智能家居 單片機(jī)控制系統(tǒng)
智能家居是在互聯(lián)網(wǎng)的影響之下物聯(lián)化體現(xiàn)。智能家居通過物聯(lián)網(wǎng)技術(shù)將家中的各種設(shè)備(如音視頻設(shè)備、照明系統(tǒng)、窗簾控制、空調(diào)控制、安防系統(tǒng)、數(shù)字影院系統(tǒng)、影音服務(wù)器、影柜系統(tǒng)、網(wǎng)絡(luò)家電等)連接到一起,提供家電控制、照明控制、電話遠(yuǎn)程控制、室內(nèi)外遙控、防盜報(bào)警、環(huán)境監(jiān)測(cè)、暖通控制、紅外轉(zhuǎn)發(fā)以及可編程定時(shí)控制等多種功能和手段。該文主要以家電為研究對(duì)象。
一、系統(tǒng)的設(shè)計(jì)方案
單片機(jī)控制系統(tǒng)能實(shí)現(xiàn)用戶手機(jī)主動(dòng)查詢家電的當(dāng)前狀態(tài),即當(dāng)用戶手機(jī)發(fā)送查詢短信息給家里的家電設(shè)備,接收設(shè)備接收到短消息數(shù)據(jù)后,按照一定的方式與單片機(jī)控制系統(tǒng)進(jìn)行數(shù)據(jù)交換,控制單片機(jī)對(duì)各個(gè)檢測(cè)點(diǎn)的狀態(tài)進(jìn)行巡回檢測(cè),并將最終的數(shù)據(jù)信息通過發(fā)送設(shè)備反饋給用戶;另一方面,當(dāng)家電狀態(tài)和用戶要求的不符時(shí),用戶通過手機(jī)發(fā)送帶有控制要求的短消息,當(dāng)家中的手機(jī)或者手機(jī)短信收發(fā)模塊接收到短消息,通過單片機(jī)程序自動(dòng)處理后,單片機(jī)系統(tǒng)產(chǎn)生控制信號(hào)驅(qū)動(dòng)執(zhí)行機(jī)構(gòu),根據(jù)不同的情況控制改變家用電器的狀態(tài),打開或者關(guān)閉家用電器,從而達(dá)到遠(yuǎn)程雙向?qū)崟r(shí)遙控檢測(cè)通信的目的。
二、系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)過程
從事這個(gè)課題的研究己經(jīng)有很長一段時(shí)間,在研究開發(fā)過程中發(fā)現(xiàn)存在兩個(gè)需要解決的關(guān)鍵問題:一個(gè)是發(fā)送/接收模塊以怎樣的方式與單片機(jī)通信的問題;另一個(gè)是發(fā)送/接收模塊怎樣與用戶手機(jī)通信的問題。后來考慮用一個(gè)GSM模塊作為接收/發(fā)送模塊,與單片機(jī)系統(tǒng)通過AT指令進(jìn)行串行通信,使用單片機(jī)模塊和外圍芯片組成的單片機(jī)控制系統(tǒng)。單片機(jī)系統(tǒng)通過兩次電平轉(zhuǎn)換跟手機(jī)模塊進(jìn)行雙向通信,通信時(shí)使用AT指令,AT指令在手機(jī)模塊和單片機(jī)之間以ASCII碼形式傳送,這能保證正常的通信,實(shí)現(xiàn)對(duì)家電的良好控制。
三、軟、硬件部分設(shè)計(jì)和調(diào)試
本次設(shè)計(jì)的軟硬件電路相對(duì)來說不是很復(fù)雜,主要由手機(jī)模塊TC35、電平轉(zhuǎn)換電路、AT89C52、繼電器組成,但是在調(diào)試過程中還是出現(xiàn)了幾個(gè)意想不到的問題:
1、在單片機(jī)控制方面,一開始沒有給繼電器加上驅(qū)動(dòng)電路,即不需要上拉電阻,當(dāng)把5V電源換成單片機(jī)輸出加上繼電器驅(qū)動(dòng)電路后,5腳仍接地時(shí),繼電器不能正常工作,究其原因發(fā)現(xiàn):由于繼電器屬于感性負(fù)載,工作時(shí)必須要用二極管來續(xù)流,而其驅(qū)動(dòng)芯片ULN2003A集成了續(xù)流二極管,其COM口就是直接連在各個(gè)續(xù)流二極管導(dǎo)通方向的前端,所以COM口要接上5V電壓,而繼電器為了續(xù)流,必須并列在續(xù)流二極管的旁邊,所以,繼電器的5腳必須接上5V電壓,而2腳仍舊接在單片機(jī)控制端上。
2、在軟件部分全部通過編譯,重新整合起來后發(fā)現(xiàn)系統(tǒng)只能接收處理第一條短信,對(duì)于第二條根本沒有反應(yīng),手機(jī)上顯示單片機(jī)并沒有讀取第二條短信,后來發(fā)現(xiàn)是一次中斷完成后串口中斷標(biāo)志RI,TI沒有清零,但是用軟件將RI,TI清零后發(fā)現(xiàn)問題依然存在。經(jīng)過仔細(xì)檢查和分析程序發(fā)現(xiàn):數(shù)據(jù)沒有完全接收完,留在了手機(jī)的串口緩沖區(qū)內(nèi),當(dāng)用戶發(fā)送第二次短信后,手機(jī)接收到得數(shù)據(jù)格式和第一次得就有差別了,這樣單片機(jī)系統(tǒng)就找不到新消息的存放地址,從而發(fā)送的讀新消息的AT指令就會(huì)發(fā)生錯(cuò)誤,導(dǎo)致上述的現(xiàn)象。
3、單片機(jī)能讀手機(jī)的短信,但是對(duì)于任何短消息被控對(duì)象都沒有響應(yīng)。檢查程序發(fā)現(xiàn):由于使用了52單片機(jī),其片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)為256個(gè)字節(jié),但是00H-7FH和80H-FFH的數(shù)據(jù)存儲(chǔ)和讀取方式有差別,在00H-7FH部分?jǐn)?shù)據(jù)讀取可以采用直接尋址的方式,但是在80H-FFH不能直接尋址,只能采用寄存器間接尋址的方式,而當(dāng)我們驗(yàn)證短消息內(nèi)容時(shí),其一部分?jǐn)?shù)據(jù)就存儲(chǔ)在80H-FFH內(nèi),使用直接尋址會(huì)出現(xiàn)上述錯(cuò)誤。解決方法:從存儲(chǔ)區(qū)80H開始實(shí)行寄存器間接尋址。
此次設(shè)計(jì)圓滿地完成了所要求的功能:(1)單片機(jī)可以正確讀出短消息。(2)單片機(jī)對(duì)短信內(nèi)容可以正確的解碼和分析。(3)單片機(jī)控制系統(tǒng)可以精確地控制負(fù)載設(shè)備。(4)用戶可以通過發(fā)送內(nèi)容為“查詢”,“打開”或者“關(guān)閉”的短信來執(zhí)行相關(guān)的操作。(5)收發(fā)模塊接收到的短信處理完之后可以被自動(dòng)刪除。(6)對(duì)無效錯(cuò)誤短信具有容錯(cuò)功能。(7)根據(jù)實(shí)際測(cè)定,從發(fā)送短信到被控制設(shè)備完成被控操作需要大概三秒鐘,其中90%的時(shí)間是短消息的收發(fā)延時(shí)。
參 考 文 獻(xiàn)
[1]梅文思.基于GSM的無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].科技廣場(chǎng).2011年01期
[2]汪剛.張福.;陳宇航.張永清.一種遠(yuǎn)程智能家電控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械與電子.2010年11期
[3]謝傳鑾.邢恩福.基于短消息的漏電保護(hù)器遠(yuǎn)程管理系統(tǒng)的設(shè)計(jì)[J].制造業(yè)自動(dòng)化.2009年01期
[4]張紅紅.連衛(wèi)民.遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程.2012年06期