×

如何通过RS485通信两个Arduino

消耗积分:0 | 格式:rar | 大小:0.51 MB | 2023-01-05

香香技术员

分享资料个

通常,在工业中,我们有几种机器和设备(PLC,CNC,变频器)来控制和监视最多样化的工业过程。

为了使所有这些设备一起工作,必须在它们之间建立通信网络。

但是,由于电动机,螺线管和其他执行器的激活,该行业环境中存在许多电磁干扰。

RS485通信标准是通信网络的物理层,可以实现多种协议,例如Modbus,Profibus等。

RS485通信标准适合在行业中实施,因为它接受几种网络拓扑,例如星形和环形。

它允许长距离通信,并使用双绞线电缆。由于我们具有差分通信信号,因此该电缆模型减少了电磁干扰,这有助于更好地抵抗噪声和电磁干扰。

除了RS485通讯之外,还有RS232通讯。它允许以点对点模式进行网络通信,并且遭受电磁干扰的影响更大。

但是,许多设备具有RS232通信,需要长距离传输数据。为此,我们需要使用称为MAX485的集成电路。

该集成电路在使TTL逻辑电平适应RS485通信所需的逻辑电平中发挥作用。

如今,已经有使用该集成电路的现成的低成本模块。它们允许信号调理并促进不同设备之间的通信。

因此,由于其坚固性,RS485通信可用于任何类型的环境。

因此,在本文中,我们将学习如何监视环境温度以及如何通过两个Arduino之间的串行/ RS485通信接收测量值。

Arduino Slave(发送器)将使用DS18B20数字传感器执行温度测量,并将测量值通过串行/ RS485发送到Arduino主设备(接收器),该设备将在LCD显示屏上写入20 x 4 I2C接收的温度值。

因此,通过本文您将学到:

在原型板上执行电路组装;

了解RS 485模块的操作;

了解DS18B20传感器的工作原理;

创建通信协议;

使用有线通信网络进行远程温度监控;

现在,我们将开始通过RS485串行通信使用DS18B20传感器进行温度监控项目的开发的完整介绍。

通过RS485串行通信使用DS18B20传感器开发温度监控项目

在图3中,我们具有项目组装所需的原理图电路。Arduino Uno将成为主机(接收器),它将接收温度测量值并将在LCD显示屏上显示20 x 4 I2C。

FmxSTilIsBLwVoGpQQeV1BE3jNHd

Arduino Nano将作为从设备(发送器),它将读取DS18B20传感器并通过RS485模块发送测量值。

现在,让我们转到设置项目所需的材料清单。

带有DS18B20和RS485模块的Arduino项目

温度传感器DS18B20是数字温度传感器,因为要传输信息,它使用协议1-Wire。

1-Wire协议由Dallas Semiconductor和Maxim制造。

1线总线对设备使用主/从概念。

微控制器是主机,外围设备是从机。

在制造过程中,每个设备都会收到一个唯一的ID,即设备标识号(地址),以便在有很多设备时可以在总线上对其进行标识。

信息格式:

1线仅使用一条数据线,并使用长脉冲和短脉冲表示1和0。60微秒脉冲表示0,15微秒脉冲表示1。

在VCC与DS18B20传感器的信号引脚之间必须使用4K7的上拉电阻,以使微控制器与传感器之间的通信稳定。

将发射器和接收器电路组装到原型板上之后,我们可以在图6中看到原型板上的物理组装。

FubZgGFiLcp-X9Wp_abrvwYuAKIM

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !