Hallo liebe Controllerfreunde, ich möchte ein kleines Segway Modell bauen. Mit Mikrocontrollern, Elektronik und Programmieren kenn ich mich gut aus, mein Problem bei sowas ist stets die Mechanik (ich habe leider keine Dreh- oder Fräsbank). Nun zum eigentlichen Problem: Ich brauche dafür einen Motor (am liebsten mit einem Modellbau Akku betreibbar, also mit einer zulässigen Spannung von etwa 7,2...12V) bei dem ich allerdings irgendwie die Geschwindigkeit auslesen muss. Sei es über einen Absolutwertgeber oder Drehgeber oder sonstigem. "Externe" halbwegs hochwertige Drehgeber fangen bei ca 40 Euro Plus an, dabei besteht noch das Problem, dass ich das mechanisch halbwegs vernünftig an meinen (noch unbekannten) Motor drankriegen muss. Ich möchte folgendes Getriebe verwenden: http://www.conrad.de/ce/de/product/240788/VARIO-GETRIEBE-BAUSATZ/SHOP_AREA_19781&promotionareaSearchDetail=005 Dies hat die Vorteile, dass ich das maximale Drehmoment variabel einstellen kann, und dass ich Räder habe, die genau auf diese Welle passen. Blöd ist natürlich, dass man da nicht so einfach einen Drehgeber dranbekommt. Eine Ideallösung wäre ein 0815 Pollin Gleichstrommotor mit integriertem Drehgeber, der vielleicht 5 oder 10 Euro kostet. Leider habe ich so einen Motor bisher nicht gefunden. Ich hab schon über einen Schrittmotor nachgedacht, bei dem ich einfach die Geschwindigkeit "mit Gewalt" bestimme, größtes Problem, welches ich sehe ist, dass der Controller beim Einschalten nicht die aktuelle Position des Schrittmotos kennt. Eine mögliche Lösung dies zu beheben, wäre ein Getriebe mit hohem Versetzungsverhältnis zu wählen, bei dem die erste halbe Drehung des Motors nicht groß ins Gewicht fällt und das Rad nur eine kleine Drehung macht. Das führt allerdings zu dem Problem, dass ich kein passendes, und am besten variables Getriebe finde, welches mit so einer 5mm Welle kompatibel ist. Lange Rede kurzer Sinn: Fällt euch spontan eine günstige (sowohl finanziell, als auch mechanisch ohne großartigem Werkzeug) Lösung des Problems ein? Danke an alle! Florian
Florian schrieb: > Fällt euch spontan eine günstige (sowohl finanziell, als auch mechanisch > ohne großartigem Werkzeug) Lösung des Problems ein? Im Gegenteil, ich serviere dir noch ein Problem dazu: auch ein Drehgeber weiss beim Einschalten seine Position nicht und muss mindestens eine halbe Umdrehung machen, um über einen Indexpunkt zu fahren (gibt einen Ausgangsimpuls am 3. Anschluss). Und noch was: deine Lösung mit der hohen Übersetzung ist ein Denkfehler, denn das Getriebe weiss ja auch nicht, wo es steht, es sei denn, du machst irgendwo einen Schalter hin, mit dem der Nullpunkt gesetzt wird und den du als erstes anfährst - womit wir wieder ganz am Anfang wären. Bei einem Sedgeway ist das nicht so recht praktikabel, da wirst du wohl Absolut-Drehgeber brauchen - und die sind WIRKLICH teuer. Oder du nimmst Potis (Servo), da ist halt Auflösung und Genauigkeit recht begrenzt. Was die Montage angeht, nimm notfalls einen Zahnriemen. Gruss Reinhard
Hallo Reinhard, danke für die Antwort. Die Position des Rades und des Getriebes muss ich ja bei einem Gleichstrommotor garnicht wissen. Der Winkel des Segways wird mit Beschleunigungssensoren gemessen, daraufhin kann ich den Motor ansteuern, wie ich möchte, die Position ist dabei egal. Ich würde nur gerne die Geschwindigkeit messen. Ich habe das Problem beim Schrittmotor gesehen. Um den Motor dort zum anlaufen zu bringen brauch ich ja erstmal die Anfangsposition. Servomotoren kenn ich bisher nur in der höchsten Kreisklasse. Gibt es die überhaupt in so einer Miniaturgröße, wie ich sie brauche?
Florian schrieb: >Der Winkel des Segways wird mit Beschleunigungssensoren gemessen... Zusätzlich sind noch Gyroskope nötig! Anonsten kannst Du eine genaue Erfassung des Winkels vergessen. Zusätzlich sind noch gute Mathematikkentnisse erforderlich. Ich geb Dir da mal die Stichworte Sensordatenfusion mittels Kalmanfilter oder DCM (Direction-Cosine-Matix). Florian schrieb: > Ich möchte folgendes Getriebe verwenden: > http://www.conrad.de/ce/de/product/240788/VARIO-GE... Ich gebe zu bedenken, dass für eine vernünftige Regelung ein Getriebe mit möglichst wenig Spiel verwendet werden sollte. Anosonsten wirst Du keine vernünfigen Ergebnisse bekommen. Florian schrieb: > Die Position des Rades und des Getriebes muss ich ja bei einem > Gleichstrommotor garnicht wissen. Für die Ansteuerung des Motors musst Du es nicht wissen, dass ist richtig. Möchtest Du aber mit Deinem Gefährt auf der Stelle stehen bleiben, wirst Du die relative Wegstrecke wissen müssen --> Du brauchst einen Inkrementalgeber am Motor/Getriebe. Florian schrieb: > Gibt es die überhaupt in so einer Miniaturgröße, wie ich sie brauche? Das hier ist zwar ein DC-Motor, aber der dürfte gut für sowas geeignet sein. Inclusive Getriebe und Hallsensoren für eine Quasratur Auswertung: http://www.roboter-teile.de/Oxid/Mechanik-Servos/DC-Motoren/Getriebemotor-EMG30.html
Florian schrieb: > kleines Segway Modell Je kleiner desto schwieriger, weil es schneller reagieren muss (Pendel) - nur damit das gesagt ist. Die Regelung geht doch ohne die Geschwindigkeit zu kennen, oder nicht? Je mehr der Winkel vom Soll abweicht, desto Vollgas.
Johannes G. schrieb: > Die Regelung geht doch ohne die Geschwindigkeit zu kennen, oder nicht? > Je mehr der Winkel vom Soll abweicht, desto Vollgas. Aufrechte Lage, ja. Position, Nein.
"Zusätzlich sind noch Gyroskope nötig! Anonsten kannst Du eine genaue Erfassung des Winkels vergessen." Das würd ich nicht sagen. Ich habe an einer Platine 4 Beschleunigungssensoren, mit ein bisschen Mathematik lässt sich unabhängig von Bechleunigung und Winkelbeschleunigung der Winkel errechnen. Hab die Winkelposition über Funk an meinen PC gegeben, und dort den Winkel in nem C# Programm anzeigen lassen, sieht sehr gut aus. "Ich gebe zu bedenken, dass für eine vernünftige Regelung ein Getriebe mit möglichst wenig Spiel verwendet werden sollte. Anosonsten wirst Du keine vernünfigen Ergebnisse bekommen." Ich hab das Getriebe hier, und ich muss sagen, dass es besser ist, als es aussieht. "Möchtest Du aber mit Deinem Gefährt auf der Stelle stehen bleiben, wirst Du die relative Wegstrecke wissen müssen --> Du brauchst einen Inkrementalgeber am Motor/Getriebe." Das weiß ich doch, deshalb bin ich doch hier. ^^ "Das hier ist zwar ein DC-Motor, aber der dürfte gut für sowas geeignet sein. Inclusive Getriebe und Hallsensoren für eine Quasratur Auswertung:" Sehr guter Tipp!! DC Motor ist perfekt. Danke dafür! "Die Regelung geht doch ohne die Geschwindigkeit zu kennen, oder nicht? Je mehr der Winkel vom Soll abweicht, desto Vollgas." Bereits von SNR beantwortet. Ja, die Regelung geht auch ohne, was aber, wenn der Bot z.B. auf einer Schrägen steht, und die Position halten soll?
Florian schrieb: > "Zusätzlich sind noch Gyroskope nötig! Anonsten kannst Du eine genaue > Erfassung des Winkels vergessen." > > Das würd ich nicht sagen. Ich habe an einer Platine 4 > Beschleunigungssensoren, mit ein bisschen Mathematik lässt sich > unabhängig von Bechleunigung und Winkelbeschleunigung der Winkel > errechnen. Hab die Winkelposition über Funk an meinen PC gegeben, und > dort den Winkel in nem C# Programm anzeigen lassen, sieht sehr gut aus. Im statischen Fall, oder bei langsamen Bewegungen gebe ich Dir recht. Aber wie unterscheidest Du zwischen Beschleunigungen die durch die Gravitation entsteht (gewollt) und Beschleunigungen die durch die Regelung/Vibrationen/Schlagloch o.ä. (nicht gewollt) entsteht? Mit einem dementsprechend guten Modell könnte man zwar über die Stellgröße evtl. noch was machen, aber mit einem zusätzlichen Gyroskop kannst Du sehr dynamisch die Winkeländerung bestimmen und über die Beschleunigungssensoren im statischen Fall stützen (absolut). Wirf mal einen Blick in einen Segway, da wirst Du mindestens 3-6 Beschleunigungssensoren und nochmal 3-6 Gyros drin finden (Redundanz/Sensorfussion)! Die ganzen Quadkopter haben auch mindestens 3 von jeder Sorte drin (X/Y/Z bzw. Roll, Pitch, Yaw). Hier mal ein kleines Video zu den unterschiedlichen Qualitäten mit/ohne Gyro/Kalmanfilter: http://www.youtube.com/watch?v=IL6LKjiOfvE Ich weiß nicht wie in den letzten Monaten der Fortschritt bzgl. Beschleunigungssensoren oder Gyroskope war, aber wo ich das vor nem Jahr gemacht habe waren die Dinger sehr anfällig bzgl. Temperaturschwankungen/Versorgungsspannungsswankungen/Langzeitstabilität /Fehlausrichtung.
Florian schrieb: > Servomotoren kenn ich bisher nur in der höchsten Kreisklasse. Gibt es > die überhaupt in so einer Miniaturgröße, wie ich sie brauche? Die meinte ich nicht, sondern Servos, wie sie in Modellflugzeugen suw. verwendet werden - Motor und Getriebe mit Potentiometer als Stellungsrückkopplung. Kleiner gehts nicht bei bezahlbarem Aufwand. Ist allerdings viele Jahre her, dass mein letztes Modell auf und davon geflogen ist. Gruss Reinhard
SNR schrieb: > > Im statischen Fall, oder bei langsamen Bewegungen gebe ich Dir recht. > Aber wie unterscheidest Du zwischen Beschleunigungen die durch die > Gravitation entsteht (gewollt) und Beschleunigungen die durch die > Regelung/Vibrationen/Schlagloch o.ä. (nicht gewollt) entsteht? Mit einem > dementsprechend guten Modell könnte man zwar über die Stellgröße evtl. > noch was machen, aber mit einem zusätzlichen Gyroskop kannst Du sehr > dynamisch die Winkeländerung bestimmen und über die > Beschleunigungssensoren im statischen Fall stützen (absolut). > Wirf mal einen Blick in einen Segway, da wirst Du mindestens 3-6 > Beschleunigungssensoren und nochmal 3-6 Gyros drin finden > (Redundanz/Sensorfussion)! > Die ganzen Quadkopter haben auch mindestens 3 von jeder Sorte drin > (X/Y/Z bzw. Roll, Pitch, Yaw). > Hier mal ein kleines Video zu den unterschiedlichen Qualitäten mit/ohne > Gyro/Kalmanfilter: > http://www.youtube.com/watch?v=IL6LKjiOfvE > > Ich weiß nicht wie in den letzten Monaten der Fortschritt bzgl. > Beschleunigungssensoren oder Gyroskope war, aber wo ich das vor nem Jahr > gemacht habe waren die Dinger sehr anfällig bzgl. > Temperaturschwankungen/Versorgungsspannungsswankungen/Langzeitstabilität /Fehlausrichtung. Hallo, ich habe 4 Beschleunigungssensoren, jeweils 2 "an einem Punkt" senkrecht zueinander. Diese Doppelsensoren habe ich in einem unterschiedlichem Abstand zur Achse gesetzt. Dadurch lässt sich eindeutig bestimmen, in welche Richtung der Bot beschleunigt. Diese Richtung ist die gleiche Richtung, in der Sicht der Bot ausrichten soll. Ich habe ein ähnliches Programm, wie in dem Video geschrieben, nur mit einer 2-dimensionalen Darstellung, und auch wenn ich an meinem Bot ein bisschen schüttel, zeigt mir das Programm einen vernünftigen Winkel an. Ich werd das ganze aber um noch ein weiteres Sensorpaar erweitern, damit der Winkel noch genauer bestimmt werden kann (Ungenauigkeiten der Sensoren müssen mit mehreren Sensoren minimiert werden). Im Datenblatt (BMA020) ist ein sehr breiter zulässiger Temperaturbereich vorhanden, und auch die Eingangsspannung ist sehr flexibel wählbar. Ich hab den Anspruch, das ganze ohne Gyros zu realisieren, ich bin optimistisch, dass es klappen wird. ;-) Reinhard Kern schrieb: > Die meinte ich nicht, sondern Servos, wie sie in Modellflugzeugen suw. > verwendet werden - Motor und Getriebe mit Potentiometer als > Stellungsrückkopplung. Kleiner gehts nicht bei bezahlbarem Aufwand. Ist > allerdings viele Jahre her, dass mein letztes Modell auf und davon > geflogen ist. > > Gruss Reinhard Ich hab mal bei Conrad vorbeigeschaut und sehe bei den Servos wider das mechanische Problem. Der von SNR rausgesuchte Motor dürfte perfekt geeignet sein, nur der Preis könnte gut und gerne nur ein viertel so hoch sein.... ich geb mir noch bis morgen Bedenkzeit, ob ich zwei davon bestellen werde (sind immerhin fast 100 Euro). Grüße und Danke!!!
Florian schrieb: > Ich habe ein ähnliches Programm, wie in dem Video geschrieben, nur mit > einer 2-dimensionalen Darstellung, und auch wenn ich an meinem Bot ein > bisschen schüttel, zeigt mir das Programm einen vernünftigen Winkel an. > Ich werd das ganze aber um noch ein weiteres Sensorpaar erweitern, damit > der Winkel noch genauer bestimmt werden kann (Ungenauigkeiten der > Sensoren müssen mit mehreren Sensoren minimiert werden). Höre ich da richtig raus, dass du bisher das Teil nur in der Hand gehalten und gedreht hast? Wenn ja, dann warte ab, bis du das erste mal fährst :-) Dann ists vorbei mit deinen schönen Werten.
Bei den bisherigen 4 Sensoren magst du recht haben (aus ihnen folgt matematisch ein eindeutiger Winkel, ohner jeglicher "Optimierung"). Wenn ich jedoch 6 Sensoren verwende, kann ich mir kaum vorstellen, dass mit einem Optimierugnsverfahren (Stichwort: Summe aller Fehlerquadrate minimieren) ein grob falscher Winkel bei rauskommen wird... ich bin sehr gespannt! ;-)
Sobald sich das Teil bewegt und selbst beschleunigt zeigen die Messwerte deiner Beschleunigungsmesser überall hin, nur nicht nach unten. Egal wieviele du hast.
Und genau das ist ja sogar gewollt! Bei einer Beschleunigung von zum Beispiel 1 m/s^2 in horizontaler Richtung muss er nunmal auch um ein paar Grad in diese Richtung kippen, um nicht umzufallen.
Florian schrieb: > Und genau das ist ja sogar gewollt! > > Bei einer Beschleunigung von zum Beispiel 1 m/s^2 in horizontaler > Richtung muss er nunmal auch um ein paar Grad in diese Richtung kippen, > um nicht umzufallen. Und wenn er kippt, messen deine Beschleunigungsmesser die dadurch verursachten Beschelunigungen, bzw. die Beschelunigungen, die durch deine Motorbewegungen verursacht wurden. Aber ich bins leid. Mach einfach.
Ich weiß doch, dass du es gut meinst, und danke dir für die Antworten. >Und wenn er kippt, messen deine Beschleunigungsmesser die dadurch >verursachten Beschelunigungen, bzw. die Beschelunigungen, die durch >deine Motorbewegungen verursacht wurden. Die Drehbeschleunigung kann mathematisch rausgerechnet werden (durch unterschiedliche Radien der Sensoren). Die horizontale und vertikale Beschleunigung ist auf den Standpunkt der Räder bezogen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.