PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : drecksbot - Mein erster Roboter



filth
19.08.2010, 17:26
Hallo zusammen,

ich möchte anfangen mir meinen ersten Bot zu bauen.
Meine Idee ist aber nicht primär auf eine uC - Steuerung zu setzen, sondern ein kleines Notebook auf dem Bot zu installieren, so dass das "Hirn" in Java läuft.

Warum Java? Nun ja, ich glaube, dass man einfach mehr Möglichkeiten hat, was beispielsweise Mustererkennung, AI usw hat. Ausserdem fühle ich mich in Java "zuhause".

Genug blabla - ich habe auch konkrete Fragen. Durch den Einsatz eines Notebooks wird das Gewicht natürlich höher ausfallen. Kleine, alte Netbooks wiegen etwa 1.5 kg, mit dem Gestell und weiteren Platinen kommt man wahrscheinlich über 2kg Gesamtgewicht.

Welche Antriebsart eignet sich am besten? Ich schwanke zwischen 2 separat angetriebenen Achsen und Ketten - also wie bei einem Panzer.

Hat eines davon Vor / Nachteile? Was würdet ihr mir raten?

Danke!

s.frings
19.08.2010, 20:53
Ketten haben viel Reibung, ganz besonders bei Kurven. Mit Ketten kannst Du keine exakten Kurven fahren.

An einfachsten sind Dreiräder zu lenken (finde ich), wo zwei Räder einzeln angetrieben sind (mit Drehgeber) und ein Spornrad.

Dann gibt's natürlich die KFZ Variante, also mit einer gelenkten Achse und einer angetriebene Achse. Da brauchst Du aber ein Differentialgetriebe und der Lenkbereich ist sehr viel stärker eingeschränkt, als beim Dreirad. Für diese Variante bietet sich an, auf Restposten im Modellbau Handel zurück zu greifen oder ein Spielzeug-Auto auszuschlachten.

Was Java angeht: Es gibt auch Java VM für AVR und ARM Mikrocontroller. Siehe Lejos, eine Java Implementierung für Lego Mindstorms.

Du könntest auch den Computer auf den Tisch stellen und das Fahrzeug per Bluetooth fernsteuern. Dann musst Du den Computer nicht spazieren fahren. Das Modul BTM-222 kann man bei eBay finden. Es ist billig, einfach und funktioniert makellos. Beschreibung: http://meinemullemaus.de/elektronik/btm222/index.html

filth
19.08.2010, 22:27
Hmm das ist auch eine Alternative - allerdings wäre der Bot nicht mehr ganz autonom, sondern würde nur dann laufen, wenn der Steuerrechner läuft.

Allerdings würde ich doch lieber den Rechner mit rumfahren lassen - so hätte man bequem wlan und auch genügend Resourcen, um beispielsweise Mustererkennung mit Webcams zu betreiben.

Theoretisch könnte man noch freie USB Ports als Stromversorgung abzweigen. Soweit ich weiß, können pro Port max 500mA gezogen werden, falls sich das Gerät als "Highpower" anmeldet.

Was den Antrieb angeht, denke ich auch, dass 2 angetriebe Räder mit einem Spornrad für den Anfang am besten / einfachsten ist.

Ich habe jetzt gesehen, dass es unterschiedliche Radgrößen und Untersetzungen gibt. Da ich gar keine Erfahrung diesbezüglich habe, bin ich auf eure Hilfe angewiesen - das Ganze soll ja etwas größer werden, daher denke ich, dass die Räder 100mm Durchmesser haben sollten. Welche Untersetzung sollte das Getriebe haben?

Richard
20.08.2010, 07:45
Hmm das ist auch eine Alternative - allerdings wäre der Bot nicht mehr ganz autonom, sondern würde nur dann laufen, wenn der Steuerrechner läuft.

Allerdings würde ich doch lieber den Rechner mit rumfahren lassen - so hätte man bequem wlan und auch genügend Resourcen, um beispielsweise Mustererkennung mit Webcams zu betreiben.

Theoretisch könnte man noch freie USB Ports als Stromversorgung abzweigen. Soweit ich weiß, können pro Port max 500mA gezogen werden, falls sich das Gerät als "Highpower" anmeldet.

Was den Antrieb angeht, denke ich auch, dass 2 angetriebe Räder mit einem Spornrad für den Anfang am besten / einfachsten ist.

Ich habe jetzt gesehen, dass es unterschiedliche Radgrößen und Untersetzungen gibt. Da ich gar keine Erfahrung diesbezüglich habe, bin ich auf eure Hilfe angewiesen - das Ganze soll ja etwas größer werden, daher denke ich, dass die Räder 100mm Durchmesser haben sollten. Welche Untersetzung sollte das Getriebe haben?

USB Ports als Stromversorgung: Du Träumst. :-) ein etwas größerer Bot
mit Motor + Getriebe zieht zwischen 3 und 20 A, je nach Belastung!
Für die Motor Steuerung sowie Sensorauswertung, Drehgeber u.s.w.
braucht es auf alle Fälle einen µC. Da ist ein Java Programm viel zu
Langsam, außerdem fehlen einen Laptop gewöhnlich Schnittstellen mit
denen "Zeitnah" einzelne Bit`s gesteuert werden können.

Die ganze Steuerung Hardware + Software muß ein µC machen, die Befehle,
Auswertung, Kamera u.s.w. kann dann ein Java Programm über RS232/USB
erledigen.

Als Expertentier Plattform habe ich eine 60 cm Gartentisch Leimholz
Platte (Rund) genommen. Mit entsprechend großen, 10 mm dicken
Alu Winkeln 2 Scheibenwischer Motore (Pollin) befestigt. einen Dual
Motortreiber, ein Steckbrett, 25 cm Sack Karren Räder, Lagerblöcke für
die Achsen...Alls zusammen unter 100 €. Die Motoren lassen sich
gut mittels PWM ohne (nennenswerten) Drehmoment Verlust in der
Drehzahl regeln.

Gruß Richard

filth
20.08.2010, 07:53
Hallo Richard,

ok, dann ist USB als Stromversorgung schon mal gestorben - was eigentlich nicht weiter tragisch ist.

Was die Steuerung angeht: so wie Du schreibst hatte ich das auch vor. Wenn wir jetzt alleine über die Fortbewegung reden, sollte das so sein, dass die Berechnungen auf dem Rechner durchgeführt werden und über RS232 zu einer Steuerplatine gehen, die die Motoren letzendlich antreibt.

Odometriefeedback geht wiederrum zurück an den Rechner, der dann entsprechend korrigierend eingreifen kann.

Auf diese Weise kann ich mich drauf beschränken, auf der Steuerplatine mit dem uC lediglich eine Art "Befehlsinterpretation" zu programmieren und kann den Rest bequem in Java erledigen.

Gruß
Alex

s.frings
20.08.2010, 09:32
Statt RS232 würde ich entweder USB (natürlich mit USB2Serial Adapter) verwenden oder Ethernet. Ist irgendwie zeitgemäßer.

filth
20.08.2010, 09:37
Du hast Recht - das erspart dann auch gleich das Leid mit virtuellen Ports (USB->Serial) unter Windows und man kann viel bequemer auf den Ethernetport zugreifen.

Eine andere Frage (die ich aber auch schon in der Bauteilsuche gestellt habe):
Reichen 2x RB 35 mit einer 50:1 Untersetzung aus, um einen ca 4 - 5 kg Bot mit 100mm Rädern vernünftig anzutreiben?

Richard
20.08.2010, 10:20
Hmm, wenn ich mir so die Rasenmäher Bot Threads so durchlese
bin ich davon nicht wirklich überzeugt. Wenn Du nur auf Parkett Boden
"Rollen" wilst mag das gehen. Zur Motor-Treiber lese Dir einmal.....
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=112
....Durch und eventuell auch passend dazu...

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=132

...mit den beiden kann man per RS232 b.z.w. I²C
mit einfachen Print Befehlen oder übers Terminal Motoren
ansteuern. Bei beiden Beispielen sind am Ende der Site
Beschreibungen der Befehle u.s.w. Downloadbar. Sollte
also (fürs erste) schon für Java reichen. Ethernet halte ich durch
den IP Stack und dessen Antwortzeiten für schnelle Steueraufgaben
eher nicht geeignet. Das ist eher etwas für Licht oder Heizung,
Kaffeeautomat ....geeignet. :-(

Gruß Richard

filth
20.08.2010, 10:54
Hallo Richard,

die Platinen kenne ich, ich bin mir aber noch nicht wirklich sicher, ob ich auf die zurückgreifen möchte, oder doch selbst was aufbaue.

Du schreibst, dass du nicht überzeugt bist - was genau meinst du? Dass das Drehmoment der Motoren ausreicht? Sollte ich doch lieber 4 Stück verwenden?

Ist eine (TCP) Kommunikation über Ethernet wirklich so langsam? Man könnte auf UDP ausweichen und eine Fehlerkorrektur implementieren. Ansonsten würde ich dann doch einen USB -> Seriell Adapter benutzen.

Grüße
Alex

Richard
20.08.2010, 12:08
Hallo Richard,

die Platinen kenne ich, ich bin mir aber noch nicht wirklich sicher, ob ich auf die zurückgreifen möchte, oder doch selbst was aufbaue.

Du schreibst, dass du nicht überzeugt bist - was genau meinst du? Dass das Drehmoment der Motoren ausreicht? Sollte ich doch lieber 4 Stück verwenden?

Ist eine (TCP) Kommunikation über Ethernet wirklich so langsam? Man könnte auf UDP ausweichen und eine Fehlerkorrektur implementieren. Ansonsten würde ich dann doch einen USB -> Seriell Adapter benutzen.

Grüße
Alex

Wie willst Du die dann halbwegs synchron betreiben ohne das sie
durch Fertigungs Toleranzen "gegeneinander" Arbeiten? Zu kompliziert.
Einfach stärkere Motoren und vor allem Getriebe, am besten Schnecken
Getriebe die sind weitgehend selbsthemmend. In den Rasenmäher Threads
waren auch gerade mehrere Berichte von zerlegten Getriebe....

Der Selbstbau von Motortreiber u.s.w. wäre OK, wenn Du die Software
für den/die µC denn selber schreiben willst/kannst und eine sehr ruhige
Hand beim Löten der DMS Motortreiber hast. :-) Ich bin dazu zu "Unruhig".

(Meine) Scheibenwischer Motoren sind billig (ca. 12 €),stark, und können
zwischen 40 1/Min .....70 1/Min umgeschaltet werden. Ich hab es noch
nicht getestet, glaube aber ich könnte mich auf dem Bot setzen und der
brettert trotzdem Los. :-) Feintuning dann über PWM.

Ich betreibe das Ganze z.Z. mittels eePC über USB <> RS 232, Bascom
Simulator, Bascom Terminal Simulator. Nicht sehr elegant weil man im
Bascom Programm (bei der Simulation) auf Timing weitgehend verzichten
muss.

Wenn ich jetzt über VNC vom PC und Wlan den Bot ansteuer, stoppt der
leider erst nach einen halben m, ohne WLan vom eePC aus sofort! Immerhin
kann ich Programm Änderungen bequem vom PC aus vornehmen und muss
nicht vor dem Bot kniehend auf den eePC herumhacken. :-)

Gruß Richard

filth
20.08.2010, 12:16
Wie willst Du die dann halbwegs synchron betreiben ohne das sie
durch Fertigungs Toleranzen "gegeneinander" Arbeiten? Zu kompliziert.

Ich hatte überlegt entweder Geberlichtschranken oder Hallsensoren zu verwenden. Später sollte das Ding sich mit einer Cam im Raum orientieren.

Keine gute Lösung?

HannoHupmann
20.08.2010, 12:20
Es ist ein bliebter Anfänger-Aberglaube zu denken, dass man sich das Leben leicht macht, wenn man statt eines µC einen Computer nimmt. Klingt es doch erst mal verführerisch sich nicht mit der neuen Materie: "µC" beschäftigen zu müssen und heimischen Gefilden zu bleiben die sich da PC nennen.

Was dabei immer vergessen wird, ein PC ist nicht für die Steuerung von Robotern ausgelegt, sondern für lustige andere Dinge. D.h. der PC ansich stellt schon mal keine I/O Ports zur Verfügung sondern als höchstes der Gefühle eine RS232 Schnittstelle, wenn es ein älteres Modell ist.

Ich möchte kurz noch ein wenig mehr auf die Problematik eingehen die man sich mit einem "Computer" erkauft:
1) Kein direkte Anbindung zur Hardware
2) Keine Echtzeit
3) Hoher Stromverbrauch
4) Hohes Gewicht

Zudem muss man sich erst mal darüber im klaren sein wie man real den PC dazu bringt eine RS232 Schnittstelle anzusteuern (auslesen und senden) und das ganze noch unter JAVA. Gerade unter Windwos ist es kein Vergnügen Ports anzusprechen, wenn es keine Module dafür gibt (unter Linux genauso kompliziert, wenn man sich nicht auskennt).

Die Anbindung zur Hardware: "schnickschnack mach ich über RS232 oder noch moderner über USB" ist ein schöner Trugschluss. Das RS232 Protokoll ist limitiert in seinen Funktionen und kann nur einen Empfänger ansprechen oder von einem Daten empfangen. Abgesehen davon müssen die Daten übertragen werden was Zeit kostet. Nehmen wir folgendes Beispiel:

Ein Roboter steht und wird über RS232 gesteuert wie von dir beschrieben (die - in meinen Augen - noch unsigere Idee über USB oder Ethernet lass ich gleich weg).
1. Befehl: Fahr gerade aus mit Geschwindigkeit v
2. Befehl: Fahr eine Kurve mit Radius/Winkel alpha
3. Befehl: Fahr gerade aus mit Geschwindigkeit v
usw.
Klingt erst mal prima solange man überhaupt einen Motortreiber auftut der RS232 kann. Ich kenn keinen. Für meinen Wall-E hab ich einen µC gebaut der RS232 kann und einen L298 steuert. Damit hab ich mir selbst die Funktion gestrickt die du haben willst. Was aber nur geht wenn man sich gut mit µC auskennt (kleines Zuckerl über i2c nimmt mein Motorcontroller auch gerne Bestellungen entgegen). Betrachten wir das Beispiel mit folgender Modifikation. Zwischen 1) und 2) will der Controller zurück senden: "ich seh ne Wand" nur leider darf er gerade nicht senden und deswegen wird diese Information nicht an den PC übertragen oder er sendet die Information und bekommt leider nicht mehr den Befehl: "Fahr eine Kurve" das Ergebnis ist das selbe.

Nach alle der Erfahrung die ich hab stell ich fest, es ist eigentlich sehr simpel einen Roboter mit nem µC zu steuern. Zwischen 10 und 50 Zeilen Code den man sich zusammenkopiert und modifiziert und schon läufts. Fehler lassen sich mit dem Oszi oder Multimeter noch recht leicht finden und das System ist nicht besonders komplex. Und weils so einfach ist, gibt es auch so wenig User hier die nen PC als Gehirn verwenden. Für den Anfänger sollte der µC die erste Wahl sein, gerade wenn man später komplexer werden will. Es gibt unglaublich viele Beispiele und Tutorials, es gibt genügend User die sowas so oder ähnlich schon gemacht haben, bis hin zu Büchern.


Die Motoren sind für das Gewicht übrigens auch zu schwach.

Ausblick:
Hat man seine ersten Geh-Versuche mit µC hinter sich und stellt fest, dass deren Möglichkeiten nun endgültig limitierend sind, dann kann man sich überlegen einen "Computer" dahinter zu hängen, der als Gehirn arbeitet. Ein solches System sollte dann aber wie folgt aussehen:
Embedded System (entweder Linux oder Windows o.ä.) welches zumindest weiche Echtzeit kann und ein paar i/o Ports zur Verfügung stellt
µC die die Hardware ansteuern und auswerten (Aktoren & Sensoren) und nur die Ergebnisse an das Embedded System liefern.

Ich beschäftige mich jetzt schon etwas länger mit genau dem Punkt. Ich versuch gerade ein funktionierendes Embedded System aufzubauen und dessen Schnittstellen anzusteuern. Leider wird die Luft bei der Materie sehr dünn und man findet keine Tutorials und Anleitungen mehr, sondern wird gezwungen die Arbeit allein und selbst zu machen.

filth
20.08.2010, 12:29
Hallo,

danke für deinen ausführlichen Text. Aber ich glaube du verstehst mich falsch - ich kann durchaus µCs programmieren und habe es schon in diversen Anwendungen gemacht. Es waren zugegebenermaßen keine Bots und ich kann nur Bascom, aber es reicht aus. Was ich bis jetzt gemacht habe, war ein GPS Datenlogger und ein Infrarot-Temperaturmesser. Sprich ich bin schon in der Lage RS232 oder I2C Kommunikation auf einem atmega644p20u oder atmega32 aufzubauen.

Was du aber nicht mit einem µC können wirst, ist komplexere KI oder Bild / Gestenerkennung. Und darum geht es mir letzendlich - deswegen der PC.

Dass man über RS232 keinen direkten Empfänger ansprechen kann, ist mir auch klar. Dafür wollte ich ein kleines eigenes Protokoll schreiben, so dass der Befehlsempfänger codiert wird und vom Empfänger µC entsprechend ausgewertet und weitergeleitet wird.

Die Programmierung macht mir ehrlich gesagt auch keine Sorgen - womit ich mich nicht genügend auskenne, ist der Antrieb - das ist auch meine momentane primäre Fragestellung: sprich welche Motoren und Untersetzung benötige ich, um einen 4-5kg Bot mit 100mm Rädern anzutreiben?

Grüße
Alex

Richard
20.08.2010, 12:48
Die Motoren sind für das Gewicht übrigens auch zu schwach.

Ausblick:
Hat man seine ersten Geh-Versuche mit µC hinter sich und stellt fest, dass deren Möglichkeiten nun endgültig limitierend sind, dann kann man sich überlegen einen "Computer" dahinter zu hängen, der als Gehirn arbeitet. Ein solches System sollte dann aber wie folgt aussehen:
Embedded System (entweder Linux oder Windows o.ä.) welches zumindest weiche Echtzeit kann und ein paar i/o Ports zur Verfügung stellt
µC die die Hardware ansteuern und auswerten (Aktoren & Sensoren) und nur die Ergebnisse an das Embedded System liefern.

Ich beschäftige mich jetzt schon etwas länger mit genau dem Punkt. Ich versuch gerade ein funktionierendes Embedded System aufzubauen und dessen Schnittstellen anzusteuern. Leider wird die Luft bei der Materie sehr dünn und man findet keine Tutorials und Anleitungen mehr, sondern wird gezwungen die Arbeit allein und selbst zu machen.

Der Dual Motortreiber lässt sich in Verbindung mit RN-Motorcontrol per
RS 232, I²C, Modell-Funkanlage steuern, Mittels PC halt mit den von Dir
genannten Problemen. Ich mache das gewöhnlich auch mit z.B. Mega 16
Das geht schneller und einfacher. Die RN Motorcontrol ist genau genommen
Spielerei, aber um einmal Motor, Drehgeber, Wegstrecke, Strom u.s.w.
Am Pc an zu sehen/ Ein zu stellen ganz "nett".

Bei den Embedded Boards ist es wirklich nicht einfach und bei Linux
Hardware nah arbeiten.......Ich hatte vor xyz Jahren einmal eine
Zeitschrift wo ein Linux Hardware Kurs enthalten war, da wurde sogar
auf den PCI Steckplatz zugegriffen. Allerdings hatte ich zu C-64 Zeiten
noch kein Bedarf und heute findet man nur noch wenig bis nichts. :-(

Gruß Richard

Richard
20.08.2010, 13:15
welche Motoren und Untersetzung benötige ich, um einen 4-5kg Bot mit 100mm Rädern anzutreiben?[/b]

Grüße
Alex

Wie schnell solls denn sein?

U = Pi * D = Pi * 0,1 m = 0,314

Macht bei 40 1/Min = ~ 12 m 1/Min oder 0,2 m s

Mit r = 50 und Gewicht+ Verluste sollte das Drehmoment
bestimmt/abgeschätzt werden können?

http://www.rn-wissen.de/index.php/Drehmoment

Das mit der Bildverarbeitung habe ich ja verstanden, eine Hindernis
Erkennung sollte für Not Stopps aber eher auf den µC laufen..

Gruß Richard

filth
20.08.2010, 13:29
Hallo Richard,

bzgl. der Notstops gebe ich dir Recht. Aber soweit sind wir ja noch gar nicht :)

Es kommt mir nicht auf hohe Geschwindigkeiten an, 20cm / Sekunde wären völlig ausreichend.

M = F * r

F = 4kg * ca 10 = ca 40 Newton. Richtig?

Also 10 Newton pro Motor, wenn wir von 4 Motoren ausgehen.
Drehmoment = 40N*sin(45) x 0,05m = 1.4 Nm pro Motor.

sin 45, da keine Steigungen üebr 45Grad gefahren werden sollen.

Ist meine Rechnung richtig? Das wären etwa 140Ncm pro Motor. In dem Fall würden 4x RB 35 1:100 ( Spitzendrehmoment 180 Ncm ) ausreichen?

Richard
20.08.2010, 13:36
Mit Matte hab ich das nicht so Prall, bin seit 48 Jahren von der
Schule, Ich habe hier schon einmal etwas von einem (?) Motorrechner
Programm gelesen, möglich das so etwas bei Google oder im Wicki
zu finden ist?

Gruß Richard

Richard
20.08.2010, 14:07
Hallo Richard,


M = F * r

F = 4kg * ca 10 = ca 40 Newton. Richtig?




Schaue einmal hier http://www.w-winkelmann.de/publikationen/formeln.php

Gruß Richard

filth
20.08.2010, 22:20
Ok meine Rechnung scheint in Ordnung zu sein, habe nur statt dem Radius den Durchmesser der Räder genommen.

Also:
Gesamtbelastung 40N = 10 N pro Rad.

10 * 2,5 cm = 25Ncm.
Nenndrehmoment der Rb35 liegt bei 30 Ncm, also passen die wohl.

Jetzt heißt es, passende Räder aussuchen :)

HannoHupmann
21.08.2010, 00:08
dir ist schon klar, dass du etwa nen Wirkungsgrad von 50-60% bei den RB35 tatsächlich rausholen kannst?

Damit haben die RB35 nämlich gerade mal noch 18Ncm von mir aus auch nen Wirkungsgrad von 80% dann sinds noch 24Ncm. Deswegen sag ich auch: "die reichen nie!"

filth
21.08.2010, 06:35
Ah ok, verstehe.

Was würdest du denn empfehlen? Bei conrad gibt es ja eine Menge unterschiedlicher Motoren. Hilft es einfach eine größere Untersetzung bei dem RB35 zu nehmen (zb 100:1) oder gleich einen anderen Motor?

Evtl sowas?

http://www.conrad.de/ce/de/product/233132/HOCHLEISTUNGSGETRIEBEMOTOR-12VDC-150/SHOP_AREA_19781&promotionareaSearchDetail=005

Der ist mit einem Spitzendrehmoment von über 5 Nm angegeben und ca 2.8 Nm Dauerdrehmoment, wenn ich das Datenblatt richtig verstehe. Was hällst du von dem?

hellobello
21.08.2010, 08:47
Hallo, schon mal an ein ITX Board gedacht? Schön klein, doch leistungsfähig...

filth
21.08.2010, 09:03
Hallo,

ja, habe mir gestern noch die Boards angeschaut :)
Ist auf jeden Fall eine Überlegung wert - hatte so eins schon mal im Auto eingesetzt.

filth
21.08.2010, 12:14
dir ist schon klar, dass du etwa nen Wirkungsgrad von 50-60% bei den RB35 tatsächlich rausholen kannst?

Damit haben die RB35 nämlich gerade mal noch 18Ncm von mir aus auch nen Wirkungsgrad von 80% dann sinds noch 24Ncm. Deswegen sag ich auch: "die reichen nie!"

Bezieht sich die Wirkungsgradangabe im Datenblatt nicht nur auf Eingangs/Ausgansleistung? Die Drehmomentangaben müssten doch absolut sein?

HannoHupmann
21.08.2010, 12:23
Den lezten verwend ich für meinen Wall E und hab mich bisher noch nicht getraut die maximal Geschwindigkeit zu fahren. Die sind ganz ordentlich und haben auf jedenfall mehr Bumms als die RB35 (die hab ich hier auch rumliegen).

Das mit den Datenblatt ist genau der Punkt: "müsste". Hier ist Conrad nicht besonder Informativ auf was sich ihre Angabe bezieht. Abgesehen davon selbst wenn es das Drehmoment am Ausgang ist, so wirst du es nicht 1 zu 1 auf den Boden bringen können.

Meine Devise ist lieber bischen überdimensionieren und als zu wenig.

filth
21.08.2010, 12:25
Da hast du auch wieder Recht.

Also die hier:
http://www.conrad.de/ce/de/product/233132/HOCHLEISTUNGSGETRIEBEMOTOR-12VDC-150/SHOP_AREA_19781&promotionareaSearchDetail=005

Meinst du, dass ich in dem Fall mit 2 Stück auskommen werde ( 4-5kg Gesamtgewicht ) oder sollten es doch insgesamt 4 werden?

Wie hoch ist die Leistungsaufnahme der Motoren?

filth
22.08.2010, 10:32
So, habe mich weiter eingelesen bezüglich des ITX Boards. Es wird wahrscheinlich ein Via Epia m10000 werden. Der ist mit 1 Ghz getaktet und kann bis 1 gb Ram tragen. Die Leistungsaufnahme wird mit etwa 25 Watt angegeben. Dazu kommt dann noch eine Laptopfestplatte als Speichermedium. Ich denke insgesamt wird man so auf etwa 30W bei dem Board kommen.

Als Netzteil werde ich das PW-80 verwenden. Das liefert max 80Watt und kommt mit Eingangsspannungen zwischen 11 und 20v klar.

HannoHupmann
22.08.2010, 20:37
80W, bzw. 30W das war genau der Punkt warum ich so ein Board nicht verwenden wollte. Meine Boards die ich in der näheren Auswahl hatte begnügen sich mit 1W. Bei 80W und 11V brauchst du allein schon einen 8000mAh Akku um ne Stunde Laufzeit zu erreichen, da sind aber noch keine Motoren und nix mit dabei.

Ich hab die Motordaten nicht auswendig im Kopf und sich auszurechnen ob Motoren für eine Anforderung passen oder nicht nennt man im Allgemeinen "elektrische Antriebe" und das ist an der Uni ne ganze Vorlesung über ein Semester. Gut in unserem Fall braucht man keine asynchrondrehstrom Motoren, aber es erfordert trotzdem ein bischen Gehinrschmalz sich auszurechnen ob die Leistung der Motoren für die Anforderung ausreicht. Die Arbeit nehm ich dir auch nicht ab, ich habs schon für meinen Wall E nicht besonders gern gemacht.
Es gibt natürlich immernoch den alternativweg, der kostet keine Zeit aber dafür mehr Geld und der heißt: Ausprobieren!

filth
22.08.2010, 21:23
Die Versorgung kann man bequem auf 2 Akkus aufteilen: ein 12v 7aH Bleigelblock für den Antrieb und ein Netbook bzw Laptop ohne Display als Steuereinheit. 1- 2 Laufzeit ist völlig ausreichend. Danach fährt der Robo sich selbstständig laden.

Übrigens sind 2 RB35 Motoren völlig ausreichend ;)

HannoHupmann
22.08.2010, 21:47
uah wenn ich schon Bleigelblock höre läufts mir den Rücken runter, sowas hat meiner Meinung nach nix in nem Roboter verlohren, aber das darf jeder machen wie er mag. Vorallen Kombination Bleigel und RB35 mag mir so gar nicht schmecken, aber ich kann mich täuschen. Melone und Schinken passt ja auch wunderbar zusammen.

filth
22.08.2010, 21:50
We will see ;) :)

nero123
22.08.2010, 22:48
Hallo
ich hab meinen mit Schrittmotoren am laufen.Hatte mir auch alle möglichen Boards von robotikharware gekauft (Lieferzeit immer Ca.3Wochen)und die Dinger zusammengelötet.Dann hat nichts richtig funktioniert.Bausteine usw.defekt,keinen Support von der Firma.------------
Hab mir dann fertige Karten von http://www.cncprofi.eu gekauft.Von da hat ich auch meine Motoren.Der Support und Service ist Super!!!
Das sind Motoren mit 2Nm Haltemoment.Dann hab ich eine Untersetzung von 2 mal 1:4 und 320mm großen Räder.Das ganze wiegt zur Zeit (ist noch nicht fertig)28Kg.Hat ein 40cm breites Spindelmähwerk und Bleiakku daher das große Gewicht.Den hält keiner mehr,vorher drehen die Räder durch.
Die Steuerung war auch geplant mit Teilen von robotikhardware, aber nach all den negativen Erfahrungen hab ich mich für eine Soft PLC von Beckhoff entschieden.Die läuft super schnell auf jedem XP Rechner.Ich habe ein miniITX Board mit Parallelschnittstelle um die Motoren über eine Verstärkerkarte anzusteuern.Ich geb auf die Karte nur die allgemeine Freigabe,die Richtung und das Taktsignal (Geschwindigkeit).Das Beckhoff-TwinCAT-Softwaresystem verwandelt nahezu jeden kompatiblen PC in eine Echtzeitsteuerung mit Multi-SPS-System, NC-Achsregelung, Programmierumgebung und Bedienstation.Das ganze macht auch keine Probleme mit I/O 's hat's genug.Mit diesem System ist einfach alles möglich was man sich denken kann.
Mfg
Nero123

filth
24.08.2010, 06:48
So es geht etwas voran. Ich habe schon mal die erste Version der "KI" geschrieben. Der Bot hängt in einem IRC Channel rum und speichert momentan alle Sätze in denen er angeredet wird. Seine Anrede wird durch einen Placeholder ersetzt und er antwortet mit einem zufälligen Satz aus der DB, wobei er dann den Namen seinen Gesprächspartners einsetzt.

Nichts wildes aber ziemlich lustig. Diese DB wird noch um einzelne Wortgruppen erweitert, so dass er auch selbständig Sätze bilden kann.

Das Gestell soll so aussehen:
/--X--\
x------x-->
\--X--/
Die Großen "X" sind die angetriebenen Räder. Dazu noch eine Frage: kann ich die Räder direkt auf die Getriebeausgangswellen setzen? Wo würdet ihr die Geberscheiben für die Gabellichtschranke anbringen?

HannoHupmann
24.08.2010, 11:41
Ungünstiges Raddesign, fällt mir dazu ein. Der roboter kann nur in eine Richtung fahren, außer es handelt sich um Omnidirektionale Räder. Ist jedes Rad einzeln lenkbar würde es funktionieren. Das Design eignet sich nur für geraden Untergrund, Gelände wird damit schwierig.

Man kann alles machen, ob es sinnvoll ist oder nicht steht auf einem anderen Blatt. Ich würde es nicht tun, aber ich bin auch Ingenieur der alles mit Kugellagern ausstattet und viel Geld dafür ausgibt noch Kupplungen dazwischen zu bauen (siehe Wall E). Es gibt aber auch die andere Spezies die einfach mit Heißkleber die Räder auf die Welle pappt und damit glücklich ist. Das darf jeder machen wie er es mag, nur sollte man sich überlegen was man erreichen will. Letztere klebemethode verspricht natürlich keine Genauigkeit und wird eher schlecht halten. Bei einigen Motoren ist es kein Problem direkt aufs Getriebe zu flanschen bei anderen schon. Im zweifelsfall ist halt der Motor hin, bei meiner Lösung ist nur die Kupplung verrutscht.

Geberschreiben natürlich auf die Welle oder ans Rad, das hängt von der Geometrie der Sache ab, was mehr sinn macht.

Allgemein. Gerade stellst du fragen die man eigentlich nur mit "kommt darauf an" beantworten kann. Jede Konstruktion und Anforderung ist anders. Konkrete Tipps zur Mechanik können wir dir hier nur geben, wenn du auch konkrete Lösungen/Zeichnungen präsentierst. Du wirst sehen viele posten erst mal CAD Zeichnungen und lassen diese von den Usern prüfen.

PS: Schon wieder negative Bewertung zu Robotikhardware. Das hat jetzt bei mir dazu geführt, dass ich doch kein RN-Board kaufen werde sondern einen anderen Hersteller bemühe. Das ist mir dann doch zu unsicher mitlerweile.

filth
24.08.2010, 11:46
Doch so sollte der auch lenkbar sein. Die kleinen "x" Räder sind Spornräder, wenn ich dann das linke Antriebsrad rückwärts und das rechte vorwärts drehen lasse sollte der lenken.

Richard
24.08.2010, 12:02
PS: Schon wieder negative Bewertung zu Robotikhardware. Das hat jetzt bei mir dazu geführt, dass ich doch kein RN-Board kaufen werde sondern einen anderen Hersteller bemühe. Das ist mir dann doch zu unsicher mitlerweile.

Moin moin, Ich habe dort schon öfters gekauft und bis jetzt nicht
wirklich Probleme gehabt. Muss aber auch sagen das Anfragen unbeantwortet
geblieben sind. Bei RS oder Sander habe ich in Sachen Hilfe, bei Sander
auch in Technischen Fragen, nur wirklich Gutes zu berichten. Es gibt halt
Unterschiede......Ich werde das Gefühl nicht Los das Robotikhardware eine
ein Mann Firma ist und ganz einfach etwas überfordert ist alles alleine zu
bewältigen? Die Schaltungen selber und vor allem die Docu sind sehr gut
auch für Anfänger verständlich und die Preise dürften für das gelieferte
auch sehr preisgünstig sein.

Gruß Richard

Ls4
24.08.2010, 21:09
Ich halte es nicht für völlig unmöglich das mit einem PC und Java zu realisieren.
Klar ist es eindeutig keine einfache Aufgabe, aber es sollte möglich sein...

Java hier zu verteufeln ist sicher auch nicht angebracht, denn Java mit dem Java Real Time system eine hervorragende Echtezitimplementierung. Mittels einem ordentlich konfigurierten Realtimekernel für Linux ist der Echtzeitbetrieb schon mal gewährleistet. Usb bietet ebenfalls Echtezitfähigkeiten und es sind USB zu I2C Umsetzer erhältlich. Im Prinzip also absolut alles was man benötigt, aber dennoch sicher nicht die einfachste Lösung...

Ich entwickele aktuell ein verteiltes Echtzeitsystem das Bilder akquieriert. Echtzeit ist hier nicht absolut kritisch, da gewartet werden kann. In der Regel läuft das aber absolut flüssig und problemlos, trotz dass ich an keiner Stelle explizit auf Echtzeitfähigkeit geachtet habe. So verwendet ein Gerät im Verbund Windows XP mit C#. Der Steuerrechner läuft auf Ubuntu und verwendet hauptsächlich c++ Code, aber auch das eigendlich langsame Matlab ist integriert und steuert einnen Industrieroboter, der über Rs232 angebunden ist. Alle Teile der Anwendung kommunizieren auch noch über TCP/IP, das eigendlich auch nicht echtzeitfähig ist.... Dennoch es funktioniert!!!
Manchmal geht probieren über studieren..

Weiterhin wird bei uns gerade versucht einen neuen extrem schnellen Industrieroboter in Echtzeit über Matlab anzusteuern. Das hakelt aktuell noch ein wenig, aber ich bin sehr zuversichtlich das wird funktionieren und ist tatsächlich zeitkritisch. Betriebssystem ist auch hier windows...

Dennoch würde ich vermutlich rein aus spaß an der elektronik einen µC für Low Level funktionen verwenden und für Bildverarbeitung auf den PC zurückzugreifen. OpenCV eignet sich hierzu sehr gut

Viel Spaß und Erfolg beim Projekt!!

Viele Grüße,

Tim

filth
24.08.2010, 21:22
Hallo Tim,

ich bin auch gespannt, was es wird.
OpenCV ist mir ein Begriff, es gibt sogar eine Portierung für Java.

Die gesamte Programmierung macht mir nicht so viele Sorgen, da bin ich fit. Viel mehr Angst hab ich vor dem mechanischen Teil, wie beispielsweise die Aufhängung der Motoren und Räder.

Grüße
Alex

nero123
24.08.2010, 21:32
Dann musst du dir das Gerät halt bauen lassen.Reifengrösse 320 Durchmesser.Motor 2Nm ,Untersetzung 1:4 +1:4 .Der bleibt nicht stehen,wenn er gegen eine Wand fährt drehen die Räder durch.
MfG
nero

arnoa
31.10.2011, 11:43
Hallo Alex!

Hast Du mit Deinem Bot weitergemacht?
Ich bin auch nicht der Bastler - hab aber meinen Bot rel. gut hinbekommen. Hier meine Bauteilliste falls es Dich interessiert:
2 x 22cmLufträder
2 x Getriebemotor (Pollin ARM922696716_03)
4 x Aluminium Lagerböcke
4 x Kugellager
2 x Kupplungen
2 x Gewindestangen (Achsen)
... Bilder und Beschreibungen auch unter http://www.aurob.com (derzeit nicth ganz aktuell, sollte aber in den nächsten Tagen dazu kommen ;))

Programmiere m. VC++ in Verbindung mit OpenCV - hier würde mich auch sehr interessieren wie bzw. was andere Bot´ler so machen?!

LG, Arno

Richard
31.10.2011, 17:17
Hallo
ich hab meinen mit Schrittmotoren am laufen.Hatte mir auch alle möglichen Boards von robotikharware gekauft (Lieferzeit immer Ca.3Wochen)und die Dinger zusammengelötet.Dann hat nichts richtig funktioniert.Bausteine usw.defekt,keinen Support von der Firma.------------


Hmmm, ich habe auch einiges von den Laden, allerdings als Fertigteile da ich nich mehr so gut Sehen kann um sauber und schnell zu Löten. Alles funktioniert wunderbar???? Kann es möglich sein das Du beim basteln einige Bauteile geschreddert hast? Sehr oft sitzt das Problem VOR nicht IN der Schaltung. :-) Der nicht vorhandene Support ist allerdings wirklich ärgerlich und dürfte auf Personal knappheit 1 Mann Betrieb (? ) beruhen.... ABER dafür sind die Anleitungen mehr als gut und reichen (wenn man dieselben VOR den Basteln ) liest durchaus aus. :-)

Gruß Richard

arnoa
09.11.2011, 11:35
Hallo Nero!

Hast Du mehr Fotos von dem Aufbau? Welches Gewicht kann getragen werden?

Danke, Arno