Een encoder (pulsgever) is een elektronisch toestel met een roterende as, dat pulsen genereert als de as verdraait. Er bestaan ook versies die pulsen genereren langs een translatie-as.
Er zijn in principe twee soorten encoders:
Een incrementele encoder geeft een simpele pulstrein. De pulsen worden geteld en omgezet naar een rotatiehoek (of een translatie-afstand). Door twee pulstreinen te gebruiken (A, B) die 90 graden in fase zijn verschoven, kan de elektronica van de encoder ook de richting van de beweging afleiden uit de pulstreinen. Daarnaast is er vaak nog een derde signaal dat een enkele puls geeft op 0 graden (Z of C). In veel encoders is van deze signalen ook de inverse aanwezig (A, /A, B, /B, Z, /Z).
We kunnen met wat electronica de signalen duiden.
Aansluiten van een encoder.
De arduino kan deze met twee poorten uitlezen.
Voor de rotary-encoder is een library beschikbaar. Deze kunt u via de IDE installeren.
Een absoluut encoder heeft meerdere signalen en geeft direct de hoekverdraaiing aan. Hier hoeven dus geen pulsen geteld te worden. Er zijn ook zogenaamde multiturn encoders. Dit zijn absoluut encoders die ook het aantal omwentelingen tellen.