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