找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15392|回复: 25
打印 上一主题 下一主题
收起左侧

关于433M超再生无线模块和单片机的配合?

  [复制链接]
跳转到指定楼层
楼主
ID:183198 发表于 2017-5-23 18:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


超再生无线模块就是上图的产品,在淘宝上很便宜,1块多就可以买一对。我买了2对,本以为很容易就可以搞定,
编程序对我来说并不是难事,谁知道搞了好几天都没搞定。
1.首先我是用面包板测试,在发送模块的数据输入端和vcc之间接一个按键模拟输入,接收模块的数据输出端接万用表正极,
每次按下按键,按键接通,万用表会跳动一下不超过2V,接着断开按键,万用表会跳到3.5V左右的位置,再慢慢回到零。
这说明发送模块和接收模块是能够通讯的。

2.接下来我换上单片机,接收模块和单片机相连,接收模块的VCC和GND都直接连到单片机开发板上的VCC和GND接口,万用表的正极还是接发送模块的数据输出口,负极接开发板的GND,发送模块还是用面包板,结果无论怎么按键,万用表指针总是在2V左右摆动。我以为是单片机开发板的电源问题,
把接收模块的VCC和GND和一个单独的5V电源连接,5V电源的GND和单片机的GND相连(是不是要这样共地?),发送模块按键后,可以测得万用表指针会跳到3.5V左右再回零。接下来我把接收模块的数据输出端连接到单片机的一个输入端口,写了一段代码测试端口电平是否变化,结果不管发送模块怎么发送,单片机输入端口都无法测得有电平变化(除刚开始复位后运行代码输入端口会有变化)。

因为本人以前是做软件的,刚学习单片机几个月,对模电数电知识懂得不多,不知道上面的接线法是否正确,正确的方法应该怎样做才能接收到信号?请各位不吝指教,多谢了!

代码是用ATMEGA128汇编写的,很简单:
.EQU SRG_R_DDR=DDRE
.EQU SRG_R_DDR_DA=DDE2
.EQU SRG_R_PORT = PORTE
.EQU SRG_R_PORT_DA = PORTE2
.EQU SRG_R_PIN = PINE
.EQU SRG_R_PIN_DA = PINE2


.CSEG
.ORG $0000
JMP __RESET__


__RESET__:
;设置堆栈
        LDI R16, LOW(RAMEND)
        OUT SPL, R16
        LDI R16, HIGH(RAMEND)
        OUT SPH, R16

;初始化数据输入端口
        CALL SRG_INIT
__RESET__01:
;测试数据输入端口电平变化
        CALL SRG_TESTLEVEL
        JMP __RESET__01



SRG_INIT:
        ;设置接收端口为输入 缺省高阻
        CBI SRG_R_DDR, SRG_R_DDR_DA
        CBI SRG_R_PORT, SRG_R_PORT_DA;高阻
        ;SBI SRG_R_PORT, SRG_R_PORT_DA;上拉高电平


        RET


;测试数据输入口电平变化
SRG_TESTLEVEL:
        SBIS SRG_R_PIN, SRG_R_PIN_DA;如果高电平跳出循环
        RJMP SRG_SRG_TESTLEVEL
        RET




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:160286 发表于 2017-5-23 22:23 | 只看该作者
解决了吗,我也在做这个模块,情况跟你差不多,发射和接收模块可以连接上,但是很不稳定,偶尔可以通讯,时而不行,不知道是什么情况

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:160286 发表于 2017-5-23 22:25 | 只看该作者
我用的是315M加PT2262.72做的,解决了记得分享啊楼主

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:183198 发表于 2017-5-24 01:06 | 只看该作者
我是没有用pt2262.72编码解码,直接用单片机解码,现在发现,如果直接用独立电源连接接收模块,发送模块发送脉冲的话,接收模块可以用万用表测的指针有3.5V左右的摆动,如果用单片机开发板的电源连接接收模块,万用表连接数据输出口,总是在1-2V左右,发送模块发送脉冲,对接收模块有一点影响,不过不大。如果用独立电源连接接收模块并和单片机共地,数据输出口接单片机任意输入端口,则单片机无法探测到脉冲信号。反正用单片机怎么都探测不到脉冲,真是奇怪啊。其中也用过中断法,循环测试法,几乎用尽了各种办法都不行。真是痛苦啊

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:183198 发表于 2017-5-24 01:16 | 只看该作者
额防护 发表于 2017-5-23 22:25
我用的是315M加PT2262.72做的,解决了记得分享啊楼主

那你试过不加PT2262.72,直接用单片机编码解码没?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:151348 发表于 2017-5-24 10:05 | 只看该作者
我也用过这个模块,不过是自定义通信协议
回复

使用道具 举报

7#
ID:183198 发表于 2017-5-24 13:50 | 只看该作者
刚才又测试了一次,接收模块用独立电源,和单片机共地,结果发现,如果用循环测试端口的方法测试数据输入端口电平,除刚复位程序运行最初根本测试不到电平变化,如果用外部中断(下降沿或上升沿)则无论是否启动发送模块,都能不停收到中断,真是奇怪啊

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:183198 发表于 2017-5-24 13:52 | 只看该作者
imxuheng 发表于 2017-5-24 10:05
我也用过这个模块,不过是自定义通信协议

那你用的怎么样?引脚是怎么接线的?用独立电源吗?用循环测试法还是中断法?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

9#
ID:151348 发表于 2017-5-24 14:36 | 只看该作者
yiyi2000 发表于 2017-5-24 13:52
那你用的怎么样?引脚是怎么接线的?用独立电源吗?用循环测试法还是中断法?

发射模块data引脚解任意单片机(我用的C51)IO,接收模块data脚接单片机外部中断IO脚,编码和解码仿照红外编码解码,

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

10#
ID:151348 发表于 2017-5-24 14:38 | 只看该作者
yiyi2000 发表于 2017-5-24 13:52
那你用的怎么样?引脚是怎么接线的?用独立电源吗?用循环测试法还是中断法?

没用独立电源,就板子上的电源

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:183198 发表于 2017-5-24 21:32 | 只看该作者
我发线接收模块的电源影响好像挺大的,我用板子上的电源和一些5V的开关电源,没有接收信息接收模块的数据输出口也有电压(1V-1.5V左右),换上另一个5V的开关电源,接收模块的数据输出口在没有接收信息的情况下电压基本为0,然后发送模块用按键发送的方式,可以看到接收的数据输出口的电压会变化到3.5V左右,让后回0,但是这种情况用单片机却收不到中断信号。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

12#
ID:183198 发表于 2017-5-24 21:32 | 只看该作者
要是能搞定这种超再生模块就好了,做其他需要遥控的东西至少通讯成本就低了。
回复

使用道具 举报

13#
ID:183198 发表于 2017-5-24 21:48 | 只看该作者
imxuheng 发表于 2017-5-24 14:36
发射模块data引脚解任意单片机(我用的C51)IO,接收模块data脚接单片机外部中断IO脚,编码和解码仿照红 ...

那能解码发送的数据吗?我也试过用中断法解析,问题是没法解析出来,不发送任何信息,也能不断接收到信息,发送了好像也接收不到有用的。
回复

使用道具 举报

14#
ID:151348 发表于 2017-5-25 08:49 | 只看该作者
yiyi2000 发表于 2017-5-24 21:48
那能解码发送的数据吗?我也试过用中断法解析,问题是没法解析出来,不发送任何信息,也能不断接收到信息 ...

没什么问题,我那程序也是基于一个前人写的程序,因为但是自己也是刚学单片机不久。我把程序用于控制灯的开关,有效距离在10m左右

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

15#
ID:183198 发表于 2017-5-26 18:35 | 只看该作者
我用示波器看了下接收模块的波形,只有1.5V左右,又看了单片机发送的波形也只有1.5V,难道接收的要加个放大的?
回复

使用道具 举报

16#
ID:231005 发表于 2017-9-4 22:49 | 只看该作者
imxuheng 发表于 2017-5-25 08:49
没什么问题,我那程序也是基于一个前人写的程序,因为但是自己也是刚学单片机不久。我把程序用于控制灯的 ...

接收模块,有2个DATA脚,哪个接到单片机的IO上呢?
能看一下你的程序么,多谢啦~
回复

使用道具 举报

17#
ID:231270 发表于 2017-9-12 11:58 来自手机 | 只看该作者
楼主解决了么?
回复

使用道具 举报

18#
ID:231270 发表于 2017-9-12 11:58 来自手机 | 只看该作者
imxuheng 发表于 2017-5-25 08:49
没什么问题,我那程序也是基于一个前人写的程序,因为但是自己也是刚学单片机不久。我把程序用于控制灯的 ...

能发代码看看吗?大神?
回复

使用道具 举报

19#
ID:218365 发表于 2017-9-19 15:04 | 只看该作者
楼主知道这个用的是什么芯片吗
回复

使用道具 举报

20#
ID:276663 发表于 2018-7-18 13:34 | 只看该作者
yiyi2000 发表于 2017-5-24 21:32
要是能搞定这种超再生模块就好了,做其他需要遥控的东西至少通讯成本就低了。

现在的类NRF24L01的模块也很便宜了。
回复

使用道具 举报

21#
ID:283860 发表于 2018-7-27 10:25 | 只看该作者
imxuheng 发表于 2017-5-24 10:05
我也用过这个模块,不过是自定义通信协议

做好了吗  能分享下吗
回复

使用道具 举报

22#
ID:403857 发表于 2018-10-11 23:46 | 只看该作者
问题相同,我用万用表测试结果为,输入端接VCC,接收端电压3.5V,但稳不住,很快又回到2点几V波动,输入端悬空,接收端电压0点几V,也稳不住,同样又回到2点几V波动。

第一,不知道是不是我没有焊接天线的导致的问题
第二,可不可以用跳变沿来检测数据,

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

23#
ID:442873 发表于 2018-12-9 20:57 来自手机 | 只看该作者
我什么方法都用了还是不能用
回复

使用道具 举报

24#
ID:442873 发表于 2019-1-4 17:08 来自手机 | 只看该作者
我已经黔驴技穷了,死活解决不了
回复

使用道具 举报

25#
ID:813929 发表于 2020-8-13 17:15 | 只看该作者
yiyi2000 发表于 2017-5-24 21:48
那能解码发送的数据吗?我也试过用中断法解析,问题是没法解析出来,不发送任何信息,也能不断接收到信息 ...

对电源的纹波有要求,还得注意单片机运行的频率、机器周期。另外你这种情况我感觉是模块的容感效应对单片机产生影响了,尽量用独立电源试试
回复

使用道具 举报

26#
ID:811253 发表于 2020-8-13 18:10 | 只看该作者
单片机引脚带不起吧,加一个三极管试一试,这样电平应该能解决。 这个东西很多干扰,最好不要用外部中断去解码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表