找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6751|回复: 12
收起左侧

单片机如何通过RS485实现与读取多个RFID传感器数据?

[复制链接]
ID:482429 发表于 2019-5-11 21:41 | 显示全部楼层 |阅读模式
本人比较小白,要把RFID传感器读到的数据通过串口传送到单片机(89C51)里面去处理,查了资料和淘宝后,可以用RS485,但是目前有几个问题。
1.在网上查类似的电路图,有的用一个MAX485就直接与DB-9连起来了,有的却用了两片,这两种有什么区别?
2.怎么用RS485实现一片单片机就接收四个RFID传感器的数据?看了很多例子,都是用单片机的RXD和TXD和PC或者单片机通信,可是都是单对单的,怎么让单片机接受4个传感器的数据不混乱呢?只要单向的接收即可
0I[)X_CA0B@V`$1BAUDW39N.png
B_LI7H3SNP)U501K8L$BD0I.png
回复

使用道具 举报

ID:425825 发表于 2019-5-12 23:16 | 显示全部楼层
你用的 RFID 具体什么型号?
把资料发出来看看!
回复

使用道具 举报

ID:158375 发表于 2019-5-13 13:08 | 显示全部楼层
听你说的意思,RFID传感器应该是RS485总线,A接A,B接B即可;
这个要通讯协议的,简单说就是RFID传感器每个地址不同,根据协议,作为主机的单片机就可以区分不同的RFID了。
可参见ModBus协议。
回复

使用道具 举报

ID:482429 发表于 2019-5-13 23:11 | 显示全部楼层
笨笨兔 发表于 2019-5-13 13:08
听你说的意思,RFID传感器应该是RS485总线,A接A,B接B即可;
这个要通讯协议的,简单说就是RFID传感器每 ...

大佬,看了你的回复我大致有些思路了。我现在是这么想的,从MAX485的A和B接出两条RS485总线,然后四个RFID传感器的A和B都分别接在总线的A和B上。然后写个程序,单片机只收不发,事先定义好每个RFID传感器传回来的数据,拿出两位数据做区分,就知道是哪个传感器传回来的数据了这样的方案能实现吗?
回复

使用道具 举报

ID:158375 发表于 2019-5-14 09:40 | 显示全部楼层
散人森 发表于 2019-5-13 23:11
大佬,看了你的回复我大致有些思路了。我现在是这么想的,从MAX485的A和B接出两条RS485总线,然后四个RFI ...

意思理解了就好:关键是协议,协议如果不和别的企业有关系可自己制定;单片机不只是只收不发,如果单片机作为主机,可收可发,收发有它控制。
参见ModBus协议。
回复

使用道具 举报

ID:158375 发表于 2019-5-14 09:41 | 显示全部楼层
理解的没错,可实现。
回复

使用道具 举报

ID:482429 发表于 2019-5-22 00:53 | 显示全部楼层
笨笨兔 发表于 2019-5-14 09:41
理解的没错,可实现。

大佬,能不能麻烦你帮我看看这样能实现我之前说的功能不?我总感觉我这个DB-9接口接的有点奇怪,这样连接正确吗?

DB-9一头与各RFID传感器连接

DB-9一头与各RFID传感器连接

DB-9一头与单片机连接

DB-9一头与单片机连接
1.png
回复

使用道具 举报

ID:482429 发表于 2019-5-22 00:58 | 显示全部楼层
笨笨兔 发表于 2019-5-14 09:41
理解的没错,可实现。

这是我的另外一种想法,我觉得这种方法也挺合理的,但是问题是这样子连我原先预计要使用的DB-9接口我不知道怎么连进去了,麻烦大佬指点一下

直接连接无DB-9接口

直接连接无DB-9接口
回复

使用道具 举报

ID:65956 发表于 2019-5-22 08:08 | 显示全部楼层
如果你的RFID支持485通讯功能,那你的单片机只要设计485通讯功能就能实现通讯,不过按你提供的原理图,明显不属于485通讯的,由于没有更多的资料可参考,只能说这些了
回复

使用道具 举报

ID:158375 发表于 2019-5-22 09:45 | 显示全部楼层
你的第二个想法合理且能实现。至于DB9插头,看放置一最右边485芯片的左侧,
未命名.JPG
回复

使用道具 举报

ID:158375 发表于 2019-5-22 09:57 | 显示全部楼层
你第一个的主要问题是:接CPU那个图中,DB9接口是485;
而接传感器那个图,DB9接口为TTL电平;
两个不能连接;连接上,什么也不会出来的。
记住:485是差分电平,不是TTL电平,与TTL电平有本质区别。

还有一点,485总线中120欧姆电阻,并不是每个都要接,要看具体需要;参见消防类的防火报警!
回复

使用道具 举报

ID:482429 发表于 2019-5-22 13:06 | 显示全部楼层
笨笨兔 发表于 2019-5-22 09:57
你第一个的主要问题是:接CPU那个图中,DB9接口是485;
而接传感器那个图,DB9接口为TTL电平;
两个不能连 ...

)XZYFY@L4D5$SI$QS8~S664.png 大佬,我按你的意见进行了修改,你看看这样子OK吗。我还有个问题,DB-9是不是只能传输RS232/RS485的信号?即使两端都是TTL的电平也无法传输
回复

使用道具 举报

ID:466684 发表于 2019-9-3 10:57 | 显示全部楼层
最近在用一个485的风速传感器做实验,以前没有用过485的,不知道如何驱动 ,可以参考一下你们的程序吗(stm32 + rs485风速传感器)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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