ESP32-S3-RS485-CAN

来自Waveshare Wiki
跳转至: 导航搜索
ESP32-S3-RS485-CAN
{{{name2}}}
{{{name3}}}
功能简介
特性 ESP32-S3-RS485-CAN
相关功能 RS485 、 CAN、 I2C/GPIO
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 USB WiFi BLE

产品介绍

产品简介

ESP32-S3-RS485-CAN 是一款基于 ESP32-S3 主控,支持 WiFi、蓝牙、RS485、CAN 等外设接口的工业级 WiFi 无线通信器。内置电源隔离、光耦隔离等保护电路,安全稳定更可靠,适用于AIoT领域。

产品特性

  • 基于 ESP32-S3 单片机,其上搭载 Xtensa 32 位 LX7 双核处理器,主频高达 240MHz
  • 集成 2.4GHz WiFi 和低功耗蓝牙 (Bluetooth LE) 双模无线通信,具有优越的射频性能
  • 板载隔离型 RS485 接口,方便外扩接入各种 RS485 Modbus 工业扩展模块或传感器
  • 板载 USB Type-C 接口,可用于供电和下载调试,方便开发使用
  • 板载有接线端子供电接口,支持 7~36V 宽电压范围供电
  • 板载数字隔离,避免外部信号干扰控制芯片
  • 板载一体式电源隔离,可提供稳定的隔离电压,隔离端无须额外供电
  • 板载电源、 RS485 收发指示灯、CAN 指示灯,方便感知设备的运行工作状态
  • 导轨式 ABS 保护外壳,方便安装使用,带外壳更安全

产品参数

型号 ESP32-S3-RS485-CAN
微控制器 ESP32-S3 (默认为 ESP32-S3R8 芯片,可定制)
无线通信 2.4GHz Wi-Fi (802.11 b/g/n)、Bluetooth 5 (LE)
USB 接口 接口形式 USB Type-C
供电电压 5V
功能 设备供电、USB 通信和固件下载等
隔离型 RS485
通信接口
接口形式 接线端子
方向控制 通过主控硬件流设定自动控制
接口保护 提供 TVS 管保护、浪涌和静电保护
匹配电阻 默认 NC,预留 120R 匹配电阻,可跳线帽使能
隔离型 CAN
通信接口
接口形式 接线端子
方向控制 硬件自动判别和控制数据传输方向
接口保护 提供 TVS 管保护、浪涌和静电保护
匹配电阻 默认 NC,预留 120R 匹配电阻,可跳线帽使能
指示灯 PWR 电源指示灯,接入 USB,检测到电压则亮红灯
RS485 RS485 指示灯:

有数据从 RS485 接口发出时亮绿灯 有数据从 RS485 接口发回时亮蓝灯

CAN CAN 指示灯,CAN 接口存在数据通信时闪烁
端子供电 供电范围 7V ~ 36V
产品外观 外壳 导轨式保护外壳
尺寸 91.6 × 23.3 × 58.7 (mm)

资源简介

ESP32-S3-RS485-CAN-details-intro.jpg

①. ESP32-S3
主频高达 240MHz,搭载 2.4GHz Wi-Fi 和低功耗蓝牙

②. DC-DC 电源模块
电源模块,支持高达 3.3V 2A 输出

③. 排针接口
可通过排针连接其他功能模块

④. 电源接线端子
支持 DC 7V ~ 36V 宽电压范围供电

⑤. USB Type-C 接口
可用于设备供电、固件下载和 USB 通信

⑥. RTC 电池接口
接入可充电的 RTC 电池 (SH1.0)

⑦. 贴片陶瓷天线
⑧. IPEX 1 代座子
可通过拆焊电阻切换为使用外部天线

⑨. 16MB Flash
⑩. 数字隔离
避免外部信号干扰控制芯片

⑪. CAN 转换芯片
⑫. 工作指示灯
PWR:电源指示灯 RS485:有数据从 RS485 接口发出时亮绿灯,有数据从 RS485 接口发回时亮蓝灯 CAN:CAN 指示灯,CAN 接口存在数据通信时闪烁

⑬. 设备 BOOT 按键
⑭. 设备复位按键
⑮. 电源隔离
提供稳定隔离电压,隔离端无须额外供电

⑯. RS485 匹配电阻
预留 120R 匹配电阻,可跳线帽使能

⑰. CAN 匹配电阻
预留 120R 匹配电阻,可跳线帽使能

⑱. RS485、CAN 通信接口
支持连接外部 RS485 设备与 CAN 设备

⑲. RTC 时钟芯片
PCF85063 RTC 时钟

⑳‌‌. DC-DC 电源芯片
㉑. ME6217C33M5G
低压降 LDO,电流 (Max) 800mA

㉒. RS485 转换芯片
㉓. TVS (瞬态电压抑制管)
可有效抑制电路中的浪涌电压和瞬态尖峰电压

接口介绍

ESP32-S3-RS485-CAN-details-17.jpg

上侧端子说明 下侧端子说明
供电端子 电源正极:DC 7V ~ 36V RS485 端子 A+ 信号引脚
电源负极
Type-C 可用于设备供电、
固件下载和 USB 通信
B- 信号引脚
SH1.0 GND 地线 CAN 端子 H 信号引脚
3V3 3.3V 供电输出
GPIO2 扩展 IO L 信号引脚
GPIO1 扩展 IO

ESP32-S3-RS485-CAN-details-15.jpg

产品尺寸

ESP32-S3-RS485-CAN-details-size.jpg

使用说明

ESP32-S3-RS485-CAN 目前提供 Arduino IDE开发工具和框架,你可以根据项目需求和个人习惯选择适合的开发工具。

开发工具介绍

Arduino-IDE-logo.jpg

Arduino IDE

Arduino IDE是一款便捷灵活、方便上手的开源电子原型平台。不需要太多基础,简单学习后,你也可以快速地进行开发。同时,Arduino 拥有庞大的全球用户社区,提供了海量的开源代码、项目示例和教程,还有丰富的库资源,封装了复杂功能,让开发者能快速实现各种功能。


器件准备

在操作前,建议先浏览目录,快速了解文档结构。为顺利操作,请仔细阅读FAQ,提前了解可能的问题。文档中所有资料均提供超链接,方便下载。

Arduino开发

本章介绍 Arduino 环境搭建,包括 Arduino IDE、ESP32板管理、相关库的安装,程序编译下载及示例程序测试,帮助用户掌握开发板,便于二次开发。
Arduino-flow-04.png

环境搭建

下载和安装 Arduino IDE

  • 点击访问Arduino官网,选择对应的系统和系统位数下载。
    ESP32-S3-AMOLED-1.91-Ar-software-01.png
  • 运行安装程序,全部默认安装即可。

安装 ESP32 开发板

  • ESP32相关主板在Arduino IDE使用,须先安装“esp32 by Espressif Systems”库。
  • 根据板安装要求进行安装,一般推荐“在线安装”, 若在线安装失败,则使用“离线安装”。
  • 安装教程,详见:Arduino 板管理教程
  • ESP32-S3-RS485-CAN 所需开发板安装说明
板名称 板安装要求 版本号要求
esp32 by Espressif Systems “离线”安装/“在线”安装 3.0.x

安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装离线安装若库安装要求离线安装,则必须使用提供的库文件
    对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 库安装教程,详见:Arduino 库管理教程
  • ESP32-S3-RS485-CAN 库文件存放于示例程序中,点击此处跳转:ESP32-S3-RS485-CAN 示例程序
  • ESP32-S3-RS485-CAN 库文件安装说明
库名称 说明 版本 库安装要求
ArduinoJson 轻量 JSON 库 v6.21.4 “在线”或“离线”安装
PubSubClient MQTT 消息订阅发布库 v2.8.0 “在线”或“离线”安装
NTPClient 网络时间同步客户端库 v3.2.1 “在线”或“离线”安装

运行第一个 Arduino 程序

如果你刚入门学习ESP32和Arduino,还不知道如何创建、编译、烧录和运行Arduino ESP32程序,那么请展开看看,希望可以帮助到你!

新建工程

  • 运行Arduino IDE,选择 File -> New Sketch
    ESP32-S3-AMOLED-1.91-Ar-study-01.png
  • 输入代码:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello, World!");
  delay(2000);
}
  • 保存代码工程,选择 File -> Save As...;在弹出的菜单选择保存工程路径,并输入工程名,如 Hello_World,点击保存

ESP32-S3-AMOLED-1.91-Ar-study-02.png

编译和烧录程序

  • 选择对应的开发板,以ESP32S3主板为例:

①. 点击选择下拉框选项“Select Other Board and Port”;
②. 搜索需要的开发板型号“esp32s3 dev module”并选择;
③. 选择COM口
④. 保存选择。
ESP32-S3-AMOLED-1.91-Ar-study-03.png

  • 若ESP32S3主板只有USB口,须打开(Enable)USB CDC,如下图所示:

ESP32-S3-AMOLED-1.91-Ar-study-04.png

  • 编译并上传程序:

①. 编译程序;②. 编译并下载程序;③. 下载成功。
ESP32-S3-AMOLED-1.91-Ar-study-05.png

  • 打开串口监视窗口,程序每隔2秒会打印“Hello World!”,运行情况如下所示:

ESP32-S3-AMOLED-1.91-Ar-study-06.png

示例程序

Demo-flow-01.png

  • ESP32-S3-RS485-CAN 示例程序
示例程序 基础例程说明 依赖库
01_MAIN_WIFI_AP RS485 接口控制,CAN 接口控制,蓝牙控制,蓝牙发送IP,Web页面控制(近距离) 可直接烧录
Web 页仅连接到设备 WIFI 才可使用
02_MAIN_WIFI_STA RS485 接口控制,CAN 接口控制,蓝牙控制,蓝牙发送IP,Web页面控制(近距离) 修改 要连接的 WIFI
Web页仅内网使用

Arduino 工程参数设置

ESP32-S3-16MB-OPI-Parameters.png

01_MAIN_WIFI_AP

【程序说明】


  • 本示例实现了通过 WiFi 去控制 RS485 和 CAN 接口,此示例开启的是WiFi的AP模式

【注意事项】


  • 可直接烧录
  • Web 页仅连接到设备 WIFI 才可使用

【Web页面控制】


02_MAIN_WIFI_STA

【程序说明】


  • 本示例实现了通过 WiFi和蓝牙去控制 RS485 和 CAN 接口,此示例开启的是WiFi的STA模式

【注意事项】


  • 需修改要连接的 WIFI
  • Web页仅支持控制设备和本产品在同一网络下使用,若使用手机端控制,需关掉移动网络

【Web页面控制】


Flash固件的烧录与擦除

  • 当前示例程序有提供测试固件,可通过直接烧录测试固件来测试板载设备功能正常与否
  • bin文件路径:
    ..\ESP32-S3-RS485-CAN\Firmware\Factory bin

资料

原理图

示例程序

数据手册

ESP32-S3

软件工具

Arduino

VScode

Thonny

调试工具

其他资料链接

FAQ

  • 本产品采用 ESP32-S3 作为主控 MCU,因此 RS485 与 CAN 的通信波特率均可通过软件自由设置。
  • CAN(TWAI)接口:理论速率可支持到 1 Mbps。
  • RS485(UART)接口:UART 理论速率可支持到 5 Mbps。但由于板子加入了隔离、电平转换及保护电路,实际可用速率会略低。一般推荐设置在115200bps以内,具体可根据实际通信环境和应用环境实测为准。



  • 可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式,可解决大部分无法下载的问题。


  • 这种情况可能是由于 Flash 空白导致 USB 口不稳定,可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式烧录固件(程序)即可解决该情况。


  • 首次编译很慢属于正常情况,耐心等待即可


  • 若开发板有复位键则按下复位键;若没有复位键,请重新上电


  • 部分AppData文件夹是默认隐藏的,可以设置为显示。
  • 英文系统:资源管理器->View->勾选“Hidden items”
  • 中文系统:文件资源管理器->查看->显示->勾选“隐藏的项目”


  • Windows系统:

①通过设备管理器查看: 按下Windows + R键打开“运行”对话框; 输入devmgmt.msc并按回车键打开设备管理器; 展开“端口(COM和LPT)”部分,这里会列出所有的COM端口及其当前状态。
②使用命令提示符查看: 打开命令提示符(CMD); 输入mode命令,这将显示所有COM端口的状态信息。
③查看硬件连接: 如果你已经连接了外部设备到COM口,通常设备会占用一个端口号,可以通过查看连接的硬件来确定使用的是哪个端口。

  • Linux系统:

①使用dmesg命令查看: 打开终端。
②使用ls命令查看: 输入ls /dev/ttyS*或ls /dev/ttyUSB*来列出所有的串口设备。
③使用setserial命令查看: 输入setserial -g /dev/ttyS*来查看所有串口设备的配置信息。



  • 查看原理图,针对不同开发板的Type-C接口,对应代码处理输出不同:
    • USB直出的开发板,支持printf函数打印输出,若想支持Serial函数打印输出则需要使能USB CDC On Boot功能或者HWCDC声明
    • UART转USB的开发板,支持printf函数和Serial函数打印输出,无需使能USB CDC On Boot


  • 出厂程序仅供学习,若用于实际应用请自行优化程序逻辑。


  • 请将跳线帽移至 120R 再次尝试,部分 RS485 设备需要串入 120R 电阻


技术支持

联系人:梁工
电话:0755-83043099
微信:扫下方二维码添加
Ljh.png

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