Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Codificatoarele incrementale sunt adesea utilizate pentru aplicații industriale precum robotica sau urmărirea poziționării. Codificatoarele pentru aplicații industriale au în principal o interfață RS422 diferențială.
Voi arăta în acest mic proiect cum să folosesc un codificator industrial incremental - în cazul nostru SICK DFS60 - cu un Arduino UNO.
Pasul 1: Instrumente și materiale
Materiale
- Arduino UNO
- 3x RS422 Shield pentru Arduino
- codificator incremental (SFS DFS60)
Instrumente
- Şurubelniţă
- alimentare cu energie de laborator
Pasul 2: câteva elemente de bază
Ieșirea RS422 a codificatorului este utilizată doar ca strat hardware. Niciun protocol serial nu va fi transmis pe RS422. Numai impulsurile codificatorului în sine sunt transferate direct prin 3 canale RS422 diferite: SIN, COS și Z (poziția zero).
Datorită celor 3 canale RS422 independente, avem nevoie de 3 intrări RS422 pentru Arduino. În acest scop am folosit 3 bucăți de scuturi Arduino RS422 / RS485 - stivuite pe un singur Arduino.
Pasul 3: Setarea comutatorului pentru scuturile RS422
Setarea comutatorului dip pentru orice scut este aceeași:
- S1: PORNIT, OPRIT, OPRIT, OPRIT (receptorul mereu pornit / emițătorul întotdeauna oprit)
- S2: OFF, OFF, ON, ON
- S3: PORNIT, OPRIT, OPRIT, OPRIT (rezistorul de terminare este activat)
Pasul 4: Setări Jumper pentru RS422 Shields
Setarea Jumper pentru orice scut este diferită. În funcție de canalul conectat, pinul RX este configurat pentru:
- Z: D2
- COS: D3
- SIN: D4
Jumperul de tensiune JP1 trebuie setat la 5V.
Pasul 5: Cablare
Codificatorul poate fi alimentat de o sursă de alimentare de laborator sau direct de 5V de la Arduino UNO
Pasul 6: Software și testare
Vă rugăm să compilați fișierul INO atașat sub IDE Arduino. După încărcarea proiectului pe Arduino, trebuie să deschideți monitorul serial cu 115200 baud.
Veți vedea valoarea incrementală curentă (actualizate toate 0, 5s) și starea actuală a codificatorului acolo …