Skip to main content

树莓派 RS-485 扩展板

RS-485 是串行通信网络中的一种经济高效的解决方案。它可以在 10 Mbit/s 的数据速率下使用,或在较低速度下达到 1200m 的距离。这款 RS-485 扩展板是树莓派的标准附加板。它集成了简单的螺丝端子以及 DB9 接口。

版本

产品版本变更发布日期
树莓派 RS-485 扩展板初始版本2018年9月

特性

  • 每个部件包含一个驱动器和一个接收器
  • EMI 噪声最小化
  • 传输速率高达 2.5Mbps
  • 无驱动器转换速率限制
  • 短路电流限制
  • 故障安全应用
  • 支持树莓派 3B/3B+/4

规格

项目
工作电源电压3.3V
接口RS-485 DB9 接口 X1
RS-485 螺丝接口 X1
2×13 母头连接树莓派 X1
2×13 扩展母头 X1
Grove I2C 接口 X1
数据速率2.5Mbps
接收器数量32
存储温度范围-65~160℃
通道数8
分辨率12位
功耗根据传输速率不同功耗不同
尺寸长: 62mm 宽: 39.2mm 高: 21.8mm
重量23g
包装尺寸长: 140mm 宽: 75mm 高: 25mm
毛重42g

典型应用

  • 低功耗 RS-485 收发器
  • 电平转换器
  • EMI 敏感应用的收发器工业控制局域网
  • 半双工应用

硬件概述

引脚定义

概述

Pin_map


RS-485 DB9 接口和 RS-485 螺丝接口

485 接口使用差分信号传输。请确保端口 A 连接到 485 设备的端口 A,端口 B 连接到 485 设备的端口 B。

485-A: RS485 数据传输线的 A 端,连接到 MAX485 芯片的 A 引脚。
485-B: RS485 数据传输线的 B 端,连接到 MAX485 芯片的 B 引脚。
GND: 连接到树莓派 GND。

您可以点击图片查看原始文件

如您所见,GPIO14 和 GPIO15 用于数据传输,我们使用 GPIO18 作为使能信号。

有关逻辑信号的定义,请参考下表。


连接树莓派的母头

我们使用 2X13 母头将此模块插入树莓派,请确保引脚对齐。


扩展母头

这个 RS-485 扩展板占用了 26 个树莓派引脚,实际只使用了 5 个 GPIO 引脚。我们将这 26 个引脚引出,以防您需要将这些引脚用于其他目的。

GPIO 占用列表

GPIO 编号功能
GPIO02Grove I2C 端口的 SDA
GPIO03Grove I2C 端口的 SCL
GPIO14连接到 Max485 芯片的 DI 引脚,用于数据传输。
GPIO15连接到 Max485 芯片的 RO 引脚,用于数据传输。
GPIO18连接到 Max485 芯片的 REDE 引脚,作为使能信号。

Grove I2C 端口

我们保留了 I2C 接口,以便您可以轻松地与 I2C 设备一起使用。需要注意的是,此端口的 VCC 为 5V,您需要确认模块是否与 5V 电压兼容。

SCL: I2C 串行时钟,连接到树莓派的 GPIO03。
SDA: I2C 串行数据,连接到树莓派的 GPIO02。
VCC: 连接到树莓派 5V 引脚。
GND: 连接到树莓派 GND 引脚。


Max485 芯片

我们为此扩展板使用 MAX485ESA IC,有关此 IC 的更多详细信息,请查看 MAX485 数据手册

支持的平台

ArduinoRaspberry Pi

入门指南

硬件

所需材料

Raspberry piRS-485 Shield for Raspberry Pi
enter image description hereenter image description here
立即购买立即购买
  • 步骤 1. 将 RS-485 Shield for Raspberry Pi 插入 Raspberry Pi。

  • 步骤 2.485-A 连接到 485 线的 A 端,将 485-B 连接到 485 线的 B 端。

note

如果线路接反,将无法通信。

  • 步骤 3. 使用 micro-usb 线为 Raspberry Pi 供电。

软件

通信测试代码

您可以创建一个新的 python 文件并将以下代码复制到新文件中,或者您可以在资源下载区域下载源文件。然后在您的终端中运行它。

发送代码。


#!/usr/bin/env python

import time
import serial
import os
from gpiozero import LED

send_str = "*******rs485888888--\n"

ser = serial.Serial(port='/dev/ttyS0',baudrate =115200)

Tx_Enable = LED(18)
Tx_Enable.on()

while 1:
ser.write(send_str)
time.sleep(1)

接收代码


#!/usr/bin/env python

import time
import serial
import os
from gpiozero import LED

ser = serial.Serial(port='/dev/ttyS0',baudrate =115200,timeout=1)
data = ''

Rx_Disable = LED(18)
Rx_Disable.off()

while True:
str = ser.readall()
if str:
print str

您需要两个扩展板和两个树莓派来测试上述代码,或者您可以使用 PC 中的串口工具与您的树莓派进行通信。

原理图在线查看器

资源

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...