Absolute contactless rotary an linear encoder

Pagina: 1
Acties:

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Ik zit met de volgende uitdaging; Ik wil van een voetbaltafel de beweging/posities van de stangen achterhalen. Dus terwijl er gespeeld wordt wil ik de (absolute) lineare positie (in of uit geschoven) en de rotatie kunnen achterhalen.

Nu zijn er plenty encoders op de markt die beide kunnen, maar niet tegelijk als het contactloos moet. contactloos rotary is namelijk te doen met kleine "contactjes" in de as verwerkt, alleen dan mag de as niet heen en weer schuiven. andersom bestaat het ook, alleen dan zijn de magneetjes vaak weer zo verwerkt dat rotatie niet mogelijk is. Daarnaast heb ik de ruimte ook niet in een voetbaltafel om alles als een geschieden setup te verwerken. Ook is het probleem met deze sensoren dat de sensor/as vaak vrij dicht op elkaar moeten zitten, en in een voetbaltafel zit er vaak wat ruimte op de stangen waardoor acurate verwerking van de gegevens niet gewaarborgd word als er flink "hard" op gespeeld word.

Ik heb ook wat setupjes getest met optische verwerking (webcam en kinect), dus het herkenen van het spelers poppetje op de stang en dit proberen om te zetten naar absolute waardes. Dit werkt op linear niveau opzich wel alleen past het niet in de ruimte die ik heb, de camera moet er namelijk vrij ver vanaf staan om het te kunnen meten. Uit het Depth veld van de kinect kun je redelijk nauwkeurig een 180graden draaiing ontfrutselen maar is niet accuraat genoeg door het oplossend vermogen en 360 graden is vrij lastig te ontcijferen zonder nog een extra poppetje op de stang welke een kwartslag extra gedraaid is. Sowieso heb ik wederom een gigantisch kast nodig om alles te kunnen zien.

Even heel zwart wit gedacht zou ik het liefst onder de stang bij het binnen gaan of uitgaan van de kast een sensor plaatsen welke een half cm van de stang af mag zitten en die de rotatie en verplaatsing in één keer door kan geven. De sensoren mogen in ieder geval niet hinderlijk zijn in het speelveld en tegen de kracht die vrij komt bij een heftig potje voetballen. absolute encoding is denk ik ook wenselijk omdat bij relatief je al gauw met permanente foute resultaten komt.

Wie heeft de verlossende tip.

I reject your reality and substitute my own!


  • Hippocampus
  • Registratie: Mei 2011
  • Laatst online: 27-06 00:43

Hippocampus

ᓚᘏᗢ

In plaats van een poppetje een kwartslag te draaien kan je toch op de buik of rug een extra referentie sticker plakken ?

Anders zou je misschien in je stangen moeten gaan frezen om een glijdend tandwiel te monteren (ofzo).

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Hippocampus schreef op donderdag 11 december 2014 @ 11:45:
In plaats van een poppetje een kwartslag te draaien kan je toch op de buik of rug een extra referentie sticker plakken ?

Anders zou je misschien in je stangen moeten gaan frezen om een glijdend tandwiel te monteren (ofzo).
Ja met een referentie is het 180-360 graden probleem wel op te lossen, echter dan zit ik nog steeds met het feit dat als ik alle stangen tegelijk wil encoden en ik het optisch doe, ik de camera(s) onmogelijk zo kan positioneren dat ze me niet in de weg zitten en dat ik alle poppetjes in alle situaties kan zien.

Glijdend tandwiel zit ook bij het lijstje van "nog mogelijke" opties. De enige maar die ik hier bij heb ik het feit dat het een mechanische oplossing wordt. Met een voetbaltafel is juist gevoel en het vrijlopen van de stangen een belangrijk gegeven. Met een tandwiel krijg je een "gevoel" in de stang bij het heen en weer bewegen, wat denk ik invloed kan hebben op gevoel van spelen.

I reject your reality and substitute my own!


  • Hippocampus
  • Registratie: Mei 2011
  • Laatst online: 27-06 00:43

Hippocampus

ᓚᘏᗢ

Welk afstand hebben de camera's dan t.o.v. het speelveld ? (het lijkt me dat dit toch probleemloos zou moeten kunnen)

Aan de stangen zitten sowieso al rubbers, ringen en veren, dus een tandwieltje* zou niet veel uit moeten maken.

*(Ik bedoel dan een gleufje frezen waardoor het tandwiel kan schuiven over de lengte maar wel gewoon meedraait met de stang)

  • Oyster
  • Registratie: Januari 2003
  • Niet online

Oyster

Prince

Wil je nu de positie van de stangen meten of de positie van de spelers in het veld? Ik begrijp best dat het verband houdt met elkaar en feitelijk hetzelfde is, maar mogelijk beperkt het nogal je mogelijkheden tot het vinden van een oplossing. Wat is precies het probleem bij het meten van de speler positie in het veld als het direct op de stangen te lastig is?

  • TheGhostInc
  • Registratie: November 2000
  • Niet online
mkanon schreef op donderdag 11 december 2014 @ 11:57:
[...]
Met een voetbaltafel is juist gevoel en het vrijlopen van de stangen een belangrijk gegeven. Met een tandwiel krijg je een "gevoel" in de stang bij het heen en weer bewegen, wat denk ik invloed kan hebben op gevoel van spelen.
Hebben we het hier over spelers die even spugen op de stang 'zodat hij weer lekker soepel loopt'? Of hebben we het hier over toptalentjes die later hun geld gaan verdienen met tafelvoetbal?

Volgens mij moet je niet gaan proberen de 2 problemen samen te voegen als het apart kan. Je kosten kunnen namelijk goed met een factor 10 of meer omhoog lopen!

Stel we pakken de problemen apart, dan zijn de oplossingen volgens mij veel beter te doen:
De afstand meten is vrij simpel, je hebt hiervoor een referentie punt nodig (misschien een kleine ronde schijf op de as) en iets wat de afstand kan bepalen. Voor een paar euro per stuk kom je denk ik al een aardig eind. Dit kan waarschijnlijk netjes optisch, dus totaal geen problemen met 'ruwe' spelers.

De rotatie is lastiger, de meeste 'rotary encoders' moet je wel op de een of andere manier vastmaken. De enige oplossing zou kunnen zijn met een optische sensor en een draaischijfje dat kan schuiven op de as.
Hierbij is het wel van belang om te weten wat wat je wilt meten. Wil je bijvoorbeeld een schietsnelheid bepalen dan is 4 standen misschien wat beperkt, maar wil je vooral 'ronddraaien' bestraffen, dan kan het meer dan voldoende zijn.

Als je 'bang' bent voor een ander gevoel, dan is het misschien een optie om ervoor te zorgen dat je tafel al een ander 'super' gevoel heeft. Haal een stel goede lagers, in plaats van de kunststof bussen die meestal gebruikt worden en je bent al een stuk verder!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 22:43

memphis

48k was toen meer dan genoeg.

Een optische muis op de stang richten? Als de stan met bv. een ruitjespatroon geannodiseerd is zal die netjes de positie en verdraaiiing meten.

Er zijn mensen die mij een GOD vinden


  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
memphis schreef op donderdag 11 december 2014 @ 12:46:
Een optische muis op de stang richten? Als de stan met bv. een ruitjespatroon geannodiseerd is zal die netjes de positie en verdraaiiing meten.
Dit zal niet "absoluut" kunnen ben ik bang ..dus mocht de sensor "skippen" dan zit ik al fout te meten

I reject your reality and substitute my own!


  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
TheGhostInc schreef op donderdag 11 december 2014 @ 12:10:
[...]


De rotatie is lastiger, de meeste 'rotary encoders' moet je wel op de een of andere manier vastmaken. De enige oplossing zou kunnen zijn met een optische sensor en een draaischijfje dat kan schuiven op de as.
Hierbij is het wel van belang om te weten wat wat je wilt meten. Wil je bijvoorbeeld een schietsnelheid bepalen dan is 4 standen misschien wat beperkt, maar wil je vooral 'ronddraaien' bestraffen, dan kan het meer dan voldoende zijn.
Zou dit dan wel absoluut meten? want ik kan me voorstellen als je de stang een flinke draai geeft hij niet meer weet wat boven en onder is..?

I reject your reality and substitute my own!


  • TheGhostInc
  • Registratie: November 2000
  • Niet online
mkanon schreef op donderdag 11 december 2014 @ 12:57:
[...]


Zou dit dan wel absoluut meten? want ik kan me voorstellen als je de stang een flinke draai geeft hij niet meer weet wat boven en onder is..?
... uhm ...
Wilde hem gewoon een keer gebruiken :)

Waarvoor wil je hem precies gebruiken? Dan kunnen we een beetje meedenken. Die dingen kun je ook maken dat ze exact de stand weten, of juist alleen maar pulsjes tellen.

Hoe nauwkeuriger het ding is, hoe grappiger je resultaten kunnen worden, het berekenen van de versnelling bijvoorbeeld. Maar ook 'hoe vaak ging hij rond'?
O ja, bedenk ook of je in het doel ook niet 'iets' wil hebben. Bijvoorbeeld om te meten hoe snel het doel werd geraakt... na een paar biertjes kan het een ware uitdaging worden om een 'high-score' te halen.

[ Voor 4% gewijzigd door TheGhostInc op 11-12-2014 13:18 ]


  • core_dump
  • Registratie: November 2005
  • Laatst online: 26-08-2024
En als je nu de Kinect/Cam/whatever aan het plafond hangt direct boven de tafel? Dan heb je vrij zicht op de poppetjes, zeker als je ze markeert..

  • Flake
  • Registratie: Februari 2001
  • Laatst online: 01-11-2024
Bij een voetbaltafel loopt die stang dwars door de tafel heen en komt ie er aan de andere kant weer uit. Als je dat nou niet doet, dat de andere helft van de stang binnen de tafel blijft zeg maar, kun je een magneetje aan het uiteinde hangen. Roterende magneetvelden kun je heel gemakkelijk meten met een sensortje en zijn volledig contactloos. Brengt natuurlijk nog wat andere uitdagingen met zich mee (vooral omdat je moet trekken aan zo'n stang) maar dan heb je een uitdaging. Een ander idee is om de binnenwerk van een encoder na te bouwen: Cirkelvormige plaat met gaatjes erin om die stang en ergens aan die cirkel een optische sensor om de gaatjes te meten. Heb je ook rotatie en is contactloos.

Het combineren van beide werelden zul je eerder in de mechaniek moeten zoeken. Je zult iets van een constructie moeten hebben waar de binnenstang naar voren en naar achter kan worden geschoven, maar wel mee roteert.

[ Voor 13% gewijzigd door Flake op 11-12-2014 18:38 ]


Acties:
  • 0 Henk 'm!

  • Candymirror
  • Registratie: November 2003
  • Laatst online: 26-06 21:17
Het eerste waar ik aandacht was ook optische muis sensor op de stang gericht. Maar dit geeft inderdaad problemen op het moment dat hij ergens "slipt". Bovendien zul je dan de omtrek van de stang zeer nauwkerig in dpi's moeten gaan bepalen. Mechanisch oplossen gaat waarschijnlijk ten koste van het speelgenot, optisch met camera is al afgeschreven en machnetisch lijkt me lastig implementeren, want waar laat je de magneten cq de sensoren.
Uiteindelijk kom ik dan toch weer bij die optische sensor van een muis uit, als je de positie uit zet tegen een referentie punt denk ik dat dezemanier van positie bepalen best wel eens in een grootdeel van de gevallen nauwkeurig zou kunnen zijn. Je zou als referentie punten eindschakelaars kunnen aanbrengen voor de glijstangen maximaal "in" en maximaal "uit" welke de waarde voor de horizontale positie reset naar 0 of maximaal. En daarnaast een optische sensor "lichtsluis" voor een reset naar rotatie positie. Hierbij moet je echter wel rekenschap houden met de bal, zodat deze niet voor een reset naar de referentie positie.

Acties:
  • 0 Henk 'm!

  • Stoney3K
  • Registratie: September 2001
  • Laatst online: 02-07 13:14

Stoney3K

Flatsehats!

Flake schreef op donderdag 11 december 2014 @ 18:34:
Bij een voetbaltafel loopt die stang dwars door de tafel heen en komt ie er aan de andere kant weer uit. Als je dat nou niet doet, dat de andere helft van de stang binnen de tafel blijft zeg maar, kun je een magneetje aan het uiteinde hangen. Roterende magneetvelden kun je heel gemakkelijk meten met een sensortje en zijn volledig contactloos. Brengt natuurlijk nog wat andere uitdagingen met zich mee (vooral omdat je moet trekken aan zo'n stang) maar dan heb je een uitdaging. Een ander idee is om de binnenwerk van een encoder na te bouwen: Cirkelvormige plaat met gaatjes erin om die stang en ergens aan die cirkel een optische sensor om de gaatjes te meten. Heb je ook rotatie en is contactloos.

Het combineren van beide werelden zul je eerder in de mechaniek moeten zoeken. Je zult iets van een constructie moeten hebben waar de binnenstang naar voren en naar achter kan worden geschoven, maar wel mee roteert.
Als je magneetjes ín de stang monteert dan kun je een Hall-sensor gebruiken om de hoekverdraaiing te meten. Maak je die magneten nu lang genoeg dat ze de hele (horizontale) slag van de stang boven je sensor blijven, dan heb je al één probleem opgelost.

Verder zit je stang (hoop ik :P) vormvast in elkaar en is ie aan twee kanten in de tafel bevestigd, dus je kan één kant van de stang gebruiken om je verdraaiing te meten, en dan heb je de andere kant vrij om de horizontale positie te meten.

Die horizontale positie kun je prima uitlezen door een codering op de stang te drukken (een tweedimensionale variant van een Gray-code bijvoorbeeld) en die met een optische sensor uit te lezen.

Als je het helemaal mooi wil doen, dan maak je gebruik van een RVDT (of een resolver) voor de hoekverdraaiing en een LVDT voor de verplaatsing in de andere richting. ;)

Zet het daar maar neer! -- It's time to party like it's 1984 -- Soundcloud


Acties:
  • 0 Henk 'm!

  • creon
  • Registratie: Mei 2006
  • Laatst online: 02-07 12:56
als je een oude muis met bal gebruikt
en je laat de bal op de as lopen
links/rechts is de langs verplaatsing
boven/onder is het draaien van de as

Acties:
  • 0 Henk 'm!

  • Garyu
  • Registratie: Mei 2003
  • Laatst online: 02-07 11:36

Garyu

WW

Woohoo sensor fusion!
Ik neem aan dat de positie van de poppetjes moeilijk is als er mensen met hun hoofd boven het speelveld gaan hangen, maar meestal wel gaat lukken. Zo kan je dit toch in ieder geval gebruiken om een slippende optische sensor aan de stangen te re-calibreren?

It's Difficult to Make Predictions - Especially About the Future


Acties:
  • 0 Henk 'm!

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 02-07 20:24
Een sensor met sliprisico is nog steeds bruikbaar zolang je voor korte tijd afwijking toestaat en je met redelijke regelmaat kunt hercalibreren. In de lengterichting van de stang kun je dat doen op het moment dat het einde bereikt wordt, iets wat bij normaal gebruik met enige regelmaat gebeurt. Als je iets vergelijkbaars kunt verzinnen voor de hoek dan zou je een redelijk betrouwbaar systeem kunnen maken.

Acties:
  • 0 Henk 'm!

  • Rudolph
  • Registratie: Juni 2003
  • Laatst online: 21-05 19:18
Kan je op de stang een niet repeterend patroon aan brengen?
Met dat patroon ziet elk punt van de stang er anders uit. Met behulp van een optische sensor kan je het punt in beeld herkennen en dus de positie bepalen.

Acties:
  • 0 Henk 'm!

  • Stoney3K
  • Registratie: September 2001
  • Laatst online: 02-07 13:14

Stoney3K

Flatsehats!

Rudolph schreef op vrijdag 12 december 2014 @ 22:14:
Kan je op de stang een niet repeterend patroon aan brengen?
Met dat patroon ziet elk punt van de stang er anders uit. Met behulp van een optische sensor kan je het punt in beeld herkennen en dus de positie bepalen.
Ik denk dat je daar een heel eind mee kan komen, vooral als je een 2D patroon aanbrengt rondom de stang, of tenminste het gedeelte dat door je glijlagers heen en weer schuift.

Als je dan zorgt dat het patroon in de X- en Y-assen onafhankelijk verandert dan kun je met een 2D camera prima de positie (absoluut) uitlezen. De vraag is in hoeverre je dat compact genoeg kan maken dat het op een zinnige manier in de glijlagers past.

Voor de rotatie te bepalen kun je gebruik maken van de eigenschap dat een tafelvoetballer vroeg of laat altijd door de 12-uur-positie heen draait. Als je die markeert dan kun je dat altijd gebruken als nulpositie van je sensor, en van daaraf optisch bepalen.

Wat je ook nog kan doen is de glijlagers voorzien van een spiebaan en de lagers zelf als tandwielhouder gebruiken, waarbij je een groot tandwiel op de stang gebruikt en een klein tandwiel op een (normale) optische encoder of een encoder uit bijvoorbeeld een printer.

Je zoekt namelijk twee dingen: Mechanische overbrenging en vergroten van je resolutie.

Zet het daar maar neer! -- It's time to party like it's 1984 -- Soundcloud


Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 08:19
Het meten van de rotatie is niet zo moeilijk. Je moet de hele as laten roteren, van begin tot eind.
Dat kan door 2 niet ronde buizen over elkaar te schuiven en beide buizen aan één kant vastmaken.
Je zult er wat glijlagers in moeten maken, maar zo werkt het in principe al, echter zit er dan één kant vast.

Het meten van het schuiven kun je misschien optisch maken met een sensor IN de buis.
Anders de verplaatsing meten door middel van een encoder die met een wiel o.i.d. contact maakt met de as.

Een uitdagendere methode is het monteren van een gyroscoop en accelerometer op de as. Je hebt dan niet een gegarandeerd absolute meting, maar je kunt daar wel een nauwkeurige benadering op berekenen.

Acties:
  • 0 Henk 'm!

  • Stoney3K
  • Registratie: September 2001
  • Laatst online: 02-07 13:14

Stoney3K

Flatsehats!

jeroen3 schreef op vrijdag 12 december 2014 @ 23:18:
Het meten van de rotatie is niet zo moeilijk. Je moet de hele as laten roteren, van begin tot eind.
Dat kan door 2 niet ronde buizen over elkaar te schuiven en beide buizen aan één kant vastmaken.
Je zult er wat glijlagers in moeten maken, maar zo werkt het in principe al, echter zit er dan één kant vast.
:? Huh?

Ik mag toch hopen dat die stangen in een voetbaltafel aan twee kanten in een glijlager zijn gemonteerd? Daarmee zijn ze nou eenmaal in de tafel bevestigd.

Zou je daar één kant van af slopen dan dondert zo'n stang er gewoon uit. :+

Zet het daar maar neer! -- It's time to party like it's 1984 -- Soundcloud


Acties:
  • 0 Henk 'm!

  • 3xhaas
  • Registratie: Februari 2002
  • Laatst online: 26-09-2024
Voor de rotatie kun je een accelerometer gebruiken.

Voor de verplaatsing zou je een een streepjespatroon aan kunnen brengen, waarbij bij de eindstand afwijkt zodat hij daar "genulled" wordt. Je leest dat patroon dan bv optisch uit.

Je hebt nog wel een probleem hoe je de data van de accelerometer uit je as gaat krijgen. Zal wel iets draadloos icm batterij moeten worden.

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 22:43

memphis

48k was toen meer dan genoeg.

Afstand zou ook kunnen door een schijfje tegen het 1e poppetje op de stang te zetten en dan via een IR/Laser/ultrasoon afstandmeter op de rand de afstand meten.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Ik denk dat we maar een aantal prototypes moeten gaan maken. In ieder geval hebben we tal van nieuwe ideeen waar we wat mee kunnen! mochten er nog meer ideeen zijn dan horen we het graag! We houden jullie wel even op de hoogte over de ontwikkelingen :)

I reject your reality and substitute my own!


Acties:
  • 0 Henk 'm!

  • jokohoko
  • Registratie: Juli 2014
  • Laatst online: 23-10-2021
Encoders zullen niet super werken, het kost behoorlijk wat rekenwerk om tegen die snelheid te volgen.

Waarom geen potentiometer erop?
die stangen mogen toch nooit meer dan 1 toer roteren dacht ik?

Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 08:19
jokohoko schreef op maandag 15 december 2014 @ 14:00:
Encoders zullen niet super werken, het kost behoorlijk wat rekenwerk om tegen die snelheid te volgen.
Sample 1: 0b0011
Wacht 10 ms
Sample 2: 0b0100
Lookup table 0b0011 -> 2
Lookup table 0b0100 -> 7
7 - 2 = 5
5 * 23 = 115 (of doe dit ook in een lut, je hebt toch maar 16 plekken)
115 graden per 10 ms.

Noem ik niet "behoorlijk wat rekenwerk". Zelfs niet voor een 8 bitter.

Maar dan ga je er natuurlijk wel vanuit dat hij niet stiekem een hele rotatie heeft gemaakt tussen je samples. Dat blijft een probleem met momentopnames.

Acties:
  • 0 Henk 'm!

  • jokohoko
  • Registratie: Juli 2014
  • Laatst online: 23-10-2021
Dan heb je wel een zeer degelijke encoder en niet zomaar een uit een muiswieltje ofzo gehaald! een muiswieltje heeft 2 signalen en dus ga je snel locaties overslagen.

Acties:
  • 0 Henk 'm!

  • itcouldbeanyone
  • Registratie: Augustus 2014
  • Laatst online: 01-07 16:42
ik decodeer profesionele encoders die tot 40.000 rpm kunnen gewoon op 8 bit
deze zijn dubbel uitgevoerd zodat ook de draairichting bepaald kan worden
je telt het aantal pulsen per tijdseenheid
dan heb je je hoek en snelheid. mits je een referentie punt aangemaakt hebt
dit zou ik doen doormiddel van een hall sensor
dit kun ke makkelijk maken op een arduino
heb ergens nog wel een voorbeeld script als je geintreseert bent

vergeet niet de timers van de arduino op zn hoogst in te stellen voor betere preciesi

Ben niet slim, maar wel dom

Pagina: 1