PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tiny - mein neuer Roboter



Omnikron
16.10.2007, 15:57
so möchte euch heute mal meinen neuen Roboter vorstellen. Auch wenn er nicht danach ausschaut bezeichne ich ihn zZ noch als "Tiny", da mein voheriger Roboter mehr als doppelt so groß war.

Nun zum Tiny:
Endlich ist die Mechanik fertig, und die Elektronik ist im Beta Stadium angekommen. Nun fehlt also nur noch die Software, um richtig loszulegen! Aber genau diese bereitet mir zuweilen noch Schwierigkeiten. Den ATmega16 programmiere ich mit WinAVR in C.

In einem ersten Versuch möchte ich den Roboter über die RS232 vom PC aus fernsteuern. Sobald aber der Motortreiber (ein L297) die beiden Motoren anspricht funktioniert der UART nicht mehr richtig! es werden keine Kommandos mehr korrekt empfangen und daher auch nicht ausgeführt.

Die Motoren sind durch einen Software-PID via PWM geregelt. Evtl veruschacht dieser Vorgang Störimpulse die sich bis zur Schnittstelle ausbreiten. Meine Fehlersuche werde ich daher hier beginnen.


Noch ein paar Details:
7x GP2D12
2x Radencoder
2*5 Lion Akkus (7,4V 1,1Ah ->14,8v 5,5Ah)
Netzteil mit Unterspannungsschutz für die Akkus
868Mhz RS232 Anbindung

Fragen beantworte ich natürlich gerne, aber auch Kritik und evtl Lösungsvorschläge für mein o.g. Problem wären super.

beste Grüße
omnikron

HannoHupmann
16.10.2007, 16:43
Schaut wirklich ordentlich aus.

Mich würde deine Akkuversorgung genauer interessierne, sprich was für Akkus das genau sind (Lipo ist klar) was die Kosten (woher?) und das Gewicht von einer Zelle.

Jon
16.10.2007, 16:46
Hi,
sieht sehr gut aus!
Mich würde noch interessieren, wie schwer der ist, und wie dass mit dem Griff ist. Rutschen die Räder nicht etwas sehr auf glatten Böden??

jon

Omnikron
16.10.2007, 17:09
@HannoHupmann
Die akkus gab es bis vor kurzem bei Pollin. Für 2,75€ gabs 7,2V und 1100mAh. In den blauen Schrumpfschläuchen sind zwei Li-Ion Zellen und ein Balancer untergebracht. Das gabs schon fertig! Hab nun zweimal 5 dieser Akkus parallel auf einer kleinen Platine verbunden. und diese beiden Pakete sind dann in Reihe geschaltet. Habe also insgesamt 14,2V und über 5Ah!

Ein Akku mit Stecker wiegt 85g.
Achso, es sind Lithium Ionen Akkus, also keine Lipos.

@Jon
den Roboter habe ich noch nicht gewogen. Ich schätze aber schon, dass er über 5 kg wiegt. bis jetzt gab es noch keine Probleme mit rutschenden Rädern, aber ich bin auch noch nicht viel damit rumgefahren. Ich werde mal darauf Achten und dann evtl. darüber berichten.

Oliver

Jon
16.10.2007, 17:15
Hab noch etwas vergessen: Wie groß ist der Bot (Abmessungen)?

jon

p_mork
16.10.2007, 17:16
Hallo Omnikron,

Dein Roboter sieht ziehmlich gelungen aus, besonders die Mechanik!

Zu deinem Problem: Eine nähere Beschreibung der Schaltung und der Software wäre etwas sinvoll.

MfG Mark

Lunarman
16.10.2007, 18:06
Da die Schaltung selbstgelötet aussieht, könnte es natürlich sein, dass du ne Brücke hast... versuch doch mal ob das Problem auch auftritt wenn due die Motoren abklemmst, den ganzen Motortreiberchip aber noch dranlässt. Wenns dann funzt muss ich ja wohl nicht sagen wo das Problem liegt :D
Wenn du die PWM über nen Kabel leitest kannst auch mal versuchen obs was bringt das abzuschirmen (soweit ich weiß muss die Abschirmung dann aber an Masse angeschlossen werden :-k )

Sieht übrigens gut aus der Bot, saube verarbeitet... höchstens das Blech KÖNNTE man polieren, da es zerkratzt ist, muss man aber nicht, ist ja nicht ganz so wichtig.

Omnikron
16.10.2007, 18:12
Hi
Also zu den Abmessungen habe ich grad mal was gebastelt (das pdf Dokument). Die größe ist also 340x280x110 Die Räder haben einen Durchmesser von 10cm.

Du hast recht p_mork. Für eine Problemlösung braucht man mehr infos.
Ich suche gleich mal die Eagle Dateien raus.

mir ist gerad noch ein Problem aufgefallen. Die Versorgungsspannung auf der hauptplatine fängt nach kurzer Zeit an zu schwingen. Das kann nichts gutes bedeuten. Das ist mir voher nie aufgefallen. ich geh jetzt noch mal was messen...


omnikron

Omnikron
16.10.2007, 18:20
@Lunarmann
Der wird doch noch gesandstrahlt und evtl. dunkelblau eloxiert. Dann ist doch optisch alles i.O. :-)

Apropos:
die Versorgunsspannung ozilliert ständig, auch wenn die Motoren gar nicht laufen. Ich befürchte, dass ich unwissend einen kleinen Schwingkreis in meiner Schaltung habe.


Hier zwei Schaltungen:
maincontroller
Platine mit Netzteil und Unterspannungsschutz


omnikron

µautonom
16.10.2007, 18:48
Hi omnikron! erstmal ein schönes Projekt.

Kann dein Tiny auch wenden?

Du erfasst die Umdrehung der Räder mit einer "IR Lichtschranke" pro Rad? Ist das ein komplettes Bauteil also nicht einzeln aufgebaut mit IR-Diod eund "Empfänger"?

Mfg

Omnikron
16.10.2007, 19:02
@all - vielen Dank für das große Lob!


ICh verwende zwei Motoren die über einen Riemen jeweils zwei Ränder antreiben. Für jeden Motor benutze ich einen Radencoder von Sharp. Die gibts auch auf robotikhardware.de . Das Ding sieht aus wie eine Gabellichtschranke (ist im Prinzip ja auch eine).

Der Roboter kann sich auch auf der Stelle drehen. Dafür müssen halt die beiden Seiten in verschiedene Richtungen Drehen. Leider funktionert dass nicht ganz so gut, wie man es scih in der Theorie vortsellt. Der Vorgang verbraucht unglaublich viel Leistung (-> hohe Ströme)


grüße
omnikron

Omnikron
16.10.2007, 22:21
oben habe ich von einer Schwingung der Versorgungsspannung gesprochen. Zuerst hatte ich ja die Induktivtät am Versorgungseingang in Verdacht. Das hat sich aber nicht bestätigt, da sich das Problem nicht durch eine Überbrückung der Spule vermindern ließ. Statt dessen hat sich herausgestellt, dass die Sharpsensoren das Spannungsnieveau stört. Tatsächlich lässt isch die Schwingung ohne angeschlossene Sensoren nicht beobachten! Jetzt stellt sich natürlich die Frage was ich hier falsch gemacht habe.

omnikron

Jon
17.10.2007, 08:48
Hi!
Hänge mal vor jeden Sharp Sensor folgende Kondensatoren in einer maximalen Entfernung von 3cm:
1x 100µF Elko
1x 10µF Tantal
1x 100nF Keramik

Du hast wahrscheinlich nichts falsch gemacht. Es ist bei den sharp Sensoren bekannt, dass es zu Spannungseinbrüchen kommen, wenn man die angeschlossen hat. Mit den oben genannten Kondensatoren kann man diese einbrüche überbrücken.

Versuche das mal. Ich denke, das hilft.

Viele Grüße,
jon

HannoHupmann
17.10.2007, 09:47
@Omnikron wundert mich nicht, dass dein Roboter soviel strohm beim drehen braucht. 4 Räder sind nicht dafür gedacht eine Lenkung nach dem Prinzip Panzer auszuführen. Der dreht sich nämlich genau in der Mitte und alles weiter draussen erzeugt beim drehen Querreibung. Ein Drehpunkt in der Mitte geht bei dir nicht, da dort keine Auflagefläche ist und dein Roboter die gesamte Haftreibung der Räder überwinden muss.
Könnte (!) sein, dass ein drittes Rad in der Mitte eine Verbesserung bewirkt (6 Räder also).

@Jon wo willst die Kondensatoren reinhängen? Zwischen GND und V+ oder zwischen GND und Daten?

Jon
17.10.2007, 10:43
Die Kondensatoren zw. GND und VCC.

jon

Murdoc_mm
17.10.2007, 12:12
Hi,

schöner Bot das muss man sagen.

Mal ne andere Frage: Was soll den der Bot später mal machen? Fernsteuern lassen und ? (Karten erstellen, durch Labyrinte fahren fällt mir als erstes ein wenn ich die ganzen Sensoren sehe)

Gruß

Reeper
17.10.2007, 12:35
Der Bot ist sauber verarbeitet und sieht wirklich interessant aus !

Bei der Fehlersuche alles nacheinander abhängen und ausschließen. Wenn es an den Sharp's liegt (siehe Jon), dann ist ja der Fehler schon gefunden.

Das mit der Kraft kann wirklich schon ein Problem werden. Mein Offroader musste mit min. 4 Motoren ausgestattet sein.
Eine Verbesserung der Dreheigenschaften kannst du mit PWM erreichen. Also die eine Seite während der Fahrt herunterregeln und wenn nötig in die andere Richtung (Motoren in entgegengesetzter Richtung drehen lassen) den PWM Wert erhöhen. Klappt bei mir super, der Bot braucht weniger Kraft (da ja in Bewegung gedreht) und man kann Kurven nach belieben nehmen (geschmeidige Kurvenfahrt).

Gruß Stefan

Omnikron
17.10.2007, 13:13
Hallo

Die Sharpsensoren verursachen tatsächlich das Problem! Der Roboter lässt sich ohne angeschlossene Sensoren so fernsteuern wie ich es mir vorgestellt habe. Damit ist also der erste Schritt erledigt.


Wie kann ich nun die Sensoren enstören? Eine Kapazität parallel zur Versorgung am Sharp klingt vielversprechend. Hatt dass den einen Sinn die 3 Kondensatoren gleichzeitig zu verwenden? Addieren sich nciht einfach die Kapazitäten und am Ende habe ich einen 110,1µF Kondensator gebastelt?


Das drehen auf der Stelle klappt im Moment wunderbar. Auf Korkboden und in der Küche auf Fließen. Mal beobachten was passiert wenn die Akkus sich langsam entleeren.
Wie kann denn ein drittes Rad sinnvoll sein? Damit vergrößere ich doch nur die Bodenfläche und damit die Reibung. Oder sehe ich das falsch?


Achso. Der Roboter soll, wenn er mal fertig ist, eine möglichst genaue Karte von seiner Umgebung erstellen. Außerdem gezielt Koordinaten (kein GPS sondern aus dem Kartenmaterial) anfahren könne. Aber das dauert noch etwas (hoffentlich - sonst muss ich mir nen noch nen dritten Bot bauen :-) )

Oliver

Jon
17.10.2007, 13:33
Wie kann ich nun die Sensoren enstören? Eine Kapazität parallel zur Versorgung am Sharp klingt vielversprechend. Hatt dass den einen Sinn die 3 Kondensatoren gleichzeitig zu verwenden? Addieren sich nciht einfach die Kapazitäten und am Ende habe ich einen 110,1µF Kondensator gebastelt?
Eine kleine Erklärung dazu mit schönen Bildern gibt es hier (http://www.segor.de/L1Bausaetze/gp2d12.shtml).
Den 100µF Kondensator füge ich immer noch hinzu, da ich mit dem eine Sicherheit von 99% erreichen konnte. Ohne den gab es ganz selten Probleme.

jon

P.S.: Es handelt sich nicht um Spannungseinbrüche, sondern um Spikes. Da habe ich mich vertan. :oops:

Omnikron
17.10.2007, 14:39
so hab jetzt mal ein Bild gemacht. Nur ein Sharp, aber ohne Kondensator wie Jon ihn vorgeschlagen hat.

es sind also keine spikes die mir sorgen machen. schaut aus wie ein eine Ladekurve eines Kondensators. vielleicht kann ich später einmal die Kapazität bestimmen - hab jetzt leider keine zeit dafür - mus wech ...


ach so: das ist nur der AC anteil der 5V Versorgung

omnikron

HannoHupmann
17.10.2007, 15:37
Bei drei Rädern erhöht sich zwar die Gesamtreibung aber nicht bei Drehungen.

Mal es dir mal auf und zeichne dir die Kräfte die auf die Räder wirken ein, dann wirst du schnell erkennen warum das so ist.

recycle
17.10.2007, 19:36
Bei drei Rädern erhöht sich zwar die Gesamtreibung aber nicht bei Drehungen.

Eine 3 Achse in der Mitte, andert aber doch nichts daran, dass die vorderen und hinteren Räder bei der Drehung quer zur Fahrtrichtung rutschen müssen.

Mag ja sein, dass die Drehung dann etwas sauberer funktioniert, weil die Räder der Mitte selber nicht rutschen müssen und die Kraft daher besser auf die Strasse bringen.
Das dürfte aber eigentlich nicht viel dran ändern, dass für die Drehung viel Kraft und somit hohe Ströme erforderlich sind.

So wie es aussieht, hat Omnikron ne Menge Geld und Arbeit in das Fahrgestell gesteckt.
Wenn da jetzt eine zusätzliche Antriebsachse in die Mitte soll, kann er fast von vorne anfangen.
Das fände ich ja schon sehr schade, vor allem falls es dann mit 3 Achsen doch nur unwesentlich besser funktioniert.

sigo
17.10.2007, 20:48
Eine Alternative für leichtere Kurvenfahrt wären Räder mit weniger Haftung.

Die Skaterrollen haben ja so ziemlich die max. mögliche Haftung.
Aber da prinzipbedingt immer ein Rutschen im Spiel ist, wird es mit der Odometrie sicher schwer / ungenau.

Sigo

Omnikron
18.10.2007, 06:31
Im moment funktionert das drehen auf eigener Stelle ja noch. Also bin ich erstmal zufrieden. Vor ein paar Monaten als die Elektronik noch nicht fertig war habe ich mit einem dicken Bleiakku als Stromversorgung versucht, den Roboter um seine Achse drehen zu lassen. - Leider ohne Erfollg! Der Bleiakku war viel zu schwer und so konnte der Roboter unter diesem Gewicht kaum noch manövrieren. Daher bin ich jetzt schon froh das das Fahrgestell keine Fehlkonstruktion ist.

Fehler in der Odometrie möchte ich später mit einem optischen Mausssenor unter dem Roboter kompensieren. Im moment nutze ich die Radencoder sowie so nur um die Geschwindigkeit der Motoren zu messen.

Ich hatte mir schon überlegt die Räder auf der Achse möglichst weit außen zu montieren (evtl. müssen die achsen dann verlängert werdern) um ein höheres Drehmoment zu erzielen. Dann dürften Kurven ebenfalls leichter fallen

omnikron

Reeper
18.10.2007, 17:34
Wie meinst du denn das mit der Achsverlängerung genau?
Wenn du dein Drehmoment erhöhen willst, kannst du Räder mit kleinerem Durchmesser, einen enstsprechend stärkeren Motor oder eine andere Getriebeübersetzung probieren.

Mit dieser Konstruktion kann der Bot doch sicher auch etwas unebenere Gelände befahren?
Wenn ja und du es auch willst, ist die Kartenerstellung natürlich noch schwieriger...

Der Bot gefällt mir echt gut, mag Bots mit 4-6 Rädern (oder Ketten) am meisten ;-)

Gruß
Stefan

Omnikron
22.10.2007, 12:22
So das we ist vorbei und ich bin wieder zurück.

Ich meine nicht das Drehmoment parallel zur Radachse. Außerdem musste ich dann doch räder mit größerem Durchmesser verwenden oder etwa nicht?


Wenn der Bot auf der Stelle dreht, um kurven zu fahren, dann wird ein Drehmoment senkrecht zum Boden umgesetzt. Und genau dieses Drehmoent kann ich verstärken wenn sich die Räder weiter außen befinden. Außerdem sind dann die Scherkräfte an den Rädern geringer, da die Krümmung des "Wendekreises" außen geringer ist.

Was haltet ihr davon?

omnikron

Murdoc_mm
22.10.2007, 14:20
Hi,

klingt logisch :-s

Man könnte auch mit der goldenen Regel der Machanik begründen. Wenn das gleiche Drehmoment bei einem größeren Hebel angesetzt wird ist die Gesamtkraft größer. Allerdings erkaufst du dir das eben mit mehr Weg oder geringerer Drehgeschwindigkeit.

Gruß

Omnikron
02.11.2007, 19:30
Hallo!


Problem Spannungseinbruch gelöst!


Hab nun etwas Zeit gefunden und mich noch mal um meinen roboter gekümmert. Hab nun das Spannungsproblem gelöst. Es handelte sich dabei um deutliche Einbrüche der Versorgungspannung. Verursacht wurden diese durch Sharp Sensoren (siehe erste Seite).

Erste Versuche die Störungen durch kleine Kapazitäten am Sharp zu eliminieren scheiterten leider. hm...

Nun meine Lösung:
Die Sharp Sensoren werden nun durch eine eigene Stromleitung versorgt. Diese ist vor dem Filter auf Controllerboard angeschlossen.
- Fertig, keine Probleme merh! -

Auf dem Controllerboard sitzt ein Filter (mit R, C und L - siehe eagle datei) der ursprünglich geplant war Störungen der beiden Motoren zu unterdrücken. Wie sich herausstellt ist dieser nicht für die periodische Last der Sharps geeignet. Folglich fing dieser an zu schwingen und verstärkte das eigentliche Problem.


Grüße
Omnikron

HannoHupmann
02.11.2007, 21:39
@recycle das kann passieren, dass man sich bei der Planung seines Antriebskonzepts vertut. Das ist mir auch schon passiert bei meinem Shadow und da liegt Material im Wert von 500€ betragen.

Vorteil von der Mittelachse ist es eben, dass diese volle Reibung bekommt und daher sauber drehen kann und die volle Kraft überträgt und damit die anderen beiden Räder kraftmässig entlastet.

Ich bin jedoch schon lange kein Fan mehr von der 4 Rad Lösung ohne Lenkung, da sie einfach immer sau uneffektiv ist. Gerade bei Robotern wo es doch auf die effiziente Nutzung der Antriebskraft und mitgeführten Energie geht.

Selbst Panzerketten sind eigentlich ungeeignet für Roboter ausser die sind so gross dass sie ihren Vorteil ausspielen können.