-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: MeinHexapod: "SEXCRORA"

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Ort
    Preetz
    Alter
    30
    Beiträge
    150

    MeinHexapod: "SEXCRORA"

    Anzeige

    Hi,

    Endlich ist er fertig: mein erster 100% handgefertigter Roboter.



    Mechanik:
    Er besteht aus typischerweise sechs Beinen mit je 3 DOF und einem Torso, dessen Bodenplatte aus 1,5mm bzw. die Oberplatte aus 3mm starken Aluminium gesägt ist. Die Schultern und Oberarme sind aus komplex gebogenem 1,5mm Aluminium und die Endmaßen sind aus 4mm massiven Aluminium. Gesamtgewicht 2.3 Kg (900g Servos, 200g Schrauben/Abstandsbolzen, 1200g Aluminum)
    Die Beine haben in jeder richtung 180° Bewegungsfreiheit, außer in den Stellungen wo der arm mit sich selbst kollidiert.


    Elektronik:
    Auf der Hauptplatine befindet sich ein Atmega32-16PU @ 16MHz sowie die Spannungsversorgung für den Bot. Momentan versorge ich ihn direkt über mein selbstgebautes 3V-12V/15-25A Festspannungsnetzteil, aber irgendwann soll mal ein Lipo-Akku folgen.
    Der Atmega soll ausschließlich die Servosignale erzeugen. Allerdings Wird er nicht die Stellungen der einzelnen Servos in Grad erhalten, sondern die postion des Fußes in karthesischen Koordinaten. (x,y,z für jedes Bein)
    Für jeden Raumpunkt lässt sich die entsprechende Koordinate eindeutig bestimmen und jedem Raumpunkt sind drei entsprechende Winkel zugeordnet.
    Die Servos in den Oberarmen sind etwas Leistungsstärkere BMS-620MG (91Ncm) analog Servos und in den Schultern und Unterarmen sind billige RS2 (54Ncm) Servos vom großen "C".
    Neben der Hauptplatine im hinteren Teil befindet sich vorne eine kleine ablegerplatine, um die verdrahtung etwas zu vereinfachen. An ihr sind die Signale für 6 Servos, zwei ADCs sowie I²C verfügbar.
    Sensoren hat er noch nicht bekommen, und die Verkabelung muss noch etwas besser geführt werden, aber ansonsten ist er von der Hardware recht ausgereift.



    Herstellung:
    Ich habe alles mit einer Überkopf in den Werkspanntisch eingeklemmten Stichsäge, bzw. die feineren Schnitte mit einem Dremel, zurechtgeschnitten.
    Mit U-Profilen an den Backen des Spanntisches kann man mit einem Hammer Aluminium sehr gut zurechtbiegen.
    Ich habe an den kritischen Stellen toleranzen von weniger als einem halben Millimeter erreicht.

    Kritik
    Ich bin offen für Kritik, Lob und Anregungen, denn nur wenn mir Fehler oder Verbesserungen aufgetan werden, kann er ein richtig guter Roboter werden.

    Mfg WarChild
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken platine_2___.jpg   bild023.jpg   bild019_193.jpg   bild021_135.jpg  
    Angehängte Dateien Angehängte Dateien
    (c) Rechtschreibfehler sind rechtmäßiges Eigentum des Autors (c)

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Ort
    Preetz
    Alter
    30
    Beiträge
    150
    Kleiner Zusatz:

    Kosten:
    12€ für 3kg Reststücken Aluminium vom örtlichen Schlosser
    18€ Bauelemente
    12€ Schrauben etc.
    120€ 6*BMS-620MG Servos (Je ein 5€ Gutschein pro servo)
    60€ 12*RS2 Standard Servos
    20€ sonstiges (Trennscheiben, Schleifmittel)

    262€ Total

    Ich hoffe das ist eine anregung für andere.

    MfG WarChild
    (c) Rechtschreibfehler sind rechtmäßiges Eigentum des Autors (c)

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    24
    Beiträge
    601
    Hi,

    mit den Kosten bist du ja ganz gut dabei!

    Eine Frage zur Steuerung: wie funktioniert das genau? Der ATMega auf der Hauptplatine steuert alle Servos an? Und von wo bekommt er die Werte, und wie werden die berechnet? Und wie rechnest du die (gewünschte) Position des Fußes in die Winkel, Servowerte um? Geht sich das bei dir Zeitlich aus?

    So viele Fragen, ich weis

    Viele Grüße

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Ort
    Preetz
    Alter
    30
    Beiträge
    150
    Also das mit der Ansteuerung der Servos läuft wie folgt:
    Alle Servo-Signalleitungen werden auf 1 gesetzt. 18 zähler werden laufend erhöht, sobald ein Vergleichswert aus dem Speicher erreicht ist, wird der entsprechende Ausgang auf 0 gesetzt. Die 18 Vergleichswerte(die Pulsdauer) wird in der zwischenzeit (die folgenden 18ms) berechnet. Ich habe ein paar komplexe mathematische formeln mit denen ich die 3D koordinaten jedes Beines auf die Winkel der drei Servos zurückführen kann. Da diese jedoch zu aufwendig zu berechnen sind, denn ein Winkel muss in einer ms berechnet werden, habe ich diese mit ein paar mathematischen Methoden für meinen Zahlenbereich angenähert. (+-4%) ich muss das nurnoch als programm schreiben und selbst erst einmal sehen, wie er zeitlich zurecht kommt. Die Koordinaten werden ihm später über I²C von einem anderen µController, der später auch die Auswertung der kommenden Sensoren und die Verhaltensberechnung vornimmt.

    Dieser wird also nur über I²C mit Koordinaten gefütter, er rechnet diese um in Winkel, macht ein paar Kalibrierungsanpassungen für jeden Servo und erzeugt simultan alle Pulse. Er hat noch 7ADC kanäle, an denen ich vlt noch ein paar Sensoren hänge und die Daten über I²C bereit stelle.
    Sollte die Umrechnung von Koordinate in Winkel zu viel Leistung ziehen, werden diese vlt. auch von dem anderen Master µController ausgeführt.

    mfg Sirvivor
    (c) Rechtschreibfehler sind rechtmäßiges Eigentum des Autors (c)

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Ort
    Preetz
    Alter
    30
    Beiträge
    150
    Kurze gegenfrage:
    Ich habe mir deinen Hexapoden angeguckt und da zwingen sich mir drei fragen auf:
    1. Wie schwer ist dein IK?
    2. Was für Servos benutzt du?
    3. Benutzt du nur die PWM Ausgänge der Atmegas zur Steuerung der servos, oder weshalb hast du pro Bein einen Atmega?

    Sieht nach reichlich Arbeit aus... Aber meinen Glückwunsch, schein ja gut zu funktionieren, auch wenn er nicht ganz so "sportlich" aussieht.

    mfg WarChild
    (c) Rechtschreibfehler sind rechtmäßiges Eigentum des Autors (c)

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    11.03.2009
    Beiträge
    76
    Hallo,
    @WarChild: Vielleicht liest du dir die Beschreibung des Hexapods einmal durch, bevor du Fragen stellst, die in der Beschreibung bereits beantwortet wurden!

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Ort
    Preetz
    Alter
    30
    Beiträge
    150
    ok die Servos sind zwar irgendwo erwähnt, aber ich kann nichts über das gewicht finden.
    (c) Rechtschreibfehler sind rechtmäßiges Eigentum des Autors (c)

  8. #8
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    24
    Beiträge
    601
    Hei

    1. Wie schwer ist dein IK?
    nicht schwer, bloß Unmengen an Winkelfunktionen und ähnlichem

    2. Was für Servos benutzt du?
    18*MG995

    3. Benutzt du nur die PWM Ausgänge der Atmegas zur Steuerung der servos, oder weshalb hast du pro Bein einen Atmega?
    Ich verwende da ganz "normale" Pins. Ich hab einfach pro Bein einen Controller verwendet, da ich mir anfangs noch kein Bild von der Leistungsfähigkeit der Controller machen konnte. Außerdem sollen später noch weitere Aufgaben auf die Beincontroller ausgelagert werden, also besser zuviel Rechenleistung als zu wenig...

    Viele Grüße

  9. #9
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Hi, hast du dein Programm in C geschrieben und kannst du damit die Servos unterschiedlich schnell bewegen? Ich hab gerade nur C Programme für Servos gefunden, bei denen diese mit maximaler Geschwindigkeit bewegt werden. Das ist bei Systemenmit großer Massenträgheit tötlich für die Getriebe.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Ort
    Preetz
    Alter
    30
    Beiträge
    150
    Ich bin noch am schreiben, aber momentan habe ich nur ein programm, dass mit einem timer(zähler), der im Hintergrund läuft, alle 18 Signale gleichzeitig erzeugt.
    meine Winkelberechnung wird später durch parameter gesteuert, bei der z.B. Anfangspostion, Endpostion, maximale schritthöhe beim zürckziehen, zeitverhältnis vorwärts setzen/bein durchziehen, und die dauer eines schrittes festgelegt wird. Und vielleicht noch ein paar mehr parameter, die werden vom master an den slave gegeben, der den krempel dann ausrechnet, die ergebnisse werden wiederum an einen slave weiter gegeben, der jetzt gerade die Signale erzeugt. Vlt schaffe ich ja auch die Berechnung und pulserzeugung gleichzeitig zu erledigen.

    mfg WarChild
    (c) Rechtschreibfehler sind rechtmäßiges Eigentum des Autors (c)

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •