昨天在***中,有一位群友询问了一个加速度计陀螺仪传感器的连接问题
刚好我在群看到,就去了解了一下,
去万能某宝查询了一下,竟然也能查询到相关的信息
以下是他提供的型号的全称:
维特智能串口加速度计陀螺仪传感器MPU6050模块姿态角度测量JY61
有兴趣的朋友可以去了解一下。贴出链接:https://detail.tmall.com/item.htm?id=597948060654&spm=a1z0k.7385961.1997985097.d4918997.3fd95c5dRchO4n&_u=t2dmg8j26111&skuId=4266773613069
查询了一下这款模块的资料,发现是TTL串口输出,由于群友要连接到三菱PLC ,于是建议其增加一块TTL转232或TTL转485的硬件 模块
后来查询到这款模块的通讯手册发现如下
模块 发送至上位机每帧数据分为 3个数据包 ,,分别为加速度包 ,角速度包和角度包, 3个数据包顺序输出。。波特率 115200每隔 10ms 10ms输出 1帧数据 。
而每个数据包为11个数据,根据判断第二个数据来分析出是哪个包,0X51 代表加速度包,0X52代表角速度包,0X53代表角度包
具体后面数据的解析是怎样的,大家去看手册即可
我由此猜想,如果每用一套其他品牌的PLC我们是否都需要做一套解析程序,提取出来我们所需要的数据呢,如果是小白的话,可能通讯是很困难的
那么我们能否把这款模块的数据和通讯,通过一款单片机来进行转换后,走modbus rtu 来输出呢,这样一来,无论什么PLC 或上位机只要支持modbus rtu 都即可直接使用
查看了其文档包含的例子,包含有STM,51等移植例子。
刚好手上有一块stc的双串口板子,因为之前已经移植成功过modbus rtu的经验,
在移植过的modbus rtu的程序上添加了其附上的51的读取的例子
成功通讯上。并且把三个包的速度都通过解析后放置到modbus寄存器中。这样一来
无论什么PLC 都可以直接获取到这款模块的信息了,而不必要自己再去写程序了
各位有兴趣的可以去了解一下