用廉价的315M遥控模块实现数据传输
常用的近距离无线传输有很多种方式:1)CC1100/NRF905 433MHz无线收发模块;
2)NRF2401 2.4GHz无线收发模块;
3)蓝牙模块;
4)Zigbee系列无线模块;
以上1/2/3模块,一个大概要几十块钱,一套加起来要一百多块,4就更贵了,单个就要上百块钱。
而常用的315M遥控模块就便宜很多了,收发一套淘宝上才卖8块钱。这种模块用途极其广泛,例如遥控开关/汽车/门禁/防盗等,大部分是配合2262/2272编解码芯片实现开关的功能。如果能够利用315M模块实现数据传输,透明传输串口数据,那将是无线数据传输最廉价的方式。
就是这种模块,不带编码解码芯片的,淘宝价一套8块钱:
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628332RCFISW.jpg
(原文件名:315M遥控模块.jpg)
发送电路图,使用声表,工作稳定:
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628333I3QDSQ.jpg
(原文件名:发射电路图.jpg)
接收电路图,超外差接收,用了一片LM358:
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628334AD33BS.jpg
(原文件名:接收电路图.jpg)
试验一:单片机串口发送端TX直接接315M发送模块的TXD,另外一个串口的接收端RX直接接315M接收模块的DATE输出端:
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628335GO4UMI.gif
(原文件名:315M直连.gif)
结果如上图所示,串口发送单字节0x50的时候,串口TX端的波形如上图上半部分所示,一个开始位,一个停止位,8个数据位(低位在前高位在后)。下半部分是通过315M模块无线传输之后,在串口接收端RX收到的波形。接收下来之后,发现数据传输错误,发送0x50,收到的是0x05,发0x40收到0x01,发送0x41收到0x50,发送0x42收到0x28。
传输错误的原因:在有数据时候,波形是正确的。但是串口TX端在空闲的时候,是高电平状态,而通过315M无线传输之后,空闲时候却是低电平状态!结果就是接收电路读出的数据错开了一位,数据传输错误。
试验二:串口TX经过反相后,再通过315M模块传输,接收端再反相一下,电路图如下:
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628336XIW9B2.gif
(原文件名:315M反相.gif)
这次数据传输成功了!
1)在1200bps和2400bps速率下,在数据传输期间,数据是正确的,但是数据发送完成后,接收端会收到一大堆的乱码;
2)在4800bps速率下,首字节丢失,其他字节传输正常,发送完成后仍然跟着一堆乱码。
---------------------------------------- 分割线-------------------------------------------------------------------
总结:
1)通过315M无线模块透明传输串口数据是可行的,但是传输之前和接收之后要加一个三极管反相;
2)在1200bps和2400bps速率下数据稳定传输;在4800bps速率下,首字节丢失,其他字节传输正常;
3)数据发送完成后,接收端会收到一大堆的乱码,所以在软件上要加上帧校验,否则可能会引起误触发。例如我的遥控小车,遥控器发送给小车的控制命令只需要单字节,我在软件上使用3个字节作为一个命令帧,格式为AT+命令字,只有连续收到A和T两个字符之后,后面收到的一个字符才认为是有效的命令,否则认为是乱码,丢弃之。
4)传输距离:发送端和接收端都采用5V供电,天线使用一小段线圈的情况下,直线10米稳定传输,隔壁房间稳定传输。更长的距离没有测试过,以后有空测试一下再补充。 24L01模块十几元。 这个我也试过一段时间,没搞好.朋友的一个遥控器就是一个M48加个315的电路. 后面为什么跟着一堆乱码。
你这是有噪声还是无噪声的接收模块,加LM358的我手头上都是属于无噪声模块
给的资料里规定这模块启动速度不能太快,需要有10ms的启动时间。。启动之前10ms之前的数据不能正常接收
所以前导码就多发一些延长开始数据时间。。
你的4800bps后面接收正确,前面不对不知道是否也是这个原因。。多发点前导数据看看。。 抗干扰不怎么样吧。 那个软件解PT2262的程序抗干扰就不错.试过的都知道.
2262的数据头为200微秒高电平加4600微秒低电平.
应该搞个数据头,收到数据头后再开USART接收,要不USART接收一直在中断. 这个做好了,用途还是很大的.
好多产品上也是这样用的.
另外TX反相可以把数据取反一下就可以省个三极管了.
接收就省不了了. 呵呵 关注看看···· 这个电路调通了吗? 我用过,电子市场也就4元钱一个,而且是带2262 2272解码的 这种315M的模块,如果发射端连续几毫秒之内都没有变化,接收端就会出现非常混乱的杂波。
可以在无数据传送的时候定时发送空闲信号。
超外差的可能在这点上做得比较好。 网上的料理。前阵子没调试成功,后来转nRF24 感觉这种调制方式抗干扰性能太差,可能会有问题 个人感觉还是数据收发模式不太稳定?! 我昨天玩过这种,拿它替换红外遥控是OK的,去年也拿它当红外传过数据也还行,接收端的波形也不错哇,不过那个黄色圈圈的电阻是另加的,买的时候位置是空的, 好东西啊 我买的433的模块接收模块一直都是输出个方波,请问我这个模块是坏的么? 315,如果在室外那么玩,会不会干扰旁边其它人的315,例如开锁、遥控门窗{:titter:} 本帖最后由 lele182 于 2013-9-18 16:42 编辑
截下的PT266门禁的发射时候的DATAOUT 波形,发上来作用记念。 说明一下就是,按下按键后,数据包是一个接一个不停地发的,而每个数据包是要有时间间隔的 记号 。 这个距离比24l01远得多 5年前已经在项目上用过,效果还不错!性价比够好! {:smile:}{:smile:}{:smile:}{:smile:}{:smile:}
页:
[1]