紅外收發基礎

  • 2019 年 11 月 5 日
  • 筆記

基礎認識

紅外光:

只要溫度高於絕對零度(-273.15℃)的物體都會發出紅外光,因此它是無處不在的。肉眼不可見。

 

波長:

紅外發射管常見的波長有850nm和940nm兩種比較常見

 

頻率:

發射端以一個固定頻率來發射紅外光,一般以37.91KHZ比較常見,也有的地方自接說成是38KHz。同時,接收端只能識別該頻率下的訊號,只要發射端與接收端的頻率正負相差不超過1KHZ,都是可以正常通訊的;如果相差超高2KHZ,會出現失靈或者距離短等情況。

 

紅外發射管:

與普通發給二極體(LED)相識,但其發出的光是不可見的

 

紅外接收管1

可能存在兩種結構,原理圖1中D1二極體默認不導通,如果接收到紅外訊號時二極體的電阻會大大降低,而實現導通。

 紅外接收管2

   該模組有三個引腳,功能比前面的大大增強。它的內部電路包括紅外監測二極體,放大器,限幅器,帶通濾波器,積分電路,比較器等。通過內部電路,還原處發射端的訊號波形,可以直接被單片機使用。因此也被稱為一體化紅外接收頭。也就是說,它輸出的是符合數字電路要求的數字訊號,可以直接拿來使用。所以,雖然外型上只多了一個引腳,但實際內部功能增加了很多很多,大大簡化了電路設計者的工作。另外,此類接收頭的內部放大增益比較大,很容易引起干擾,因此一般廠家建議在供電腳上加上4.7uf以上的電容進行濾波。

   常用型號有IRM3638、HS0038和VS1838等。其介面電路如下所示

        

紅外協議

1. 紅外光是載體,需要通過此載體實現數據交互,必須存在數據協議

2. 協議的最終都是為完成0或1的指令傳送

3.常見有:ITT協議、NEC協議、Nokia NRC協議、Sharp協議等

 

NEC協議發射端:

遙控器內部一般會使用455Khz的晶體作為震蕩源,通過內部分頻電路將其調製為頻率37.91Khz、占空比三分之一的震蕩訊號。遙控器閑置是,發射端無輸出。當有按鍵按下時,會發送一串訊號驅動紅外發射端發射紅外線,訊號格式如下:一段引導碼、兩個位元組的用戶碼(廠家定義)、一個位元組的按鍵數據、一個位元組的按鍵數據反碼,最後跟一個停止位(編程時基本不考慮)。

 

NEC協議接收端:

閑置時輸出高電平,當收到37.91KHZ的紅外時,接收端調製出的訊號時低電平,無紅外光時,又恢復到高電平。所以,將發射端的訊號全部取反則為接收端的接收訊號。

接收端紅外訊號解析與輸出:

     空閑狀態下引腳輸出高電平

     當表示一個bit位為0時,先輸出一個0.56ms的低電平,然後輸出一個0.565ms的高電平;

     當表示一個bit位為1時,先輸出一個0.56ms的低電平,然後輸出一個1.690ms的高電平。

編程導向

 以是否有紅外訊號輸出/判斷高低電平

 

接收端編程思路:

通過兩個下降沿計算到時間間隔,可以判斷到接收到的訊號時0還是1

 

發送編程思路:

發送端發送高電平其實是38Khz的高低電平組成的

定時器設置為38KHZ中斷,如果要發送則在中斷計數里一直取反發送端(連接紅外燈)的電平,實現發送高電平(接收端識別為低電平)的數據,如果發送低電平則延時不動作。

 


 參考影片:https://www.bilibili.com/video/av73032905