- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Mein Hexapod-Roboter

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643

    Beitrag Mein Hexapod-Roboter

    Anzeige

    Praxistest und DIY Projekte
    günstiger Hexapod, im Selbstbau




    Hallo und guten Morgen!


    Heute habe ich mich entschlossen, meinen selbst gebauten Hexpod vorzustellen.

    Woher die Anregung kam, auch mal so ein Teil zu bauen, können sich die Stammuser hier sicher vorstellen.
    Es gab ab und zu Anfragen zu Selbstbauten, von Außenstehenden, die hier im Forum auf Hilfe hoffen.
    Nur ohne so etwas jemals gebaut zu haben, kann man immer schlecht Ratschläge erteilen.
    Also habe ich mich dran gesetzt, einen möglichst minimalistischen Roboter dieser Art selber zu bauen.

    Die Vorlagen, die es für den 3D-Drucker im Netz gibt, habe ich mir angeschaut - vielleicht nicht alle,
    das ist wohl sicher. Aber aufgrund dessen, was es so gibt, habe ich mir dann selbst meine Teile entworfen.
    Das dauerte dann auch gar nicht so lange. Es ist durchaus erträglich. Drei Tage Teile entwerfen,
    mit Probedrucken und noch etwas Feinschliff.

    Ich fasse einmal die Daten, für den 3D-Druck, zusammen:

    Filament: PLA
    Verbrauch: ~250g ohne Fehldrucke
    ~500g (1/2 Rolle) mit Fehldrucken
    Materialkosten: 5€ bis 13€
    Druckzeit: ~ 3 bis 5 Tage
    Drucker: Anet A8
    Dazu kommen Kosten für Strom, den der Drucker benötigt.
    Die Druckzeit hängt vom Drucker und den Einstellungen ab.
    Zeitweise habe ich, bei größeren Flächen und einfachen geometrischen Formen,
    mit doppelter oder dreifacher Geschwindigkeit gedruckt.



    An Kleinmaterial habe ich genutzt, was ich da hatte. Drei Sorten Schrauben, etwas Kabelummantelung,
    die vom 3D-Drucker-Zusammenbau übrig war, Kabelbinder und kleine Stücken Zahnriemen, für die Füße.

    Ich habe im Anhang ein ZIP-File dabei getan. Wer das gerne selbst drucken möchte, findet darin die STL-Dateien. Ich verwende Cura, als Slicer und habe deshalb Bilder mit dazu gepackt, wie die Orientierung auf dem Druckbett aussehen soll, damit die Teile einwandfrei gedruckt werden können. Die Druckereinstellungen muss jeder selbst für seinen 3D-Drucker wählen. X- und Y-Achse des Druckers sollen so kalibriert sein, das möglichst runde Kreise gedruckt werden können. Geringe Abweichungen sind nicht so schlimm, deswegen sollten die Teile dennoch funktionieren. Wie der Platz im Body genutzt wird, bleibt jedem selber überlassen. Im obersten Teil habe ich Platz für ein nodeMCU 1.0 ESP-12E eingeplant; auch so, dass Steckverbinder hindurch geführt werden können. Als Schrauben verwende ich M3*10 und M3*20. Die Teile, die an den Servos befestigt werden sollen (mit den beim Servo dabei liegenden Schrauben) sind mit einem 2mm-Bohrer aufzubohren. Das ist einfach und kein Problem. Teile und Schraubenlänge und -durchmesser sind aufeinander abgestimmt.


    Zusammengebaut sieht der Roboter, Gewicht: 650 Gramm (inkl. Akkugewicht) , dann so aus:
    Um mich mit dem Thema "Servo" vertraut zu machen und zu sehen, was die Gekauften so können, bzw. wie sie sich verhalten,
    habe ich mir zwischenzeitlich einen kleinen Servotester zusammengesetzt:

    Bild hier  

    Dort konnte ich die Pulslänge über Potentiometer verändern und auch einen bestimmten Servo auswählen.



    An Elektronik verwende ich:


    • Arduino UNO R3, für den Servotester
    • MMA8452Q, als Lagesensor (zurzeit noch nicht in Verwendung)
    • zwei PCA9685-Boards, zur Servoansteuerung
    • Spannungsregler für 6 Volt habe ich bestellt, muss schauen, welche davon ich verwende (zurzeit noch eine Powerbank mit 2x USB, die aber zu schwer ist)
    • ATmega328P in der Grundschaltung mit 16MHz
    • nodeMCU v1.0 ESP-12E
    • SG90 Micro Servo, KY66-10 (9 Gramm schwer, 1kg/cm bei ca. 4.8V)



    Das nodeMCU habe ich mit dem ATmega328P, per serieller Schnittstelle (RX/TX), verbunden. Den ATmega versorge ich
    mit dem nodeMCU-Spannungsregler (3.3V). Die übrige Elektronik ebenfalls.

    Der ATmega328P steuert die PCA9685 an. Übernimmt die Koordination aller Servos, über die Zeit mit unterschiedlich
    einstellbaren Verzögerungen (so dass jeder einzelne Servo zu einem andern Zeitpunkt seine Position erreichen kann).
    Mit dem nodeMCU schicke ich Steuerpakete an den ATmega.
    Um die Stellung der Servos zu programmieren, habe ich für das nodeMCU ein einfaches Interface aufgebaut,
    das auf UDP-Paketen basiert, da ich die Software "Packet Sender" schon installiert hatte. Diese Software eignet sich
    sehr gut als Ergänzung, weil man damit UDP-Pakete erstellen, speichern, versenden und empfangen kann. Damit programmiere
    ich den Hexapod, was eine frickelige Sache ist, aber insgesamt gut funktioniert. So lernt man auch etwas über
    die Bewegungsabläufe und ich kann sie Stück um Stück durchgehen und hinterlegen.

    Auch wenn die Servos zu den günstigsten Teilen gehören, ist es doch so, dass sie insgesamt Kraft genug haben,
    um den Hexapod zu bewegen. Es ist zwar etwas knapp, von der Leistung her, aber nicht unmöglich. Und noch sind
    nicht alle Trümpfe (tauglichere Spannungsversorgung) ausgespielt.


    Das Zusammenbauen ist schnell erledigt, wenn die Druckteile passend sind. Ich habe bei meinen drauf geachtet,
    dass im unteren Teil des Body ein Arduino UNO, als auch ein Mega2560 Platz finden. Es ist damit auch genügend Platz,
    für andere Platinen.
    ...
    ..Bild hier  

    Ich habe für meine Zwecke einen Platinenträger gedruckt, der anstelle eines Mega2560 dort hineinpasst.
    Darauf habe ich die PCA9685-Boards verschraubt und meine handgelötete ATmega328P-Platine,
    zum Herausnehmen, untergebracht.


    Am längsten dauert es, die Software zu schreiben. Dafür gehen einige Tage ins Land. Da ich keinerlei Erfahrung mit so einem Roboter habe,
    dauert auch das Erstellen der Bewegungsabläufe seine Zeit. Durch Ausprobieren muss ich mich herantasten, welche Bewegungen wann, wie und
    wo eingesetzt werden können und überhaupt funktionieren, dabei immer auch den Strombedarf der Servos im Auge behaltend. Wenn man
    alle 18 Stück zusammen ansteuert, bricht gerne mal die Spannung meiner Powerbank ein. Da ich noch keine extra Spannungsregler habe,
    habe ich auch noch keinen LiPo angeschlossen, der die Leistung wegstecken würde. Ich würde auch gerne drauf verzichten, mehr als 2000mA
    zu benötigen, was aber unmöglich scheint (Erklärung gleich). Hier käme es auf die Bewegungsabläufe an, die dann entsprechend gestaltet sein
    müssen, dass maximal 8 bis 10 Servos in Bewegung gebracht werden. Zu bedenken ist, dass die übrigen Motoren noch die Stellung halten müssen,
    da braucht's auch ein paar mA.
    Die 2000mA werden allein schon erreicht, wenn alle Servos ihre Position halten. Ausgehend von 100mA, sind das bei
    18 Stück schon 1800mA. Während Bewegungsphasen steigt der Bedarf weiter an. In Positionen, wo wenig Kraft durch die Motoren aufgebracht
    werden muss, um die Position zu halten, kann der Strombedarf eines Servos wesentlich niedriger sein. In Situationen, wo gegen ein größeres
    Gewicht angearbeitet werden muss, kann der Strombedarf beim Halten auch größer sein (200mA ... 400mA ... 600mA ... 800mA). Deshalb
    schaffe ich es auch nicht, wenn der Hexapod den Body anheben soll, alle 18 Servos aktiv zu haben, ohne dass die 2000mA überschritten werden,
    die meine Li-Ion-Powerbank liefern kann.


    Was noch geplant ist:


    • HY-SRF05 Ultraschall-Sensor-Modul am Kopfservo
    • Spannungsregler, an LiPo-Akku, mit einer Strombelastbarkeit bis 5A, für eine stabilere Versorgung
    • lichtempfindliche Widerstände (min. 1 Stück)
    • Überwachung des Akku-Ladezustands
    • Auswerten der Werte des Accelerometers



    Fortschritte

    Hierunter werde ich mein Vorankommen etwas dokumentieren, damit man einen Überblick über einzelne Stationen der Entwicklung bekommt.
    Außerdem ist dann zu erkennen, welche Probleme auftreten, die im Verlauf gelöst werden sollten.


    11.05.2019

    Nachdem ich angefangen habe, zunächst nur die Servos zu steuern, sind weitere nützliche Dinge hinzu gekommen:

    Ein Setup für die Motoren, um die physikalischen Portnummern, an denen die Servos angeschlossen sind, logischen Nummern zuzuordnen.
    Da einige Servos entgegengesetzt laufen, kann im Setup die Drehrichtung, für die Befehle "negative." und "positive." umgekehrt werden.
    Diese Befehle dienen dem einfachen Verstellen der Servos in eine Richtung, vergleichbar mit "rauf" oder "runter", "vor" oder "zurück".
    Aufgrund des Setups ist es nun wesentlich einfacher, einzelne Bewegungssequenzen einzustellen, es geht wesentlich schneller von der Hand.

    Stapelverarbeitung für Steuerblöcke:
    Bisher konnten in einem Steuerblock zusammengeführte Servos nur parallel gesteuert werden. Jetzt ist es möglich hier die Art
    der Steuerung zu ändern, zwischen parallel (alle Servos zur selben Zeit ansteuern) und seriell (alle Servos im Block nacheinander ansteuern).
    Hinzu gekommen ist auch ein zweiter Stapel zur Verabeitung, auf dem einzelne Steuerblöcke (jeder Block kann Daten für bis 18 Servos enthalten)
    abgelegt werden. Damit sind umfangreichere Bewegungssequenzen an einem Stück möglich.

    12.05.2019

    Ich habe die Tage schon viel herumgespielt. Ich bin aber inzwischen so weit, den Roboter sich anheben zu lassen. Ausgangsstellung ist
    auf dem Boden liegend, Bauch auf der Erde, Beine angezogen. In einigen Schritten passe ich die Beinstellungen an, um ein möglichst
    einwandfreies Anheben der 650g Gewicht zu ermöglichen. Da die Mini-Servos nicht wirklich viel Kraft haben, ist das nicht so einfach.
    Außerdem habe ich mehrere Versuche hinter mir, wo der Roboter umkippt, wenn er ein Bein anhebt. Hier muss ich noch üben.


    (Ab Sekunde 40 geht es richtig los, zuvor nimmt der Roboter eine Grundstellung ein.
    Die Servos sind in den Bewegungen verzögert. Was im Video zu sehen ist, entspricht
    etwa einer mittleren Geschwindigkeit. Es geht daher etwa noch halb so schnell und
    doppelt so schnell.)



    14.05.2019

    Relative Positionierung ergänzt. Damit können Bewegungsmuster programmiert werden, die immer bezogen auf die letzten Positionen
    stattfinden.

    15.05.2019

    Heute habe ich vier LR20 D Mono - Zellen in Reihe geschaltet und damit den Roboter gespeist. Also die Servos. Mich hat interessiert,
    was bei ausreichender Versorgung mit Strom bei ~6 Volt passiert.
    Der Hexapod bewegt sich damit wesentlich besser. Er zittert nicht, wackelt nicht. Erreicht seine Positionen an den Servos und stemmt
    mehr Gewicht, als ich je erwartet hätte. Meine Versuche mit 950g Gesamtgewicht bewältigt er einwandfrei.
    Aber auch dieser Batterietyp liefert nicht ausreichend Strom, der zeitweise benötigt wird. Die Spannung bricht unter Volllast, von
    5.66V auf ~3.5V ein.


    15.05.2019

    Heute habe ich vier LR20 D Mono - Zellen in Reihe geschaltet und damit den Roboter gespeist. Also die Servos. Mich hat interessiert,
    was bei ausreichender Versorgung mit Strom bei ~6 Volt passiert.
    Der Hexapod bewegt sich damit wesentlich besser. Er zittert nicht, wackelt nicht. Erreicht seine Positionen an den Servos und stemmt
    mehr Gewicht, als ich je erwartet hätte. Meine Versuche mit 950g Gesamtgewicht bewältigt er einwandfrei.
    Aber auch dieser Batterietyp liefert nicht ausreichend Strom, der zeitweise benötigt wird. Die Spannung bricht unter Volllast, von
    5.66V auf ~3.5V ein.

    19.05.2019

    Ich habe noch mal von vorn angefangen, mich mit Schrittfolgen zu beschäftigen, welche grundsätzlich benötigt werden und wie
    der Roboter vorwärts kommen soll. Ich erwähne noch mal, dass ich hier auch absolutes Neuland für mich betreten habe und also
    von Grund auf sehen muss, wie alles im Detail zusammenhängt. Mit anderen Konzepten der Steuerung setze ich mich nicht weiter
    auseinander, das würde meine Ideenfindung stören.
    Ich habe nebenbei schon mitbekommen, dass es über Algorithmen möglich ist, Bewegungen der Servos zu berechnen.
    Aber diesem Ansatz der mathematischen Berechnung will ich mich nicht zuwenden. Ich habe es auf erlernbare (programmierbare)
    Bewegungsabläufe abgesehen, die dann durch Algorithmen verbessert / korrigiert werden, wenn zusätzliche Sensoren zum Einsatz
    kommen. In den letzten beiden Tagen habe ich neue Bewegungsmuster programmiert. Hier gibt es immer mehrere Lösungswege, ein
    bestimmtes Problem zu meistern, etwa ein Bein etwas nach außen zu stellen oder Beine anzuheben, damit Servos ihre Endposition
    einnehmen können.


    Beispiel einer Sequenz


    Dieselbe Sequenz für alle Beine


    Initialisierung nach Neustart

    Bei der Überlegung, ob ich Verzögerungen in den Bewegungen der Servos auch berechnen kann, statt nur auszuprobieren, bin ich
    zu der Überzeugung gelangt, dass ich mit meinem Ansatz, zur Programmierung des Roboters, ausreichend zurande kommen sollte.
    Denn es werden auch Bewegungen einzelner Beine notwendig, wo alle Servos parallel bewegt werden müssen, aber unterschiedlich
    schnell. Ich denke, ich benötige nur die Anfangs- und Endstellung der Motoren, um hier die Werte zu bekommen. Daraus sollte ich
    die Verzögerungswerte berechnen können. Es ergibt sich eine Vielzahl an Bewegungssequenzen. Da ich sie für jedes Bein (6 Stück)
    einzeln programmiere. Später müssen die Einzelsequenzen noch sinnvoll verknüpft werden, um ein Ziel zu erreichen und sie der
    jeweiligen Umgebungssituation anzupassen. Von der Software her bin hier aber noch nicht.


    22.05.2019

    Die letzten Tage habe ich mich dem Lagesensor (MMA8452Q) gewidmet. Umrechnen der Werte etc.
    Ich wollte, dass ein automatischer Ausgleich, über die Beine, in der Horizontalen stattfindet. So dass also eine Schräglage
    des Körpers ausgeglichen wird. Dazu habe ich mir die vielleicht einfachste Methode gesucht und erste Versuche unternommen.
    Ich lese den Sensor aus und schaue, welche Seite des Roboters nach oben oder nach unten geneigt ist. Auf der gegenüberliegenden
    Seite addiere ich zu den Beinen Werte (bspw. +1). Dann werden die Korrekturen an die Servos weiter vermittelt und danach
    geschaut, ob die Waagerechte hergestellt ist; wenn nicht, wiederholt sich die Prozedur. Das Prinzip funktioniert. Ich habe aber
    festgestellt, dass die richtige Handhabung einen kleinen Rattenschwanz nach sich und durch das gesamte Programm
    zieht. Für jeden Motor muss die Position zentral gespeichert werden. Bei jedem Verstellen der Positionen im Programm müssen diese
    Positionsspeicher aktualisiert werden. Aufgrund der gespeicherten Positionen kann dann ermittelt werden, ob in eine Richtung überhaupt
    noch ein Ausgleich stattfinden kann, ob also ein Bein noch angehoben oder abgesenkt werden kann. Ein Bein, das ständig angehoben wurde,
    um eine Schräglage auszugleichen, muss nach Beendigung der Schräglage auch wieder in die Gegenrichtung bewegt werden.
    Ein kleiner Anfang in diese Richtung ist gemacht. Aber eine kleine Schräglage macht dem Roboter auch nichts aus. Hier muss ich
    etwas drüber schlafen, ob ich das dann weiter verfolge. Ob der Aufwand den zu erwartenden Nutzen rechtfertigt.


    27.07.2019


    Ich habe viele Teile aus China bekommen, was einige Zeit gedauert hat. Derweil habe ich hier eine Pause gemacht. Ich habe jetzt die Option,
    78xx-Spannungsregler (6V), mit Kühlkörpern, einzusetzen. Oder die andere Option, Konvertermodule zu verwenden. Da ich zwei Konverter habe,
    stehen damit zweimal bis maximal 5A zur Verfügung. Ich habe 18 Servos für die Beine, einen für den Kopf und das nodeMCU, plus der anderen
    (schon genannten) Elektronik. Das sollte sich gut aufteilen lassen auf: 10 Servos und 9 Servos + Elektronik. Ich habe jetzt 4 identische LiPo-Akkus
    mit 1000mAh. Nun werde ich zuerst die einfachste Methode versuchen und habe diesen Plan, mit je 2 LiPo-Akkus einen Konverter zu speisen, mit
    jedem Konverter jeweils die Hälfte der Verbraucher zu versorgen. Inzwischen habe ich vergrößerte Gehäuseteile hergestellt. Jetzt muss ich einige
    Lötarbeiten durchführen, ...
    alles umbauen und neu verkabeln.


    31.07.2019

    Nachdem der Umbau zum neuen Prototyp erfolgt ist, habe ich selbstverständlich auch gehofft, dass nun alles etwas besser
    funktionieren würde. Ich habe nun zwei DC-DC-Konverter eingesetzt, die bis 5A Strom liefern können.Nachdem ich diese Konverter verwende, kann ich berichten, dass dies sehr gut funktioniert.
    Während bei Betrieb mit normalen Batterien in der Regel die Strombelastbarkeit zu gering ist und die Spannung aufgrund
    höherer Belastung zurückgeht, gewährleisten die Konverter einen stabilen Betrieb, bei gleichbleibender Spannung von ca. 6V. Spitzenströme
    führen nun nicht mehr zum Ausfall der Elektronik oder der Servos. Zusätzliche Filter, vor oder nach den Konvertern, habe ich nicht verbaut,
    das nodeMCU und die übrige Elektronik arbeiten einwandfrei.

    Das Gesamtgewicht des Hexapod hat sich, vor allem wegen der nun vier Akkus, auf ungefähr 950g erhöht.
    Ich bin mit den 4000mAh in Summe sehr zufrieden. Wenn ich Programmierarbeiten vornehme, kann ich den Hexapod damit
    einige Stunden betreiben (1h bis 4h). Bewegt sich der Roboter längere Zeit ständig, verkürzt sich diese Zeit natürlich.
    Die Wärmeentwicklung der Konverter hält sich in Grenzen. Kühlkörper sind bis jetzt nicht notwendig, Kleinere können aber noch
    nachgerüstet werden (ich habe auch schon welche bestellt). Was im Dauerbetrieb sicher nicht falsch wäre.

    Mit der nun besseren Versorgung der Motoren habe ich aber auch zusätzliche Nachteile. Da vorher zu hohe Ströme zum Ausfall der
    Spannungsversorgung oder zumindest zum signifikanten Rückgang der Spannung führten, waren die Motoren gut geschützt. Nun sind
    mir schon zwei Servos durch übermäßige Wärmeentwicklung bei Belastung (Überlastung) fest gegangen. Das hat natürlich auch mit dem
    nun weit höheren Eigengewicht des Roboters zu tun. Offenbar ist das Kunststoffgetriebe betroffen. Die Motoren drehen sich mit Gewalt dann
    trotzdem, sie drehen dann aber, bei blockiertem Getriebe, durch. Hier muss ich jetzt, während des Programmierens, noch mehr auf die Temperatur
    der Motoren achten. Besonders einseitige Belastungen treten auf, wenn die Bewegungsmuster schrittweise nacheinander programmiert werden.

    19.06.2020

    Als Abschluss hier eine Bilderstrecke, die ich beim Zusammenbau erstellt habe:

    Bild hier  
    Zahnriemen für die Füße

    Bild hier  
    3 Beine in einem Druck

    Bild hier  
    3mm Löcher nachbohren

    Bild hier  
    vor dem Einsetzen des Motors

    Bild hier  
    Einzelteile zum Zusammenfügen

    Bild hier  
    Servohorn im Druckteil eingesetzt


    Bild hier  
    habe ich nicht benötigt

    Bild hier  
    teilweise zusammengebaut

    Bild hier  
    teilweise zusammengebaut


    Bild hier  
    Motorbefestigung

    Bild hier  
    dto.

    Bild hier  
    letztes Armstück ansetzen

    Bild hier  

    Bild hier  




    Bild hier  
    mit Schraube am Servo sichern

    Bild hier  


    Bild hier  
    Motorbefestigung mit Muttern

    Bild hier  
    anmontierter Arm


    MfG
    Moppi






    Anhang



    Befehlsliste für UDP-UI, nodeMCU 1.0 ESP-12E

    format.
    Formatting the SPIF - file system.


    servo.nn,ppp,dd
    nn: servo Number 00 - 31
    ppp: Position Number 150 - 600
    dd: Delay Number 00 - 99 ~Milliseconds


    push. / push1.
    Moves the last servo position on the stack.


    new. / new1.
    Cleans the stack.


    send.
    Sends the stack and play it.


    save.nn,name
    nn: Number 00 - 99
    name: a name of the stack
    Saves the stack as number in a array and file.


    readdir.
    Reads the directory of SPIF - file system.


    readstacks.
    Reads the names of stacks from the array.


    read.nn
    nn: Number 00 - 99 in the array of stacks (from stack pointer value 0)
    Loads the stack from array.


    add.nn
    nn: Number 00 - 99 in the array of stacks (from the actual stack pointer value)


    update.
    Updates the stack in array and file.


    positive.nn / positive_.nn
    Increments pulse length for servo.


    negative.nn / negative_.nn
    Decrements pulse length for servo.


    get.
    Sends servo value as <servo.nn,ppp,dd>


    on.
    Activates all servos.


    off.
    Deactivates all servos.


    readfile.
    Shows a file from directory of SPIF - file system.


    setup.ll,pp
    ll: logical number for servo, pp: physical servo number (pin/port)


    setui.ll,x
    ll: logical number for servo, x: 0 - not invert, x: 1 - do invert


    chproctype.
    Changes stack processing type. From parallel to serial or vice versa.

    Angehängte Dateien Angehängte Dateien
    Geändert von Moppi (19.06.2020 um 16:53 Uhr)

  2. #2
    HaWe
    Gast
    sieht sehr schön und gut gearbeitet aus, Gratulation!

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.197
    Sieht ziemlich gut aus!

    Aber du könntest noch einiges an Gewicht sparen, indem du das relativ geschlossene Gehäuse aussparst- sieht dann weniger hübsch aus, wird aber leichter.

    Zur Stromversorgung verwende ich gerne Stepdown-Wandler.
    Ggf. auch mehrere- und teile dann die Verbraucher entsprechend auf.
    Wenn du also nen 2s-LiPo benutzt, kannst du recht problemlos alles mit 5V laufen lassen- mehr würd ich den Billigservos eh nicht antun wollen.
    Bei mehreren Strängen hast du auch den Vorteil, dass du mehr Servos gleichzeitig laufen lassen könntest-> flüssigere Bewegungen.

    Diese Stepdowm-Module gibts bei Ebay spottbillig, die kann man getrost gleich tütenweise kaufen, hehe.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    Guten Morgen,

    Danke, für Eure Rückmeldungen!


    Die gesamte Konstruktion ist mit Aussparungen versehen, unten am Bauch, in der Zwischendecke, oben am Deckel und an den Seiten. Bloß die Seiten nicht, wo man jetzt drauf schaut, auf dem Bild. So kann man das alles nicht gut sehen.
    Überall Aussparungen geht nicht so recht, weil ich auch Stabilität wollte. Wenn Wände zu dünn oder zu viel ausgespart, gibt die Konstruktion unter dem Eigengewicht nach. Wobei ich zurzeit ein Zwischendeck eingespart habe. Ursprünglich waren es drei Ebenen: unten Arduino oder was anderes, mittig Servoansteuerung und nodeMCU, oben Akku und Spannungsregler. Da ich unten aber zu viel Platz hatte, konnte die Servoansteuerung nach unten verlegt werden und das nodeMCU mit einem Akku auf eine Ebene. Scheint aber so, dass ich tatsächlich noch eine extra Platine für die Servos löten muss, wegen der Spannungsversorgung und Spannungsregler kommen noch dazu (mind. einer), die jetzt wahrscheinlich keinen Platz mehr finden.
    Spannungsregler habe ich eine Tüte bestellt mit 1.5A, 6 (TO-220). Dazu noch zwei Module einstellbare Spannungsregler auf Platine mit 5A (und Kühlkörper). Ob ich jetzt einzelne Stränge speise oder alles über einen laufen lasse, werde ich mal sehen. Will nat. sehen, dass ich, wegen dem Gewicht, nicht zu viel verbaue.


    MfG

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.197
    Mit 1.5A kommst du nicht aus....

    Mein Vierbeiner kommt mit einem Stepdown-Modul _geradeso_ hin, und bei dem läuft immer _ein_ TowerPro MG90 unter Vollast oder aber es muss halten, und je zwei SG 90 laufen unter Last, zwei andere leer.
    Dabei wird dem Buck schon ganz gut warm.
    Ich hab zwar die Stromaufnahme nie gemessen (es funktioniert ja..) aber anfangs hab ich versucht, das Ding mit ner Powerbank zu betreiben, die 1.5A liefert (die kann das auch wirklich), da fehlte die Kraft.
    Von daher liegt die bei meinem (und der hat gar nicht mehr als sechs Servos, wobei das Kopfservo aber nur nen hc-sr04 schwenkt, also kaum was stemmen muss) schon irgendwo zwischen 1.5 und 2A.

    Du hast dreimal so viele Servos.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    Du musst etwas anders denken.
    1.5A pro Regler. Ich habe eine ganze Tüte voll bestellt.
    Also kann ich pro Servo 1.5A verbraten. So viel brauchen die kleinen Teile niemals. Also kann ich schon mal 2 Servos an einen Regler hängen, das sollte gut passen.
    Oder eben alle an einen mit 5A. Aber das könnte knapp werden. 5000mA / 18 = 277mA pro Servo. Unter Last können die sicher mehr brauchen. Leider konnte ich es noch nicht nachmessen. Weil mein Messgerät bei 200mA aufhört. Einzelne Servos stromlos schalten, wird nicht funktionieren, bei Bewegung des Roboters wird die Position dann verstellt. Also alle unter Strom, immer am nachregeln. Es sei denn, das Gerät steht mal still, in einer ausgewogenen Haltung.
    Aber wenn ich sehe, dass die Servos den Body oben halten und ordentlich Kraft benötigen, werden da pro Servo mehr als 300mA zusammen kommen, wenn die versuchen die Position zu halten. Ich muss sehen. Im Moment scheint ein PCA9685 den Geist aufgegeben zu haben, hat wohl keine Lust mehr. Muss ich verifizieren, was da los ist. Ein neues Board bestellen und gucken, wo der Fehler ist. Ob das eine wirklich ins Jenseits übergegangen ist?
    Da wartet noch einiges an Bastelei, wie es aussieht.
    Ich weiß auch noch nicht, ob ich an den PWM-Ausgängen des PCA9685 einfach Freilaufdioden anschalten kann. In der Motorversorgung kann ich das machen. Obwohl ich denken würde, dass im Servo schon welche verbaut sind. Ich weiß nicht, ob die Servos Störimpulse an die PWM-Ausgänge weiterleiten, dass das dem Schaltkreis auf dem Board nicht gut bekommt.

    Ich habe gerade Angaben von Feetech FS90-Servos gesehen. Bei 6V haben die ein stall current von 600mA, woanders las ich was von 800mA. Also kann ich 9 Servos womöglich an einen 5A-Regler schalten. Das könnte noch knapp werden, mit dem Regler. Oder einen 1.5A-Regler pro Servo.


    Nachtrag 14.05.2019:

    Habe heute die PCA9685-Platinen nochmal getestet. Funktionieren jetzt wieder beide. Na ja, da habe ich mir gestern einen Wolf gesucht, wo ich wohl einen Programmfehler habe und auch schon dauernd alle Steckverbindungen kontrolliert, trotzdem wollte eine Platine keine Signale mehr ausgeben. Nachdem alles über Nacht stromlos war, funktioniert es wieder. Ich werde auf jeden Fall eine Zusatzplatine löten. Pro Servo einen 1.5A-Spannungsregler und eine Freilaufdiode dazu. Wenn ich schon dabei bin, gleich einen Transistor (100mA Dauerstrom, 200mA Spitzenstrom) mit entspr. Widerstand, als Treiber zum Servo für das PWM-Signal dazu - hier könnte ich zur Not auch noch Freilaufdioden nachschalten, obwohl ich mir noch nicht vorstellen kann, dass von dem Servomotor Störungen auf den PWM-Eingang des Servos wirken. Dann habe ich eine anständige Versorgung, auch für andere Servos. Das Gehäuse vom Hexapod muss ich dafür nur vergrößern, sonst passt nicht mehr alles rein. Und für einen zweiten Akku werde ich mit 100g zusätzlichem Gewicht rechnen müssen. Mal sehen, was die Micro-Servos leisten, wenn sie erst einmal "grenzenlos" Strom bekommen, bei 6 Volt.



    MfG
    Geändert von Moppi (14.05.2019 um 09:37 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    Ich habe es doch irgendwie geschafft, auf irgendeine Weise, ein Video hochzuladen.
    Habs unter Fortschritte eingebettet.


    MfG

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    31.10.2009
    Ort
    köln
    Beiträge
    38
    .. Habs unter Fortschritte eingebettet ..
    Wo ist das ? Finde ich nicht ((

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    In diesem Beitrag: https://www.roboternetz.de/community...l=1#post651972
    Unter dem Datum: 12.05.2019, am Ende des Beitrags unter Fortschritte und vor Anhang



    MfG





  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643

    STL-Dateien für den 3D-Druck

    Hallo,

    kurze Mitteilung:

    Ich habe ein ZIP-File am Einstiegsbeitrag angehängt, mit STL-Dateien. Auch habe ich den Einstiegsbeitrag mit Anmerkungen dazu aktualisiert. Für alle, die der 3D-Druck interessiert.




    MfG

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Mein erster Hexapod (30cm, 400Gramm)! Beine mal anders...
    Von Hiedi im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 11
    Letzter Beitrag: 01.07.2013, 21:48
  2. Mein erster Hexapod
    Von Maxi97 im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 11
    Letzter Beitrag: 12.10.2012, 15:24
  3. Mein erster Hexapod
    Von darkchris90 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 15
    Letzter Beitrag: 25.09.2012, 21:17
  4. Mein erster Hexapod
    Von vitja09 im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 11
    Letzter Beitrag: 12.11.2010, 07:10
  5. Mein Hexapod Projekt
    Von klucky im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 32
    Letzter Beitrag: 15.02.2005, 11:13

Stichworte

Berechtigungen

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

LiTime Speicher und Akkus