Sida 1 av 2

Rotary encoder

Postat: 13 januari 2011, 07:17:29
av butthead
Jag har varit i kontakt med Bourns support om denna rotary encoder. Jag köpte 15 st av den för att den är av typen (som det står på första raden under "electrical characteristics":)
"Output...................2-bit gray"

Jag behövde verkligen ha just 2-bit gray för att mjukvaran skulle vara direkt kompatiblel. Men det visade sig vara en vanlig incremental encoder som bara ger pulser ut mellan "detent:sen". Jag behövde ha ett statiskt läge. 00 -> 01 -> 11 -> 10.

Jag kunde ju ha varit lite mer uppmärksam kan man tycka, för man ser ju längre ner hur pulsdiagrammet ser ut under "quadurature output table". Men jag hade massor av andra saker att köpa och denna hade alla andra egenskaper jag behövde.

Men, Bourns undviker hela tyden min tydliga fråga om vad exakt de menar med "Output...................2-bit gray". Jag har frågat om det är fel i databladet, men det har väl aldrig hänt att ett amerikanskt bolag någonsin erkänt några misstag....

http://bourns.com/data/global/pdfs/PEC11.pdf

Re: Rotary encoder

Postat: 13 januari 2011, 09:31:13
av jesse
När jag kollar på pulsdiagrammet i databladet så ser jag just 2-bitars gray. Hur hade du tänkt dig att det skulle se ut? Vad menar du med statiskt läge?

Re: Rotary encoder

Postat: 13 januari 2011, 10:28:58
av hornfeldt
Jag antar att de butthead söker är:
0-90gr = 00
90-180gr = 01
180-270gr = 11
270-360gr = 01

Kan tycka det är lite missvisande av Bourns men är ju ändå korrekt.

Re: Rotary encoder

Postat: 13 januari 2011, 11:21:41
av jesper
Då skulle det ju bara vara 4 "positioner".

Jag förstår inte riktigt TS.
En qadrature encoder leverar ju just gray kodat data, http://en.wikipedia.org/wiki/Rotary_encoder, och databladet är då helt rätt.

Re: Rotary encoder

Postat: 13 januari 2011, 11:50:03
av sodjan
Jag har aldrig sett en "vinkelgivare" (vilket verkar vara det som efterfrågas)
med enbart *4* olika vinklar som utgång. Normalt brukar de vara 8/10/12 bitars
eller liknande. Dessutom är de aldrig i en sådan där liten kapsling utan en stor
rund sak som också brukar kosta minst ett par hundralappar och uppåt.

Jo, hela inlägget verkar lite märkligt. Den som hur endast lite hum om dessa
komponenter hade sannolikt inte gjort den "missen". Ser ut som att butthead
helt enkelt inte har så bra grepp om dessa prylar.

Jag kan tänka mig hur snacket går på fikarasten hos Bourns... :-)

Re: Rotary encoder

Postat: 13 januari 2011, 11:53:49
av Icecap
butthead: i databladet står det ganska klart och tydligt att det finns olika upplösningar, antingen 12, 18 eller 24 pulser/varv.

Re: Rotary encoder

Postat: 13 januari 2011, 12:48:59
av butthead
Den variant jag har 24 lägen (detents) per varv.
För varje detent ger den ut ett pulståg som pulsdiagrammet visar.
Det är inte så att den ger ut 00 för läge 1, 01 för läge2, 11 för läge 3 och 10 för läge 4 (o.s.v. om och om igen för ett helt varv), vilket jag hade hoppats på. Utan den ger ut 00,01,11,10,00 under förflyttelsen från en detent till en annan.

Tittar man på 2-bit gray på wikipedia så ser man tydligt att när encodern står stilla ska ha ett av lägena 00,01,11,10. Det ska inte kasta ut sig hela gray-code tåget unden en enda förflyttelse, som de jag köpte gör.

Ursprungsdesignen rekommenderade denna:
http://www.andare-ing.com/uploads/cts288_encoder.pdf

Där ser man tydligt att vid varje detent ger den ut en av 2-bit gray koderna och håller kvar den i oändlig tid (tills man åter vrider).
Nu kallar de iofs. den för 2-bit binary, vilket jag också tycker är fel, eftersom man ser tydligt att det är 2-bit gray-format....

Problemet är att mjukvaran har så mycket annat att göra att inte inte kan hinna med att detektera den snabba pulståget som kommer just mellan förflyttningen mellan två detents, utan den förväntar sig att skanna av den statiska 2-bit gray kod i mån av tid. Mjukvaran är "fix", så det ingen möjlighet till ändringar där....

Re: Rotary encoder

Postat: 13 januari 2011, 12:56:51
av tecno
Är det inte så att det du söker är en absolut enkoder och inte en inkrementell som du har nu?

Re: Rotary encoder

Postat: 13 januari 2011, 12:59:20
av Icecap
Att göra om mellan grey och binärt är inget problem alls!

Jag gjorde en elektronisk tändning i sin tid. Själva drivningen var ett resultat av en hel del test och jag fick ett system som kunde klara snart sagt allt och det fungerade skitbra. Men insamlingen av pulser till att styra skiten var mer besvärligt men till slut kom jag på lösningen.

Skaffade en reflexdetektor (faktisk en 75-340-43 = SG-2BC) och tillverkade ett litet mönsterkort som passade i monteringshålen för brytspetsen. Där lödde jag fast reflexdetektorn med en bit elektronik till att göra stabila signaler, över det behövde jag sedan en skiva med svarta och vita fält på som motsvarade brytarspetsens vinkel. Dessa målade jag på en alu-bit (hade en del på jobbet) och skruvade fast på undersidan av fördelar-rotorn med M2-skruv.

Detta fungerade klockrent fram till jag sålde bilen efter 6 år...

Du kan alltså enkelt tillverka denna funktion om du har en aning verktyg och är det 4 lägen på 360° som behövs är det synnerligt enkelt. Om det inte är en mycket priskänslig applikation kan det blir mycket enkelt rent mekanisk och ganska enkelt rent elektronisk.

Re: Rotary encoder

Postat: 13 januari 2011, 13:15:12
av butthead
Lösningen är en 8-pinnar PIC som gör jobbet, men grejen är varför de skriver "output.....2-bit gray" i databladet när det är quadrature output. Även om den spottar ur sig ett helt grayformattåg precis under förflyttningen mellan två detent så är det märkligt att kalla den gray. För det andra databladet har ju en "äkta" 2-bit gray, som allså byter graykod i varje detent. Just att skriva 2-bit gray tillför ju inget mer än missförstånd om det är quadrature output som den ger. Det borde ju antingen vara gray output eller quadrature output....

Re: Rotary encoder

Postat: 13 januari 2011, 13:43:18
av JimmyAndersson
Det kan faktiskt vara båda delarna. Graycode och "quadrature" är inga motsatser.
Har en encoder "quadrature output" så kan man få ut både positionen och riktningen.

Sedan står det ju faktiskt i databladet att den ger pulserna som "quadrature output".
Du har själv skrivit det i trådens första inlägg:

'Jag kunde ju ha varit lite mer uppmärksam kan man tycka, för man ser ju längre ner hur pulsdiagrammet ser ut under "quadurature output table".'


Sedan:

"Även om den spottar ur sig ett helt grayformattåg precis under förflyttningen mellan två detent så är det märkligt att kalla den gray."

Varför? Är det grayformat så är det väl smidigt att kalla det för grayformat.. :)

Re: Rotary encoder

Postat: 13 januari 2011, 13:54:12
av butthead
Men då har du ingen information från databladet huvuvida den modellen skickar hela pulståget mellan två detents eller skiftar gray-code ett steg per detent och håller den statiskt, som wikipedia t.ex. anger för gray output.

Re: Rotary encoder

Postat: 13 januari 2011, 22:27:05
av SeaGull
Har kollat efter nåt sådant, kan köpa ett par st. av dig, om du nu inte kan använda dem.

Re: Rotary encoder

Postat: 13 januari 2011, 23:11:57
av Marta
Electrokit har en encoder där det är mycket enkelt att ta bort steganordningen så det blir steglös vridning och den är lätt och fin att vrida. Fungerar alldeles utmärkt för mikrosteg eller vad det nu heter när den skall stega på alla flankerna på båda utgångarna.

ELFA har en utan steganordning, men den är sämre då den går så trögt att det behövs en stor rörtång för att vrida den. Där står i och för sig hur mycket moment som krävs, men det är lätt att förbise...

Sedan finns det också magnetiska encoders som tåler väldigt många fler varvs vridning, både med och utan steg. Tror nästan det var just Bourns som gör dem. De känns helt underbara att vrida på och ger skrapfri signal, men kostar lite väl mycket för enklare applikationer. Dessutom bränner de mer ström än pull-up gör på en mekanisk.

Re: Rotary encoder

Postat: 13 januari 2011, 23:21:42
av sodjan
> För varje detent ger den ut ett pulståg som pulsdiagrammet visar.

Jahaja, *det* låter ju lite märkligt. Jag har bestämt för mig att de jag
har tittat på (och de jag säljer) bara (som du även sa) byter läge i
pulståget till nästa fas (av fyra) mellan två "lägen". Fast nu blir jag
lite osäker... :-) Jag får fasen mäta upp en när jag är på kontoret
nästa gång...

Och vad det hela kallas (grey, quadrature, o.s.v) är ju mindre intressant.
Med "quadrature" avses enbart att det är just *fyra* olika signal-lägen. Att
dessa lägen har en sekvens som är greykodad, tja, hur skulle det annars se
ut med bara 2 bitar så att det även går att avläsa vridningsrikning ? :-)

Sen så är ju frågan om hur "hacken" fungerar rent mekansikt en helt annan fråga...