Innehållsförteckning:

DIY Rotary Encoder: 4 steg
DIY Rotary Encoder: 4 steg

Video: DIY Rotary Encoder: 4 steg

Video: DIY Rotary Encoder: 4 steg
Video: Interfacing Rotary Encoder With Arduino Uno Using ChatGPT Generated Arduino Code | Coders Cafe 2024, Juli
Anonim
DIY Rotary Encoder
DIY Rotary Encoder

Förlåt för bristen på bilder, jag bestämde mig inte för att göra en handledning om detta förrän när jag nästan var klar med det.

Översikt:

Rotary encoders använder två eller flera sensorer för att upptäcka position, rotationsriktning, hastighet och antal varv som enheten har vänt. Just den här använder hall -effektsensorer och magneter. Denna typ kan lätt vattentätas genom att antingen kapsla in sensorerna eller vattentäta på ett annat sätt. Hall -effekt roterande givare med viss smak används i vissa fordon för både hjulhastighetssensorn och vevaxelns positionssensor för motorn, och används också i vissa vindmätare. Det finns tre huvudtyper av roterande givare:

1. Elektrisk, med ledande spår och borstar

2. Optiskt, med ljus och sensor

3. Magnetisk, med hjälp av en magnetisk sensor av något slag och ett magnetiskt material, såsom hall -effektsensorer och magneter. Den faktiska roterande delen kan också magnetiseras.

en.wikipedia.org/wiki/Rotary_encoder

En linjär kodare kan göras på ungefär samma sätt som en roterande kodare.

Jag testade kodaren jag gjorde upp till ~ 1500 varv per minut med pythonkoden på en hallon pi. En länk för koden och schemat kommer i slutet. Tillverkarens specifikationer på borrmaskinen som jag använde för att testa den sa en maxhastighet på 1500 varv / min och hastigheten jag fick var ~ 1487 varv per minut från pulsgivaren både framåt och ~ 1485 bakåt. Detta kan antingen bero på att batteriet inte är fulladdat eller dålig timing i form av hallon Pi. En arduino skulle vara bättre att använda men den jag hade gillade inte 12v på den analoga stiftet haha oops.

Material/verktyg:

1. En roterande sak (jag använde en chuck från en elektrisk borr)

2. Två eller flera hall -effektsensorer (beror på upplösningen du siktar på)

3. Fyra magneter (beror på upplösningen du siktar på)

4. Limma

5. Tråd (jag använde ett par kontakter från några trasiga servon jag hade)

6. Lödning

7. Lödkolv

8. Värmekrympslang, eltejp eller andra isolerande grejer för trådar, efter din smak

9. Märkningsenhet, t.ex. en markör eller skrivare

Steg 1: Limma på magneterna

Limma på magneterna
Limma på magneterna
Limma på magneterna
Limma på magneterna

Steg 1: Markera lika punkter runt utsidan av den roterande delen och limma magneterna i rätt riktning till dessa punkter. Det hjälper till att markera magneternas polaritet. I mitt fall var det var 90 grader (0, 90, 180 och 270 grader) för en upplösning på 4/rotation vilket var mer än gott för min applikation, men det kan vara annorlunda för dig beroende på upplösningen du fotar för. Ett bra sätt att räkna ut avståndet är: (360 grader/antal magneter) om du går i grader, eller (omkrets/antal magneter) om du mäter. I mitt fall var spärrarna för handgreppet redan åtskilda ganska bra för min applikation så jag behövde inte mäta någonting.

Steg 2: Anslut sensorerna

Anslut sensorerna
Anslut sensorerna

Lödtrådar på sensorerna, isolera och värmekrymp det. Var noga med att inte få sensorn för varm och testa den för att se om den fortfarande fungerar när du är klar. Det är enkelt att testa, det är bara att ansluta strömmen och ansluta en LED till signalkabeln. Om lysdioden tänds när en magnet med rätt orientering läggs bredvid den och släcks när den dras bort (icke-låsande typ), eller om motsatt pol på magneten appliceras (låstyp), är du bra att gå. Den specifika sensorn jag använde är icke-låsande och ansluter till marken (-) när den är aktiverad.

Steg 3: Markera för sensorerna

Image
Image
Limma på sensorerna
Limma på sensorerna

Markera var sensorerna ska gå. För detta speciella arrangemang var detta vid 1/16 divisioner av omkretsen (0, 1/16). Anledningen till detta är att den ena sensorn måste skjuta före den andra men på ett sätt som gör det möjligt för regulatorn att skilja tidsskillnaderna mellan framåt och bakåt. Jag försökte det vid 1/8: e märket ursprungligen men jag kunde inte avgöra åt vilket håll det gick eftersom tidsskillnaderna var desamma. Det hjälper till att tillfälligt tejpa ner sensorerna tills du får rätt position och sedan göra märkena. Du kan göra 1/8: e divisionen, du kommer inte att ha riktningsavkänning, men du har dubbel upplösning. En sak som kan göras är att använda en andra uppsättning av två sensorer förskjutna med 1/8: e divisionens avstånd på andra sidan vid 5/16: e och 7/16 -divisionen från de andra sensorerna för att få en upplösning på 16 pulser/varv, men Jag hade inget behov av den upplösningen. En timing demonstration finns i videon.

Steg 4: Limma på sensorerna

Limma på sensorerna
Limma på sensorerna

Limma sensorerna vid märkena och tejpa fast dem tills limet härdar. Se till att lämna utrymme mellan magneterna och sensorerna så att de inte träffar och se också till att sensorerna är i linje med magneterna och i rätt riktning. Vänta tills limmet har torkat och du är klar.

För att få schemat och python -koden för en hallon pi för att mäta rotationshastigheten i varvtal, rotationsriktning och antal varv gå här, och för att få PDF för detta gå hit eller hit.

Anledningen till att jag tar betalt för koden är att det tog ~ 4 dagar att få allt att fungera korrekt medan resten av projektet, inklusive all dokumentation, bara tog ~ 7 timmar (varav 5 var dokumentationen), förutom $ 1 är inte mycket och det hjälper till att stödja större och mer komplexa projekt, i själva verket är detta det enda projektet jag ännu inte har debiterat något för, vid den tidpunkten detta publicerades naturligtvis.

Rekommenderad: