如何使用Waveshare ESP32-P4高性能開(kāi)發(fā)板連接Modbus RTU
Modbus RTU與Waveshare ESP32-P4高性能開(kāi)發(fā)板和RS485 HAT樹(shù)莓派。pressif發(fā)布了ESP32-P4,這是一款新的強(qiáng)大雙核RISC處理器,時(shí)鐘速度為400 MHz。在本教程中,我將向您展示如何使用Waveshare ESP32-P4高性能開(kāi)發(fā)板連接Modbus RTU。
硬件
在本教程中,我選擇了來(lái)自Waveshare的ESP32-P4高性能開(kāi)發(fā)板,因?yàn)樵撻_(kāi)發(fā)板是按照眾所周知的樹(shù)莓派的外形設(shè)計(jì)的。這意味著樹(shù)莓派的現(xiàn)有hat也可以與ESP32-P4一起使用。MODBUS RTU連接需要RS485接口,本例中為Zihatec的樹(shù)莓派提供RS422/RS485 HAT。
跳線設(shè)置
RS485 HAT可以跳接到樹(shù)莓派上的各種uart。ESP32-P4也有5個(gè)uart,可以根據(jù)需要路由到各種gpio。
在Waveshare的ESP32-P4板上,ESP32-P4的UART0連接到擴(kuò)展頭的8和10引腳(在Raspberry Pi的GPIO14和15 - UART0上)。但與此同時(shí),這些引腳還在板上連接UART-USB橋接進(jìn)行編程調(diào)試,使這些引腳無(wú)法使用。相反,我們可以為樹(shù)莓派的其他uart使用替代引腳:
我們現(xiàn)在可以在U3、U4或U5處設(shè)置兩個(gè)跳線(然后必須在軟件中啟用引腳路由的相應(yīng)線路-見(jiàn)下文)。
我們不需要額外的跳線用于自動(dòng)發(fā)送/接收開(kāi)關(guān)RE0/3。
撥碼開(kāi)關(guān)設(shè)置
HAT可以通過(guò)3個(gè)撥碼開(kāi)關(guān)設(shè)置為不同的配置。我們?cè)趯?shí)驗(yàn)中使用以下設(shè)置:
S1:開(kāi)-開(kāi)-關(guān)
S2:關(guān)-關(guān)-開(kāi)-開(kāi)
開(kāi)-關(guān)-開(kāi)-開(kāi)
網(wǎng)絡(luò)通訊協(xié)議設(shè)置
對(duì)于我們的實(shí)驗(yàn),我們自然需要另一個(gè)MODBUS設(shè)備來(lái)進(jìn)行通信。在這個(gè)測(cè)試中,我使用了一個(gè)MODBUS中繼箱,同樣來(lái)自Waveshare。
HAT上的連接A和B與另一臺(tái)設(shè)備上的連接A和B簡(jiǎn)單相連。
軟件
首先,必須在ESP32下的Arduino IDE中選擇正確的板“ESP32- p4 Dev Module”。
在測(cè)試程序中,第60至62行,用于初始化UART的對(duì)應(yīng)行現(xiàn)在必須根據(jù)跳線設(shè)置啟用:
測(cè)試程序使用Vishnu Mohanan (CIRCUITSTATE Electronics LLP)的RS485庫(kù)和MODBUS庫(kù)。
程序?qū)⑺B接的繼電器箱的繼電器一個(gè)接一個(gè)地接通和斷開(kāi)。
本文編譯自hackster.io





