Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Inkremental-Encoder werden häufig für industrielle Anwendungen wie Robotik oder Positionsverfolgung verwendet. Drehgeber für industrielle Anwendungen verfügen meist über eine differentielle RS422-Schnittstelle.
Ich zeige in diesem kleinen Projekt, wie man einen industriellen Inkrementalgeber - in unserem Fall SICK DFS60 - mit einem Arduino UNO verwendet.
Schritt 1: Werkzeuge und Materialien
Materialien
- Arduino UNO
- 3x RS422 Shield für Arduino
- Inkrementalgeber (Sick DFS60)
Werkzeuge
- Schraubenzieher
- Labornetzteil
Schritt 2: Einige Grundlagen
Der RS422-Ausgang des Encoders wird nur als Hardwareschicht verwendet. Über die RS422 wird kein serielles Protokoll übertragen. Nur die Impulse des Encoders selbst werden direkt über 3 verschiedene RS422-Kanäle übertragen: SIN, COS und Z (Nullposition).
Aufgrund der 3 unabhängigen RS422-Kanäle benötigen wir für den Arduino 3 RS422-Eingänge. Zu diesem Zweck habe ich 3 Stück meiner Arduino RS422/RS485 Shields verwendet - gestapelt auf einem Arduino.
Schritt 3: Dip-Schalter-Einstellung der RS422-Schilde
Die DIP-Schaltereinstellung für alle Schilde ist gleich:
- S1: ON, OFF, OFF, OFF (Empfänger immer an / Sender immer aus)
- S2: AUS, AUS, EIN, EIN
- S3: ON, OFF, OFF, OFF (Abschlusswiderstand an)
Schritt 4: Jumper-Einstellungen der RS422-Schilde
Die Jumper-Einstellung für jedes Schild ist unterschiedlich. Abhängig vom angeschlossenen Kanal ist der RX-Pin konfiguriert für:
- Z: D2
- COS: D3
- SÜNDE: D4
Der Spannungs-Jumper JP1 muss auf 5V gesetzt werden.
Schritt 5: Verkabelung
Der Encoder kann über ein Labornetzteil oder direkt über die 5V des Arduino UNO versorgt werden
Schritt 6: Software und Test
Bitte kompilieren Sie die angehängte INO-Datei unter der Arduino IDE. Nach dem Hochladen des Projekts auf den Arduino muss der serielle Monitor mit 115200 Baud geöffnet werden.
Dort sehen Sie den aktuellen Inkrementwert (alle 0, 5s aktualisiert) und den aktuellen Status des Encoders….