Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Inkrementella kodare används ofta för industriella applikationer som robotik eller positioneringsspårning. Kodare för industriella applikationer levereras mestadels med ett differentiellt RS422 -gränssnitt.
Jag kommer att visa i detta lilla projekt hur man använder en industriell inkrementell kodare - i vårt fall SICK DFS60 - med en Arduino UNO.
Steg 1: Verktyg och material
Material
- Arduino UNO
- 3x RS422 -skärm för Arduino
- inkrementell kodare (Sick DFS60)
Verktyg
- Skruvmejsel
- laboratorieförsörjning
Steg 2: Några grunder
Kodarens RS422 -utgång används endast som hårdvaruskikt. Inget seriellt protokoll kommer att överföras över RS422. Endast pulsarna i själva kodaren överförs direkt via 3 olika RS422 -kanaler: SIN, COS och Z (nolläge).
På grund av de tre oberoende RS422 -kanalerna behöver vi 3 RS422 -ingångar för Arduino. För detta ändamål har jag använt 3 st av mina Arduino RS422/RS485 sköldar - staplade på en Arduino.
Steg 3: Inställning av dip -switch för RS422 -skärmar
Inställningen för dip -switch för alla skärmar är densamma:
- S1: ON, OFF, OFF, OFF (mottagare alltid på / sändare alltid av)
- S2: AV, AV, PÅ, PÅ
- S3: ON, OFF, OFF, OFF (avslutningsmotstånd på)
Steg 4: Bygelinställningar för RS422 -sköldar
Bygelinställningen för alla sköldar är annorlunda. Beroende på den anslutna kanalen är RX -stiftet konfigurerat för att:
- Z: D2
- COS: D3
- SIN: D4
Spänningsbygeln JP1 måste ställas in på 5V.
Steg 5: Kabeldragning
Kodaren kan drivas av en laboratorieförsörjning eller direkt av 5V på Arduino UNO
Steg 6: Programvara och test
Vänligen sammanställ den bifogade INO -filen under Arduino IDE. Efter att du har laddat upp projektet till Arduino måste du öppna den seriella bildskärmen med 115200 baud.
Du kommer att se det aktuella ökningsvärdet (uppdaterat alla 0, 5s) och nuvarande status för kodaren där …