“2-CH RS485 HAT”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
→‎FAQ
 
(未显示3个用户的20个中间版本)
第1行: 第1行:
 
<div class="wiki-pages blue-color">
 
<div class="wiki-pages blue-color">
 +
<!--<div class="tabberlive  newwsnav" id="wsnavbar">
 +
<ul class="tabbernav">
 +
<li class="nav-link">[[#myintro|说明]]</li>
 +
<li class="nav-link">[[#myresources|资料]]</li>
 +
<li class="nav-link">[[#myfaq|FAQ]]</li>
 +
<li class="nav-link">[[#mysupport|售后]]</li>
 +
</ul>
 +
</div>-->
 
<div class="tabber">
 
<div class="tabber">
 
{{扩展板|colorscheme=blue
 
{{扩展板|colorscheme=blue
第11行: 第19行:
 
}}
 
}}
  
<div class="tabbertab" title="说明">
+
<div class="tabbertab" title="说明" id="myintro">
 +
=说明=
 
=产品概述=
 
=产品概述=
 
2-CH RS485 HAT 是微雪电子专为树莓派设计的双通道隔离型RS485扩展板,采用SC16IS752+SP3485方案,内置电源隔离、ADI磁耦隔离和TVS等保护电路。
 
2-CH RS485 HAT 是微雪电子专为树莓派设计的双通道隔离型RS485扩展板,采用SC16IS752+SP3485方案,内置电源隔离、ADI磁耦隔离和TVS等保护电路。
第104行: 第113行:
 
<pre>
 
<pre>
 
sudo nano /boot/config.txt
 
sudo nano /boot/config.txt
#加入如下,int_pin根据实际焊接方式设置:
+
#在config文件末位加入如下指令,int_pin根据实际焊接方式设置:
 
dtoverlay=sc16is752-spi1,int_pin=24
 
dtoverlay=sc16is752-spi1,int_pin=24
 
#重启设备
 
#重启设备
第171行: 第180行:
 
cd python  
 
cd python  
 
cd examples
 
cd examples
sudo python main.py
+
sudo python3 main.py
 
#或者
 
#或者
sudo python test.py
+
sudo python3 test.py
 
</pre>
 
</pre>
 
*此处演示的为:2-CH RS485 HAT的通道1与[https://{{SERVERNAME}}/shop/USB-TO-RS232-485-TTL.htm USB TO RS232/485/TTL]的A.B连接如下图:<br />
 
*此处演示的为:2-CH RS485 HAT的通道1与[https://{{SERVERNAME}}/shop/USB-TO-RS232-485-TTL.htm USB TO RS232/485/TTL]的A.B连接如下图:<br />
第186行: 第195行:
 
'''<font color="#ff0000">(注意: 需要加回车换行才可以,不然数据不会返回;示例的程序目录以实际为主。)</font>'''<br />
 
'''<font color="#ff0000">(注意: 需要加回车换行才可以,不然数据不会返回;示例的程序目录以实际为主。)</font>'''<br />
 
*如果没有其他的RS485设备,可以选择如下的测试方式,将通道1的A,B与通道2的A,B连接:<br />
 
*如果没有其他的RS485设备,可以选择如下的测试方式,将通道1的A,B与通道2的A,B连接:<br />
[[File:2-CH-RS485-HAT-8 (3).png|800px]]<br />
+
[[File:2-CH-RS485-HAT-test .png|800px]]<br />
  
 
*运行test.py,可以得到如下效果:  <br/>
 
*运行test.py,可以得到如下效果:  <br/>
[[File:test py运行.png|900px]]
+
[[File:2-CH-RS485-HAT-test-demo.png|800px]]
  
 
</div>
 
</div>
  
<div class="tabbertab" title="资料">
+
<div class="tabbertab" title="资料" id="myresources">
 +
 
 +
<h1>资料</h1>
 +
 
  
 
===文档===
 
===文档===
 
*[https://{{SERVERNAME}}/w/upload/f/fb/2-CH_RS485_HAT_SchDoc.pdf 原理图]
 
*[https://{{SERVERNAME}}/w/upload/f/fb/2-CH_RS485_HAT_SchDoc.pdf 原理图]
 +
*[[:File:2-ch_rs485_hat.zip|3D图纸]]
  
 
===程序===
 
===程序===
第206行: 第219行:
 
*[https://{{SERVERNAME}}/w/upload/a/ad/SC16IS752_datasheet.pdf SC16IS752]
 
*[https://{{SERVERNAME}}/w/upload/a/ad/SC16IS752_datasheet.pdf SC16IS752]
  
 +
</div>
 +
<div class="tabbertab" title="FAQ" id="myfaq">
  
 +
==FAQ==
  
 
</div>
 
<div class="tabbertab" title="FAQ"><br />
 
 
{{FAQ| 485速度太高通讯不了?|
 
{{FAQ| 485速度太高通讯不了?|
 
如果使用的是自动的收发,测试发现最多只能到921600 bps,使用手动收发可以达到2M|||}}
 
如果使用的是自动的收发,测试发现最多只能到921600 bps,使用手动收发可以达到2M|||}}
第218行: 第231行:
 
#检察串口通信参数的奇数偶数位校验的设置。
 
#检察串口通信参数的奇数偶数位校验的设置。
 
|||}}
 
|||}}
 +
 +
{{FAQ|树莓派装了ubuntu系统可以使用么,为什么在boot文件夹找不到config.txt文件?|
 +
#树莓派装了主流的ubuntu系统可以使用;
 +
#Ubuntu 的config.txt文件通常在/boot/firmware 文件夹
 +
#树莓派版本的ubuntu 系统一般是64位的,可以用以下指令安装wringpi 库
 +
下载64位Arm wiringpi
 +
wget https://gitee.com/LJYSCIENTIST/raspberry-pi-software-storage/raw/master/wiringpi-2.60-1_arm64.deb
 +
安装64 位Arm wiringpi
 +
sudo dpkg -i wiringpi-2.60-1_arm64.deb
 +
|||}}
 +
 +
{{FAQ|将传感器接到RS485后,运行对应程序没有收到数据?|
 +
传感器那边发送过来的可能是hex数据(有时候还需要先发送hex数据给传感器请求数据),按照以下步骤收发hex数据:
 +
wget https://www.waveshare.net/w/upload/0/00/RS485-CAN-HAT-For-Hex.zip
 +
unzip RS485-CAN-HAT-For-Hex.zip
 +
sudo chmod 777 RS485-CAN-HAT-For-Hex.zip
 +
cd RS485-CAN-HAT-For-Hex
 +
sudo python3 RS485-CAN-HAT-send-hex.py 
 +
 +
|||}}
 +
</div>
 +
 
</div>
 
</div>
<div class="tabbertab" title="售后"><br />{{Service18}}</div>
+
<div class="tabbertab" title="售后" id="mysupport">
 +
 
 +
=售后=
 +
<br />{{Service18}}</div>
 
</div>
 
</div>

2023年11月22日 (三) 15:20的最新版本

2-CH RS485 HAT
2-CH RS485 HAT
{{{name2}}}
{{{name3}}}
板载接口
RPi RS485

说明

产品概述

2-CH RS485 HAT 是微雪电子专为树莓派设计的双通道隔离型RS485扩展板,采用SC16IS752+SP3485方案,内置电源隔离、ADI磁耦隔离和TVS等保护电路。

特点

  • 基于Raspberry Pi 40pin GPIO接口,适用于Raspberry Pi系列主板
  • 采用SC16IS752与SP3485双芯片组合方案,可实现SPI转RS485,通信速率高达921600bps
  • 支持手动或自动收发数据,可通过拨码开关设置
  • 板载TVS(瞬态电压抑制管),可有效抑制电路中的浪涌电压和瞬态尖峰电压,防雷防静电
  • 板载自恢复保险丝和保护二极管,可确保电流和电压稳定输出,防过流过压,提高抗冲击能力
  • 板载电源和串口收发指示灯,方便查看模块电源和通信状态
  • 引出SPI控制接口,方便接入Arduino等主控板
  • 提供完善的配套资料手册(C与python示例程序和用户手册等)

产品参数

  • 串口扩展芯片: SC16IS752
  • RS485收发器: SP3485
  • 通信接口: SPI
  • 通信速率: 300~921600 bps
  • 工作电压: 3.3/5V
  • 产品尺寸: 65mm×56.5mm
  • 过孔直径: 3.0mm

接口说明

  • 引脚功能
引脚号 标识 管脚描述
1 VCC 3.3V/5V电源正
2 GND 电源地
3 SCLK SPI时钟输入
4 MOSI SPI数据输入
5 MISO SPI数据输出
6 CS SPI片选信号
7 IRQ 中断输出
8 EN1 通道1输出使能
9 EN2 通道2输出使能

硬件说明

控制器

本产品采用SC16IS752作为控制芯片,SC16IS752是双通道高性能的UART扩展芯片,支持SPI和I2C两种接口通信,本模块使用SPI接口。板载电源隔离、ADI磁耦隔离、板载TVS(瞬态电压抑制管)、自恢复保险丝和保护二极管和自动收发转换电路。可有效抑制电路中的浪涌电压和瞬态尖峰电压,防雷防静电,防过流过压,提高抗冲击能力,可进行信号隔离,具有靠性高、抗干扰强、功耗低等优点。

通信协议

RS485 HAT.png

CS:从机片选,当CS为低电平的时候,芯片使能
SCLK: SPI通信时钟
MOSI/SI:SPI通信主机发送,从机接收
MIS0/SO:SPI通信主机接收,从机发送
时序:CPHL=0, CPOL=0 (SPI0)
【备注】具体关于SPI通信的相关信息,可以自行网上搜索资料了解

树莓派使用

硬件连接

详细连接: C和python例程运行需要一个额外的RS485转串口模块连接通道1才可以看到效果。Python中test.py需要通道1和通道2连接。

功能引脚 树莓派接口(BCM) 描述
VCC 5V 3.3V/5V电源正
GND GND 电源地
SCLK P21(SPI1 SCLK) SPI时钟输入
MOSI P20(SPI1 MOSI) SPI数据输入
MISO P19(SPI1 MISO) SPI数据输出
CS P18(SPI1 CS) SPI片选信号
IRQ P24 中断输出
EN1 P27 通道1(Channel 1)收发使能: 高电平发送使能,低电平接收使能
EN2 P22 通道2(Channel 2)收发使能: 高电平发送使能,低电平接收使能

添加驱动

  • 在终端执行:
sudo nano /boot/config.txt
#在config文件末位加入如下指令,int_pin根据实际焊接方式设置:
dtoverlay=sc16is752-spi1,int_pin=24
#重启设备
sudo reboot

重启后,SC16IS752的驱动会加载到系统内核中,此时可以运行ls /dev查看一下 将会多出如下设备: Rs485添加驱动.png
在2020-05-27的树莓派系统中gpiochip3没有了变成了gpiochip2

安装库

  • 安装wiringPi
sudo apt-get install wiringpi
#对于树莓派4B可能需要进行升级;
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行 gpio -v 会出现2.52版本,如果没有出现说明安装出错
  • 安装python2库
sudo apt-get update
sudo apt-get install python-pip
sudo pip install RPi.GPIO
sudo apt-get install python-serial
  • 安装python3库
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install RPi.GPIO
sudo apt-get install python3-serial

测试

  • 下载并运行测试例程
sudo apt-get install p7zip-full
wget http://www.waveshare.net/w/upload/4/44/2-CH_RS485_HAT_code.7z
7z x 2-CH_RS485_HAT_code.7z
sudo chmod 777 -R  2-CH_RS485_HAT
cd 2-CH_RS485_HAT/
  • 另外也可以下载我们Github上面的工程:
sudo git clone https://github.com/waveshare/2-CH-RS485-HAT
cd 2-CH-RS485-HAT/

*注意目录稍微有些不一样

  • C 程序
cd c
make clean
make
sudo ./main
  • PYTHON 程序
cd python 
cd examples
sudo python3 main.py
#或者
sudo python3 test.py

2-CH RS485 HAT-1.png

USB TO RS232/485/TTL连接到电脑,打开串口助手,选择对应的串口,设置波特率115200。

  • 执行C程序,电脑发送任何数据,模块将数据返回执行C程序,如下图:

485测试.png
(注意: 需要加回车换行才可以,不然数据不会返回;示例的程序目录以实际为主。)

  • 执行main.py,电脑发送任何数据,模块将数据返回执行C程序,如下图:

2-CH-RS485 -HAT-5.png
(注意: 需要加回车换行才可以,不然数据不会返回;示例的程序目录以实际为主。)

  • 如果没有其他的RS485设备,可以选择如下的测试方式,将通道1的A,B与通道2的A,B连接:

2-CH-RS485-HAT-test .png

  • 运行test.py,可以得到如下效果:

2-CH-RS485-HAT-test-demo.png

资料


文档

程序

数据手册

FAQ

如果使用的是自动的收发,测试发现最多只能到921600 bps,使用手动收发可以达到2M


  1. 确定485的A,B是否与控制的485设备A,B一一对应;
  2. 可以先使用USB to 485设备与模块通信,保证树莓派的设置没有问题;
  3. 检察串口通信参数的奇数偶数位校验的设置。


  1. 树莓派装了主流的ubuntu系统可以使用;
  2. Ubuntu 的config.txt文件通常在/boot/firmware 文件夹
  3. 树莓派版本的ubuntu 系统一般是64位的,可以用以下指令安装wringpi 库
下载64位Arm wiringpi
wget https://gitee.com/LJYSCIENTIST/raspberry-pi-software-storage/raw/master/wiringpi-2.60-1_arm64.deb 
安装64 位Arm wiringpi
sudo dpkg -i wiringpi-2.60-1_arm64.deb 


传感器那边发送过来的可能是hex数据(有时候还需要先发送hex数据给传感器请求数据),按照以下步骤收发hex数据:

wget https://www.waveshare.net/w/upload/0/00/RS485-CAN-HAT-For-Hex.zip
unzip RS485-CAN-HAT-For-Hex.zip 
sudo chmod 777 RS485-CAN-HAT-For-Hex.zip
cd RS485-CAN-HAT-For-Hex
sudo python3 RS485-CAN-HAT-send-hex.py  


售后


联系人:黄工
EMAIL:3005423122@qq.com
电话:0755-83040712
QQ:3005763927
微信:扫下方二维码添加
Hkx-wx.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证