Hallåj!
Sitter här med ett litet projekt som inkluderar 6 st enkodrar från ALPS (35-846-53 på ELFA).
Saken är den att min applikation kräver att enkodrarna kortsluter en krets när de går åt ett håll, och en annan krets när de går åt andra hållet. Det jag mao ska göra är att simulera en knapptryckning varje gång man går förbi ett steg på enkodern.
Jag har försökt att göra detta genom att koppla båda utgångarna på enkodern till två knapp-ingångar på ett joystick-kort och försökt läsa av detta i mjukvara. Problemet är att det är lite för "segt" att göra det i mjukvaran, för om jag vrider snabbt på enkodern så missar den och går t.o.m. bakåt. Man behöver rotera den väldigt långsamt för att det skall fungera (och ibland fungerar det inte ens då).
Min tanke var att det borde gå att göra på något enkelt sätt, i värsta fall med en PIC-lösning, genom att man kan "konvertera" dessa två utgångar till två "knapptryckningar", en åt vardera hållet.
Detta ska användas till datorspel, alltså en enklare "kontrollpanel" som minskar och ökar på värden. Eftersom spelet stöder att man ändrar värden med knapptryckningar på joysticken så bör det fungera om jag löser konverteringen från enkoder till knapp.
Tacksam för tips!
/Daniel
Läsa av enkoder till "enkel" signal
Re: Läsa av enkoder till "enkel" signal
Har byggt nåt liknande för ett antal år sedan, inte till en encoder men en varvmätare och riktningskontroll till en provning av maskiner med ekrade remskivor på.
Kommer ju naturligtvis inte ihåg riktigt hur det gick till men det var iallafall en cmosvippa med klockingång.
Själva givaren bestod av 2 fotoceller, på lämpligt avstånd från varann, som tittade på ekrarna i remskivan.
Den ena kopplad till klockingången på vippan och den andra till setingången.
Om klockan kom före set så höll sig utgången låg och tvärtom.
Borde gå att använda till riktningsbestämning på din encoder åxå, och sen blanda in pulserna med ett par grindar till så det blir två pulståg ut, beroende på riktning.
Kommer ju naturligtvis inte ihåg riktigt hur det gick till men det var iallafall en cmosvippa med klockingång.
Själva givaren bestod av 2 fotoceller, på lämpligt avstånd från varann, som tittade på ekrarna i remskivan.
Den ena kopplad till klockingången på vippan och den andra till setingången.
Om klockan kom före set så höll sig utgången låg och tvärtom.
Borde gå att använda till riktningsbestämning på din encoder åxå, och sen blanda in pulserna med ett par grindar till så det blir två pulståg ut, beroende på riktning.
Re: Läsa av enkoder till "enkel" signal
> Man behöver rotera den väldigt långsamt för att det skall fungera (och ibland fungerar det inte ens då).
Notera att det är vanliga mekaniska kontakter i de där så de har samma
"problem" med kontaktstudsar som vilken annan mekanisk kontakt som helst.
Jag vet ingenting om hur de där "knapp-ingångarna" fungerar, men studsarna
gör att det normalt inte fungerar så bra med interrupt-driven avläsning
av (billiga mekaniska) encoders.
Normalt fixar man det genom att ha programvara som pollar encodern, när
jag gjorde det så pollade jag 400 gånger/sek. Det fungerade helt OK med kanske
någon liten feltriggning om man vred fort, men det spelar ju ingen roll alls...
Det du vill göra kan fixas med diskret logik (som Norpan beskrev) eller
med programvara i en PIC/AVR.
Notera att det är vanliga mekaniska kontakter i de där så de har samma
"problem" med kontaktstudsar som vilken annan mekanisk kontakt som helst.
Jag vet ingenting om hur de där "knapp-ingångarna" fungerar, men studsarna
gör att det normalt inte fungerar så bra med interrupt-driven avläsning
av (billiga mekaniska) encoders.
Normalt fixar man det genom att ha programvara som pollar encodern, när
jag gjorde det så pollade jag 400 gånger/sek. Det fungerade helt OK med kanske
någon liten feltriggning om man vred fort, men det spelar ju ingen roll alls...
Det du vill göra kan fixas med diskret logik (som Norpan beskrev) eller
med programvara i en PIC/AVR.
Re: Läsa av enkoder till "enkel" signal
Tackar för svar och tips!
Är själv inte jätteinsatt i hur en sådan diskret krets skulle se ut, så för mig låter det nästan enklare med en PIC-krets. Försöker hitta exempel på nätet men det verkar dåligt med det. Är väl inte en så vanlig applikation kanske?
Är själv inte jätteinsatt i hur en sådan diskret krets skulle se ut, så för mig låter det nästan enklare med en PIC-krets. Försöker hitta exempel på nätet men det verkar dåligt med det. Är väl inte en så vanlig applikation kanske?
Re: Läsa av enkoder till "enkel" signal
"PIC rotary encoder" i Google gav en hel del nyttiga länkar. T.ex :
http://www.engr.mun.ca/~dpeters/6806/po ... ncoder.pdf
Och på http://www.piclist.com finns bl.a :
http://www.piclist.com/techref/microchip/qenc.htm och
http://www.piclist.com/techref/io/senso ... rature.htm
http://www.engr.mun.ca/~dpeters/6806/po ... ncoder.pdf
Och på http://www.piclist.com finns bl.a :
http://www.piclist.com/techref/microchip/qenc.htm och
http://www.piclist.com/techref/io/senso ... rature.htm
Re: Läsa av enkoder till "enkel" signal
lite logikkretsar kanske kan lösa problemet.
det har diskuterats en hel del hur man avgör riktning i den här tråden.
det har diskuterats en hel del hur man avgör riktning i den här tråden.