Arduino MAX485 Library

Dies ist die Projektseite zur Erstellung und Wartung der Arduino MAX485 Library. Die Bibliothek dient der einfachen Kommunikation zwischen EIA-485 Bus-Teilnehmern und erlaubt das Erstellen eigener einfacher Kommunikationsprotokolle.

Download der Library von github

Die aktuelle Version der Bibliothek könnt ihr euch hier von github runter laden: Download.

Das Repository für die Bibliothek könnt ihr HIER einsehen.

Erschienene Artikel auf http://do-it-neat.com:

DatumTitel
03.05.2016Arduino MAX485 Library
23.04.2016TTL to RS-485 module

FAQ:

Was ist die „Arduino MAX485 Library“?

Es handelt sich um eine einfache Bibliothek welche euch behilflich ist, mit einem MAX485 oder kompatiblen IC von Maxim Integrated eine EIA-485 basierten Kommunikations-Bus aufzubauen.

Die Bibliothek hilft konkret dabei den „Control Input Voltage“-Teil der Ansteuerung des IC zu vereinfachen. Die Übertragung selbst wird über die SoftSerial Bibliothek des Arduino Projektes realisiert.

Welche Funktionen bietet die Bibliothek?

FunktionBeschreibung
void setMaster();Setzt den PIN RE auf HIGH und bringt den MAX485 damit in den Master-Modus. Nur in diesem Modus können Daten über den EIA-485 Bus gesendet werden.
boolean isMaster()Liest den aktuellen PIN-Status (RE) und gibt einen boolischen Wert (true / false) zurück.
void setSlave();Setzt den PIN RE auf LOW und bringt den MAX485 damit in den Slave-Modus. Nur in diesem Modus können Daten über den EIA-485 Bus empfangen werden.
boolean isSlave()Liest den aktuellen PIN-Status (RE) und gibt einen boolischen Wert (true / false) zurück.
void sending(boolean);Setzt den PIN DE in Abhängigkeit des übergebenen boolischen Parameters (true / false) auf HIGH oder LOW. Es handelt sich dabei um einen Art Träger-Signal. Es blockiert den Bus für alle anderen Teilnehmer. Daher sollte nach Gebrauch auch wieder deaktiviert werden. (s. Beispiel „EIA-485_Master.pde„)

Wie sieht das Daten-Diagram bei Verwendung der Bibliothek aus?

Dataflow – Master initiiert MAX485 und startet die Datenübertragung:

Arduino MAX485 Library driver_input_analyzer_startNach dem Verwenden des Konstruktors der MAX485 Klasse wird wie in der Dokumentation der Bibliothek beschrieben der IC in den Slave-Modus geschalten. Nach dem Aufruf der setMaster() Methode wird der Pin RE wieder HIGH genommen. Der Pin DE wird mit dem Aufruf der Methode sending(true) ebenfalls auf HIGH genommen. Die Datenübertragung beginnt.

Dataflow – Master beendet Datenübertragung:

Arduino MAX485 Library driver_input_analyzer_endeNach Versenden des letzten Bytes wird durch den Aufruf der Methode sending(false) der Pin DE auf LOW gesetzt. Die Datenübertragung ist beendet.

Dataflow – Slave initiiert MAX485 und startet den Datenempfang:

Arduino MAX485 Library receiver_output_analyzer_startNach dem Verwenden des Konstruktors der MAX485 Klasse wird wie in der Dokumentation beschrieben der IC in den Slave-Modus geschalten. Nach dem Aufruf der setSlave() Methode aus dem Beispiel verbleibt der Pin RE auf LOW und damit im Slave-Modus. Der Aufruf der Methode ist damit nicht unbedingt notwendig, verdeutlicht aber das Beispiel. Der Datenempfang kann beginnen.

Dateflow – Slave empfängt das Ende der Datenübertragung:

Arduino MAX485 Library receiver_output_analyzer_endeKeine weitere Aktion oder Methodenaufruf notwendig. Alle Pins verbleiben im gesetzten Zustand.

Problematik MAX485

Nach dem Initiieren des Treibers sollte in jedem Fall ca. 250ms gewartet werden. Ansonsten können Fragmente wie in den oberen Dataflow Diagrammen verdeutlicht generiert werden.

Bei Updates zum Thema wird diese Seite immer wieder von Zeit zu Zeit aktualisiert.

Viele Grüße,
Swarkn