首页 技术 正文
技术 2022年11月8日
0 收藏 597 点赞 1,707 浏览 1308 个字

背景:在使用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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295