Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Les codeurs incrémentaux sont souvent utilisés pour des applications industrielles telles que la robotique ou le suivi de positionnement. Les codeurs pour applications industrielles sont principalement livrés avec une interface RS422 différentielle.
Je vais montrer dans ce petit projet comment utiliser un codeur incrémental industriel - dans notre cas SICK DFS60 - avec un Arduino UNO.
Étape 1: Outils et matériaux
Matériaux
- Arduino UNO
- 3x RS422 Shield pour Arduino
- codeur incrémental (Sick DFS60)
Outils
- Tournevis
- alimentation de laboratoire
Étape 2: quelques notions de base
La sortie RS422 du codeur n'est utilisée que comme couche matérielle. Aucun protocole série ne sera transmis sur le RS422. Seules les impulsions du codeur lui-même sont directement transférées via 3 canaux RS422 différents: SIN, COS et Z (position zéro).
En raison des 3 canaux RS422 indépendants, nous avons besoin de 3 entrées RS422 pour l'Arduino. À cette fin, j'ai utilisé 3 pièces de mes blindages Arduino RS422/RS485 - empilés sur un Arduino.
Étape 3: Réglage du commutateur DIP des blindages RS422
Le réglage du commutateur DIP pour n'importe quel blindage est le même:
- S1: ON, OFF, OFF, OFF (récepteur toujours allumé / émetteur toujours éteint)
- S2: ARRÊT, ARRÊT, MARCHE, MARCHE
- S3: ON, OFF, OFF, OFF (résistance de terminaison activée)
Étape 4: Paramètres des cavaliers des blindages RS422
Le réglage du cavalier pour n'importe quel bouclier est différent. Selon le canal connecté, la broche RX est configurée pour:
- Z: D2
- COS: D3
- NAS: D4
Le cavalier de tension JP1 doit être réglé sur 5V.
Étape 5: Câblage
L'encodeur peut être alimenté par une alimentation de laboratoire ou directement par le 5V de l'Arduino UNO
Étape 6: Logiciel et test
Veuillez compiler le fichier INO ci-joint sous l'IDE Arduino. Après avoir téléchargé le projet sur l'Arduino, vous devez ouvrir le moniteur série avec 115200 bauds.
Vous y verrez la valeur d'incrémentation actuelle (mise à jour toutes les 0, 5 s) et l'état actuel de l'encodeur….