Arduino Master & ESP8266 Slave Modbus RTU (TTL)

Tổng quan

Trong nhiều trường hợp, chúng ta giao tiếp ESP8266 với Arduino thông qua lệnh AT. Nhưng có một số trường hợp yêu cầu giao tiếp cả hai thiết bị và gửi và / hoặc nhận số lượng lớn thanh ghi. Mặc dù có các giao thức như I2c, và SPI với Libraries đã được cài đặt trong Arduino. Chúng ta sẽ sử dụng giao thức Modbus RTU cho các thiết bị giám sát và kiểm soát vì nó dễ thực hiện, an toàn, nhanh chóng và dễ kiểm tra các lỗi.

Đối với thử nghiệm này, chúng tôi dùng  Arduino MEGA 2560 R3 và Module ESP8266 12E giao tiếp qua modbus RTU được kết nối thông qua 3-wire, điện áp TTL từ 0 đến 5v .Arduino Master & ESP8266 Slave Modbus RTU (TTL)

Cấu hình Arduino

Arduino mega 2560 được cấu hình như một modbus master, sử dụng cổng Serial thứ hai (Serial1) của bo Arduiono.

Cấu hình ESP8266

Esp8266 được cấu hình như một modbus slave. Modbus hoạt động thông qua một cổng Serial ảo được tạo ra với thư viện SoftwareSerial.

Kiểm tra

Bài kiểm tra rất đơn giản, chúng ta sử dụng 2 thanh ghi để xác minh việc đọc và viết của cả hai thiết bị.

Arduino Master & ESP8266 Slave Modbus RTU (TTL 0-5 v)

Arduino IDE  Code – Arduino

Arduino có một nút nhấn kết nối giữa pin 7 và GND được cấu hình đầu vào pullup, Arduino đọc trạng thái của pin 7 và dán giá trị vào Holding Register [4] .

Thực hiện đọc liên tục Holding Register [5] và in giá trị trong Serial terminal.

Download source code

Bài viết các bạn có thể tham khảo:

Arduino IDE Code – ESP8266

ESP8266 sẽ đọc Holding Register [4] và kích hoạt pin 14 (D5) như là một đầu ra bật tắt led.

Dán vào Holding Register [5] một số nguyên với giá trị ngẫu nhiên từ 1 đến 9999.

Download source code

Kết nối

Giao tiếp TTL (0-5v), serial1 của arduino mega 2560 pins (Tx1 -18) (Rx1 – 19) được kết nối với Serial ESP8266 được tạo ra từ softwareserial D7 (13) TX, D8 (15) RX.

ESP8266 12E NodeMCU

Arduino MEGA 2560 R3

Chúng tôi đề nghị dùng tốc độ 9600 baud cho hiệu suất tốt, vì SoftwareSeriel không phải là UART chính của ESP8266, ở tốc độ cao có thể có lỗi bit.

Kết luận

  • Đây là một giải pháp tuyệt để giao tiếp với HMI, PLC, Meter, PAC, SCADA và / hoặc các bộ điều khiển công nghiệp khác dễ dàng.
  • Một lợi ích lớn là modbus là cơ sở truyền một số lượng lớn thanh ghi, cần lưu ý rằng nó cho phép 16-bit integer registers

Donwloads Libraries

Bài viết tham khảo từ trang web: en.trialcommand.com

Viết một bình luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.