2014年6月18日 星期三

[ Wireless-RF ] RF433MHZ 無線發射接收模組搭配 HT12( D / E ) 遙控器編碼解碼晶片

網頁中所使用的零件可至露天賣場訂購:



本文主要介紹使用 HT12E 與 HT12D 兩顆晶片,做為無線發射編碼與無線接收模組解碼的方法。除了套件中的零件之外,另外還需要兩塊電路板與 5V (使用三顆鹼性電池) 電源供應 ( 雖然可以使用其它電壓輸入,但是在線路未測試成功之前,建議不要使用其它電壓做測試,避免錯誤時找不到原因 ),麵包板跳線可以使用單芯線取代。

HT12E 與 HT12D 簡單使用介紹請參考網頁最下方連結檔案,電路圖與麵包板配線方法請看網頁接下來的說明。

無線發射模組編碼電路:

下面圖片上所使用的麵包板與跳線不在無線模組套件中,若需訂購請至露天賣場:


HT12E 電路圖:

HT12E 無線發射編碼線路

HT12E 麵包板佈線步驟:

請參考上面 HT12E 電路圖,依照下面步驟在麵包板上佈線。

在麵包板上插上 4P8P 指撥開關HT12E 編碼晶片,最後根據下圖接上電源正極 (紅) 與電源負極 (綠) 的單芯線;左上角的兩條線是用來插入外接輸入電源的
指撥開關、 HT12E 編碼晶片、電源正負極的佈線位置

插上藍色為底的電阻 ( 1 M , 4/1 W, 1%,色碼為棕黑黑黃 )。這是編碼晶片用來產生工作頻率的,插到編碼晶片的 P15 ( OSC2 ) 與 P16 ( OSC1 )
插入能產生編碼晶片所需工作頻率的電阻

插上 9P ( 10K, 103 ) 排阻於編碼指撥開關上方、5P ( 10K, 103 ) 指撥開關於資料設定指撥開關下方;這兩個排組是有方向性的,白點表示共點,在這裡都是接地 (電源負極) 的
排阻方向確認

插上 9P 與 5P 排阻

觸動開關有四支接腳,兩兩互通,請確認如下方向後,直接反過來插入麵包板
確認觸動開關方向

插上觸動開關

觸動開關是用來控制發出編碼訊號的,連接其中一端到編碼晶片的 P14 (~TE)為了講解方便起見使用麵包板跳線,不過可以使用所附的單芯線取代
連接編碼晶片的觸發接腳

連接編碼晶片之編碼訊號輸出 P17 ( DOUT ) 到無線發射模組的 DATA 接腳位置,再把無線發射模組照圖片方向插上
連接編碼晶片訊號輸出到無線發射模組 DATA 接腳

插上無線發射模組

連接編碼資料 ( P10 - P13 ) 到 4P 指撥開關 ( DIP1 - DIP4 )
  • P13 --> DIP4

  • P12 --> DIP3

  • P11 --> DIP2

  • P10 --> DIP1
連接編碼資料與指撥開關

連接編碼位址 ( P1 - P8 ) 到 8P 指撥開關 ( DIP1 - DIP8 )
連接編碼位址 ( P4 -P8 ) 與 ( DIP4 - DIP8 )

連接編碼位址 ( P1 -P3 ) 與 ( DIP1 - DIP3 )

照著上面步驟,就可完成 HT12E 與無線發射模組的編碼線路。


無線接收模組編碼電路:

HT12D 電路圖:


HT12D 無線接收解碼電路


HT12D 麵包板佈線步驟:

請參考上面 HT12D 電路圖,依照下面步驟在麵包板上佈線。

在麵包板上插上 8P 指剝開關HT12D 解碼晶片,最後根據下圖接上電源正極 (紅) 與電源負極 (綠) 的單芯線;左上角的兩條線是用來插入外接輸入電源的
指撥開關、 HT12D 解碼晶片、電源正負極的佈線位置

插上 9P ( 10K, 103 ) 排阻於編碼指撥開關上方;排組是有方向性的,白點表示共點,在這裡都是接地 (電源負極) 的
確認排阻方向

插上排阻

連接排組共點至電源負端 (接地)
連接排組共點至電源負端

插上藍色為底的電阻 ( 33K , 4/1 W, 1%,色碼為橙橙黑紅 )。這是解碼晶片用來產生工作頻率的,插到編碼晶片的 P15 ( OSC2 ) 與 P16 ( OSC1 )

電路圖上的電阻 ( 33.2K ) 與下方所使用的電阻 ( 33K )不同,但兩者都做過測試可正常工作,請繼續往下做!
插入能產生解碼晶片所需工作頻率的電阻

插上土黃色為底的限流電阻 ( 330 , 4/1 W, 5%,色碼為橙橙棕 ) 的一端到解碼晶片的 P17 ( VT )。這是當解碼晶片接收到正確的編碼晶片傳送過來的訊號時,此接腳會產生一個高準位的脈衝訊號點亮 LED。
插上 LED 的限流電阻

限流電阻的另一端與紅色 LED 的正端 ( 長接腳 ) 連接,另一端則與電源附端連接
插上紅色 LED

接著,傳送過來的編碼資料將對應到解碼資料,因此使用四顆綠色 LED 做為指示,LED 正端分別接到解碼晶片的 P10 - P13 接腳
連接腳碼晶片 P10 和 LED

連接腳碼晶片 P11 和 LED

連接腳碼晶片 P12 和 LED

連接腳碼晶片 P13 和 LED

插上 5P ( 470 Ohm, 471 ) 排阻於LED 的下端;注意到,排組的白點是在右方,剛好與 上方 9P 排組一起連接到電元負端
插上 5P 471 Ohm 排阻

接下來要花一點功夫至做跳線 ( 使用麵包板跳線也可以 ),然後照著下圖連接解碼位址 ( P1 - P8 ) 到 8P 指撥開關 ( DIP1 - DIP8 )
連接解碼位址 ( P4 -P8 ) 與 ( DIP4 - DIP8 )

將無線接收模組的 DATA 接腳 ( 模組上的 DATA 接腳有兩支,兩支接任一支皆可 ) 接到解碼晶片之解碼訊號接收 P17 ( DN ) ,再把無線接收模組照圖片方向插上
連接無線接收模組 DATA 接腳到解碼晶片訊號輸入

拆上無線接收模組

照著上面步驟,就可完成 HT12D 與無線接收模組的解碼線路。


測試:

無線發射接收模組使用注意事項:
  • VCC 電源供應電壓要與無線模組工作電壓一致,且要做好電源濾波,可避免干擾與雜訊影響無線模組傳輸與接收能力

  • 天線影響無線模組接收效果,安裝時,天線要盡可能的伸直、遠離遮蔽物、高壓、無線裝置、及干擾源的地方

線路測試之前,請先看過上方的注意事項。

雖然裝設天線傳送與收訊會比較好,但焊接天線與否取決所處環境與傳輸距離要求。如下面幾張圖片,有些有裝有些沒裝,在近距離測試時,都是可以正常測試。

建議先將下面線路測試做熟了,再開始遠距離做測試,此時再考慮是否焊接天線。使用的天線長度與所使用的頻率有關,但與其使用別人所提供的,倒不如知道如何使用工具計算;要使用天線,就看網頁最下方天線長度計算的說明。

開始測試之前,若已經先看過兩顆解碼晶片的資料手冊,一定會看到對於位址與資料的設定有浮接 ( left open ) 與接地 ( VSS ) 兩種,因為指撥開關都是接到排阻並共點接地,因此當指撥開關為 ON 時就是接地、非 ON 時就是浮接。浮接其實也可以接到電源正端,對於HT12 E / D 兩顆晶片來說都是確認為高準位,這在另一篇使用 74HC595 控制編碼晶片時會用到。

測試兩個線路前,請分別提供兩個麵包板 5V0 的電壓,調整編碼解碼位址為 0111 1111 ( 兩邊設成一樣就可以 ),然後設定資料傳送為 0010
設定初始狀態

開啟兩端電源,並按下發射端的按鈕發射編碼訊號,這時會看到解碼端的紅色 LED 亮滅,接在 P11 ( D9) 的綠色 LED 亮起;若此時一直按住按鈕,則紅色 LED 會一直亮著
傳送編碼資料 01111 1111, 0010

HT12D 有 latch 功能,因此即使放開按鈕之後,只要解碼端的線路電源不斷電,P10 - P13 ( D8 - D11 ) 就會一直維持最近一次收到的解碼資料
HT12D 維持最近一次解碼狀態

切換編碼資料為 1010,按下按鈕傳送編碼訊號,這次會看到接在 P11 ( D9 ) P13 ( D11 )  的綠色 LED 亮起
傳送編碼資料 01111 1111, 1010

放掉按鈕之後,紅色 LED 熄滅,維持剛剛的狀態。繼續嘗試其他不同方式的編碼位址與資料設定,熟悉兩邊的操作,接續的幾篇文章都會用到這兩個電路。
HT12D 維持最近一次解碼狀態

賣場裡有 兩通道光耦合隔離繼電器 很適合搭配此線路做控制,詳細說明請參考賣場部落格文章 Raspberry Pi (樹莓派) 驅動兩路繼電器模組

使用 HT12E 當作發射控制器,很容易控制接收端所連接的繼電器模組。將繼電器的 IN1IN2 分別接到解碼晶片的 P13 (D11) P12 (D10),當編碼資料設定為 0111 時,就會將繼電器 IN1 (下方) 開啟 ( 繼電器是低態動作的 )
發送編碼資料 0111 1111, 0111

放開按鈕之後,HT12D 的 latch 功能讓繼電器維持所接收到的狀態
HT12D 的 latch 功能讓繼電器維持所接收到的狀態

天線長度計算:

天線的長度依頻率有所不同,依公式知道 波長  = 波速 / 頻率,若波速等於真空中的光速 ( 3 x 10 ^8 m/s ),433.92 Mhz 的頻率所得波長 = 300,000,000 ( M / Sec ) / 433,920,000 ( 1 / Sec ) 差不多是 0.69 M ( 全波長 ),若使用 1 / 4 波長做為天線長度差不多是 0.173 M ( 17.3 cm )。

天線長度可以利用網站 Frequency Wavelength Calculator 幫忙計算。只要輸入頻率,按下所需要計算的是全波長或是半波長,馬上就會幫您計算出來

輸入頻率 (433.92),單位是 Mhz (Megahertz)

計算結果

在套件中,提供一段 50 公分的多芯線,這是用來作為天線用的,可自行剪裁後焊接在無線模組天線孔裡。因為多芯線徑與孔徑很接近,請先捲一捲後再慢慢塞進孔裡焊接。


<<相關資料與使用說明連結>>

4 則留言:

  1. Hello there..your project seems very interesting..may I know where did you get the Proteus library for HT12E and HT12D with the RF transmitter and receiver? I want to do circuit simulation before I start doing my project,, really appreciate if you can help me with this and waiting for your reply soon,,

    回覆刪除
  2. Hi,
    I am sorry to say, the HT12E/D not exist in Proteus. The circuits you saw in the webpage are EagleCAD format not Proteus.

    回覆刪除
  3. I see..I've found the HT12E and HT12D library for EagleCAD..but it seems the RF transmitter and receiver doen't exist there..may I know if there are other transmitter or receiver that compatible with both HT12D and HT12E? When searching..I saw only these kind of RF transmitter/receiver that compatible with them..Sorry to ask you many questions..because I'm still a beginner..

    回覆刪除
  4. The RF transmitter and receiver you saw are not exist in EagleCAD. You need create them by yourself.
    Seems almost RF transmitter and receiver compatible with HT12D and HT12E are same but frequency.
    I guess you just want to know how to select RF transmitter or receiver that compatible with HT12D or HT12E. If so, find RF module that can send data bit by bit. That't why we need HT12E to encoding data and HT12D to decoding data.

    Below is a good webpage for introduction of RF communication. See it, it exalains what is a RF module and how to use them.
    http://extremeelectronics.co.in/rf/rf-communication-between-microcontrollers-part-i/

    Regards,

    回覆刪除