Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Enkodery przyrostowe są często używane w zastosowaniach przemysłowych, takich jak robotyka lub śledzenie pozycjonowania. Enkodery do zastosowań przemysłowych są dostarczane głównie z interfejsem różnicowym RS422.
W tym małym projekcie pokażę jak wykorzystać przemysłowy enkoder inkrementalny - w naszym przypadku SICK DFS60 - z Arduino UNO.
Krok 1: Narzędzia i materiały
Materiały
- Arduino UNO
- 3x RS422 Shield dla Arduino
- enkoder inkrementalny (Sick DFS60)
Narzędzia
- Śrubokręt
- zasilacz laboratoryjny
Krok 2: Niektóre podstawy
Wyjście RS422 enkodera jest używane tylko w warstwie sprzętowej. Żaden protokół szeregowy nie będzie przesyłany przez RS422. Tylko impulsy samego enkodera są przesyłane bezpośrednio przez 3 różne kanały RS422: SIN, COS i Z (pozycja zerowa).
Ze względu na 3 niezależne kanały RS422 potrzebujemy 3 wejścia RS422 dla Arduino. Do tego celu użyłem 3 sztuk moich nakładek Arduino RS422/RS485 - nałożonych na jedno Arduino.
Krok 3: ustawienie przełącznika DIP osłon RS422
Ustawienie przełącznika DIP dla każdej tarczy jest takie samo:
- S1: ON, OFF, OFF, OFF (odbiornik zawsze włączony / nadajnik zawsze wyłączony)
- S2: WYŁ, WYŁ, WŁ, WŁ
- S3: ON, OFF, OFF, OFF (rezystor końcowy włączony)
Krok 4: Ustawienia zworek osłon RS422
Ustawienie skoczka dla każdej tarczy jest inne. W zależności od podłączonego kanału pin RX jest skonfigurowany tak, aby:
- Z: D2
- COS: D3
- GRZECH: D4
Zworka napięcia JP1 musi być ustawiona na 5V.
Krok 5: Okablowanie
Enkoder może być zasilany z zasilacza laboratoryjnego lub bezpośrednio z 5V Arduino UNO
Krok 6: Oprogramowanie i test
Proszę skompilować załączony plik INO w środowisku Arduino IDE. Po wgraniu projektu do Arduino należy otworzyć monitor szeregowy z prędkością 115200 bodów.
Zobaczysz tam aktualną wartość przyrostu (zaktualizowano wszystkie 0, 5s) i aktualny stan Enkodera….