【转载】用廉价的315M遥控模块实现数据传输
生活随笔
收集整理的這篇文章主要介紹了
【转载】用廉价的315M遥控模块实现数据传输
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
常用的近距離無線傳輸有很多種方式:1)CC1100/NRF905 433MHz無線收發模塊;2)NRF2401 2.4GHz無線收發模塊;3)藍牙模塊;4)Zigbee系列無線模塊;以上1/2/3模塊,一個大概要幾十塊錢,一套加起來要一百多塊,4就更貴了,單個就要上百塊錢。
而常用的315M遙控模塊就便宜很多了,收發一套淘寶上才賣8塊錢。這種模塊用途極其廣泛,例如遙控開關/汽車/門禁/防盜等,大部分是配合2262/2272編解碼芯片實現開關的功能。如果能夠利用315M模塊實現數據傳輸,透明傳輸串口數據,那將是無線數據傳輸最廉價的方式。
就是這種模塊,不帶編碼解碼芯片的,淘寶價一套8塊錢:
發送電路圖,使用聲表,工作穩定:??
接收電路圖,超外差接收,用了一片LM358:
試驗一:單片機串口發送端TX直接接315M發送模塊的TXD,另外一個串口的接收端RX直接接315M接收模塊的DATE輸出端:
結果如上圖所示,串口發送單字節0x50的時候,串口TX端的波形如上圖上半部分所示,一個開始位,一個停止位,8個數據位(低位在前高位在后)。下半部分是通過315M模塊無線傳輸之后,在串口接收端RX收到的波形。接收下來之后,發現數據傳輸錯誤,發送0x50,收到的是0x05,發0x40收到0x01,發送0x41收到0x50,發送0x42收到0x28。傳輸錯誤的原因:在有數據時候,波形是正確的。但是串口TX端在空閑的時候,是高電平狀態,而通過315M無線傳輸之后,空閑時候卻是低電平狀態!結果就是接收電路讀出的數據錯開了一位,數據傳輸錯誤。
試驗二:串口TX經過反相后,再通過315M模塊傳輸,接收端再反相一下,電路圖如下:
這次數據傳輸成功了!1)在1200bps和2400bps速率下,在數據傳輸期間,數據是正確的,但是數據發送完成后,接收端會收到一大堆的亂碼;2)在4800bps速率下,首字節丟失,其他字節傳輸正常,發送完成后仍然跟著一堆亂碼。
---------------------------------------- ? 分割線 ?-------------------------------------------------------------------總結:1)通過315M無線模塊透明傳輸串口數據是可行的,但是傳輸之前和接收之后要加一個三極管反相;2)在1200bps和2400bps速率下數據穩定傳輸;在4800bps速率下,首字節丟失,其他字節傳輸正常;3)數據發送完成后,接收端會收到一大堆的亂碼,所以在軟件上要加上幀校驗,否則可能會引起誤觸發。例如我的遙控小車,遙控器發送給小車的控制命令只需要單字節,我在軟件上使用3個字節作為一個命令幀,格式為AT+命令字,只有連續收到A和T兩個字符之后,后面收到的一個字符才認為是有效的命令,否則認為是亂碼,丟棄之。4)傳輸距離:發送端和接收端都采用5V供電,天線使用一小段線圈的情況下,直線5米穩定傳輸。更長的距離沒有測試過,以后有空測試一下再補充。
經過深入研究,傳輸性能有了極大的提高,具體參見日志:315M模塊數據傳輸-深入研究
而常用的315M遙控模塊就便宜很多了,收發一套淘寶上才賣8塊錢。這種模塊用途極其廣泛,例如遙控開關/汽車/門禁/防盜等,大部分是配合2262/2272編解碼芯片實現開關的功能。如果能夠利用315M模塊實現數據傳輸,透明傳輸串口數據,那將是無線數據傳輸最廉價的方式。
就是這種模塊,不帶編碼解碼芯片的,淘寶價一套8塊錢:
發送電路圖,使用聲表,工作穩定:??
接收電路圖,超外差接收,用了一片LM358:
試驗一:單片機串口發送端TX直接接315M發送模塊的TXD,另外一個串口的接收端RX直接接315M接收模塊的DATE輸出端:
結果如上圖所示,串口發送單字節0x50的時候,串口TX端的波形如上圖上半部分所示,一個開始位,一個停止位,8個數據位(低位在前高位在后)。下半部分是通過315M模塊無線傳輸之后,在串口接收端RX收到的波形。接收下來之后,發現數據傳輸錯誤,發送0x50,收到的是0x05,發0x40收到0x01,發送0x41收到0x50,發送0x42收到0x28。傳輸錯誤的原因:在有數據時候,波形是正確的。但是串口TX端在空閑的時候,是高電平狀態,而通過315M無線傳輸之后,空閑時候卻是低電平狀態!結果就是接收電路讀出的數據錯開了一位,數據傳輸錯誤。
試驗二:串口TX經過反相后,再通過315M模塊傳輸,接收端再反相一下,電路圖如下:
這次數據傳輸成功了!1)在1200bps和2400bps速率下,在數據傳輸期間,數據是正確的,但是數據發送完成后,接收端會收到一大堆的亂碼;2)在4800bps速率下,首字節丟失,其他字節傳輸正常,發送完成后仍然跟著一堆亂碼。
---------------------------------------- ? 分割線 ?-------------------------------------------------------------------總結:1)通過315M無線模塊透明傳輸串口數據是可行的,但是傳輸之前和接收之后要加一個三極管反相;2)在1200bps和2400bps速率下數據穩定傳輸;在4800bps速率下,首字節丟失,其他字節傳輸正常;3)數據發送完成后,接收端會收到一大堆的亂碼,所以在軟件上要加上幀校驗,否則可能會引起誤觸發。例如我的遙控小車,遙控器發送給小車的控制命令只需要單字節,我在軟件上使用3個字節作為一個命令幀,格式為AT+命令字,只有連續收到A和T兩個字符之后,后面收到的一個字符才認為是有效的命令,否則認為是亂碼,丟棄之。4)傳輸距離:發送端和接收端都采用5V供電,天線使用一小段線圈的情況下,直線5米穩定傳輸。更長的距離沒有測試過,以后有空測試一下再補充。
經過深入研究,傳輸性能有了極大的提高,具體參見日志:315M模塊數據傳輸-深入研究
總結
以上是生活随笔為你收集整理的【转载】用廉价的315M遥控模块实现数据传输的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全新大 Y 标志,联想拯救者 Y9000
- 下一篇: 汽水音乐怎么开启个性化设置