Gebersprung abfangen

tisler

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe eine rotative Achse die Positionieren soll. Beide Richtungen sind möglich. Da aber meistens in eine Richtung rotiert wird und die Position mit einem Absolut, Multiturn Geber erfasst wird kommt es irgendwann zu einem Überlauf.
Wie kann ich diesen am einfachsten Abfangen ohne dass falsche Werte angezeigt werden?

Habe viel gesucht, aber leider noch nichts gefunden
 
Hierzu mal ein kurzes Beispiel:

Max-Pos: 1000 Schritte

In deinem Programm definierst du dir zwei Grenzen:

3/4 der Max-Pos: 750
und
1/4 der Max-Pos: 250

Gleichzeitig speicherst du dir immer den letzten Pos-Wert, damit du den mit dem neuen vergleichen kannst.

Wenn also der alte Pos-Wert größer als 3/4 der Max-Pos und der neue Wert kleiner als 1/4 der Max-Pos ist, fand ein Überlauf statt.
Genauso wenn der alte Pos-Wert kleiner als 1/4 der Max-Pos und der neue Wert größer als 3/4 der Max-Pos.

Wenn nun ein Überlauf stattgefunden hat, kannst du einfach korrigieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
im Gegensatz zu Cerberus habe ich dein Grundproblem noch nicht verstanden.
Passt das Geber-Modulo nicht zum Vollkreis deiner Achse ?
Oder möchtest du dein Absolut-Maßsystem einfach "nur" erweitern ?

Ganz generell :
den Überlauf erkennst du dadurch, dass du dir immer einen Vorgängerwert merkst. Ist die Differenz (absolut) zwischen Vorgängerwert und aktuellem Wert (das Ganze natürlich zyklisch durchführen) größer als z.B. 50% deines Geber-Modulos dann hattest du einen Überlauf gehabt.

Gruß
Larry
 
Zurück
Oben