你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

一个Arduino上最多三个RS485总线

[复制链接]
点点&木木 发布时间:2019-3-6 19:17
该项目将向您展示如何将最多三个独立的RS485总线连接到一个Arduino。
1.jpg
这个项目中使用的东西
硬件组件
Arduino UNO和Genuino UNO         ×  1      
隔离RS422 / RS485屏蔽    ×    2      
介绍
2.jpg
Arduino UNO带有两个堆叠式RS485防护罩
在这篇博客文章中,我将展示如何将最多三个独立的RS485总线连接到一个Arduino。如果要在这些总线之间创建网关,或者如果要控制这些总线中的设备(无需连接总线本身),这将非常有用。另一个应用是将RS422设备(例如电机控制)和RS485设备(例如传感器)连接到相同的Arduino。
在任何情况下,您都需要一个带有隔离接口的可堆叠RS485屏蔽,以消除接地问题并保护Arduino。对于任何RS485总线(或RS422),我们需要一个单独的屏蔽。
3.jpg
为什么隔离接口很重要
总线1的DIP开关和跳线设置:
跳线:
UART RX到位置0
UART TX到位置1
电压为5V
DIP开关:
S1 = OFF - ON - ON - OFF
S2 = OFF - OFF - ON - ON
S3 = ON - OFF - OFF – OFF
4.jpg
BUS 1的跳线和DIP开关设置
BUS 2的DIP开关和跳线设置:
跳线:
UART RX到位置2
UART TX到位置3
电压为5V
DIP开关:
S1 = OFF - ON - ON - OFF
S2 = OFF - OFF - ON - ON
S3 = ON - OFF - OFF – OFF
5.jpg
BUS 2的跳线和DIP开关设置
BUS 3的DIP开关和跳线设置:
跳线:
UART RX到位置4
UART TX到位置5
电压为5V
DIP开关:
S1 = OFF - ON - ON - OFF
S2 = OFF - OFF - ON - ON
S3 = ON - OFF - OFF – OFF
6.jpg
BUS 3的跳线和DIP开关设置
软件集成
总线1的屏蔽将使用PIN 0上的硬件UART和Arduino中的1。其他两个屏蔽将使用软件UART。
#include<SoftwareSerial.h>
SoftwareSerial RS485_BUS2(2,3);
SoftwareSerial RS485_BUS3(4,5);
void setup()
{
....
// init serialport for bus 1
Serial.begin(9600);
// init serialport for bus 2
RS485_BUS2.begin(9600);
// init serialport for bus 3
RS485_BUS3.begin(9600);
....
这些软件UART的传输数据受到Arduino的计算能力的限制。当然,如果你将使用基于ARM的Arduino或STM32板,这不会是一个真正的问题,但对于UNO,建议同时只使用两个屏蔽,而第二个屏蔽不要像9600波特那样数据速率。

收藏 评论0 发布时间:2019-3-6 19:17

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版