ESP32 S3 RS422

RS422 ist ein robuster serieller Kommunikationsstandard, der Daten über große Entfernungen und in elektrisch störanfälligen Umgebungen übertragen kann und sich daher ideal für industrielle Anwendungen eignet. Dieses Tutorial zeigt Ihnen, wie Sie ein TTL-zu-RS422-Modul an den ESP32 S3 anschließen und bidirektional Daten zwischen dem Board und Ihrem PC austauschen.

ESP32 S3 RS422

Was Sie bauen werden:

  1. Den ESP32 S3 mit einem TTL-zu-RS422-Modul verbinden
  2. Den ESP32 S3 so programmieren, dass er Daten von der RS422-Schnittstelle empfängt
  3. Den ESP32 S3 so programmieren, dass er Daten über die RS422-Schnittstelle sendet
  4. Eine bidirektionale serielle Kommunikation zwischen Ihrem PC und dem ESP32 S3 über RS422 herstellen

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×TTL-zu-RS422-Modul
1×Verbindungskabel
1×(Optional) RS422-zu-USB-Kabel
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Überblick über TTL to RS422 Module

RS422 (auch RS-422 genannt) ist ein differenzieller serieller Kommunikationsstandard, der Vollduplex-Datenübertragung mit Geschwindigkeiten von bis zu 10 Mbit/s über Entfernungen von bis zu 1200 Metern unterstützt. Im Gegensatz zu den TTL-Pegelsignalen, die der ESP32 S3 nativ verwendet, nutzt RS422 symmetrische Differenzpaare, die eine hervorragende Störfestigkeit bieten und lange Kabelstrecken treiben können.

Bei der seriellen Kommunikation am ESP32 S3 über Funktionen wie Serial.print(), Serial.read() und Serial.write() werden die Daten mit TTL-Signalpegeln über die TX- und RX-Pins übertragen. Ein TTL-zu-RS422-Wandlermodul schließt die Lücke zwischen diesen TTL-Signalen und dem differenziellen RS422-Standard und ermöglicht so eine störfeste serielle Kommunikation über große Entfernungen.

Wichtige Spezifikationen

  • Kommunikationsstandard: RS-422 (Vollduplex, differenzielle Signalübertragung)
  • Versorgungsspannung: 3,3V oder 5V (prüfen Sie das Datenblatt Ihres Moduls)
  • Maximale Datenrate: bis zu 10 Mbit/s
  • Maximale Kabellänge: bis zu 1200 m bei niedrigeren Baudraten
  • Gängige Treiber-ICs: MAX13487, MAX3422 oder gleichwertige

Pinbelegung

Das TTL-zu-RS422-Modul besitzt zwei Schnittstellen. Verbinden Sie die TTL-Seite mit dem ESP32 S3 und die RS422-Seite mit dem entfernten Gerät oder Kabel.

TTL-Schnittstelle (mit dem ESP32 S3 verbunden):

  1. VCC-Pin: Stromeingang — mit 3,3V oder 5V verbinden.
  2. GND-Pin: Masse — mit GND verbinden.
  3. RXD-Pin: Dateneingang des Moduls — mit einem TX-Pin des ESP32 S3 verbinden.
  4. TXD-Pin: Datenausgang des Moduls — mit einem RX-Pin des ESP32 S3 verbinden.

RS422-Schnittstelle:

  1. A (R+) Pin: RX+ des Moduls — mit dem TX+ (T+ oder Y) Pin des entfernten RS422-Geräts verbinden.
  2. B (R-) Pin: RX- des Moduls — mit dem TX- (T- oder Z) Pin des entfernten RS422-Geräts verbinden.
  3. Y (T+) Pin: TX+ des Moduls — mit dem RX+ (R+ oder A) Pin des entfernten RS422-Geräts verbinden.
  4. Z (T-) Pin: TX- des Moduls — mit dem RX- (R- oder B) Pin des entfernten RS422-Geräts verbinden.
Pinbelegung RS-422-Modul
image source: diyables.io

Verdrahtungsdiagramm

Schließen Sie das TTL-zu-RS422-Modul wie im folgenden Diagramm gezeigt an den ESP32 S3 an und achten Sie darauf, dass die TX/RX-Leitungen zwischen Board und Modul korrekt gekreuzt sind. Die RS422-Seite kann dann über ein RS422-zu-USB-Kabel mit einem PC oder mit einem anderen RS422-Gerät verbunden werden.

Sicherheitshinweise

Verwenden Sie für die differenziellen RS422-Leitungen (A/B- und Y/Z-Paare) abgeschirmte, verdrillte Kabel, wenn Sie Kabel über Entfernungen von mehr als einigen Metern verlegen, da dies die Störanfälligkeit deutlich verringert. Stellen Sie immer sicher, dass alle Geräte im RS422-Netzwerk eine gemeinsame Masse haben, um Masseschleifen und mögliche Schäden an den Transceivern zu vermeiden.

| ESP32 S3-Pin | TTL-Pin des RS422-Moduls |

|:---|:---|

| 3.3V | VCC |

| GND | GND |

| TX (beliebiger UART-TX) | RXD |

| RX (beliebiger UART-RX) | TXD |

Schaltplan ESP32 S3 TTL zu RS422

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

So programmieren Sie den ESP32 S3 für das RS422-Modul

Die Programmierung des ESP32 S3 für die Kommunikation über RS422 ist unkompliziert, da die Umwandlung zwischen TTL und RS422 vollständig vom Modul übernommen wird. Der folgende Code verwendet die Hardware-Serielle Schnittstelle Serial2, um Daten über das Modul zu senden und zu empfangen, und spiegelt eingehende Daten zur Überprüfung an den seriellen USB-Monitor zurück.

Um die serielle Schnittstelle für RS422 zu initialisieren, rufen Sie begin() auf dem gewünschten Hardware-UART auf:

Serial2.begin(9600);

Um Daten zu lesen, die von der RS422-Schnittstelle eintreffen, verwenden Sie eine dieser Serial-Funktionen:

Um Daten an die RS422-Schnittstelle zu schreiben, verwenden Sie eine dieser Serial-Funktionen:

Eine vollständige Liste der verfügbaren Funktionen finden Sie in der Serial-Referenz.

ESP32 S3 Code

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-rs422 */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-rs422 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // Serial Monitor Serial2.begin(9600, SERIAL_8N1, 18, 17); // RS422 // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial2.available()) { char data = Serial2.read(); // read the received character Serial.print(data); // print the recived data to Serial Monitor } }

Schnelle Schritte

Führen Sie die folgenden Schritte aus, damit der ESP32 S3 über RS422 kommuniziert:

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Verdrahten Sie das TTL-zu-RS422-Modul gemäß dem obigen Schaltplan mit dem ESP32 S3.
  3. Verbinden Sie den ESP32 S3 über ein USB-Type-C-Kabel mit Ihrem PC.
  4. Öffnen Sie die Arduino IDE und fügen Sie den im Code-Abschnitt bereitgestellten Code ein.
  5. Wählen Sie unter Tools das richtige Board und den COM-Port aus.
  6. Klicken Sie auf Upload, um den Code auf den ESP32 S3 zu flashen.
  7. Verbinden Sie die RS422-Seite des Moduls über ein RS422-zu-USB-Kabel mit einem PC.
  8. Öffnen Sie zwei serielle Terminalfenster (z. B. Tera Term oder PuTTY): eines am COM-Port des ESP32 S3 und eines am COM-Port des RS422-Adapters, beide auf 9600 Baud eingestellt.
  9. Geben Sie in einem der beiden Terminals Text ein und prüfen Sie, ob er im anderen Terminal erscheint.
  10. Profi-Tipp: Verwenden Sie einen Logikanalysator oder ein Oszilloskop an den differenziellen RS422-Leitungspaaren, um die differenzielle Signalübertragung zu bestätigen und die tatsächliche Signalqualität über Ihr Kabel zu messen.

Ausgabe im seriellen Monitor

Nach dem Hochladen und dem Herstellen der RS422-Verbindung zeigt der serielle Monitor eingehende und zurückgesendete Daten ähnlich den folgenden Messwerten an:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 09:01:23] RS422 Ready. Waiting for data... [2026-06-16 09:01:35] Received: Hello from PC [2026-06-16 09:01:35] Echo sent: Hello from PC [2026-06-16 09:02:10] Received: Test message 123 [2026-06-16 09:02:10] Echo sent: Test message 123
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungen

RS422 mit dem ESP32 S3 eignet sich gut für Szenarien, die eine zuverlässige, störfeste serielle Kommunikation über große Entfernungen erfordern. Hier sind gängige Anwendungen aus der Praxis:

  1. Industrieautomation: Verbinden Sie den ESP32 S3 mit SPS, Sensoren oder HMI-Panels in Fabrikumgebungen, in denen Kabelstrecken 100 m überschreiten können.
  2. Kassensysteme: Integrieren Sie Belegdrucker, Barcode-Scanner oder Kartenleser, die RS422-Schnittstellen verwenden.
  3. Gebäudeautomation: Kommunizieren Sie mit HLK-Steuerungen, Zutrittskontrollsystemen oder Beleuchtungssystemen, die RS422-Backbones verwenden.
  4. Datenerfassung: Sammeln Sie Sensormesswerte von entfernten Feldinstrumenten und leiten Sie sie an eine zentrale Steuerung oder einen PC weiter.
  5. Integration älterer Geräte: Verbinden Sie moderne IoT-Systeme auf Basis des ESP32 S3 mit älteren Industriegeräten, die nur RS422-Schnittstellen besitzen.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3-Projekt an.

Herausforderungen

Nachdem die RS422-Kommunikation am ESP32 S3 nun funktioniert, probieren Sie diese Herausforderungen aus, um Ihr Verständnis zu vertiefen.

  1. Anfänger: Ändern Sie den Code so, dass der ESP32 S3 einmal pro Sekunde eine Statusmeldung (z. B. "ESP32 S3 Online") über RS422 sendet, und überprüfen Sie den Empfang im Terminal.
  2. Fortgeschritten: Implementieren Sie ein einfaches Befehlsprotokoll, bei dem der PC Textbefehle (z. B. "LED_ON", "LED_OFF") über RS422 sendet und der ESP32 S3 eine LED umschaltet und mit einer Bestätigungsmeldung antwortet.
  3. Experte: Bauen Sie ein RS422-Multidrop-Netzwerk mit mehreren TTL-zu-RS422-Modulen und ESP32 S3-Boards auf und implementieren Sie ein adressbasiertes Nachrichten-Routing, sodass jeder Knoten nur die an ihn adressierten Nachrichten verarbeitet.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!