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