學習型紅外遙控器_第1頁
學習型紅外遙控器_第2頁
學習型紅外遙控器_第3頁
學習型紅外遙控器_第4頁
學習型紅外遙控器_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、0信息與電氣工程學院電子信息工程電子信息工程 CDIO 一級項目一級項目(2013/2014 學年第二學期)題 目 : 學習型紅外遙控器 專業(yè)班級 : 電子信息 1101 學生姓名 : 學 號: 指導(dǎo)教師 : 馬永強老師 設(shè)計周數(shù) : 15 周 設(shè)計成績 : 2014 年 6 月 4 日1目目 錄錄1 1 項目設(shè)計目的及任務(wù)項目設(shè)計目的及任務(wù).2 22 2 項目設(shè)計背景項目設(shè)計背景.2 23 3 項目設(shè)計思路項目設(shè)計思路.2 2 3.3.1 1 學習型遙控介紹學習型遙控介紹.2 2 3.3.2 2 硬件設(shè)計硬件設(shè)計.3 3 3.3.3 3 軟件設(shè)計軟件設(shè)計.3 3 3.3.3.3.1 1 數(shù)據(jù)

2、壓縮編碼數(shù)據(jù)壓縮編碼.4 4 3.3.3.23.2 編碼具體實現(xiàn)過程編碼具體實現(xiàn)過程.4 44 4 具體程序介紹具體程序介紹.4 4 4.1.4.1. 遙控發(fā)射及接收控制程序流程圖遙控發(fā)射及接收控制程序流程圖.5 5 4.24.2 遙控不同模式的切換遙控不同模式的切換.5 5 4 4.3.3 遙控硬件結(jié)構(gòu)遙控硬件結(jié)構(gòu).9 95 5 核心電路設(shè)計核心電路設(shè)計.9 9 5.15.1 紅外串行通信接口電路設(shè)計紅外串行通信接口電路設(shè)計.9 9 5.25.2 發(fā)射部分設(shè)計發(fā)射部分設(shè)計.1 10 0 5.35.3 紅外接收器的設(shè)計紅外接收器的設(shè)計.1 10 06 6 系統(tǒng)的功能實現(xiàn)方法系統(tǒng)的功能實現(xiàn)方法.

3、1 11 17 7 項目設(shè)計心得項目設(shè)計心得.1 13 38 8 參考文獻參考文獻.1 13 321 1 項目設(shè)計目的及任務(wù)項目設(shè)計目的及任務(wù)設(shè)計學習型紅外遙控器,具有以下功能:(1)不同電器遙控間模式切換;(2)學習、發(fā)射、退出模式切換;(3)學習遙控件值并存儲、顯示;(4)對存儲鍵值調(diào)用、發(fā)射,控制電器;(5)加串口或藍牙與上位機通信。2 2 項目設(shè)計背景項目設(shè)計背景無線遙控是指利用無線電波、紅外線、超聲波等作為載體,不用導(dǎo)線,而在空間傳輸,實現(xiàn)對被控目標的控制。實現(xiàn)對以家用電器為代表的中小型電器的遙控方法,主要有無線電遙控和紅外線遙控。紅外線遙控與無線電遙控相比:紅外光波的波長遠小于無線

4、電波的波長,因此紅外線遙控信號不會影響其它家用電器,也不會影響到鄰近的無線電設(shè)備。另外,紅外線遙控不具有無線電遙控那樣穿透障礙物去控制被控對象的能力,在設(shè)計家用電器的紅外線遙控器時,不必要像無線電遙控那樣,每套發(fā)射器和接收器要有不同的遙控頻率或編碼,否則,就會隔墻控制或干擾鄰居的家用電器,所有同類產(chǎn)品的紅外線遙控器,可以有相同的遙控頻率或編碼,而不會出現(xiàn)遙控信號“串門”的情況,這對于大批量生產(chǎn)以及在家用電器上普及紅外線遙控提供了極大的方便;此外,紅外線為不可見光,對環(huán)境影響很小,同時又具有很強的隱蔽性和保密性。由此可見,紅外線遙控具有結(jié)構(gòu)簡單、制作方便、成本低廉、抗干擾能力強、工作可靠性高等一

5、系列優(yōu)點,是近距離遙控、尤其是室內(nèi)遙控的優(yōu)選遙控方式。3 3 項目設(shè)計思路項目設(shè)計思路 3.13.1 學習型遙控介紹學習型遙控介紹學習型紅外遙控,可以分為兩類:以固定碼格式學習的遙控器和波形拷貝方式學習的遙控器。前者,需要收集各種不同種類的遙控器信號,然后進行識別比較,最后再記錄。但是,要實現(xiàn)幾乎所有的紅外遙控器的成功復(fù)制就太難了。因為,紅外遙控器的紅外編碼格式變化太多。不過這種學習型遙控器對硬件要求相對簡單,處理器的工作頻率可以不高,存儲容量3也較小,其缺點是對未知編碼的遙控器無效。后者主要是把原始遙控器所發(fā)出的信號進行完全拷貝,而不管遙控器是什么格式,存儲在 EEPROM 等存儲器中。當發(fā)

6、射時,只需將儲存器中記錄的波形長度還原成原始信號即可。這種學習型遙控器對 MCU 的主頻要求高,RAM 要求較大,其優(yōu)點是對任何一種紅外遙控器都可以進行學習。常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個部分。發(fā)射部分的主要元件為紅外發(fā)光二極管。它實際上是一只特殊的發(fā)光二極管,由于其內(nèi)部材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時,它便發(fā)出的是紅外線而不是可見光。目前大量使用的紅外發(fā)光二極管發(fā)出的紅外線波長為940nm 左右,外形與普通發(fā)光二極管相同,只是顏色不同。接收部分的主要元件為紅外接收二極管,一般有圓形和方形兩種。在實際應(yīng)用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二

7、極管在電路中應(yīng)用時是反向運用,這樣才能獲得較高的靈敏度。由于紅外發(fā)光二極管的發(fā)射功率一般都較?。?00mW 左右) ,所以紅外接收二極管接收到的信號比較微弱,因此就要增加高增益放大電路,最近幾年大多都采用成品紅外接收頭。 3.23.2 硬件設(shè)計硬件設(shè)計本設(shè)計硬件電路分為兩大模塊,分別是:紅外線發(fā)射模塊和紅外線接收模塊。用單片機制作的 15 路電器遙控器,可以分別控制 15 個電器的電源開關(guān),并且可對一路電燈進行亮度的遙控。采用脈沖個數(shù)編碼,4*8 鍵盤開關(guān),可擴充到對 32 個電器的控制。圖 3 為該系統(tǒng)遙控發(fā)射器原理圖,其中 P1 口和 P0 口作鍵掃描端口,具有 32 個功能操作鍵;第 9

8、 腳為單片機的復(fù)位腳,采用簡單的 RC 上電復(fù)位電路;15 腳作為紅外線遙控碼的輸出口,用于輸出 38KHz 載波編碼;18、19 腳接 12MHz 晶振。P0 口需接上拉電阻。圖 4 為該系統(tǒng)遙控接收原理圖,其中 P1.1-P1.2 口作為數(shù)碼管的二進制數(shù)據(jù)輸出,顯示數(shù)字為 0-7,7 代表最亮,0 代表最暗,采用 4511 集成塊硬件譯碼顯示數(shù)值;P0.0-P0.7以及 P2.0-P2.6 口作為 15 個電器的電源控制輸出,接口可以用繼電器或可控硅,在本電路中,P2.0 口控制一個電燈的亮滅;P2.7 口為可控硅調(diào)光燈的調(diào)光脈沖輸出;第 10 腳 P3.0口為 50Hz 交流市電相位基準

9、輸入,第 12 腳為中斷輸入口;P3.1 口用于接收紅外線遙控碼4輸入信號。 3.33.3 軟件設(shè)計軟件設(shè)計學習型遙控器的設(shè)計性能及實現(xiàn)與其軟件設(shè)計編寫具有密切的關(guān)系,在設(shè)計中采用內(nèi)部定時器對信號高低電平計時的方法來采集數(shù)據(jù)并保存。當系統(tǒng)識別到起始碼的低電平時,系統(tǒng)啟動內(nèi)部定時器對輸入低電平計時,當起始碼的低電平結(jié)束時保存定時器此時的值,記錄下起始碼的低電平信號脈沖寬度值;然后依次保存采集到的編碼信號脈沖寬度值,如果采集到編碼信號位數(shù)大于設(shè)定值 M(程序中設(shè)定值),就認為編碼采集已經(jīng)結(jié)束,即學習子程序結(jié)束。在軟件設(shè)計過程中,使用了 2 個外部中斷和 2 個內(nèi)部定時器,外部中斷 0 啟動定時器0

10、 停止定時器 1 計數(shù)并保存定時器 1 的數(shù)據(jù),外部中斷 1 啟動定時器 1 停止定時器 0 計數(shù)并保存定時器 0 的數(shù)據(jù),用定時器 0 記錄紅外解調(diào)信號的高電平時長。用定時器 1 記錄紅外解調(diào)信號的低電平時長,本文采用 12 MHz 晶振,1 個機器周期是 1 s,計數(shù)器采用 16位計數(shù)器。如果在外部中斷 0 和外部中斷 1 之間不發(fā)生內(nèi)部定時器中斷,可以記錄的最大時間間隔為 65.5 ms;如果在外部中斷 0 和外部中斷 1 之間發(fā)生內(nèi)部定時器中斷則可以記錄的最大時間間隔是 n65.5 ms,其中 n 為中斷次數(shù)。其值保存在設(shè)定的數(shù)據(jù)存儲器中,然后寫入到外部 E2PROM 存儲器中。發(fā)射過

11、程再從外部的 E2PROM 存儲器讀出,通過用軟件模仿 38 kHz 載波信號發(fā)送編碼信息。 3.3.13.3.1 數(shù)據(jù)壓縮編碼數(shù)據(jù)壓縮編碼 在設(shè)計過程中研究發(fā)現(xiàn):盡管空調(diào)遙控器存在幀格式多樣、碼型多樣、編碼長短不同、發(fā)送方式不同等問題,但對于某一個獨立的空調(diào)遙控器還是有規(guī)律可依的。在系統(tǒng)設(shè)計方案時,選擇通用性好的就能解決這個問題。例如測得一款空調(diào)遙控器的 1 個命令碼如下: 低電平(有紅外發(fā)送載波)信號碼時長數(shù)據(jù)是: 0 x7368 0 x0578 0 x0577 0 x0563 0 x0555 0 x0584 0 x0564 0 x0545 0 x0572 0 x0554 高電平(無紅外發(fā)

12、送載波)信號碼時長數(shù)據(jù)是:0 x0578 0 x1377 0 x0563 0 x0555 0 x1384 0 x0564 0 x0545 0 x1382 0 x0554 0 x01345 盡管碼型有幀頭、系統(tǒng)碼、操作碼、同步碼、幀間隔碼、幀尾,但不論是低電平(有紅外發(fā)送載波)信號碼時長或是高電平(無紅外發(fā)送載波)信號碼時長其結(jié)構(gòu)都相對簡單。但是 1個幀如此多的數(shù)據(jù)占據(jù)了大量的內(nèi)存空間,增加了硬件成本和程序運行時間,有必要在數(shù)據(jù)分析的基礎(chǔ)上采取數(shù)據(jù)壓縮。 數(shù)據(jù)壓縮根據(jù)使用場合和要求的不同分有損和無損壓縮。為了在數(shù)據(jù)發(fā)送時準確再現(xiàn)接5收到的紅外數(shù)據(jù),本文采用無損壓縮的方法,使用的編碼方式是改進型的

13、游程編碼,根據(jù)游程編碼的原理,游程長度(游程或游長)RL(Run-Length)指的是由信號采樣值構(gòu)成的數(shù)據(jù)流中各個數(shù)據(jù)重復(fù)重現(xiàn)的長度,只要給出重復(fù)的數(shù)據(jù)、數(shù)據(jù)長度和位置就可以恢復(fù)原來的數(shù)據(jù)流。 3.3.23.3.2 編碼具體實現(xiàn)過程編碼具體實現(xiàn)過程 (1)在接收紅外信號時分別按高電平和低電平不同的時間長度編號(時間長度規(guī)定一定的誤差范圍),每 1 次測得的數(shù)據(jù)根據(jù)電平持續(xù)時間記錄其編號,再將同編號的數(shù)據(jù)相加求平均值作為標準時間長度,根據(jù)紅外信號格式的不同,可以選擇 4 bit 壓縮方式和 2 bit 壓縮方式,即壓縮比達到 1/4 和 1/8。在接收紅外數(shù)據(jù)時采用的是中斷方式,不占用過多的

14、CPU時間,還可以一邊學習一邊存入 E2PROM 以達到節(jié)省內(nèi)存空間的目的。 將上述遙控器的 1 個命令碼(其中紅外編碼長度為 150 bit,壓縮比為 1/8)的數(shù)據(jù)存儲在E2PROM 中的數(shù)據(jù)格式如下: 01100101(共 10 個字節(jié)低電平數(shù)據(jù)); 11010101(共 10 個字節(jié)高電平數(shù)據(jù)); 0 x96(字節(jié)總長度); 0 x1377 0 x0560 0 x0572 0 x370(4 個不同的時長); (2)發(fā)送紅外數(shù)據(jù)時,先從 E2PROM 中讀出字節(jié)總長度、4 個不同的時長及部分高低電平數(shù)據(jù),在發(fā)送高電平時(即不發(fā)送紅外載波信號)且時長大于 1 ms,再讀 E2PROM 數(shù)據(jù)

15、,這樣更可以節(jié)省內(nèi)存空間。4 4 具體程序介紹具體程序介紹 4.14.1 遙控發(fā)射及接收控制程序流程圖遙控發(fā)射及接收控制程序流程圖遙控發(fā)射及接收控制流程圖如圖 1 和圖 2 所示:6圖 1 遙控發(fā)射控制流程圖7開始初始化按顯示亮度數(shù)據(jù)設(shè)定調(diào)光脈沖延時值P3.0=0?調(diào)用延時子程序P2.7 口輸出調(diào)光子程序NY中斷開始低電平脈寬2ms?接收并對低電平脈沖計數(shù)高電平脈寬3ms?按脈沖個數(shù)至對應(yīng)功能程序中斷返回NNY圖 2 遙控接收控制流程圖圖 3 遙控發(fā)射8圖 4 遙控接收 4.24.2 遙控不同模式的切換遙控不同模式的切換學習型遙控器可以控制多種電器,例如:電視機,電冰箱,空調(diào),電磁爐等。利用每

16、種電器分配不同的功能界面,來控制不同的電器進行相應(yīng)的操作。因為每種電器的控制不一樣,所以控制界面需要切換,而且當要選換另一種電器控制界面時,還需要有退出功能,即退出到原始界面從而選擇其他功能。學習型遙控器提供了一種只需較小的存儲空間來存儲遙控按鍵數(shù)據(jù)的存儲方法,其技術(shù)方案是,學習型遙控器的數(shù)據(jù)存儲方法,其特征在于,包括以下步驟:進入學習狀態(tài);接收目標按鍵的鍵碼;分析目標按鍵鍵碼里的引導(dǎo)碼、系統(tǒng)碼和功能碼并判斷目標鍵碼里的引導(dǎo)碼及系統(tǒng)碼與存儲器中已存儲的引導(dǎo)碼及系統(tǒng)碼是否相同,若相同直接進入下一步,若不相同就存儲目標按鍵的引導(dǎo)碼及系統(tǒng)碼,然后進入下一步;存儲目標按鍵的功能碼。本發(fā)明的有益效果是,

17、對同一引導(dǎo)碼和系統(tǒng)碼只記憶一次,只記憶不同按鍵的功能碼,從而大大減少了需要存儲的數(shù)據(jù),節(jié)省了存儲器的存儲空間。切換流程圖如圖 5:9圖 5 遙控不同模式的切換 4.34.3 遙控器硬件結(jié)構(gòu)遙控器硬件結(jié)構(gòu)學習型紅外遙控器由紅外一體化接收電路、反相器、溫度傳感器、單片機、紅外發(fā)送電路、E2PROM 存儲器、鍵盤及 LED 指示燈構(gòu)成,如圖 6 所示圖 6 遙控器硬件結(jié)構(gòu)圖10單片機 AT89S52 構(gòu)成紅外遙控的處理器,其數(shù)據(jù)存儲器 RAM(258B)用來存儲學習過程中編碼信號的脈沖寬度和編碼。 (1)紅外發(fā)射電路:38 kHz 方波直接由單片機模擬產(chǎn)生,經(jīng)過三極管放大后,驅(qū)動紅外發(fā)光二極管(注意

18、:38 kHz 載波不能用 AT89S52 定時器產(chǎn)生,因為 38 kHz 載波信號的周期只有 26 s,考慮到有載波時的占空比為 1/3,即定時器的最小中斷時間間隔只有 8 s,在執(zhí)行中斷時中斷處理過程(如保護現(xiàn)場等)實際運行時間根據(jù)中斷點的不同需要的時間也不同,有時會大于 8 s,這樣不能保證 38 kHz 信號的穩(wěn)定性),在軟件處理過程中應(yīng)用延時程序模仿 38 kHz 的紅外載波信號。 (2)紅外一體化接收頭:接收器選用一體化紅外接收器 MK0038,該接收器是黑色環(huán)氧聚光透鏡,能夠濾除可見光的干擾,集紅外接收和放大于一體,內(nèi)含紅外線 PIN 接收管、選頻放大器和解調(diào)器。不需任何外接元件

19、,就能完成從紅外遙控信號(38 kHz 的載波信號)中分離出基帶信號,輸出與 TTL 電平兼容的所有工作。在與單片機連接時,將接收來的紅外遙控信號反相,其正向信號接外部中斷 0,反相信號接外部中斷 1。通過記錄 2 個中斷間的間隔時間來測量紅外遙控信號的高低電平的脈寬值。 (3)外接 E2PROM 存儲器:用于存放學習到的控制命令的編碼和高低電平信號的脈寬值。 (4)按鍵盤:啟動一個學習過程。 (5)溫度傳感器:用于測量室內(nèi)溫度,根據(jù)已學習的溫度控制命令自動開啟或關(guān)閉空調(diào)。 (6)LED 指示燈:用于顯示遙控器的工作狀態(tài)。5 5 核心電路設(shè)計核心電路設(shè)計 5.15.1 紅外串行通信接口電路設(shè)計

20、紅外串行通信接口電路設(shè)計 單片機控制的紅外通信系統(tǒng)主要有紅外發(fā)射器,紅外接收器,以及單片機 89C51 三部分組成,單片機本身并不具備紅外通信接口,可以利用單片機的串行接口與片紅外發(fā)射和接收電路,組成一個單片機控制系統(tǒng)的紅外串行通信接口。 5.25.2 發(fā)射部分設(shè)計發(fā)射部分設(shè)計 紅外發(fā)送電路包括脈沖振蕩器、三極管和紅外發(fā)射管等部分。其中脈沖振蕩器有 NE555定時器、電阻和電容組成,用于產(chǎn)生 38 kHz 的脈沖序列作為載波信號,紅外發(fā)射管 HG 選用 Vishay 公司生產(chǎn)的 TSAL6238,用來向外發(fā)射 950 nm 的紅外光束。其發(fā)送的過程為:串行數(shù)據(jù)有單片機的串行輸出端 TXD 送出

21、并驅(qū)動三極管,數(shù)位“O”使三極管導(dǎo)通通過有NE555 構(gòu)成的多諧振蕩電路調(diào)制成 38 kHz 的載波信號,并利用紅外發(fā)射管以光脈沖的形式11向外發(fā)送。數(shù)位“l(fā)”使三極管截止,紅外發(fā)射管不發(fā)射紅外光。NE555 構(gòu)成的多諧振蕩電路的振蕩周期公式為 T=O693(R1+R2)C,其中,R1 為充電電阻,R2 為放電電阻,C 為充電電容。 5.35.3 紅外接收器的設(shè)計紅外接收器的設(shè)計 紅外接收電路選用 Vishay 公司生產(chǎn)的專用紅外接收模塊 TSOP1738。該模塊是一個三端元件,使用單電源+5V 供電,具有功耗低、抗干擾能力強、輸入靈敏度高、對其他波長(950 nm 以外)的紅外光不敏感的特點

22、,其內(nèi)部結(jié)構(gòu)框圖如圖 7 所示。 圖 7 TSOP1738 內(nèi)部結(jié)構(gòu)框圖TSOPl738 的工作過程為:首先,通過紅外光敏元件將接收到的載波頻率為 38 kHz 的脈沖紅外光信號轉(zhuǎn)換為電信號,再由前置放大器和自動增益控制電路進行放大處理。然后,通過帶通濾波器進行濾波,濾波后的信號由解調(diào)電路進行解調(diào)。最后,由輸出級電路進行反向放大輸出。6 6 系統(tǒng)的功能實現(xiàn)方法系統(tǒng)的功能實現(xiàn)方法1)遙控碼的編碼格式該遙控器采用脈沖個數(shù)編碼,不同的脈沖個數(shù)代表不同的碼,最小為 2 個脈沖,最大為 17 個脈沖。為了使接收可靠,第一位碼寬為 3ms,其余為 1ms,遙控碼數(shù)據(jù)幀間隔大于10ms,如圖 8 所示:12

23、3ms1ms10ms電器 0 遙控輸出碼電器 1 遙控輸出碼電器 2 遙控輸出碼調(diào)光命令碼圖 8 遙控碼的編碼格式2)遙控碼的發(fā)射當某個操作按鍵按下時,單片機先讀出鍵值,然后根據(jù)鍵值設(shè)定遙控碼的脈沖個數(shù),再調(diào)制成 38kHz 方波由紅外線發(fā)光管發(fā)射出去3)數(shù)據(jù)幀的接收處理當紅外線接收器輸出脈沖幀數(shù)據(jù)時,第一位碼的低電平將啟動中斷程序,實時接收數(shù)據(jù)幀。在數(shù)據(jù)幀接收時,將對第一位(起始位)碼的碼寬進行驗證。若第一位低電平碼的脈寬小于 2ms,將作為錯誤碼處理。當間隔位的高電平脈寬大于 3ms 時,結(jié)束接收,然后根據(jù)累加器 A 中的脈沖個數(shù),執(zhí)行相應(yīng)輸出口的操作。1310ms1ms停止位10ms3ms1ms第一位圖 9 紅外線接收器輸出的一幀遙控碼波形圖7 7 項目設(shè)計心得項目設(shè)計心得本學期學習單片機的時間很短

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論