Einleitung
zurück zum Index
Dieser Roboter war ein Zufallsfund bei ebay. Er gehört in den Bereich Unterhaltungselektronik... brauch man also nicht, ist aber auch nicht schlecht ihn zu haben.
Ursprünglich sind die Dinger dazu gedacht, ein paar einprogrammierte Kunststückchen vorzuführen.
Umbaustufen
zurück zum Index
Bild auf dem Koffer
Auflösung: 800x600
in der mein Roboter geliefert wurde. Da ich es versäumt habe, ein paar Bilder vom Anfang zu behalten, gibt es einfach ein Foto vom Seitenbild des Koffers...
Leider musste ich nachdem auspacken feststellen, dass der linke Arm frei drehte (Defekter Servo Nr.1).
Aber der Robo war sowieso gebraucht und eine Funktionsgarantie gab es auch nicht.
Eine der ersten Änderungen war es, den Kopfservo gegen den Schulterservo zu tauschen. Leider stellte sich nach dem verbinden mit einer geregelten Spannungsquelle heraus, dass auch der Servocontroller nicht so richtig Funktionieren wollte.
Er ließ nach dem Einschalten nur auf einer Seite in schätzungsweise sekündlichem Tankt die Servos einer Seite zucken.
Der Roboter wurde allerdings ohne Software (welche sowieso nur chinesisch war) und ohne Datenkabel geliefert. Ich hatte daher sowieso vor, den Controller zu entfernen und einen anderen ein zu setzen.
meine Wahl fiel auf den Lynxmotion SSC-32 Servo Controller. Der hat Platz für 32 Servos und ist über die serielle Schnittstelle ansteuerbar. Zur Ansteuerung werden sehr einfache Befehle gesendet.
Beispiel: #1P500#2P2500#3P1500<ENTER>
Reaktion:
- Servo 1 nach links
- Servo 2 nach rechts
- Servo 2 Mittelstellung
Außerdem verfügt der SSC-32 über eine Gruppenlaufzeitfunktion. Da kann eine Zeit vorgegeben werden, in der eine Sequenz abgeschlossen werden soll. Die Servo laufen dann unterschiedlich schnell, je nachdem welche Entfernung sie zurücklegen müssen. Das Teil ist seine 70€ Wert finde ich.
Nachdem nun ein defekter Servo gewechselt und der neue Controller eingebaut war, hab ich alle Servos an den Controller verdrahtet, um dem Kabelsalat auf dem Rücken zu entgehen. Außerdem wurde ein USB-RS232 Konverter mit dem Controller verbunden, um die Steuerung vom PC aus zu testen.
Das erste Steuerungsprogramm, wurde in Visual Basic realisiert
Visual Basic
Die Expressversion ist kostenlos bei Microsoft erhältlich (Express VB), hat aber ein paar Leistungseinbußen. Diese stören hier aber nicht.
Inzwischen rate ich eher zur Verwendung von VB.net in Verbindung mit der IDE-Software SharpDevelop (Open Source).
Im Programm wurden ein paar Schieberegler räumlich so angeordnet, dass ich wusste für welches Gelenk sie sind. Ihre Position hat sich dann direkt auf die Servos übertragen.
Vor dem ersten Funktionstest
Auflösung: 1024x768
 |
Erster Funktionstest
Auflösung: 1024x768
 |
|
Neue Akkus
zurück zum Index
Nach dem erfolgreichen Steuern vom PC aus, habe ich die Hauptstränge der Servoanschlüsse mit einem PVC-Spiralschlauch umwickelt, um die Leitungen besser vor mechanischen Einflüssen zu schützen.
Leider zeigte sich während des Funktionstestes, dass ein zweiter Servo Defekt war. Dieser defekt war etwas heimtückischer, da der Servo sich normal ansteuern ließ. Aber nach leichter Belastung gab er nach, deswegen hab ich aus dem Arm einen Servo entfernt und in das Bein eingebaut.
Verlängerter Overkörper
Zu diesem Zeitpunkt wusste ich auch schon, welche Batterien verwendet werden sollen und welche Abmaße sie haben werden. Ein Batteriepaket sollte nach innen, weshalb der gesamte Oberkörper verlängert werden musste. Dadurch hatte der geplante PDA als Steuerung auch mehr Platz.
So wurde es ein größerer Roboter, mit Rückrad ;)
Außerdem ist ein Versuch für den Kopf zu sehen. Dort wurden 2 Miniservos benutzt, um eine horizontale und vertikale Bewegung zuzulassen. Da die kleinen Servos aber nicht genügend Stabilität hatten, wurden sie kurze Zeit später wieder entfernt.
Die LIPO Batteriepakete sollten eine Spannung von 7,4V erreichen, da die Servos vorher mit 7,2 betrieben wurden. Die Batterien mussten umgebaut werden, weil 3-zellige vom Preis-Leistung Verhältnis günstiger wahren.
Somit wurden aus:
2 Blöcken 11,1V (3 Zellen in Reihe) 2200 mAh
dann schließlich:
1 Block 7,4V (2 Zellen in Reihe) 6600 mAh
Insgesamt hatte ich 2 von den 7,4V Blöcken hergestellt und somit eine Gesamtkapazität von 13200 mAh. Damit sollte der Robo, schon ein bisschen durchhalten können. 4 Zellen landeten im Oberkörper. Wegen Platzproblemen auf dem Rücken, mussten aber später 2 Zellen entfernt werden, wodurch die Endkapazität jetzt bei 11000 mAh liegt.
Anzahl der Zellen |
Höchste Gesamtspannung |
Niedrigste Gesamtspannung |
2 Zellen = 7,4 V |
8,4 V |
6,0 V |
3 Zellen = 11,1 V |
12,6 V |
9,0 V |
LIPO Batteriepakete
Auflösung: 800x600
Lipo Accus
Die Li-Zellen haben im Normalfall eine Zellspannung von 3,7 V. Die höchst zulässige Ladespannung, beträgt 4,2 V pro Zelle. Steigt die Ladespannung über 4,2 V, besteht Brandgefahr.
Die minimale Zellspannung beträgt 3,0 Volt, unter dieser Spannung besteht die Tiefentladungsgefahr. Hat die Zelle weniger als 2,5 Volt, ist sie Tiefentladen und definitiv defekt.
Weiter unten, ist der erweiterte Oberkörper zu sehen. Dort sind die 4 LIPO Zellen in der Mitte eingebaut. An der Seite des Roboters, befinden sich jetzt ein paar Schalter:
- 1 großer Schalter für die Servos
Hier wird die größte Stromlast erwartet, darum ist er entsprechend groß.
- 1 kleiner mit LED (grün)
Für den 5V Regler.
- 1 kleiner mit LED (blau)
Für den Servocontroller.
- 1 kleiner zum umschalten des USB Wandlers
Als Eingang, um zu sehen, ob der PDA die richtigen Daten sendet. Oder als Ausgang, um den Servocontroller direkt an zu steuern.
Im nächsten Bild, kann man den 5V Regler an der Schulter (Rote Platine) und einen Anschluss für einen Palm III sehen. Der Palm III war der erste PDA, mit dem ich Steuerungsversuche gemacht hab.
Seitenplatte
Auflösung: 800x600
 |
Ansicht von Vorn
Auflösung: 800x600
 |
|
Kopf hinzugefügt
zurück zum Index
Inzwischen wurde das Batteriepaket auf dem Rücken (provisorisch) befestigt und ein Batteriechecker hinzugefügt. Die LIPO Accus, müssen überwacht werden, da eine zu tiefe Entladung zu dauerhafte Schäden führt.
Man kann an der Spannungsanzeige auch gut erkennen, dass 7,4V nicht die normale Ausgangspannung ist. Frisch geladen, kommt die Robobatterie auf ca. 8,1V. Aber unter Belastung, bricht die Spannung entsprechend ein. Die 7,4 V Angabe, bezieht sich auf eine recht starke Strombelastung. Stärker, als ich sie bisher erreichen konnte (allerdings habe ich auch eine höhere Kapazität).
Rückansicht
Auflösung: 800x600
 |
Mit Kopf (vorn)
Auflösung: 800x600
 |
Mit Kopf (seitlich/hinten)
Auflösung: 800x600
 |
|
Dann wurden 2 Servos für den Kopf hinzugefügt, um eine horizontale und vertikale Bewegung zuzulassen. Als Kopfgehäuse wurde ein Tischmülleimerdeckel verwendet, welcher aufgrund der Größe, zur Bezeichnung Mütze führte. Im Kopf sind jetzt 2 Servos und ein Servogehäuse. Einer zum Drehen des Kopfes. Einer um von oben nach unten zu sehen, welcher sich an einer Seite befindet. Auf der gegenüberliegenden Seite ist nur ein Servogehäuse, um sie Achse besser zu halten.
Augen hinzugefügt
zurück zum Index
Nachdem der Kopf in groben Zügen vorhanden war, habe ich mich den Augen zugewandt. Ich wusste schon mal, dass sie in verschiedenen Farben leuchten sollten. Auf der Suche nach einem geeigneten Augengehäuse, bin ich auf billige Deos gestoßen.
Meine Freundin hat mich komisch angeschaut und fragte: "was willst du den mit 2 Deosticks für Frauen?"
Als ich antwortete: "Ich brauch sie als Augen für meinen Robo...", hat sie nur mit den Augen gerollt.
Ich liebe solche Momente...;)
Ich habe nur die Deckel verwendet. Aufgrund der diffusen Beschaffenheit des Plastiks, kann sich dort das Licht gut ausbreiten und letztendlich den ganzen Deckel beleuchten.
Im nächsten Schritt, habe ich in regelmäßigen Abständen kleine Vertiefungen für die LEDs mit einem Lötkolben eingeschmolzen. Die RGB LEDs wurden dann kurz danach mit Sekundenkleber eingeklebt.
RGB LEDs sind im Prinzip 3 LEDs in einem Gehäuse in den Grundfarben Rot, Grün und Blau. Ich habe die Ausführung mit gemeinsamer Anode verwendet, da sich die mit dem Verstärkertransistoren am besten vertragen haben.
Nachdem die LEDs eingesetzt waren, wurde alles miteinander verdrahtet. Die gemeinsame Anode ist Gelb, die anderen Leitungsfarben entsprechen dann, dem angesprochenen Farbkanal.
Nachdem einige Tests gemacht wurden, sollten nun die Augen auch an den Kopf kommen.
Neue Änderungen im folgenden Bild:
- 5V Festspannungsregler im Kopf
Die Rote Platine in der Mitte.
- 3 Regler für Kleinmotoren
Diese Regler sind dafür konzipiert worden, dass PWM Signal eines Servos für einen kleinen Motor nutzbar zu machen. Servos werden ja vom Controller mit Pulsbreiten von 500µs bis 2500µs angesteuert. Wenn dieses Signal direkt verstärkt werden würde, dann würden die angeschlossenen LEDs sich besonders fein von schwach zu etwas stärker trimmen lassen. Deshalb war dieser Regler nötig, der immerhin die Leistung aufteilt. Ein kleiner Motor, könnte mittels der Servo PWM, stehen bleiben, sich nach rechts oder links drehen, in unterschiedlichen Geschwindigkeiten. Da LEDs Strom nur in eine Richtung fließen lassen, ist zwischen 0 und 100% nur eine Seite nutzbar, bei der anderen bleibt alles aus.
- 3 Transistoren (gegenüber der Regler)
Pro Farbkanal ist ein Transistor vorgesehen, welcher gegen das Blech dahinter isoliert sind. Aber die Abwärme musste ja auch abgeführt werden.
- PDA Ipaq
Inzwischen, hatte ich mich auch schon mit dem Programmieren, für diese Geräte auseinander gesetzt. Die angezeigte Software, hat die Farbe der Position des Stiftes auf dem Bildschirm, in einen Datensatz umgewandelt, welcher an den Servocontroller gesendet wurde.
Näheres zum Thema: PDA Steuerung
Als nächstes ein Blick durch sie Wärmebildkamera. Interessanterweise verbrauchen die Regler (Links) mehr wenn die LEDs aus sind. Beim Transistor ist es genau umgekehrt... wie zu erwarten.
Im Beispiel unten ist nur Blau aktiv.
In die Mitte der Augen, sind inzwischen auch Ultraschall Entfernungsmesser eingebaut. Die Steuerplatine ist hinter einem der Servos angebracht. Der Ultraschallsensor, wird auch über RS-232 ausgelesen, allerdings über eine andere Übertragungsgeschwindigkeit (Sensor Baudrate: 9600 Servocontroller: 115200). Er ist noch nicht im Betrieb, dafür muss ich mir erstmal noch was einfallen lassen.
Die Seitenansicht, lässt aufgrund der Proportionen zwischen Kopf und Oberkörper, sicherlich nachempfinden, weshalb ich den Namen Mütze für angebracht halte.
Kopf von oben
Auflösung: 800x600
 |
Seitenansicht
Auflösung: 800x600
 |
|
Hände hinzugefügt
zurück zum Index
Zugegeben, Hände ist etwas übertrieben ausgedrückt. Aber Greifer klingt mies, also bleibe ich dabei.
Es wurden ein paar Messzangen (oder auch Krokodilklemmen) genommen und einfach kurz hinter ihrem Gelenkpunkt abgetrennt. Nach ein paar kleineren Änderungen, konnte die Zange in einem Winkel von ca. 80-90° geöffnet werden, während es vorher ca. 40° waren.
Ich bin des Weiteren noch am überlegen, ob eine elektrische Nutzung der Zangen angebracht wäre.
Ein Miniservo, wurde mittig an dem Gelenk angebracht, um die Zange entsprechend öffnen zu können. Ein weiterer Miniservo, wurde mit an die Zange montiert, damit sie sich auch drehen kann.
An die obere Seite der Zange, ist noch eine rechteckige Kunsthofffläche angebaut worden, aus optischen Gründen.
An den Händen habe ich zum ersten mal gemerkt, dass eine starre Zuleitung, sich als störend bemerkbar machen kann.
Wenn die Servos beispielsweise fast am Anschlag sind, dann wirkt die Zuleitung so stark mechanisch dagegen, dass der Servo selbst wieder Energie aufbringen muss, um dies zu kompensieren.
Wird also eine Position am Anschlag angefahren, dann summt der Servo weiter vor sich hin. Dieses Problem wurde Später behoben, indem der Spiralschlauch entfernt wurde.
Neuer LIPO-Checker
zurück zum Index
Inzwischen ist der Accuchecker auf der Rückseite durch einen Ladegerät ersetzt worden. Dadurch kann der Robo jetzt einfach per Standardstecker und 12V Netzteil geladen werden.
Die Überwachung wurde durch einen anderen LIPO-Checker getauscht. Der ist kleiner, befindet sich seitlich (ist dadurch auch besser sichtbar), hat pro Zelle 2 LEDs und signalisiert die LIPO Ladungen:
Ladezustand |
Signale |
Normale Ladung 15% - 99% |
LED Grün |
Ladung niedrig (kleiner 3,5V) |
LED Rot Blinkt |
Ladung sehr niedrig (kleiner 3,3V) |
LED Rot Blinkt + lautes Piepen |
Ladung sehr hoch (größer 4,2V) |
LED Rot Blinkt + lautes Piepen |
Derzeit versuch ich mein PC-Programm so weit anzupassen, dass ich mal mit dem Programmieren von Bewegungsabläufen beginnen kann.
Der Entfernungsmesser:
Der Ultraschall Entfernungsmesser ist soweit funktionstüchtig. Aber die Werte, werden normalerweise Seriell übertragen (mit Baud: 9600). Der Servocontroller kommuniziert über Baud: 115200. Damit lassen sie sich leider nicht parallel betreiben.
Aber ich hab einen Mikrokontroller, der auch über Baud: 9600 arbeitet. Wahrscheinlich werde ich ihn so programmieren, dass er bei Signal über einen Pin, die Werte aus dem Entfernungsmesser abliest und dann als PWM (Analog) auf 2 andere Pins verteilt. Aber dafür muss ich mich erstmal, mit der Programmiersoftware und Sprache des Mikrocontrollers (basiert auf C) auseinandersetzen. Daher wird sich diese Angelegenheit, erstmal nach hinten verlagern.
Aktueller Zustand
zurück zum Index
Momentan steht der Robo in der Ecke und bekommt regelmäßig eine Vollladung der Accus. Solange andere Projekte für mich interessanter sind, wird sich das auch nicht schnell ändern können.
Peripherie von Mütze
Auflösung: 750x691
Eingebaute Komponenten
- 22 Servos
Davon sind 4 Miniservos für die Greifer.
- Servocontroller SSC-32
Der Controller hat 32 Servoanschlüsse und kann direkt mit dem PC über die Serielle Schnittstelle (RS-232) verbunden werden.
- Batterie LIPO
Accu mit 7,4 V und 11000 mAh.4 Zellen im Oberkörper und 6 Zellen auf dem Rücken. (2200mAh pro Zelle und immer 2 in Reihe wegen der Spannung)
- 2x Festspannungsregler
Die 5V Festspannungsregler sind einerseits für PDA und Servocontroller, andererseits für die Augen.
- RGB LED’s
Für die Augen.
- PDA rx3715
400 mhz | 56 MB Ram | USB | RS-232 | Bluetooth | Wlan. Das "Gehirn" des Robos.
- Regler für Kleinmotoren
Wird gebraucht, um die Servo PWM zu einer LED PWM zu wandeln. (PWM = Pulsweitenmodulation)
- Transistoren
Verstärken die LED PWM.
zurück zum Index
Zuletzt geändert am: Aug 08 2012 um 4:54 AM
Zurück zur Übersicht