Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Inkrementelle kodere brukes ofte til industrielle applikasjoner som robotikk eller posisjoneringssporing. Kodere for industrielle applikasjoner kommer stort sett med et differensialt RS422 -grensesnitt.
Jeg vil vise i dette lille prosjektet hvordan du bruker en industriell inkrementell encoder - i vårt tilfelle SICK DFS60 - med en Arduino UNO.
Trinn 1: Verktøy og materialer
Materialer
- Arduino UNO
- 3x RS422 -skjerm for Arduino
- inkrementell encoder (Syk DFS60)
Verktøy
- Skrujern
- laboratorieforsyning
Trinn 2: Noen grunnleggende
RS422 -utgangen på koderen brukes bare som maskinvarelag. Ingen seriell protokoll vil bli overført over RS422. Bare impulsene til selve koderen overføres direkte via 3 forskjellige RS422 -kanaler: SIN, COS og Z (nullposisjon).
På grunn av de 3 uavhengige RS422 -kanalene trenger vi 3 RS422 -innganger for Arduino. Til dette formålet har jeg brukt 3 stk av mine Arduino RS422/RS485 skjold - stablet på en Arduino.
Trinn 3: Dip -bryterinnstilling av RS422 -skjold
Dypbryterinnstillingen for ethvert skjold er den samme:
- S1: PÅ, AV, AV, AV (mottaker alltid på / sender alltid av)
- S2: AV, AV, PÅ, PÅ
- S3: PÅ, AV, AV, AV (avslutningsmotstand på)
Trinn 4: Jumperinnstillinger for RS422 -skjold
Jumper -innstillingen for ethvert skjold er annerledes. Avhengig av den tilkoblede kanalen er RX -pinnen konfigurert til:
- Z: D2
- COS: D3
- SYND: D4
Spenningsbryteren JP1 må settes til 5V.
Trinn 5: Kabling
Koderen kan drives av en laboratorieforsyning eller direkte av 5V på Arduino UNO
Trinn 6: Programvare og test
Vennligst kompiler den vedlagte INO -filen under Arduino IDE. Etter å ha lastet opp prosjektet til Arduino må du åpne den serielle skjermen med 115200 baud.
Du vil se gjeldende inkrementverdi (oppdatert alle 0, 5s) og gjeldende status for Encoder der ….