Forum: FPGA, VHDL & Co. Algorithmus für Postionserkennung.


von Robert T. (robert0815)


Lesenswert?

Hallo,

gibt es einen bekannten Algorithmus, welcher aus 2-3 Sensoren. Die 
Position auf z.B. einer Schiene erkennen kann? Die Schiene wird wohl 
Stanzlöcher haben und diese werden dann ausgelesen. Ich versuche jetzt 
gerade ein Algorithmus zu implementieren welcher aus 2-3 Drehgebern 
innerhalb weniger Schritte nach links oder rechts die aktuelle Position 
weiss. Habt ihr da einen Tip für mich?

von Tom E. (tkon)


Lesenswert?

Hi,

vielleicht hilft dir folgendes weiter:
http://de.wikipedia.org/wiki/Gray-Code#Anwendungen

Wie lange ist den deine Schiene?

von Robert T. (robert0815)


Lesenswert?

Ich denke mal das die Schiene so 30 cm lang sein wird. Ich hatte gedacht 
ich mache darauf ein Schlitzraster für 2 Sensoren (Lichtschranke) und 
daraus wird dann die Laufrichtung und Zähler generiert. Jetzt sollen 
noch 1 oder 2 zusätzliche Schlitzraster hinzukommen, aus denen man (über 
einen Code) die aktuelle Position angeben kann.

Wäre das machbar, wenn ich auf der gesamten Länge einen Graycode über 3 
Schlitzreihen zu implementieren und diese dann auszulesen? Das muss ich 
mir mal aufzeichnen. Danke für die Anregungen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Wäre das machbar, wenn ich auf der gesamten Länge einen Graycode über
> 3 Schlitzreihen zu implementieren und diese dann auszulesen?
Du willst die Position absolut erfassen?
Welche Auflösung brauchst du? Eher 1 cm oder 1 mm?

> einen Graycode über 3 Schlitzreihen ...
Auch ein Gray-Code mit 3 Bits hat nur 8 Zustände  :-/

von Robert T. (robert0815)


Lesenswert?

Eher 1mm Auflösung, und ja ich will die absolute Position erfassen (also 
wo sich die Schiene(Schlitten) nach dem anschalten und kurzer Bewegung 
befinden). Bei den 3 Schlitzreihen habe ich eher an eine Codierung 
gedacht. 1 Schlitzreihe generiert über 2 Sensoren den Graycode für 
Rechts-Links und Zähler. Und die anderen beiden Schlitzreihen beinhalten 
dann eine Codierung. Da muss ich jetzt aber noch dran tüffteln. Ich 
überlege ob ich eine Art Bitmuster erzeugen soll, woran man dann nach 
nach ein paar Schritten die Position erkennt. Eventuell könnte ich drei 
4-Bit-Graycodes dafür benutzen. Da fällt mir aber noch keine passende 
Codierung ein. Für Anregungen bin ich jederzeit Dankbar.

von Klugscheisser (Gast)


Lesenswert?

>nach dem anschalten und kurzer Bewegung befinden

Bei entsprechende Wahl des Kodes braucht es keine Bewegung.

Allerdings ist es richtig, das man wiederrum, wenn man eine Bewegung 
voraussetzt, einen Code erfinden kann, der einem die Position gibt. Wie 
lang darf denn die Bewegung sein? Bei 30cm und 1mm Auflösung (also 300 
Positionen) entsprechend 9 Bit. Also neun Millimeter Weg bei einem 
Sensor, 5 bei zweien und so weiter.

Mir scheint Deine Verwendung des Begriffes Schlitzreihe 
erklärungsbedürftig.

Um etwa nur die Bewegungsrichtung zu erkennen braucht man zwei Sensoren 
und zwei Strichreihen auf einer Schiene. Damit wäre auch eine relative 
Position erkennbar. Da passt irgendwie nicht 2 Sensoren mit einer 
Schlitzreihe zusammen.

Der Name des Codes fällt mir gerade nicht ein. War so eine Methode eine 
Folge von Zahlen aus einem Menge so anzuordnen, das keine Wiederholungen 
auftreten. War hier auch mal Thema.

von Klugscheisser (Gast)


Lesenswert?

Ich finde die Bezeichnung von dem Code gerade nicht.

Es ging dabei darum, aus sagen wir mal, den Zahlen 0 bis 9, eine Sequenz 
zu erzeugen, in der alle n-stelligen Kombinationen, aber ohne 
Wiederholung vorkommen. Wie hiess denn das nochmael? Weiss das jemand?

von Klugscheisser (Gast)


Lesenswert?

Aah. Jetzt habe ichs: "De Bruijn Sequenzen"

von Robert T. (robert0815)


Lesenswert?

Also wenn ich eine Schlitzreihe habe kann ich mit 2 Sensoren die 
Richtung auslesen.

##  ##  ##  ##  ##  ##  ##  ##  ##  ##
1 2

1 und 2 sind die Sensoren und # ist jeweils ein Auslesepunkt. Durch 
diese Anordnung (versetzt) wird jetzt ein Graycode erzeugt. 
"Schlitzreihe" soll halt einfach ein Metallstreifen mit durchgestanzten 
Schlitzen sein oder eine ähnliche Vorrichtung.

De Bruijn Sequenzen werde ich mir jetzt erstmal anschauen. Vielen Dank.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.