HS0038

HS0038是一款紅外接收探頭,接收紅外信號頻率為38kHz,周期約26μs。

隨著家用電器、視聽產品的普及,自動化辦公設備的廣泛套用和網路化的不斷發展,越來越多的產品具有了待機功能(如遙控開關、網路喚醒、定時開關、智慧型開關等)。產品的待機功能實現遙控操作,極大地方便了我們的生活,但也浪費了大量的能源。中國節能產品認證中心(CECP)調查顯示,全球每個家庭處於待機狀態下的家電相當於亮著一個15 W~30 W 的長明燈,僅一台彩電每年在“無用待機狀態”下浪費電力近100°,在我國彩色電視機待機一項一年就浪費電力150 多億度,相當於十幾個大型火力發電廠白白髮電。澳大利亞電器設備能源委員會新近的研究成果顯示,不僅會耗費可觀的電能,每月支付數額不小的“冤枉電費”,而且其釋放大量有害氣體二氧化碳在一定程度上加速了氣候的變暖。利用本系統可以良好的達到節能和環保的效果。同時在家庭或工業控制現場,一些手動操作不太方便的場合,可以使用現有遙控器通過設定代替手動操作,比如可以利用家中現有的彩電遙控器,控制其它沒有遙控功能的電器(如電燈、計算機、音響、電腦、印表機、飲水機、熱水器等),方便生活。
1 系統方案論證和選擇
為了實現系統整體功能,紅外解碼部分是核心,紅外解碼指將遙控發射器所產生的紅外遙控編碼脈衝所對應的鍵值翻譯出來的過程。下面將系統方案做一論證,通常有硬體解碼和軟體解碼兩種方案。方案一:此方案中,使用專用遙控器作為控制信號發出裝置,當按下遙控器的設定鍵後,一體化紅外接收裝置接收到遙控器發出的設定控制信號,然後將信號送到專用的解碼晶片中進行解碼,解碼後將信號送到單片機,由單片機查表判斷這個信號是不是設定信號,當確認是設定信號後,啟動設定子程式,那么以後接收到的紅外信號就是設定的時間信號了,紅外接收頭接收到紅外信號後再通過放大器將信號傳到解碼器中,解碼器解完碼後送到單片機,單片機再通過查表確定這些數值並進行設定,然後按下確認鍵,紅外接收頭接收到這個信號並通過放大送到解碼器中,解碼後再送到單片機中,單片機通過查表確定這是確認操作後,可以通過可控矽控制電源通斷。設計原理圖如圖1 所示。 方案二:此方案中,我們採用普通的家用電器遙
HS0038
控器作為控制信號發出裝置,當按下遙控器的設定鍵後,紅外接收裝置接收到遙控器發出的紅外線控制信號,然後把這個信號轉換成電信號,傳到單片機中,利用單片機對這個信號進行解碼,解碼完成後查表確定是不是設定信號,當這個信號是設定信號後,啟動設定子程式,那么以後接收到的紅外信號就是設定的時間信號了,單片機再對這些信號進行解碼,查表判斷出數值是多少,然後設定,設定完時間後要進行確認,當遙控器發出確認信號後,單片機收到這個信號並查表判斷這是確認信號後,執行確認指令,使設定生效,從而達到控制電源通斷的目的。
HS0038
方案一為硬體解碼方案,硬體解碼需要使用與遙控器相配套的專用的解碼器晶片,而解碼晶片一般不易得到,價格也較貴,或者自行開發解碼電路(但電路太複雜,性能欠佳)。
方案二為軟體解碼方案,軟體解碼可以不考慮遙控器的晶片是什麼型號的,因為我們只需檢測到它的發射編碼,然後用軟體方式來對它進行處理,從而得到所要的信息。軟體解碼具有靈活、硬體精簡(僅需集成紅外接收頭和一片單片機)、可靠性高,成本低等特點。經以上的論證,可以採用軟體解碼方案,成本低,方便實現,並且系統整體性能和可靠性高。
2 系統組成和實現本系統硬體電路主要有以下幾部分組成:
1)供電電源電路(給微處理器AT89C2051 和紅外一體化接收頭HS0038 提供工作需要的+5V 電壓)
2)微控制器AT89C2051 系統(系統的核心部分)
3)紅外接收電路(接收系統所配備遙控器所發出的紅外信號)
4)看門狗和EEPROM 存儲電路(防止系統當機和存儲編碼信號)
5)執行電路(控制被控電器電源)
2.1 紅外接收電路一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集於一身,並且輸出可以讓單片機識別的TTL 信號,這樣大大簡化了接收電路的複雜程度和電路的設計工作,方便使用。在本系統中我們採用紅外一體化接收頭HS0038,外觀圖如圖3 所示。HS0038 黑色環氧樹脂封裝,不受日光、螢光燈等光源干擾,內附磁禁止,功耗低,靈敏度高。在用小功率發射管發射信號情況下,其接收距離可達35m。它能與TTL、COMS 電路兼容。HS0038 為直立側面收光型。它接收紅外信號頻率為38 kHz,周期約26 μs,同時能對信號進行放大、檢波、整形,得到TTL 電平的編碼信號。三個管腳分別是地、+5 V 電源、解調信號輸出端。 紅外一體化接收頭的測試可以利用圖4 所示的電路進行,在HS0038 的電源端與信號輸出端之間接上一隻二極體及一隻發光二極體後,再配上規定的工作電源(為+5V),當手拿遙控器對著接收頭按任意鍵時,發光二極體會閃爍,說明紅外接收頭和遙控器工作都正常;如果發光二極體不閃爍發光,說明紅外接收頭和遙控器至少有一個損壞。只要確保遙控器工作正常,很容易判斷紅外接收頭的優劣。
HS0038
HS0038
2.2 紅外遙控解碼的實現
因為要進行遙控操作,必須使被遙控對象能夠認識遙控指令,這樣才能對其進行操作。舉例說明一下:假如我只會說漢語,而JIM 只會說英語,讓我們兩個獨自交流的話肯定不會有什麼結果,那我們要進行交流,怎么辦?這就需要一個翻譯者來做中間人了,翻譯者將JIM(我)說的話翻譯給我(JIM)能夠聽懂、識別的語言,這樣我們交流就沒問題了。同樣,在紅外遙控方面,要使被遙控對象能夠識別遙控指令,那就需要一個“翻譯者”,我們將這作為一個過程,叫解碼。
本系統中所使用的遙控器為普通電視遙控器,紅外晶片採用的是3010 晶片。識別方法分析:為了用軟體識別以上波形,採用與程控交換機中“脈衝號碼識別法”類似的方法來解決。用掃描的方式對接收波形快速掃描,然後根據掃描結果分析出編碼值。識別編碼的關鍵之一是確定掃描周期。分析波形和參數知道:整個數據14 位,總時長為22 ms~25 ms,則一個數據位時長為1.5 ms~1.8 ms,占空比1:1,脈寬為750 μs~900 μs。在編程時要考慮脈寬的偏差容限,為保證掃描精度,選取掃描周期為100 μs。識別編碼的關鍵之二是判別“0”和“1”。數據“0”為波形從低到高,即在相鄰的2 次掃描中,掃描值從0 到1,則識別數據為“0”;數據“1”為波形從高到低,即在相鄰的2 次掃描中,掃描值從1 到0,則識別數據為“1”。為了記錄相鄰2 次掃描值,則分別用2 個變數來記錄當前掃描值和前一次的掃描值,程式中用變數TheB 和PreB。識別編碼的關鍵之三是識別各個數據比特的跳變時刻。為了識別這種跳變時刻,用一個標誌位做“變化識別標誌位”,程式中用VIB 表示,它由前次掃描值和當前掃描值“相異或”而得,即VIB=PreB TheB,若VIB=1,則說明是跳變時刻。但是,在2 個數據位之間,也有一個跳變,為了將它與數據位中的有效跳變區分開,設定一個“數據有效標誌位”,程式中用IDB 表示。當VIB=1,且IDB=1 時,則說明是有效的數據跳變,便在此時進行0,1 的判別,用當前掃描值的反碼和前次掃描值“相與”即得到該位的數據編碼,即DATA=/TheB∧PreB。在每次識別出一個比特的數據編碼後,將IDB 求反,則在2個比特位之間的跳變時(VIB=1),IDB 為0,不做識別運算。同時在識別出每個比特的數據編碼後,將記錄掃描次數的計數器清零,當連續10 次掃描波形無變化時,則時長至少大於1 ms,大於數據位脈寬900 μs,即已經過了2 個比特位之間的跳變,視作已經掃描到下一個數據位,將IDB 再次求反,為下一個比特位的識別做好準備。識別編碼的關鍵之四是判別整個數據何時結束。可以用掃描計數器的值來判別,若計數器值大於25,則說明至少連續2.5 ms 內波形已無變化,已遠大於一個比特位的時長,可視作整個數據的最後一位,結束識別。當檢測到有紅外中斷時,進入中斷服務程式,在該程式中調用識別程式,並注意關閉外部中斷,同時在另一定時中斷中判別連續發碼的間隔時間,並打開外部中斷。為了提高識別的抗干擾能力,1)在中斷服務程式中,判別系統碼,系統碼有效,才視為有效結果;2)對同一按鍵連續2次接收的結果做比較,相同才視為有效結果。
 紅外遙控編碼正確識別以後,設定任意鍵碼實現存儲,配以控制執行部分,比如採用繼電器或者可控矽很容易實現被控電器的電源的通斷,實現節能環保和方便生活的目的。
HS0038

相關詞條

熱門詞條

聯絡我們