Incrimentele-encoder aan micro'tje

Om een incrimentele-encoder aan een klein prosessortje te knopen heb ik een programmaatje bedacht. Dat progje zal best wel gaan werken. Dit type encoders (A/B signaal) zijn echter al lang op de markt. Anderen hebben daar dus ook al lang progjes voor bedacht en waarschijnlijk slimmer dan de mijne. Waar kan ik over deze zaken info vinden? Google heb ik zelf al bedacht en bekeken maar niets gevonden. Hardware oplossingen met ff's en gatejes heb ik wel. Een alternatief is een speciaal ic'tje tussen de encoder en de micro. Maar welk ic'tje moet dat dan worden? De telfrequentie is laag.

Bij voorbaat bedank voor jullie hulp en prettige feestdagen.

Hans

Reply to
JT van Es
Loading thread data ...

"JT van Es" schreef in bericht news: snipped-for-privacy@fiberworld.nl...

een

al

Was dat niet een HCTL2000 of HCTL2014. Peperduur, dat weet ik nog wel, 20 piek of 10 euro. Voor hoge snelheden wel een praktische chip natuurlijk.

Qua software stelt het niet zo vreselijk veel voor. Frequent en tegelijkertijd A&B pollen, vergelijken met de vorige stand, en bij een verandering d.m.v. een switch/case of een rits if-else alle combinaties adequaat honoreren.

--
Thanks, Frank.
(remove 'q' and '.invalid' when replying by email)
Reply to
Frank Bemelman

F Bemelman wrote:

Volgens mij, is 10 euro nergens voor nodig.

Een simpele 'standaard' encoder kan je nl. prima met een zgn. up/down counter uitlezen (zoals de cd4010). In samenwerking met software moet je zorgen dat je deze tijdig uitleest en pre/reset, verder haalt deze snelheden van 8mhz, en op die snelheid gaat je encoder ook wel roken ;). Nadeel is wel dat de uitgang slechts 4 bits breed is, maar met een lage telfrequentie moet dat niet zo'n probleem zijn lijkt me.

Aansluiting is volgens mij A op de up/down pin en B op de counter pin.

Ook zijn er uC's beschikbaar waarbij er hardware voor het uitlezen van dit soort encoders ingebakken zit.

Wat betreft een software uitlezing, zou ik zelf gewoon voor het "up/down counter" principe gaan.

Succes!

Groets,

Jasper

P.S. Met "standaard encoder" bedoel ik het type encoder dat de hele pulsen cyclus per 'tik' doet.

Reply to
Jasper Keuning

Nee, maar er wordt er wel voor gevraagd. Er valt natuurlijk ook wel iets in een PLD te programmeren.

Dat gaat dus niet prima. Een encoder geeft een A/B signaal af, niet twee afzonderlijke tel uitgangen. Als een encoder op een as gemonteerd is, en deze vibreert bijvoorbeeld in stilstand, is het wel van belang dat de teller niet in de war raakt, en met alleen een cd4010 en bijv. een paar diffentiators raak je gegarandeerd stappen/pulsen kwijt of gratis teveel.

snelheden

wel

moet

Stel je de situatie voor waarbij men de encoder heen en weer beweegt en daarbij wel signaal B laat veranderen, maar A nog stabiel blijft. Dit is dus echt iets te simpel gedacht...

Ja, klopt, ik meen dat een paar PIC's in omloop zijn.

Voor een volumeregelaar zal het wel gaan, daar is het niet belangrijk als er eens een pulsje teveel of te weinig geteld word.

--
Thanks, Frank.
(remove 'q' and '.invalid' when replying by email)
Reply to
Frank Bemelman

Ja, je hebt gelijk.. :) bedenk ik mij nu ook ... Zat even een vreemde (foute) kronkel in mijn gedachtengang.

Bedankt voor het corrigeren.

Reply to
Jasper Keuning

Als het zo'n mechanische encoder van Bourns is kun je via de software 'debouncen'. Knoop A of B aan een interrupt ingang en lees de ander steeds in. C'tje van 10n op de interrupt ingang en korte delay (paar mS) werkt hier al jaren vlekkeloos.

Reply to
Gert Baars

"Frank Bemelman" schreef in bericht news:43aab27c$0$20710$ snipped-for-privacy@dreader25.news.xs4all.nl...

slimmer

zelf

Maar

Die rits if-jes zag ik niet zitten en heb doorom het volgende bedacht. '------Encoder patroon------- ' Stand Data %00,%01,%10,%11 Volg Data %10,%00,%11,%01 Prev Data %01,%11,%00,%10

'----Programma---------

Enco=Inl & %00000011 'Encoder data Loop: Read(Volg+Enco),Nextpos Read(Prev+Enco),Prevpos Pol: Enco=Inl & %00000011 If Enco=Nextpos then Countup If Enco=Prevpos then Countdown Goto Pol

Countup: ' ' Goto Loop

Countdown: ' ' Goto Loop

Hans

Reply to
JT van Es

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.