PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] 3 Räder gleichzeitig lenken ? (beantwortet)



PICture
31.10.2009, 15:29
Hallo!

Ich brauche einfachste Mechanik um 3 Räder gleichzeitig um gleichen Winkel (+/- 45°) zu lenken. Mir ist schon etwas eingefallen, aber wegen fehlender Erfahrung, bin ich nicht sicher ob es praktisch funktionieren wird (siehe Code).

Fürs Anschauen und Vereinfachungsvorschläge bin ich sehr dankbar ! :)

MfG


> - -
/ | | | |
90° ( -|o|---X -|o|---X <-- Gelenk
\ | | | | | |
> - | - | o - Achse
| |
| |
X---------X---------X
|
|
- |
| | |
|o|---X
| |
-

KingTobi
31.10.2009, 15:36
Wie wärs mit einem Servo pro Rad?
Ist es unbedingt nötig das alle Räder angetrieben werden?

uwegw
31.10.2009, 15:39
Prinzipiell dürfte das so gehen.
Die Alternative wäre ein Zahnriemen, der an den drei Achsen und dem Antrieb läuft. Das wird z.B. hier so gemacht (allerdings nur mit zwei Rädern gleichzeitig):
http://img397.imageshack.us/img397/8645/dscn2517ff9.th.jpg (http://img397.imageshack.us/i/dscn2517ff9.jpg/)

Dieser Rasenmäher macht das auch so:
http://img507.imageshack.us/img507/3181/dscn2510.th.jpg (http://img507.imageshack.us/i/dscn2510.jpg/)
Dort laufen sogar zwei Riemen zu jedem Rad. Über eine Hohlwelle wird dann der Antrieb ans Rad übertragen (das Teil ist nen Benziner, man kann also keine Radnabenmotoren wie beim ersten Bot verwenden).

PICture
31.10.2009, 15:56
Hallo!

Vielen Dank ! :)

Ich bin mit so schnellen Antworten völlig überfordert...

@ King Tobi

Es sollte simple sein und es wird nur ein Rad angetrieben. Mit 3 Servos wäre es für mich zu kompliziert zum steuern.

@ uwegw

Danke für Bestätigung, dass es sinvoll ist. Wenn es um Mechanik geht, bin ich nur ein Bastler und bei dem Zahnriemen brächte ich leider zu viel passenden Zahnräder, die ich leider nicht selber feilen kann... :(

MfG

damfino
31.10.2009, 17:02
Die Mechanik geht so nicht ganz, da gibt es zu viele Gelenke. Der waagrechte Hebel müsste starr sein damit dieses Prinzip passt.
Vom unteren Rad aus je ein Hebel zu den beiden oberen Rädern sollte funktionieren, hängt aber von der Anordnung ab. Wären auch nur 2 Teile.
Einfach mal auf einem Blatt Papier aufzeichnen, dann sieht man schon ob es geht.

PICture
31.10.2009, 17:36
Hallo damfino!

Danke für deine hilfsreiche Bemerkungen ! :)

Inzwischen habe ich meine Idee selber vereifacht (Hebel eliminiert) und den ersten Code geändert. Ich möchte das angetriebene Rad direkt mit einem Getriebemotor zwischen zwei Endschalter drehen und die Drehung mit Hebeln aus Stahldraht auf die zwei nicht angetriebene Räder proportional übertragen, damit sie sich um gleichen Winkel drehen.

MfG

recycle
31.10.2009, 18:22
Mit 3 Servos wäre es für mich zu kompliziert zum steuern.

Wenn die 3 Räder im selben Winkel gedreht werden sollen und du die Servos alle gleich(herum) einbaust, müsstest du den 3 Servos einfach nur dasselbe Steuersignal geben.
Klingt für mich von der Seite her nicht sonderlich kompliziert.



3 Räder gleichzeitig um gleichen Winkel (+/- 45°)


Wirklich alle gleich? Also so:


/ /
/

Oder doch so:


/ /
\


Bei Variante 1 könnte er schräg fahren, was deinem "Bahn für Bahn auf und ab fahren" Algoryithmus entgegen käme. Er könnte aber nicht drehen oder die wirklich die Richtung wechseln.

Daher meinst du vermutlich Variante 2 und das einzelne Rad engegengesetzt den beiden anderen lenken.

Mit 3 parallel-geschalteten Servos könntrst du beides haben, je nachdem wie rum du den Sevo am einzelnen Rad einbaust.
Wenn du den 3. Servo am einzelnen Rad seperat ansteuerst, könntest du sogar beides haben.

Von der Ansteuerung sollte auch das nicht so kompliziert sein. beim Servo entspricht eine Winkel ja einer Pulslänge.
D.h. wenn du einen servo um x grad nach rechts drehen willst und den anderen um den selben Winkel nach links, machts du einen Puls länger und den anderen um denselben Wert kürzer.

PICture
31.10.2009, 18:53
Ja, es soll so wie deine 1. Variante zeigt sein. Wenn ich das Ganze unter 45° gedreht in den Bot einbaue, soll er vorwärts-rückwerts bzw. links-rechts fahren können. Der Bot braucht nicht drehen bzw. die Fahrrichtung wechseln, sondern immer nur geradeaus in zwei senkrechten zueinander Richtungen fahren.

Warum sollte ich meine letzte Grauzellen, die mich noch übrig geblieben sind, um Steuerung eines Servos bemühen, wenn es ohne geht ? :)

MfG

90°
-
/ \
< >
\ - / -
\| |/ | |
|o|---X |o|---X
| | | | | |
- | - |
| |
+-------X-------+
|
_ |
/ \ |
Getriebemotor ( o-----X
\_/ |
|
|
- |
| | |
|o|----X
| |
-

recycle
31.10.2009, 19:38
sondern immer nur geradeaus in zwei senkrechten zueinander Richtungen fahren.


Senkrecht zueinander heisst für mich 90°. Wie soll er den 90° abbiegen, wenn die Räder alle nur 45° einschlagen können?
Oder meintest du parallel zueinander?



Warum sollte ich meine letzte Grauzellen, die mich noch übrig geblieben sind, um Steuerung eines Servos bemühen, wenn es ohne geht ?

Z.B. weil du deine Grauzellen ja auch für die Entwicklung eine Reinigungsroboters bemühst, obwohl es auch ohne den geht ;-)

Für die Ansteuerung eines Servos muss man sich in Bascom nicht sonderlich bemühen, die paar Zeilen Code kann man einfach aus der Onlinehilfe kopieren ;-)
Wenn alle Räder immer den geichen Winkel drehen, kannst du sie ja parallel ansteuern, ist also softwareseitig derselbe Aufwand, egal ob einer oder 3.
Mechanisch könnten 3 Servos allerdings mehr Aufwand bedeuten als ein Lenkgestänge aus Draht, daher würde ich da auch zu einem Gestänge tendieren.

Statt dem Getriebemotor den du inzwischen für die Lenkung eingetragen hast, würde ich aber nochmal über einen Servo nachdenken.
Die kosten 5 Euro und sind genau für soetwas gemacht, ein Getriebemotor eher nicht.
Um letzeren anzusteuern brauchst du mindestens 2 Controlerpins, mehr Programmcode und mußt dir auch noch irgendeine Mitten- und Endabschaltung einfallen lassen.

Das Einzige was mir bei Servos weniger gefällt ist, dass die kontinuierlich also auch bei Geradeausfahrt mit dem Steuerungspuls versorgt werden müssen. D.h. der Timer den man dafür braucht, kann nicht mehr ganz frei verwendet werden.

PICture
31.10.2009, 20:31
Mein Bot sollte immer in gleicher Position zur Umgebung in zwei senkrechten zueinander Richtungen sich bewegen und darf überhaupt nicht abbbiegen. Die Räder müssen eben um +/- 45°, also insgesamt um 90° einschlagen können.

Beim Starten muss der Bot in die Ecke, genau parallel/senkrecht zu Wänden, nicht wie handelsübliche Saugroboter, in die Mitte des zu reinigten Raums gestellt werden, was für einige als Nachteil gesehen werden kann.

Ich nehme für die Lenkung ein Getriebemotor von Pollin für ca. 7 €, der selbstbremsend ist und den ich schon habe. Mir macht eben den grössten Spass, Bauteile anzuwenden für Sachen, für die sie nicht gemacht wurden... :)

Als Endschalter kann ich Bumpers aus schon geschlachteten ROBO MAXX verwenden, da bleiben mir sogar noch zwei als Ersatzteile übrig.

Ich überlege gerade, wie ich alle Sensoren (Bumpers) durch Stromüberwachung des Antriebsmotors am einfachsten ersetze... O:)

Weil der Bot mit Bleiakku(s) betrieben wird, möchte ich auch nicht durch ein Servo Strom nutzlos verschwenden, da die Räder nur bei Hindernissen gedreht werden müssen.

MfG

damfino
31.10.2009, 22:14
Mit Stahldraht kann man normalerweise keinen Druck übertragen, dh man braucht 2 Anlenkungen pro Rad. Da wäre ein Hebel einfacher, den kann man einfach aus stabilen Draht biegen. Gibt es auch bei Modellflugzeugen.
Ich würde da auch ein Servo bevorzugen, aber wenn du einen Getriebemotor verwenden willst kannst du den Aufbau noch etwas vereinfachen:
eine Exzenterscheibe, bzw eine Scheibe mit einer Nase darauf die die ein Mal pro Umdrehung einen Schalter betätigt. Oder das ganze mit Lichtschranken, etc. Wenn die Schaltbetätigungen mit dem Drehwinkel zusammenpassen braucht man den Motor nur mehr einschalten und nach 1,2,3.. Ticks ist der nächste Winkel erreicht. So ist es nicht mehr notwendig den Motor umzupolen. Ganz wie die Scheibenwischer beim Auto.
LG!

PICture
31.10.2009, 22:43
Danke für deine Ratschläge ! :)

Ich möchte anfangs mit einer Anlenkung pro Rad probieren und falls nötig, einen dickeren Stab bzw. Röhrchen aus Alu oder Stahl nehmen. Das wird erst am Ende klar, was für eine Kraft beim fertigen und voll belasteten Bot benötigt wird um die Räder zu drehen.

Ist es mit dem Zählen der Umdrehungen nicht komplizierter als mit zwei Endschalter, da ich nur zwei genaue Positionen bis zum Endschalter anfahren brauche ?

Die Umpolung des Motors ist per Relais geplannt, weil der Bot ziemlich langsam wird. Aber dank deinem Vorschlag mit der Scheibe lässt sich das wahrscheinlich sogar vermeinden und damit der Strom für den Relais ersparen. :)

Ich habe das Prinzip, wie ich mir das vorstelle, im Code skizziert.

MfG

90°
-
/ \
< >
\ - / -
\| |/ | |
|o|---X |o|---X
| | | | | |
- | - |
| |
+-------X-------+
|
_ |
/ \ /X
Getriebemotor ( o )o/ |
\o// |
|
|
- |
| | |
|o|----X
| |
-

recycle
01.11.2009, 02:28
Mein Bot sollte immer in gleicher Position zur Umgebung in zwei senkrechten zueinander Richtungen sich bewegen und darf überhaupt nicht abbbiegen. Die Räder müssen eben um +/- 45°, also insgesamt um 90° einschlagen können.

Und was machst du, wenn er mal von der Spur kommt, z.B. weil er mit einer Seite irgendwo hängenbleibt?
Oder wenn er doch einen kleinen Bogen fährt, weil du das einzelen Rad nicht 100% im selben Winkel montiert bekommst wie die beiden anderen?

Dann hast du dir eigentlich von vorneherein konstruktiionsbedingt alle Möglichkeiten ihn wieder auf den richtigen Weg zu bringen verbaut.

Ein Lenkgestänge durfte z.B. immer ein bischen Spiel haben - ich hätte da Befürchtungen, dass das schon reicht um aus einer Geraden einen leichten Bogen zu machen. Nach mehreren Bahnen fährt er dann irgendwann diagonal durch den Raum.



Als Endschalter kann ich Bumpers aus schon geschlachteten ROBO MAXX verwenden, da bleiben mir sogar noch zwei als Ersatzteile übrig.

Klar, kostet dich dann aber auch wieder 2 Controlerpins.



Weil der Bot mit Bleiakku(s) betrieben wird, möchte ich auch nicht durch ein Servo Strom nutzlos verschwenden, da die Räder nur bei Hindernissen gedreht werden müssen.

Wenn nicht gelenkt wird, muss der Sevo theoretisch auch keine Kraft aufbringen. D.h. dann braucht er auch nur den Ruhe-Strom und der liegt laut Datenblatt von einem recht kräftigen Servo im Bereich von kleiner 10mA: http://www.hitecrcd.com/product_file/file/28/hs645.pdf



Mir macht eben den grössten Spass, Bauteile anzuwenden für Sachen, für die sie nicht gemacht wurden...

Ok, das ist natürlich Grund genug keinen Servo zu verwenden :-)

PICture
01.11.2009, 10:00
Hallo!

@ recycle

Vielen Dank für deine Gedult mich in die Realität aus meiner Phantasiewelt zurückzubringen. Ohne dich hätte ich sicher viel Zeit unnötig verloren. :)

Ich werde die "blöde" Idee mit Verschiebung nicht realisieren und die bewährte Lösung von handelsüblichen Saugerbots anwenden. Ich kann mich aber leider bei "verrückten" Ideen nicht bremsen ohne sie detailiert zu analisieren... :)

Das gute daran ist, dass mein geringes Wissen über Mechanik wächst. Ich glaube aber, dass ich für geplannten Bot schneller ein komplizierterer Steuerprogramm für ein µC erstellen, als kompliezierte Mechanik basteln kann.

@ alle

Ich möchte mich bei allen Diskutanten, vor allem dem recycle herzlichst bedanken ! :)

MfG