PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieviele Odometrie Impulse sind notwendig?



Searcher
26.10.2010, 19:23
Hallo,

https://www.roboternetz.de/phpBB2/album_thumbnail.php?pic_id=2574%20 (https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=2574) click for big

bei diesem Chassis (differenzielle Lenkung und Stützrad vorgesehen) möchte ich eventuell die je vier Löcher in den großen roten Zahnrädern mit Lichtschranken abtasten und als Odometrie Input nutzen.

Die Räder werden etwa einen Durchmesser von 5cm bekommen (Spurweite: 7,5cm). Zwischen großem Zahnrad und Achse besteht eine Untersetzung von 3:1. Somit bekomme ich pro Radumdrehung 4 * 3 = 12 Impulse. Das macht auf der Strecke von 15,7cm (PI * 5cm) eine Auflösung von 1,3cm pro Impuls (15,7cm / 12).

Im Vergleich zu anderen Projekten im Forum ist das "etwas" wenig. Liege ich ganz falsch, daß man, um eine genauere Steuerung des Fahrzeugs zu erreichen, die Werte per µC interpolieren könnte und zB nach Hälfte der Zeit zwischen zwei Impulsen eine Steuerungsaktion einleiten oder wäre das programmtechnisch nicht effizient? (hab da leider noch keine Erfahrung)

Oder sollte ich doch lieber eine höhere Auflösung vorsehen?

Vielleicht reicht jedoch ein Impuls alle 1,3cm?

Gibt es da Vor- und Nachteile zwischen zu vielen und zu wenig Impulsen/Auflösung?

Welche Auflösung wäre ideal?

Falls ich die schon vorhandenen Löcher nutzen könnte, würde das halt den Bastelaufwand senken :-)


Gruß
Searcher

RP6conrad
26.10.2010, 19:36
13 mm Auflosung ist relatif wenig. Bei eine wheelbase von 130 mm hast du schon eine Winkelungenauigkeit von mehr dan 5° bei jeden Tic von ein Rad. Meine robby hat eine Auflosung von 0.4mm, und eine relatif grosse Wheelbase von 240 mm. Odometrie geht damit gans gut.
Sinnfolle Auflosungen sind in diese Grossordnung (0.1 bis 1 mm/tic) Fiel kleiner bringt eine hohere Interrupt Auslastung, aber die Genauigkeit ist kaum besser. Grosse gibt eine schlechte Genauigkeit. Aber Versuch es doch erst mit diese 13 mm.

oberallgeier
26.10.2010, 19:39
Hi,

an meinen Motörchen (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282#437282) hatte ich die Odometrie immer an der Motorwelle. Meist sogar als zwei, selten als vier, Impulse pro Motorumdrehung. Das ist eine gute Wahl - finde ich. Und ich schätze, dass die "Fahr-Ungenauigkeit" mindestens in der Größe oder gar Größenordnung der [Strecke-pro-Tick] liegt.

In Deinem Fall wäre es ja vermutlich leicht möglich und dann ausreichend, auf die Motorwelle einen zweiflügeligen Unterbrecher für eine Gabellichtschranke zu setzen. Das gäbe schon mal zwei Ticks pro Motorumdrehung - mit vermutlich wenig Bastelaufwand - siehe meine alte Lösung. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=430624#430624)


... Gibt es da Vor- und Nachteile zwischen zu vielen und zu wenig Impulsen/Auflösung ...Zu viel? Meine Motoren in der "alten" Lösung bringen an der Drehzahlmessung am extINT bei max. ca. 700 Ups (über 40 000 Upm) rund 1500 Hz. Und dabei wird der Controller nicht wirklich nervös. Das ist bei meinem Dottie rund 0,1 mm Fahrstrecke - dementsprechend fährt er fast ohne sichtbare Abweichung, wenn er eine gerade Strecke fahren soll.

uwegw
26.10.2010, 19:40
Es komt drauf an, was du mit den Werten machen willst. Wenn du damit die Position bestimmen willst, hast du die 1,3cm bei jeder Fahrt oder Drehung als Fehler. Und für eine Geschwindigkeitsregelung wäre eine größere Auflösung ebenfalls von Vorteil.

Es dürfte kein Problem sein, dem großen Zahnrad noch vier weitere Löcher zu verpassen. Dann hast du immerhin schon mal die doppelte Auflösung...

Generell ist es am besten, die Encoder direkt auf den Radachsen anzubringen, dann stört das Spiel des Getriebes nicht mehr. Das bringt aber natürlich nur bei entsprechender Auflösung was.

Meine bevorzugte Lösung für deine Konsturktion wäre eine selbstgedruckte Encoderscheibe plus Reflexlichtschranke, seitlich auf dem großen Zahnrad aufgeklebt. Da sollten sich bei sorgfältigem Aufbau 40 bis 50 Striche unterbringen lassen. Der Sensor sollte dann durch eine Lochblende auf die Scheibe schauen, damit er immer nur einen Strich sehen kann (das Fenster eines CNY70 ist ja leider relativ groß. ich bevorzuge den Sharp GP2S60, ein winziges SMD-Teil, aber leider nicht überall zu bekommen).

PICture
26.10.2010, 20:04
Hallo!

Ich weiß bisher nicht, warum keiner die fertige Impulse von jedem komutierten DC Elektromotor aus einer Bürste nutzen will. Es gibt bei drei Spulen am Rotor 6 Impulse pro Umdrehung (siehe meine Skizze im https://www.roboternetz.de/phpBB2/viewtopic.php?p=504934#504934 ). Lediglich ist nur eine Drossel notwendig, die meistens für EMV Entstörung sowieso vorhanden ist. Ich möchte gerne wissen, ob es unbrauchbar in praktischer Anwendung oder zu kompliziert ist ?

MfG

Searcher
26.10.2010, 20:19
Danke erstmal an alle für die vielen Antworten in so kurzer Zeit. Ich seh schon, die Tendenz geht zu mehr Tics pro Wegstrecke.

Allerdings finde ich noch keinen Widerspruch, daß man das nicht auch interpolativ :-) per Programm hinbekommen könnte?


Ich möchte gerne wissen, ob es unbrauchbar in praktischer Anwendung oder zu kompliziert ist ?

@PICture :-) Ich finde Deine Lösung prima und hab selbst schon Versuche damit durchgeführt und die Nadelimpulse im Oszi gesehen. Noch hab ich mich nicht endgültig entschieden wie ich die Geschwindigkeit der Motore regele - analog oder per PWM. Denke, daß das Hindernis für die meisten ist, das die Motore mit PWM angesteuert werden und man dann die Bürstenimpulse nicht mehr auswerten kann. Bei analoger Ansteuerung werde ich die Bürstenimpulsmethode ausprobieren.

Gruß
Searcher

PICture
26.10.2010, 20:33
Hallo Searcher!

Hattest du erwähnt, dass die Motoren mit PWM gesteuert werden, hätte ich die Möglichket nicht vorgeschlagen, weil ich weiß, dass sie dafür ungeeignet ist (zu kompliziert) ... :)

Bei deinem dichtem Aufbau hast du leider keine leichte Aufgabe, als eifachste Lösung finde ich den Vorschlag von uwegw evtl. mit auf Zahnrad aufgeklebtem Gummimagnetring aus mehrpoligem Rotor von BLDC und Hallsensor.

MfG

Searcher
26.10.2010, 20:56
@PICture:
... hätte ich die Möglichket nicht vorgeschlagen... Überhaupt kein Problem und danke für den Vorschlag. Die Steuerung der Motore ist noch offen mit leichter Tendenz zu PWM. Würde gern auch mal eine analoge Ansteuerung im Fahrzeug probieren mit Audioverstärkerchips als H-Brücke :wink: Ist noch offen bzw Umbauten nicht ausgeschlossen.

Zunächst möcht ich aber abschätzen, ob ich noch was am Chassis in Richtung "externer" Odometrieimpulserzeugung tun kann.

Gruß
Searcher

PICture
26.10.2010, 21:21
Allerdings finde ich noch keinen Widerspruch, daß man das nicht auch interpolativ :-) per Programm hinbekommen könnte?

Dann liefere ich dir eins: die Interpolation um einfach und genau zu sein, eignet sich, meine Meinung nach, nur für permanente Drehzahl zwischen zwei Impulsen. :)

MfG

Besserwessi
26.10.2010, 22:02
Die Auflösung bei der Odometrie ist noch etwas besser als die Zahl der Pulse. Man hat ja 2 Lichtschranken, und kann beide Flanken auswerten. Es wären also nicht 13 mm Auflösung, sondern etwa mehr als 3 mm. Bei der Auswertung aller 4 Flanken hat man aber ggf. kleine, aber nicht addierende Fehler je nach Justierung.

Wenn man genug Pulse hat, reicht es nur einen Flanke auszuwerten. Das kann die Auswertung vereinfachen, und man vermeidet die Abhängigkeit von der Justierung.

Searcher
27.10.2010, 17:21
Hallo,

Ihr habt mich überzeugt, daß es günstiger ist gleich mehr Tics pro Wegstrecke zu vorzusehen.

@RP6conrad: Danke für Deine Erfahrung. Damit hab ich mal einen ungefähren Anhaltspunkt für die Minimalauflösung.

@oberallgeier: Ich würde die Lösung von Dir gerne implementieren. Leider trau ich es mir nicht zu bei meiner Konstruktion noch so einen Flügel auf der Motorwelle unterzubringen.

Hier ist zwar nicht genau das gleiche Getriebe (https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=2560) wie jetzt verwendet; die Anordnung der Zahnräder und Ritzel ist aber genau die gleiche und man sieht, daß das kleine U-Profil mit dem kleinen Zahnrad im Weg ist. Die anderen Wellen, auch wenn ich die verlängere bzw längere einbaue :-) , lassen es kaum zu, da noch so etwas anzubringen - zumindest will ich da nicht ran. Einmal ist das Rad im Weg und auf der anderen Seite der Motor.

Du hast mich aber überzeugt, daß ich mir keine Sorgen vor zu hoher Impulsfrequenz machen muß. Diese Motore sind RF-300CH von Mabuchi (natürlich aus alten CD-ROMS ausgeschlachtet) die bei konstant 3V mit 3000U/min Leerlaufdrehzahl angegeben werden. Auch wenn ich den gnadenlos übersteuere werd ich wahrscheinlich nicht über 10000U/min - bei zweiflügeligem Unterbrecher auf der Motorwelle und Auswertung einer Flanke -> nicht über 333Hz kommen ( (10000 / 60s) * 2) ).

@uwegw: Deine Lösungsvorschläge kann ich bei bei mir wahrscheinlich am besten anbringen. Ich schrecke allerdings davor zurück in die Zahnräder weitere Löcher zu bohren. Nach bisherigen Erfahrungen sitzen die bei mir nicht da wo sie hin sollen :-( Also werd ich mich vermutlich mal mit der Encoderscheibe auf Zahnrad zuerst auseinandersetzen. Besonders wertvoll finde ich auch den Tip mit der Lochblende. Das Spiel im Getriebe sehe ich als vernachlässigbar oder ?

@PICture: Ich merke, daß ich hier für mich absolutes Neuland betrete. Hab noch keinen µC programmiert und interpoliere schon kräftig mit nicht nur zu wenigen sondern noch gar nicht vorhandene Odometriedaten :-) Ich sollte für dies erste Projekt in der Richtung auf Nummer sicher gehen und für ein paar mehr Impulse sorgen. Bevor ich das Stützrad und Räder montiere wird wohl noch einige Zeit beim Experimentieren mit Magnetringen, Impulsen, Lichtschranken etc vergehen.


Man hat ja 2 Lichtschranken, und kann beide Flanken auswerten
@Besserwessi: Ich hoffe ich verstehe Dich jetzt richtig. Du gehst davon aus, das ich an einem Zahnrad zwei Lichtschranken montiere - zB um festzustellen ob das Fahrzeug sich vorwärts oder rückwärts bewegt ??? und dann zusammen mit Auswertung beider Flanken eine Vervierfachung der Auflösung gegenüber den bisherigen Überlegungen habe.

Das war zwar nicht beabsichtigt aber jetzt schon fast ein Muß.


Vielen Dank nochmal an alle
Gruß
Searcher

oberallgeier
27.10.2010, 17:44
... Ihr habt mich überzeugt ... Vielen Dank ... an alle ...Gern geschehen. Es macht ja auch wirklich gute Laune zuzusehen, wie Du Dir Deine Erfolge erarbeitest und nicht nach der Holmethode arbeitest so etwa ("... brauche ... Input ... kann fast alles ... helft mir ..."), wo schon beim Öffnen des Threads die Lust herausschaut, alles bei anderen anzufordern . . . .

Sehr gut finde ich auch, dass Du DEINE Linie hast und DEIN Konzept und die auch geduldig durchziehst. Nochmal: Respekt, Respekt.

PICture
27.10.2010, 19:21
Hallo!

Ich bin der gleicher Meinung, wie oberallgeier, und versuche immer gerne dir halfen, weil ich sehe, das du alles genau analisierst, das günstigste für dich verwendest und über Ergebnisse objektiv berichtest.

Nur weiter so, dann geht alles, sogar anfangs als unmöglich scheinende ... :)

MfG

Richard
27.10.2010, 21:14
Würde gern auch mal eine analoge Ansteuerung im Fahrzeug probieren mit Audioverstärkerchips als H-Brücke :wink: Ist noch offen bzw Umbauten nicht ausgeschlossen.


Bei einer analogen Motorregelung fehlt Dir bei geringer Drehzahl/V das Drehmoment. Bei PWM bleibt das "relativ" Konstand....Wenn noch etwas Platz am Zahnrad ist, Ich habe mir so etwas mit kleinen 1mm dicken 3 mm Durchmesser Magneten und Hall Sensor gebaut. §mm Löcher ins Zahnrad und die Magnete einkleben.....

Gruß Richard

Searcher
28.10.2010, 18:43
Hallo Richard,
danke für Deinen Input. Ich bin noch unentschlossen, wie ich die Impulse erzeuge. Kommt drauf an, was ich als am leichtesten empfinde. Magnete gehören sicher dazu. Hattest Du dazu nicht einen thread oder täusch ich mich da jetzt? Hab schon mal den Motorteller von einem 3 1/2" Diskettenlaufwerk ausgemessen. Da ist außen so etwas dran. Wenn er nicht als Antriebsrad zu groß gewesen wäre (ich brauche incl. O-Ring als Reifen ca 5cm Durchmesser), hätt ich mal untersucht, ob sich der nicht gleich verwenden lassen könnte. Ansonsten Magnete in das geplante Sperrholzrad und gucken, ob ich die sich bei mir ansammelnden Hallsensoren aus diversen CD Roms und anderen Laufwerken sich zum zweiten Leben erwecken lassen. Wenn es sich vermeiden läßt, möchte ich die Zahnräder nicht mehr ausbauen - die sitzen recht fest auf den Wellen und jeder Umbau ist ein Risiko für die eingeklebten Messinglager, die dann eventuell relativ mühsam wieder ersetzt werden müssen. Mal sehen...

wg analoger Motorsteuerung: Hab noch nicht festgelegt, was das Ding letztendlich tun soll. Es ist auf jeden Fall erstmal wieder zum experimentieren gedacht und vielleicht sogar - später - einen µC durch die Gegend fahren. Da ist es einfach reizvoll für mich sowas mal zu probieren - macht nichts, wenn es dann nicht so effektiv ist wie es sein könnte. Womit ich zuerst anfange hängt von Lust und Laune ab und welche Ideen mir noch so kommen.

Bisher ist nur sicher :-) : Ein zweiter, nicht zu knapper Satz Odometrieimpulse (außer dem, der nach der Bürstenimpulsmethode schon vorhanden ist) muß her.

Vielleicht geht es ja auch mit optischen Maussensoren die Zähne abzutasten. Das erscheint mir aber mit Kanonen auf Spatzen geschossen zu sein und außerdem werd ich wahrscheinlich erst in Jahren soweit sein, das zu realisieren. Außerdem täten mir die Mäuse leid.

Gruß
Searcher

PICture
28.10.2010, 19:31
Hallo Searcher!

Ich habe bei mir fertige Räder aus Kunststoff mit "Gummireifen" aus flexiblen Kunstoff für Modellautos gefunden. Sie haben ca. 5 cm Ø und zwischen der Achsendurchgang und dem Reifen sehr düne, fast durchsichtige Wand zwischen massiven Speichen, in der um 12 Löcher gebohrt werden können, ohne die Räder mechanisch abzuschwächen.

Ich bin dafür kein Spezialist, denke aber, dass die Kräfte in Getrieben am grössten sind und werde deshalb die dünne Kunstoffzahnräder lieber nicht durch zusätzliche Bohrungen abschwächen.

MfG

Searcher
28.10.2010, 20:09
Hallo PICture,

ich bin da auch kein Spezialist sehe das aber ganz vereinfacht so: Wenn die kleinen Zahnradzähne, die ja die eigentliche Kraftübertragung übernehmen das aushalten, dann kann das dicke Rad schon ein bißchen geschwächt werden.

Allerdings: die Zahnräder, die ich verwende sind keine Präzisionsstücke. Wenn die Großen sich drehen kann man mit bloßem Auge schon ein "Eiern" erkennen. Manche sind besser und andere auch schlechter aber doch eigentlich recht stabil. Nach meinem Gefühl her halten die die Belastung schon aus, wenn man da noch ein paar Löcher reinbohrt - natürlich nicht zu viele. Ich hätte aber zu allen meinen genannten Befürchtungen wie Bohrungen gelingen mir nicht exakt, Risiko für Lager beim Ein- und Ausbau auch noch die Sorge, daß sich das Eiern verstärkt. Weil ich mir sehr viel Mühe bei den Getrieben gegeben habe und die für mich jetzt sehr gut laufen wäre es nur ein allerletzter Ausweg, da noch irgendein Risiko einzugehen.

Also wird es da wohl eine Encoderscheibe auf dem Zahnrad mit Reflexlichtschranke werden oder Magnete im Rad. Mal sehen ...

PS @PICture: Nach Deiner Antwort zum Avatar Nachbau gestern abend mußte ich mich erstmal weglachen :-)

Gruß
Searcher

PICture
28.10.2010, 20:48
I'm very sorry, aber du bist selber Schuld, weil nach deinem Beitrag über Avatar hat mich das Lachen sogar nach posten meiner o.g. Antwort noch lange nicht in Ruhe lassen wollen und ich bin froh, dass ich heute noch lebe ... :)

MfG

Searcher
30.10.2010, 11:09
Hallo,

@oberallgeier und
@PICture: Nachdem ich mich jetzt so langsam von PICtures zweitem Anschlag innerhalb kürzester Zeit auf meine Lachmuskeln erhole :-) (OK, übernehm da auch gerne eine Schuld und werde vorsichtiger werden, damit es nicht zu gefährlich wird :-) ) , will ich doch noch etwas zu Euren beiden sehr netten postings von weiter oben (https://www.roboternetz.de/phpBB2/viewtopic.php?p=523989#523989) schreiben. Mir ist aber dazu nichts rechtes eingefallen und mache es deshalb kurz: Danke und dito !!!

Ansonsten hab ich noch im E-Schrott gekramt und eine mechanische RS232 Maus gefunden. Da sind Encoderscheiben, Doppelfototransistoren und alles was ich brauche drin. Gerade überlege ich, wie ich die Encoderscheiben mit je 20 Schlitzen auf Geschwindigkeit kriege. Hab dazu schon Ideen und wenn ich das mache, widerspreche ich mir zwar selbst hinsichtlich Risikos beim Getriebeumbau - es reizt mich aber einfach zu stark :)

Auf dem Maus IC ist zwar nur "Qtronix Q-02" aufgedruckt; die Verschaltung entspricht bis auf etwas abweichende Widerstandwerte genau dem Application Circuit vom HT6513 (http://www.datasheetcatalog.org/datasheets/320/170593_DS.pdf). Damit hätte ich eine wunderbare Experimentierplattform *träum*

Gruß
Searcher

Searcher
01.11.2010, 13:32
Hallo,

um diesem thread von meiner Seite einen gewissen Abschluß zu geben, und da er ja im Unterforum Sensoren läuft, kurz den Stand der Dinge:

Hab es geschafft erstmal ein Encoderrad, IR LED und Doppelfototransistor aus einer seriellen Kugelmaus auszubauen und auf einem Stück Lochraster über ein Zahnrad an ein Getriebe, ohne dieses umzubauen (bis auf zwei Befestigungslöcher), anzuflanschen.

Die Encoderscheibe mit 20 Schlitzen hat nun die gleiche Umdrehungszahl wie der Motor. 15:1 Untersetzung zum Rad mit 50mm Durchmesser bedeutet 0,5 mm Auflösung pro Tic bei Auswertung einer Flanke eines der Fototransistoren aus dem Doppelfototransistor (20 Tics pro Encoderscheibenumdrehung) ( 157mm / 15 / 20 = 0,5mm )

Das sieht super aus bis auf um einiges erhöhte Umwandlung von Antriebsenergie in Lärm und viel schlimmer, mein Traum, den Output der Mauselektronik zu nutzen, ist wohl ausgeträumt.

Hab den Rest der Maus mit der ausgelagerten Sensorik an den PC angeschlossenen und mal geschaut was passiert, wenn man den Motor laufen läßt.

Wen es intressiert, die Daten, wie sie von der Maus kommen, im Code. Daten sind nach der Maussystems Tabelle im o.g. Datenblatt des HT6513 zu werten. (Maus per Jumper auf Maussystems umgestellt, da mir die MS Daten zu unübersichtlich waren)


Erste Drehrichtung

87 FA 00 B6 00
87 B0 00 80 00
87 91 00 80 00
87 82 00 80 00
87 80 00 80 00
87 80 00 80 00
87 80 00 80 00
87 80 00 80 00
87 80 00 80 00
87 80 00 80 00
87 84 00 80 00
87 8C 00 80 00
87 96 00 80 00
87 9D 00 80 00
87 A7 00 80 00
87 AD 00 8C 00
87 B7 00 96 00
87 BC 00 A1 00
87 C4 00 AC 00
87 CD 00 B6 00
87 D1 00 BF 00
87 D8 00 C9 00
87 E0 00 D1 00
87 E7 00 DB 00
87 EB 00 E5 00
87 EF 00 EC 00
87 F7 00 F6 00
87 FC 00 FC 00
87 00 00 00 00


Andere Drehrichtung

87 03 00 44 00
87 4E 00 7F 00
87 6D 00 7F 00
87 7D 00 7F 00
87 7F 00 7F 00
87 7F 00 7F 00
87 7F 00 7F 00
87 7F 00 7F 00
87 7F 00 7F 00
87 7F 00 7F 00
87 75 00 7F 00
87 6C 00 7F 00
87 62 00 7F 00
87 5A 00 7F 00
87 51 00 75 00
87 4A 00 66 00
87 42 00 5F 00
87 3B 00 52 00
87 35 00 49 00
87 2C 00 40 00
87 27 00 35 00
87 21 00 2C 00
87 1A 00 24 00
87 14 00 1C 00
87 10 00 11 00
87 0A 00 0B 00
87 05 00 03 00
87 00 00 00 00


Es sind zwei Abschnitte, für jede Drehrichtung einer und jeder Abschnitt enthält einige Datenblöcke. Jedesmal wurde der Motor bis zur Höchstdrehzahl unter Strom gesetzt (mit 5V) und wieder abgeschaltet.

Die Zeilen mit "87 80 00 80 00" und "87 7F 00 7F 00" deuten wohl einen Überlauf der internen Counter an. Wäre wohl noch zu verschmerzen. Bei 3V und damit geringerer Drehzahl laufen die nicht mehr über, aber die Auflösung von einem Datenblock zum nächsten hatte ich mir wohl anders vorgestellt :( Ob dafür die nur 1200Bit/s oder der Mauschip nicht schneller macht muß ich mir auch nochmal durch den Kopf gehen lassen.

Hab gesehen, das es schon einige threads hier im RN zur Kugelmaus mit PS2 gibt und einige wenige zur seriellen. Werd ich mir wohl demnächst mal der Reihe nach vornehmen. Nehme aber auch gerne Empfehlungen an.

Wenn das nichts hilft, muß ich mir doch echt jetzt schon mal µC Zeugs zulegen um die Impulse direkt vom Fototransistor in den Griff zu kriegen :-) und bis dann das Fahrzeug Räder kriegt, steht in den Sternen :-)

Kommentare, Fragen, Hinweise etc willkommen.


Gruß
Searcher