基于PIC單片機(jī)的家用電器電話(huà)遙控裝置
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著社會(huì)的發(fā)展和人們生活水平的提高,越來(lái)越多的家用電器進(jìn)入了人們的生活,這些家用電器給人們的生活帶來(lái)了很多的方便和享受,同時(shí)隨著電話(huà)在家庭中的普及,利用電話(huà)實(shí)現(xiàn)家用電器遙控是家用電器未來(lái)的發(fā)展方向[1]。本文介紹一種基于單片機(jī)的電話(huà)遙控裝置。利用該裝置,用戶(hù)可以通過(guò)任意一部雙音頻電話(huà)(包括手機(jī)和固定電話(huà))遙控家中的電器。當(dāng)用戶(hù)要下班時(shí),可以通過(guò)電話(huà),提前打開(kāi)空調(diào)、電飯鍋,用戶(hù)回到家里時(shí),飯煮好了,房子里溫度剛剛好。用戶(hù)也可以通過(guò)電話(huà)隨時(shí)開(kāi)關(guān)、檢查家里電器的使用情況等等??傊?,電話(huà)通到哪里,用戶(hù)就可以從哪里遙控家中的電器。
1 遙控裝置的工作原理
基于PIC單片機(jī)控制家用電器電話(huà)遙控裝置的工作原理是:當(dāng)有電話(huà)打入時(shí),振鈴電路檢測(cè)到電話(huà)振鈴信號(hào),等待系統(tǒng)默認(rèn)的振鈴次數(shù)后,啟動(dòng)自動(dòng)摘機(jī)電路實(shí)現(xiàn)摘機(jī),并送出提示音信號(hào),用戶(hù)輸入預(yù)先設(shè)定的密碼,控制裝置通過(guò)雙音多頻解碼電路讀取輸入密碼,與預(yù)設(shè)在控制裝置中的密碼進(jìn)行對(duì)比驗(yàn)證,如果密碼錯(cuò)誤,系統(tǒng)自動(dòng)掛機(jī);密碼正確,則進(jìn)入遙控狀態(tài)。該裝置通過(guò)雙音多頻解碼電路獲得用戶(hù)發(fā)出的命令,并根據(jù)用戶(hù)的命令執(zhí)行開(kāi)機(jī)、關(guān)機(jī)、定時(shí)等操作;用戶(hù)還可以進(jìn)行工作狀態(tài)查詢(xún)、密碼修改操作。系統(tǒng)還具有定時(shí)時(shí)間的倒記時(shí)顯示及手動(dòng)操作等功能。當(dāng)人在默認(rèn)的振鈴次數(shù)之前接聽(tīng)電話(huà),不進(jìn)入電話(huà)遙控狀態(tài),因此不影響電話(huà)的正常通話(huà)使用。
2 遙控裝置的硬件組成
家用電器電話(huà)遙控裝置的硬件組成如圖1所示。主要由電話(huà)振鈴檢測(cè)電路、電話(huà)自動(dòng)摘機(jī)電路、雙音多頻解碼電路、顯示電路、輸出控制電路、電源電路和PIC單片機(jī)組成。
單片機(jī)是整個(gè)電話(huà)遙控系統(tǒng)的核心,系統(tǒng)所有電路都是在他的控制下工作,本裝置采用的單片機(jī)是Microchip公司的PIC16F84[2],他是RISC結(jié)構(gòu)的CPU,采用精簡(jiǎn)指令集;內(nèi)含1k×14 b E2PROM型程序存儲(chǔ)器和64個(gè)8 b E2PROM 型數(shù)據(jù)寄存器;擦寫(xiě)次數(shù)可達(dá)100萬(wàn)次,數(shù)據(jù)保存時(shí)間大于40年;有13個(gè)可獨(dú)立編程的雙向I/O口,每個(gè)I/O口最大拉電流25 mA,最大灌電流20 mA;一個(gè)可帶8位預(yù)分頻器的8位定時(shí)器/計(jì)數(shù)器;具有自振式看門(mén)狗和程序保密位;PIC16F84采用CMOS工藝,功耗低,在5 V/4 MHz工作條件下,耗電小于2 mA,可以在2.0~6.0 V電壓下工作。由于他內(nèi)部含有64 b的E2PROM型數(shù)據(jù)存儲(chǔ)器,所以可以用于在掉電狀態(tài)下保存系統(tǒng)密碼和原工作狀態(tài)。
下面具體的介紹遙控裝置中的各部分電路的原理和功能。
2.1 電話(huà)振鈴檢測(cè)電路
振鈴檢測(cè)電路如圖2所示。二極管V1~V4有2種作用:
(1)將不確定的線(xiàn)路供電正負(fù)變?yōu)楣潭ǖ恼?fù)輸出;
(2)將交流的振鈴信號(hào)變換為脈動(dòng)直流以供檢測(cè)。
當(dāng)沒(méi)有振鈴信號(hào)時(shí),線(xiàn)路上的供電電壓為48 V(老式交換機(jī)為60 V),經(jīng)二極管V1~V4整流后不足以使穩(wěn)壓管V5導(dǎo)通,振鈴信號(hào)輸出端電壓接近0 V,當(dāng)振鈴信號(hào)到來(lái)時(shí),線(xiàn)路上的90 V交流振鈴信號(hào)經(jīng)過(guò)二極管V1~V4整流變換成為峰值90 V的脈動(dòng)直流電,其峰值足以擊穿穩(wěn)壓管V5,經(jīng)R1對(duì)C1充電,振鈴輸出端電壓升高,CPU可以根據(jù)振鈴信號(hào)的高低檢測(cè)有無(wú)振鈴。電路中穩(wěn)壓管V6限制振鈴信號(hào)的幅度不超過(guò)CPU端口的允許電壓,保護(hù)CPU。
2.2 電話(huà)自動(dòng)摘機(jī)電路
自動(dòng)摘機(jī)電路如圖3所示。當(dāng)CPU檢測(cè)到系統(tǒng)設(shè)定的振鈴次數(shù)之后,送出摘機(jī)信號(hào),驅(qū)動(dòng)三極管V7導(dǎo)通,電阻R2接入電路,實(shí)現(xiàn)摘機(jī)。當(dāng)CPU檢測(cè)到正確的密碼,并按照用戶(hù)設(shè)定要求工作后;或者檢測(cè)到密碼錯(cuò)誤,CPU取消摘機(jī)信號(hào),三極管截止,系統(tǒng)掛機(jī)。
2.3 雙音多頻解碼電路
解碼電路是將用戶(hù)所按電話(huà)的密碼信號(hào)解碼后送入單片機(jī),單片機(jī)實(shí)現(xiàn)對(duì)家電的控制。雙音多頻解碼電路如圖4所示。系統(tǒng)采用常用的雙音多頻解碼芯片MT8870[3],該芯片外圍電路簡(jiǎn)單、功耗小、抗干擾能力強(qiáng)。由電話(huà)線(xiàn)送進(jìn)來(lái)的雙音多頻(DTMF)信號(hào)經(jīng)電容隔直后送到入MT8870,由MT8870內(nèi)部放大后送入兩級(jí)濾波器,第一級(jí)為撥號(hào)音濾波器,濾除350 Hz和440 Hz的信號(hào),防止撥號(hào)音干擾電路正確解碼,然后將信號(hào)送入高頻群和低頻群信號(hào)濾波器,取出高頻音和低頻音,送入數(shù)字計(jì)數(shù)電路解調(diào)出高頻音和低頻音的頻率,當(dāng)檢測(cè)到正確的高頻音和低頻音信號(hào)后,解調(diào)出對(duì)應(yīng)按鍵并將解調(diào)值鎖存,置STD信號(hào)為高,輸入到單片機(jī)中,單片機(jī)將TOE置高并通過(guò)Q1~Q4引腳讀入指令代碼。收到代表?yè)芴?hào)值的4位數(shù)值后對(duì)信號(hào)進(jìn)行處理。
2.4 家用電器電源控制電路
家用電器電源控制電路如圖5所示,在該遙控裝置中有多路電源控制電路。
其工作原理是單片機(jī)根據(jù)遙控和設(shè)定開(kāi)關(guān)輸入的控制指令,控制電器的電源通斷。當(dāng)電源控制電路的輸出管腳送出的開(kāi)關(guān)控制指令為高電平,MOC3041截止,T1截止,電器被關(guān)閉;當(dāng)電源控制電路送出的開(kāi)關(guān)控制指令為低電平,MOC3041導(dǎo)通,T1導(dǎo)通,電器被打開(kāi)。通過(guò)MOC3041內(nèi)部的過(guò)零觸發(fā)電路,保證T1在電壓過(guò)零時(shí)導(dǎo)通和截止,對(duì)供電系統(tǒng)干擾最小。R4和C1是T1的保護(hù)電路。
3 遙控裝置的控制程序
本遙控裝置的控制程序的主要工作是對(duì)電話(huà)信號(hào)進(jìn)行檢測(cè)以及接收用戶(hù)指令控制家用電器的工作。系統(tǒng)程序主要包括管理監(jiān)控主程序和定時(shí)中斷子程序。
3.1 管理監(jiān)控主程序
管理監(jiān)控主程序流程圖如圖6所示。
CPU檢測(cè)振鈴信號(hào)狀態(tài)和按鍵狀態(tài),當(dāng)檢測(cè)到有效振鈴信號(hào)后,啟動(dòng)計(jì)數(shù)程序,計(jì)數(shù)到設(shè)定振鈴次數(shù)后,CPU送出摘機(jī)信號(hào)控制電路自動(dòng)摘機(jī)并送出摘機(jī)提示音信號(hào),提示用戶(hù)輸入密碼。當(dāng)檢測(cè)到有*鍵按下時(shí),也同樣送出摘機(jī)提示音信號(hào),提示用戶(hù)輸入密碼(對(duì)*鍵的檢測(cè)是為了方便用戶(hù)在家中控制電器,用戶(hù)直接操作接在線(xiàn)路上的電話(huà)機(jī)即可)。單片機(jī)檢測(cè)MT8870送出的STD信號(hào),當(dāng) STD信號(hào)有效時(shí),從MT8870讀入指令代碼并與預(yù)設(shè)密碼比較,如果兩者不一致,則送出警告提示音信號(hào),用戶(hù)可以重新輸入密碼,若連續(xù)3次密碼錯(cuò)誤,系統(tǒng)自動(dòng)掛機(jī),不能進(jìn)行遙控設(shè)定,如果輸入密碼與預(yù)設(shè)密碼一致,則送出確認(rèn)提示音信號(hào),用戶(hù)可以輸入開(kāi)機(jī)、關(guān)機(jī)、定時(shí)工作等指令,也可以輸入查詢(xún)指令查詢(xún)系統(tǒng)工作狀態(tài)或輸入更改密碼指令、更改設(shè)定密碼。設(shè)定或查詢(xún)完成后,按#鍵則系統(tǒng)掛機(jī),連續(xù)一定時(shí)間不輸入任何指令信號(hào),系統(tǒng)也會(huì)自動(dòng)掛機(jī),讓出電話(huà)線(xiàn)路。
3.2 定時(shí)中斷程序
定時(shí)中斷程序完成定時(shí)工作方式下的計(jì)時(shí)和本地按鍵設(shè)定狀態(tài)的查詢(xún)和執(zhí)行(流程圖略)。
4 結(jié) 語(yǔ)
所介紹的基于PIC單片機(jī)的家用電器電話(huà)遙控裝置已經(jīng)投入應(yīng)用,證明該裝置性能穩(wěn)定、工作可靠,而且不影響電話(huà)的正常使用。但不足的是,利用該裝置控制家用電器,必須將電器的電源和本裝置相連接,因此線(xiàn)路顯得雜亂,并且每種電器各種功能設(shè)定都不相同,使用本系統(tǒng)無(wú)法具體控制器詳細(xì)設(shè)定,只能控制其電源開(kāi)關(guān)。解決的方法有2種:
(1)將本系統(tǒng)和家用電器結(jié)合起來(lái),將本裝置嵌入在家用電器的控制器中,成為家用電器的一個(gè)功能,也能夠?qū)崿F(xiàn)對(duì)電器各項(xiàng)設(shè)定的完全控制,但這種方式需要與家用電器的生產(chǎn)廠家相結(jié)合來(lái)實(shí)現(xiàn),這也是將來(lái)的發(fā)展方向。
(2)所介紹的控制器不直接用于控制家用電器,而是在該控制器上設(shè)計(jì)一個(gè)無(wú)線(xiàn)發(fā)射和接收裝置,在每一個(gè)家用電器的電源端設(shè)置一個(gè)具有無(wú)線(xiàn)接收和發(fā)射的控制器。主控制器將用戶(hù)的命令直接發(fā)射給家用電器控制器,同時(shí)還可將家電的工作狀態(tài)反饋給用戶(hù)。該方案適用于對(duì)現(xiàn)有的家用電器控制,筆者目前已將該裝置開(kāi)發(fā)成功。<--→參考文獻(xiàn)CH(開(kāi)始)-->
參考文獻(xiàn)
[1] 王興昆.家庭智能控制器技術(shù)及應(yīng)用[J].工程設(shè)計(jì)CAD與智能建筑,2002,(2).
[2] Microchip公司.PIC16CXX系列單片機(jī)應(yīng)用手冊(cè)[M],1996.
[3] 潘兆群.雙音多頻信號(hào)接收芯片MT8870的高效使用方法[J].電信技術(shù),1998,(8):49-51.