如何使用Waveshare ESP32-P4高性能开发板连接Modbus RTU
扫描二维码
随时随地手机看文章
Modbus RTU与Waveshare ESP32-P4高性能开发板和RS485 HAT树莓派。pressif发布了ESP32-P4,这是一款新的强大双核RISC处理器,时钟速度为400 MHz。在本教程中,我将向您展示如何使用Waveshare ESP32-P4高性能开发板连接Modbus RTU。
硬件
在本教程中,我选择了来自Waveshare的ESP32-P4高性能开发板,因为该开发板是按照众所周知的树莓派的外形设计的。这意味着树莓派的现有hat也可以与ESP32-P4一起使用。MODBUS RTU连接需要RS485接口,本例中为Zihatec的树莓派提供RS422/RS485 HAT。
跳线设置
RS485 HAT可以跳接到树莓派上的各种uart。ESP32-P4也有5个uart,可以根据需要路由到各种gpio。
在Waveshare的ESP32-P4板上,ESP32-P4的UART0连接到扩展头的8和10引脚(在Raspberry Pi的GPIO14和15 - UART0上)。但与此同时,这些引脚还在板上连接UART-USB桥接进行编程调试,使这些引脚无法使用。相反,我们可以为树莓派的其他uart使用替代引脚:
我们现在可以在U3、U4或U5处设置两个跳线(然后必须在软件中启用引脚路由的相应线路-见下文)。
我们不需要额外的跳线用于自动发送/接收开关RE0/3。
拨码开关设置
HAT可以通过3个拨码开关设置为不同的配置。我们在实验中使用以下设置:
S1:开-开-关
S2:关-关-开-开
开-关-开-开
网络通讯协议设置
对于我们的实验,我们自然需要另一个MODBUS设备来进行通信。在这个测试中,我使用了一个MODBUS中继箱,同样来自Waveshare。
HAT上的连接A和B与另一台设备上的连接A和B简单相连。
软件
首先,必须在ESP32下的Arduino IDE中选择正确的板“ESP32- p4 Dev Module”。
在测试程序中,第60至62行,用于初始化UART的对应行现在必须根据跳线设置启用:
测试程序使用Vishnu Mohanan (CIRCUITSTATE Electronics LLP)的RS485库和MODBUS库。
程序将所连接的继电器箱的继电器一个接一个地接通和断开。
本文编译自hackster.io





