Projekt: Muetze

Veröffentlicht von Joe-C (jch) am Oct 30 2011
Robotik >>

Index

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

Kaufzustand und erste Steuerung...

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.

Verstärkte Kabelbäume
Auflösung: 1024x768

Oberkörper verlängert
Auflösung: 1024x768

 
  •  
  •  

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.

Deosticks (Augenrohlinge)
Auflösung: 640x480

RGB LED's eingesetzt
Auflösung: 800x600

LED's verdrahtet
Auflösung: 640x480

 
  •  
  •  
  •  

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.

Test der Augenelektronik
Auflösung: 800x600

Verdrahtung verbessert
Auflösung: 800x600

Wärmebilder
Auflösung: 500x400

 
  •  
  •  
  •  

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.

Links: Rohling | rechts: Greifer
Auflösung: 800x600

Gesamtansicht
Auflösung: 800x600

 
  •  
  •  

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.

Wärmeverteilung
Auflösung: 500x400

Gesamtansicht
Auflösung: 1000x750

 
  •  
  •  

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