1 引言
本文設(shè)計(jì)研發(fā)了一款基于51 單片機(jī)控制的節(jié)能環(huán)保的智能排插,舊一代的家電通過(guò)使用這個(gè)排插可以蛻變?yōu)橹悄芑译?,具備遙控、定時(shí)開(kāi)關(guān)、無(wú)待機(jī)功耗等功能,節(jié)約了家電更新?lián)Q代的成本。該排插現(xiàn)場(chǎng)運(yùn)行效果良好,符合一般用戶需求,具有一定的推廣應(yīng)用價(jià)值。
2 智能排插基本工作原理
為方便用戶使用,本設(shè)計(jì)將系統(tǒng)分成兩部分:排插控制系統(tǒng)和排插遙控器系統(tǒng)(如圖1、圖2 所示),它們分別由一片AT89S52 單片機(jī)控制。在排插控制系統(tǒng)中,單片機(jī)通過(guò)無(wú)線接收模塊接收遙控器的遙控命令、解碼并進(jìn)行相關(guān)操作;單片機(jī)通過(guò)控制與排插插孔相連的繼電器來(lái)控制插孔的通斷電。
當(dāng)然,插孔的通斷電也可以通過(guò)手動(dòng)開(kāi)關(guān)按鈕來(lái)操控。LED指示燈用于指示排插當(dāng)前的工作狀況。在排插遙控系統(tǒng)中,無(wú)線發(fā)射模塊發(fā)送遙控指令,對(duì)排插進(jìn)行定時(shí)開(kāi)關(guān)或立即開(kāi)關(guān)等遠(yuǎn)程操作。本系統(tǒng)采用成都市飛宇達(dá)實(shí)業(yè)有限公司生產(chǎn)的液晶顯示模塊FYD12864-0402B,內(nèi)置ST7920 液晶控制器。該LCD用來(lái)顯示遙控器人機(jī)交互界面。
圖1 排插控制系統(tǒng)
圖2 排插遙控系統(tǒng)
3 智能排插硬件設(shè)計(jì)
3.1 無(wú)線通訊模塊與51 單片機(jī)接口及通訊技術(shù)
3.1.1 無(wú)線收發(fā)模塊與51 單片機(jī)硬件接口
在排插系統(tǒng)中,為了降低生產(chǎn)成本,我們選用Atmel 公司的單片機(jī)AT89S52 為控制單元,采用PT2272 與PT2262 配對(duì)編、解碼芯片構(gòu)成無(wú)線通訊模塊。無(wú)線發(fā)射模塊和無(wú)線接收模塊電路圖如圖3、圖4 所示。
圖3 無(wú)線發(fā)射模塊電路圖
圖4 無(wú)線接收模塊電路圖
圖4 中,解碼芯片PT2272 的17 腳(VT)為接收有效狀態(tài)指示,它與排插控制系統(tǒng)上的單片機(jī)I/O口P3.2(INT0)相連;10~13 腳(D0~D3)為解碼后的四個(gè)數(shù)據(jù)腳,它們分別與單片機(jī)I/O口P2.0~P2.3相連;1~8 腳為三態(tài)(VSS、VDD、空)編碼腳;LM358的1 腳(RXD)輸出的是解調(diào)后的方波信號(hào)。
從邏輯分析儀采樣結(jié)果分析得知,當(dāng)PT2272 接收到有效編碼數(shù)據(jù)時(shí),VT 端會(huì)輸出高電平。利用此特性,可以將單片機(jī)外部中斷觸發(fā)方式設(shè)置為下降沿觸發(fā),以無(wú)線接收模塊接收到有效數(shù)據(jù)時(shí)VT 端的輸出來(lái)驅(qū)動(dòng)單片機(jī)外部中斷。在外部中斷處理程序中,接收遙控器發(fā)送過(guò)來(lái)的4 位數(shù)據(jù),連續(xù)接收四次4 位數(shù)據(jù)為一次完整傳輸過(guò)程。
3.1.2 無(wú)線收發(fā)模塊工作原理
無(wú)線發(fā)送模塊由編碼芯片PT2262 發(fā)出的編碼信號(hào):地址碼、數(shù)據(jù)碼、同步碼組成一個(gè)完整的碼字,解碼芯片PT2272 接收到信號(hào)后,其地址碼經(jīng)過(guò)兩次比較核對(duì)后,VT 腳才輸出高電平,與此同時(shí)相應(yīng)的數(shù)據(jù)腳也輸出高電平。如果發(fā)送端一直按住按鍵,編碼芯片會(huì)連續(xù)發(fā)射。當(dāng)發(fā)射模塊沒(méi)有按鍵按下時(shí),PT2262不接通電源,其17腳為低電平,則315MHz 的高頻發(fā)射電路不工作;當(dāng)有按鍵按下時(shí),PT2262 得電工作,其17 腳輸出經(jīng)調(diào)制過(guò)的串行數(shù)據(jù)信號(hào)。在17 腳輸出高電平期間,315MHz 的高頻發(fā)射電路起振并發(fā)射等幅高頻信號(hào),在17 腳輸出低平期間,315MHz 的高頻發(fā)射電路停止振蕩。故高頻發(fā)射電路完全受控于PT2262 的17 腳輸出的數(shù)字信號(hào),因此,對(duì)高頻電路的幅度監(jiān)控(ASK 調(diào)制)相當(dāng)于調(diào)制度為100%的調(diào)幅。
3.1.3 無(wú)線收發(fā)模塊間通訊協(xié)議
排插控制系統(tǒng)與遙控器之間通過(guò)由PT2272 和PT2262 配對(duì)芯片構(gòu)成的無(wú)線模塊來(lái)收發(fā)數(shù)據(jù)。由于芯片性能限制關(guān)系,沒(méi)有內(nèi)置通訊時(shí)序以及協(xié)議,并且每次只能發(fā)送4 位二進(jìn)制數(shù)據(jù)。因此我們自擬定通訊協(xié)議來(lái)進(jìn)行復(fù)雜數(shù)據(jù)的通訊。我們擬定每發(fā)送四次4 位數(shù)據(jù)為一次完整通訊過(guò)程,具體操作如圖5 所示,這里假設(shè)控制兩個(gè)排插插孔的情況。
圖5 無(wú)線收發(fā)模塊間的通訊協(xié)議
關(guān)鍵字:51單片機(jī) 智能排插
3.2 排插系統(tǒng)硬件電路設(shè)計(jì)
圖6 是排插遙控器的電路圖,由四個(gè)按鍵和一個(gè)FYD12864 液晶顯示模塊組成人機(jī)交互界面。四個(gè)按鍵的作用分別是:向上,向下,確認(rèn)和取消。由于單片機(jī)對(duì)于無(wú)線模塊干擾比較大,所以這里采用PC817進(jìn)行光耦隔離。
圖6 排插遙控器電路圖
圖7 是排插控制器的電路圖,由無(wú)線接收模塊接收遙控器發(fā)送的數(shù)據(jù),控制繼電器通斷電,繼而控制排插的通斷電。四個(gè)LED 色塊指示排插的工作狀況,兩個(gè)按鍵可手動(dòng)控制繼電器。
圖7 排插控制器電路圖
3.3 數(shù)據(jù)糾錯(cuò)功能
由于環(huán)境中存在著干擾源,無(wú)線收發(fā)模塊的通信必定會(huì)出現(xiàn)丟幀或誤碼的情況,故排插控制系統(tǒng)須具備一定的糾錯(cuò)功能。我們采取如下方式進(jìn)行糾錯(cuò)處理:當(dāng)排插控制系統(tǒng)接收到非完整數(shù)據(jù)時(shí)(完整數(shù)據(jù)為四次4 位數(shù)據(jù)),等待0.3s(數(shù)據(jù)保持時(shí)間)后,若仍未接收到有效數(shù)據(jù),意味著通訊過(guò)程中出現(xiàn)數(shù)據(jù)幀丟失,此時(shí)將前面接收到的非完整數(shù)據(jù)幀從內(nèi)存單元中刪除,拋棄原數(shù)據(jù)等待下一次有效數(shù)據(jù)的傳輸。
即接收程序只對(duì)有效匹配數(shù)據(jù)進(jìn)行處理,非有效數(shù)據(jù)直接拋棄,這樣做能有效地避免在通訊出現(xiàn)誤碼時(shí),排插控制系統(tǒng)出現(xiàn)程序跑飛的情況。
4 智能排插軟件設(shè)計(jì)
排插系統(tǒng)軟件采用51 單片機(jī)C語(yǔ)言模塊化編程,主要由主程序、遙控器操作程序、排插操作控制系統(tǒng)程序、液晶顯示程序等組成。在此給出遙控器操作程序流程圖和排插操作控制系統(tǒng)流程圖(見(jiàn)圖8、圖9)。
其他模塊的流程圖因?yàn)槠脑?,在此就不再贅述?/p>
圖8 遙控器操作程序流程圖
圖9 排插操作控制系統(tǒng)流程圖
5 結(jié)束語(yǔ)
本系統(tǒng)利用51 單片機(jī)控制的排插,具有一定的創(chuàng)新性。遙控徹底關(guān)機(jī),無(wú)待機(jī)耗電問(wèn)題,環(huán)保省電。