485通信——驱动 MX64/MX28 舵机
背景:在使用STM32调试MX64舵机时,由于控制该舵机需要采用RS485通信协议,因此需要从单片机的串口经过一个TTL转485通信的模块再与舵机进行通信。
485通信特点:
485通信采用差分信号:可以抑制共模干扰。尤其当工业现场环境比较复杂,干扰比较多时,采用差分方式可以有效的提高通信可靠性。RS485 采用两根通信线,通常用 A 和 B 或者 D+和 D-来表示。逻辑“1”以两线之间的电压差为+(0.2~6)V 表示,逻辑“0”以两线间的电压差为-(0.2~6)V 来表示,是一种典型的差分通信。
485通信距离与速度:传输距离最远可以达到 1200 米左右,但是它的传输速率和传输距离是成反比的,只有在 100Kb/s 以下的传输速度,才能达到最大的通信距离,如果需要传输更远距离可以使用中继。
485多设备通信:可以在总线上进行联网实现多机通信,总线上允许挂多个收发器,从现有的 RS485芯片来看,有可以挂 32、64、128、256 等不同个设备的驱动器。
485通信方式:半双工模式,因此通讯时需要切换收发状态。
485通信常用电路:
1、手动收发控制的485通信:

MAX485 是美信(Maxim)推出的一款常用 RS485 转换器。
5 脚和 8 脚是电源引脚;
6脚和 7 脚就是 RS485 通信中的 A 和 B 两个引脚;
1 脚和 4 脚分别接到单片机的 RXD 和 TXD引脚上,直接使用单片机 UART 进行数据接收和发送;
2 脚和 3 脚是方向引脚,其中 2 脚是低电平使能接收器,3 脚是高电平使能输出驱动器,我们把这两个引脚连到一起,平时不发送数据的时候,保持这两个引脚是低电平,让 MAX485 处于接收状态,当需要发送数据的时候,把这个引脚拉高,发送数据,发送完毕后再拉低这个引脚就可以了。
手动收发控制的485通信电路:

实现自动收发功能:
发送数据过程:
发送数据,用的是单片机的TXD引脚,也就是说,在TXD引脚上表现数据。
例:要发送的数据转化为二进制,TXD引脚上就会依次的用高低电平体现1和0。
当TXD发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。
当TXD发送1时,三极管导通,RE接低电平,进入接收模式,485芯片的AB引脚进入高阻状态,因为上拉电阻把A拉高,下拉电路把B拉低,所以,AB传输的是1。
总结,TXD发1,AB就发1;TXD发0,AB就发0。
接收数据过程:
接收数据,用的是单片机引脚RXD,也就是说,在RXD引脚上表现数据。
在接收数据的过程中,TXD引脚是一直保持高电平的,当TXD是高电平时,RE是低电平,正好调理成了接收状态,然后485芯片的RO引脚(也就是接RXD的引脚)就会反应AB传输过来的数据。
电路阻值选取:
上下拉电阻R9、R10 —— 1k , 4.7k , 10k
双绞线并联电阻 —— 一般120Ω
MX64舵机驱动:
MX64舵机官网通信接口实例原理图:

通过串口TTL转485模块实现数据电平转换,然后使用STM32的串口驱动舵机。
平台:STM32F405RGT6
舵机:MX64AR —— 固件版本1.0
软件部分见另一篇博客。
——cloud over sky
——2020/1/14
485通信——驱动 MX64/MX28 舵机的更多相关文章
- 关于485通信不稳定问题解决方案[STM32产品问题]
485通讯不稳定的问题(具体表现为有时能通讯上,有时通讯不上) RS485在连接设备过多.通讯距离过长.双绞线质量差,接线不规范等,都会导致通讯不稳定的问题. 解决方案: 一.关于485总线的几个概念 ...
- OMAPL多核异构通信驱动AD9833波形发生器-Notify组件
OMAPL多核异构通信驱动AD9833-Notify组件demo OMAPL多核通信有三个主要机制,Notify,MessageQ,RegionShare;这里主要利用了Notify机制进行通信控制. ...
- 4位或者5位led数码显示,485通信modbus,支持任意小数点写入,工业标准设置,可和plc,dcs,组态完美对接,支持定制修改
MRD-5030具有4位8段数码管,支持通过工业标注协议Modbus(Modbus-RTU)控制显示,支持任意小数点的显示.数据以半双工方式通信.电源端口和通信端口都具有防浪涌,防雷600W保护,能够 ...
- 串口RS232和485通信的波形分析
一.串行数据的格式 异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5.6.7.8位,停止位可以是1.1.5.2位. 起始位是一个值为0的位,所以对于正逻辑的TTL电平 ...
- 舵机MX-64AR与MX-28AR驱动
背景:硬件采用485通信,在tb上采购的无需收发控制的串口转RS485模块(485通信为半双工,一般情况需要控制收发模式).在使用该模块后,即可完全使用一个普通地串口来对485通信的舵机进行操作. 模 ...
- RS485通信和Modbus协议(转)
转自:http://www.51hei.com/bbs/dpj-23230-1.html 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接 ...
- RS485通信电路
RS485由RS232和RS422发展而来,弥补了抗干扰能力差.通信距离短.速率低的缺点,增加了多点.双向通信能力,即允许多个发送器连接在同一条主线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了 ...
- LK产品如何提高通信速率
之前做LK,由于采用自定义协议,485通信.为了避免通信撞车,采用主控轮询.从机应答的通信方式. 当设备规模扩大,需要轮询的子设备和参数变多时,轮询周期就会加长,人机交互时,系统反应缓慢. 分析主控轮 ...
- OHSCE_V0.1.22 Beta,跨平台高可靠性通信框架
Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,Windows友好且同时支持Linux和OS X.对TCP.UDP ...
随机推荐
- libevent(九)bufferevent
bufferevent,带buffer的event struct bufferevent { struct event_base *ev_base; const struct bufferevent_ ...
- tomcat日志清理
删除指定IP的日志后,删除自身 import os import time import sys ip="127.0.0.1" logpath="/var/lib/tom ...
- Java 面向对象和封装
目录 面向对象思想的概述 类和对象的关系 什么是类 什么是对象 类和对象的关系 局部变量和成员变量的区别 this关键字 构造方法 一个标准的类 面向对象思想的概述 面向过程:当需要实现一个功能的时候 ...
- 【Hadoop离线基础总结】oozie调度MapReduce任务
目录 1.准备MR执行的数据 2.执行官方测试案例 3.准备我们调度的资源 4.修改配置文件 5.上传调度任务到hdfs对应目录 6.执行调度任务 1.准备MR执行的数据 MR的程序可以是自己写的,也 ...
- 【Hadoop离线基础总结】关键路径转化率分析(漏斗模型)
关键路径转化 需求 在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比 模型设计 定义好业务流程中的页面标识 Step1. /item Step2. /category Step3. ...
- Unity ugui拖动控件(地图模式与物件模式)
拖动在游戏中使用频繁,例如将装备拖动到指定的快捷栏,或者大地图中拖动以查看局部信息等. Unity的EventSystems中可以直接继承几个接口来实现拖动功能,如下: namespace Unity ...
- 风扇转速通过FPGA采样
1.风扇最大转速16000RPM,那么每一转需要时间60S/16000=0.00375S=375*10^4ns=T=T1+T2+T3+T4: 2.采样0.6S内的风扇detect信号的上升沿个数:0. ...
- [hdu1532]最大流
裸最大流,求最大流一般步骤如下: (1)所有正向边权初始化为容量,反向边权初始化为0 (2)找增广路 (3)找到则进入(4),否则得到最大流并退出 (4) 增广路上所有边减去最小边权,相应的方向边加上 ...
- [hdu5256]LIS模型
题目:有一个数列A1,A2...An,修改数量最少的元素,使得这个数列严格递增.无论是修改前还是修改后,每个元素都必须是整数. 思路: 修改数量最少的元素使得这个数列严格递增,等价于让数量最多的元素不 ...
- 安卓APP承载网页(WebView)
安卓APP自身如何打开网页,如何制作一个简单的浏览器,WebView在其中将是一个重要的角色.WebView是一个基于WebKit引擎.展现Web页面的控件. Webview 是一个基于webkit引 ...