PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .:APP - mein neuer Roboter:. (Frage zur Akkuwahl)



wisda.noobie
07.11.2010, 14:47
Momentan baue ich einen neuen Roboter, und zwar eine große Version von diesem hier (https://www.roboternetz.de/phpBB2/viewtopic.php?t=51452)

Verwendet werden nun statt langsamen Servos Schrittmotoren.


Ein paar Technische Daten:

Gewicht: momentan ca. 2,5Kg

Raddurchmesser: 12cm

angestrebte Geschwindigkeit: 1m/s

Länge:21cm

Breite:17cm

Höhe:14cm

Stromversorgung: LiPo Akkus

Hauptcontroller: Atmega 128

Material Chassis: Aluminium, 1,5mm


geplante Aufgaben:

-Kartierung der Umgebung

-Vernünftige Regelung der Motorgeschwindigkeit, erkennung von Schrittverlusten durch einen Maussensor und Drehencoder

-Linienverfolgung

-Kommunikation mit einem PC per Bluetoot, dazu eine "Steuerstandssoftware"

-Erkennung von bestimmten Formen und Farben


Wie ich die jeweiligen Aufgaben umsetzen werde, wird sich im Laufe der Zeit zeigen.






Aktueller Stand:
http://wisda.wi.funpic.de/APP1.jpg

http://wisda.wi.funpic.de/APP2.jpg



Schaltpläne gibt es bis jetzt auch ein paar.

Schaltplan vom Anzeigemodul (http://wisda.wi.funpic.de/PDF/Anzeigemodul.pdf)

Schaltplan des Liniensensors (http://wisda.wi.funpic.de/PDF/Linieneinheit.pdf)

Schaltplan der Motorsteuerung (http://wisda.wi.funpic.de/PDF/Motorsteuerung.pdf)

Die "Leistungselektronik" für die Motoren ist nicht im Schaltplan, da ich hier schon fertige Steuerungskarten habe.

Alle Module werden per I²C mit dem Master (Atmega 128) kommunizieren.



ich würde mich sehr über Fragen, Anmerkungen, Kritik usw freuen...

Martinius11
07.11.2010, 20:53
ich rate dir für eine genaue Kartierung ein Kompass modul einzubauen.
den ich bezweifle das die Schrittmotoren so genau sind.

Bin schon gespannt auf die Bluetooht komunikation.

wisda.noobie
08.11.2010, 19:04
guter tipp mit dem Kompass, schreibe ich auf meine liste...
die Bluetooth Verbindung, ja da bin ich auch gespannt... eigentlich bin ich von funk nicht so wirklich angetan, da man da nicht "mal eben" was nachmessen kann, aber was sollst... man braucht ja auch herrausforderungen und ausserdem kann man mit bluetooth echt coole Dinge machen... ;-)

Coleone
08.11.2010, 19:54
Ich werde für mein projekt auch irgendwann Kompass und sogar GPS verwenden, aber bis dahin ist es noch ein sehr weiter weg. Meine Fernsteuerrung wird auch erstmal Kabelgebunden sein, Bluetooth wird für meine Zwecke eine zu geringe Reichweite haben.
Bisher sieht deine Konstruktion auch ziemlich stabil aus.

wisda.noobie
14.11.2010, 12:36
So, hier noch mal ein bild aus der Planung mit Google Sketchup...

http://wisda.wi.funpic.de/Bilder/gesamt2.jpg

Die erste Platine (Linienerkennung) (http://wisda.wi.funpic.de/PDF/Linieneinheit.pdf) ist auch schon in Arbeit

Martinius11
14.11.2010, 14:22
nimmst du für die Lienenfolge Reflexkopler oder wie wärs mit ner Kammera ?
Ich hab das mal für den RP6 gemacht.

wisda.noobie
14.11.2010, 14:31
momentan sind noch reflexkoppler eingeplant... eine kamera wäre für den atmega zu viel berechnungsaufwand, da bräuchte ich noch einen rechner. ausserdem wird das nicht so einfach zu programmieren sein... das mit der kamera werde ich auf jeden fall mal testen, aber da ich noch nicht so der beste im programmieren bin, werde ich mich erstmal langsam herantasten.

mfg wisda.noobie

wisda.noobie
05.12.2010, 19:52
So, es gibt Neuigkeiten. Die Schrittmotor drehen sich, und zwar mit einer wirklich guten Geschwindigkeit und Kraft. Noch besteht die Steuerungslogik aus einem Haufen Krokoklemmen und zweckentfremdeten Platinen, mit der Richtigen Steuerungslogik habe ich aber schon angefangen. Jetzt Stellt sich mir nur eine Frage: Wenn ich 2 Timer eines Atmega8 im CTC-Modus betreiben will, kann ich ja nur Timer 1 und 2 verwenden. Sind die Timer Portgebunden oder kann ich die Frei auf irgendwelche Ports legen?
Meinem Verständnis nach ist das egal, aber ich wollte lieber nochmal sicher gehen...

mfg wisda.noobie

daniel.weber
28.12.2010, 23:51
Hallo Wisda,

schönes Projekt, das hat mich dazu animiert bei meinem Projekt auch Schrittmotoren zu verwenden.

Bei deiner Beschreibung hast du erwähnt, dass du Drehgeber benutzen willst, hast du dir schon Gedanken gemacht wie du diese bei deinem Roboter anbringen willst? Außerdem hast du vor Maussensoren zu benutzen? Denkst du dabei an Sensoren aus einer optischen Maus?

Zu deiner Frage:
Du könntest mit den beiden Timern eine Interrupt Routine schreiben, die dann deine Ports so schaltet wie du das vor hast. Wenn du die Timer bspw. als Hardware-PWM nutzen willst, dann kannst du das nur an den dafür vorgesehenen Ports. (siehe Datenblatt)

wisda.noobie
29.12.2010, 15:31
wie ich die Drehgeber montiere weis ich noch nicht, wascheinlich drucke ich die auf Folie aus, bastel mir eine Alu-Scheibe in der Größe des rades und befestige die direkt am rad. Am liebsten wäre es mir gewesen, wenn ich schrittmotoren mit 2 Wellenenden gehabt hätte, aber die sind leider ziemlich teuer...

der Sensor soll in der Tat ein Optischer Maussensor sein, der über die PS/2 Schnittstelle abgefragt wird.

Danke für die Antwort mit den Timern. Das hilft mir sehr weiter.


mfg wisda.noobie

daniel.weber
30.12.2010, 00:24
Da kann ich dir nur zustimmen, Schrittmotoren mit zwei Enden wären die bessere Möglichkeit aber ich habe da auch auf Anhieb keine gefunden. Die Sache ist ja die, du musst ja nicht nur die Scheibe befestigen, sondern auch die Ausleseelektronik.

Zu den Maussensoren, wir nutzen die derzeit erfolgreich bei einem Projekt an der Uni, wir messen damit die Verschiebung. Das Problem bei den Mäusen ist, dass die Optik für eine Nahaufnahme ausgelegt ist, wenn man diese nun mehrere cm über den Boden einsetzen will, muss man eine eigene Optik vor den Sensor bauen.
Nun kann man die Bilder der Mäuse nicht direkt auslesen, ein scharfstellen der Optik ist also nicht möglich. Es gibt da scheinbar nur einige Maussensoren bei denen man das Bild auslesen kann.

Wie du siehst, das mit den Maussensoren ist nicht ganz so einfach, wenn du da eine Möglichkeit findest, dann immer her damit :)

wisda.noobie
30.12.2010, 09:28
über die befestigung des sensors hab ich mir noch nicht so viele Gedanken gemacht, aber ich habe über den Schrittmotoren noch eine Alu-Lasche frei gelassen, da kann ich im zweifelsfall ein viereckiges Loch hineinfeilen und den Sensor einpressen/kleben

den Maussensor wollte ich vorerst in seiner "natürlichen Umgebung" also in der Maus belassen, und über den Boden schleifen lassen...sicherlich nicht ideal, aber vorerst sollte es reichen. Später werde ich schauen, ob ich nicht einen sensor bekomme, aus dem man das Bild auslesen kann... ich meine mal gelesen zu haben, dass es da einige Mäuse von Logitech gibt, muss noch mal nachschauen.

PS: meine Maus funktioniert bis 4mm Abstand, es wäre also möglich, zumindest den sensor um 4mm anzuheben, damit man wenigstens ein bisschen Bodenfreiheit hat... wirklich eine gute Lösung ist das nicht, da es dann ungenauer wird, und 4mm sind auch noch zu wenig, aber immerhin...

mfg wisda.noobie

RP6conrad
02.01.2011, 21:11
Ich dachte das die Schrittmotoren keine Drehgeber benotigen. Die mussen doch immer genau die Schritte fahren, die du ansteuert. Warum den Drehgeber einbauen ?

wisda.noobie
02.01.2011, 21:20
weil schrittmotoren bei großer belastung schritte verlieren können,zum Beispiel wenn man über eine Schwelle fährt. Um so etwas zu überwachen baue ich Drehgeber ein...

wfg wisda.noobie

wisda.noobie
16.01.2011, 18:51
So, es geht weiter.

Die Taster sollen dieses Mal kollisionen auf der vollen Breite des Roboters wahrnehmen, das war eine Sache, die bei der alten Version definitiv negativ aufgefallen ist.
http://wisda.wi.funpic.de/Bilder/taster.jpg

Ich hoffe mal, dass das Problem der schlechten Kollisionserkennung hierduchr recht weit gelöst wird...

Ausserdem ist die ansteuerungslogik der Motortreiber fertig, nachdem mir mein kaputtes netzteil 3 atmegas zerschossen hatte... :evil:

Noch kämpfe ich mit der software, wenn ich damit fertig bin, gibt es ein erstes Video...


mfg wisda.noobie

wisda.noobie
19.01.2011, 13:07
Hallo, ich bräuchte mal Hilfe von jemandem, der Sich mit Modellbauakkus auskennt.

Kann ich die Zellenspannungen von den Balancer-Anschlüssen auslesen?
Wenn ja, in welcher Form? geht einfach jeder Anschluss zu einer Zelle?

Der Hintergund ist, dass ich LiPo Akus verwenden will, da diese inzwischen Problemlos aus China für schmales Geld bezogen werden können und eine hohe Kapazität bei niedrigem Gewicht erreichen... Warscheinlich werde ich 2 4-Zellen Akkus in Reihe schalten, ein Bleigelakku würde für die Spannung und Kapazität sicherlich das doppelte wiegen.

Vielleicht kann mir ja jemand kurz sagen, wie man diese Balanceranschlüsse ausliest, ich will nicht, dass der Akku durch Tiefentladung o.Ä zerstört wird.

RAM
19.01.2011, 17:42
Hi wisda.noobie,

die Balancer-Anschlüsse eines Lipos sind einfach auszuwerten. Die Anschlüsse des Balancer-Steckers werden am Akku zwischen den Zellen abgegriffen und an ihnen liegt, je nach Ladezustand deines Akkus, eine Spannung zwischen 3,3 V (alles darunter ist tödlich für die Akkuzelle) und 4,2 V (bei voll geladenem Akku). Die Spannung kannst du einfach mit einem ADC-Port auswerten. Unter http://www.velomobilforum.de/forum/imgcache/5157.png siehst du, wie die Balancer-Kabel am Akku angeschlossen sind.

Gruß,

Martin

wisda.noobie
06.02.2011, 14:20
Es geht wieder weiter. Die Motorelektronik ist monitert.
http://wisda.wi.funpic.de/DSCN6719kl.jpg

Jetzt wollte ich die steuerung dafür programmieren, musste aber merken, dass mein System mein pollin board nicht mehr richtig ansprechen will (habe auf Win7 gewechselt) Anscheinend wird ein AVRISP MKII fällig, aber 40€ ist nicht gerade wenig...

Daraufhin habe ich mir überlegt, ob ich diese ganzen Aufgaben nicht auch von einem einzigen Atmega 2560 bewältigen lassen könnte. Da würde ich mir einfach ein Arduino board besorgen, welches ich dann über USB programmieren könnte...

Was meint ihr, schafft ein einzelner Atmega das? Was gäbe es für Alternativen?
Das Arduino System gefällt mir eigentlich, weil man als Anfänger nicht gleich in den untersten registern rumbasteln muss, sondern erstmal ein paar Grundfunktionen hat, die man verwenden kann...

mfg Wisda.noobie

TobiKa
06.02.2011, 14:24
Das sollte auch ein einziger schaffen. Was so ein µC alles schafft, hängt aber stark von deinen Fähigkeiten als programmieren ab!

Wenn du schon in Richtung Arduino schaust, wie wärs mit nem Netduino?!

wisda.noobie
01.09.2011, 15:45
So, es ging ein bisschen weiter. Die Ansteuerung der Schrittmotoren per Arduino klappt schonmal, allerdings nicht mit beiden Motoren gleichzeitig. kann es sein, dass sich die Interrupts der Timer (ich benutze 2 timer, einen pro motor) gegenseitig blockieren? Gibt es da möglichkeiten sowas zu umgehen oder muss ich die Schrittmotorgeschichte auf einen Extra mikrocontroller auslagern?

Richard
01.09.2011, 18:24
über die befestigung des sensors hab ich mir noch nicht so viele Gedanken gemacht, aber ich habe über den Schrittmotoren noch eine Alu-Lasche frei gelassen, da kann ich im zweifelsfall ein viereckiges Loch hineinfeilen und den Sensor einpressen/kleben den Maussensor wollte ich vorerst in seiner "natürlichen Umgebung" also in der Maus belassen, und über den Boden schleifen lassen...sicherlich nicht ideal, aber vorerst sollte es reichen. Später werde ich schauen, ob ich nicht einen sensor bekomme, aus dem man das Bild auslesen kann... ich meine mal gelesen zu haben, dass es da einige Mäuse von Logitech gibt, muss noch mal nachschauen. PS: meine Maus funktioniert bis 4mm Abstand, es wäre also möglich, zumindest den sensor um 4mm anzuheben, damit man wenigstens ein bisschen Bodenfreiheit hat... wirklich eine gute Lösung ist das nicht, da es dann ungenauer wird, und 4mm sind auch noch zu wenig, aber immerhin... mfg wisda.noobie



Suche einmal im Netz nach dem C`t Bot, der hatte so einem Mouse Sensor und es gab auch ein Programm um die Schärfe mittels Testbild zu überprüfen. So weit mir bekannt kann man diese Programm auch bei "Heise" Downladen.Hie im RN hat jemand bis zu 4 cm erreicht (Suchfunktion bemühen). :-)



Gruß Richard

seite5
01.09.2011, 18:54
Hallo,
- Drehencoder: ich benutze in einem Projekt die magnetischen Drehencoder von Austriamicrosystems bestehend aus Magnet und Chip, den Magnet kann man auch auf das
"verborgene" Ende des Schrittmotors kleben, 1mm darüber die Leterplatte mit dem Chip, 1024 steps/U, funktioniert recht gut und ist zudem sehr platzsparend.
- Maussensor: Habe auch mal versucht, damit Weg und Winkel zu verfolgen. Der von mir verwendete Sensor (Agilent, kostenlose Muster mit Mechanik, IR-Sender, Linsen ...)
hatte eine Auflösung von 18x18 Pixeln, das Bild konnte per Befehl ausgelesen werden. Hat sich aber herausgestellt, das die Fehler bei der internen Bildverarbeitung
sich so aufsummieren, dass nach kurzer Wegstrecke der Fehler in Position und Winkel nicht mehr akzeptabel waren. Offenbar verlässt man sich bei der Konzeption dieser
Sensoren darauf, dass diese Fehler bei einer Maus keine Rolle spielen, da immer eine Korrektur via Hand-Maus-Bildschirm-Auge erfolgt.
mfg
Achim

radbruch
01.09.2011, 19:10
Zum Maussensor:

...dass die Fehler bei der internen Bildverarbeitung sich so aufsummieren, dass nach kurzer Wegstrecke die Fehler in Position und Winkel nicht mehr akzeptabel waren.Zum selben Ergebniss bin ich bei meinen Versuchen mit einem optischen Maussensor auch gekommen:
https://www.roboternetz.de/community/threads/40508-Maussensor-an-RP6?p=386928&viewfull=1#post386928

seite5
01.09.2011, 20:37
hallo,
ein Beispiel für den magnetischen Drehencoder im rp5:
19851
mfg
achim