Hallo an alle Forennutzer!
Zum Zeitvertreib habe ich mir vorgesetzt einen Hexapod Roboter mit 24
Modellbauservos zu bauen. Er soll per Bluetooth übers Smartphone
steuerbar sein.
Mit Mikrocontrollern (AVR) habe ich schon Kleinigkeiten realisiert, d.h.
Leds blinken lassen, Analoge Temp.Daten eingelesen, Leds mit Tastern
gesteuert, USART, aber noch nichts größeres. Um Modellbauservos
anzusteuern braucht man PWM und da beginnt das Problem, kein Chip hat 24
PWM Ausgänge. Die Steuerung per Bluetooth braucht auch noch Pins.
Wie könnte man das realisieren?
Eine Randbedingung gäbe es noch, Bluetooth sollte do simpel wie nur
möglich in der Nutzung und Programmierung sein. Arduino soll ja super
einfach sein, habe damit persönlich noch keinerlei Erfahrung, ich habe
aber auch kein Problem klassisch mit den AVRs zu arbeiten.
Frank schrieb:> Zum Zeitvertreib habe ich mir vorgesetzt einen Hexapod Roboter mit 24> Modellbauservos zu bauen.
Findest du vier Servos für jedes Bein nicht etwas übertrieben? ;)
> Um Modellbauservos anzusteuern braucht man PWM und da beginnt das> Problem, kein Chip hat 24 PWM Ausgänge. Die Steuerung per Bluetooth> braucht auch noch Pins.>> Wie könnte man das realisieren?
Du könntest selber die IO-Pins steuern, bei kleinen µCs mit wenigen
GPIOs per IO-Erweiterungen, z.B. 74hc595
Hier ist ein Beispiel für 16 Servos
http://www.seattlerobotics.org/encoder/200106/16csscnt.htm
Es gibt Robotik Servos mit serieller Ansteuerung, z. B. LewanSoul
LX-16. Die sind addressierbar und dann kommst du mit einer Steuerleitung
für alle aus.
Frank schrieb:> Um Modellbauservos> anzusteuern braucht man PWM und da beginnt das Problem, kein Chip hat 24> PWM Ausgänge. Die Steuerung per Bluetooth braucht auch noch Pins.>> Wie könnte man das realisieren?
Nimm doch den Teensy 4.0 - Arduino-programmierbar und alle Pins können
angeblich PWM. Zahlreiche Interfaces, z.B. CAN, was bei einem solchen
Projekt auf hilfreich sein könnte.
Ich würde jedem Servo ein eigenes Netzteil verpassen. Wenn Du versuchst,
die 5V nur an einer Stelle zu generieren und zu verteilen, könnte es bei
der Anzahl Probleme in Form von Unterspannung oder Beeinflussung kommen.
So ein Einzelnetzteil wäre sehr günstig und klein:
https://de.aliexpress.com/item/32921512270.html
Harald schrieb:> Ich würde jedem Servo ein eigenes Netzteil verpassen. Wenn Du versuchst,> die 5V nur an einer Stelle zu generieren und zu verteilen, könnte es bei> der Anzahl Probleme in Form von Unterspannung oder Beeinflussung kommen.
Klar, deshalb betreibt ein EVU auch tausende von Minikraftwerken.
Wenn es zu Unterspannung kommt, ist das Netzteil zu schwach. Und wenn es
zu Beeinflussung kommt, taugt die Verdrahtung/Entkopplung nichts
(sternförmige Verdrahtung, Kondensator an jedem Servo, sofern nicht
eingebaut).
Frank schrieb:> kein Chip hat 24 PWM Ausgänge.
Stimmt. Aber 16 kannst du haben:
https://www.amazon.de/Turspit-PCA9685-PWM-Servoschild-Motortreibermodul-Arduino-Robot/dp/B07Y446ZPP
Davon mehrere an einen I²C Bus, und schon hast du mehr als genug.
Die Gängigen Bluetooth Module kannst du unter Arduino mit der Serial
Klasse ansteuern. Hier sind ein paar Hinweise dazu:
http://stefanfrings.de/bluetooth/index.html
Ich schließe mich Harald an: Unterschätze die Stromaufnahme und
Störwirkung der Motoren nicht. Wahrscheinlich ersparst du Dir eine Menge
Stress, indem du für die Motoren ein eigenes Netzteil (oder Batterien)
verwendest.
Wolfgang schrieb:> Und wenn es> zu Beeinflussung kommt, taugt die Verdrahtung/Entkopplung nichts> (sternförmige Verdrahtung, Kondensator an jedem Servo, sofern nicht> eingebaut).
Das hast du Recht. Für Anfänger ist es jedoch erstmal einfacher,
getrennte Netzteile zu verwenden. Die Saubere Entkoppelung können sie
später üben, wenn das Grundgerüst steht. Bei nächsten Projekt macht man
es dann schon von alleine richtig.
Falls es der Teensy wird, vielleicht noch interessant, dass man
Bluetooth über den USB Host anbinden kann:
https://www.google.com/search?q=teensy+4.0+bluetooth+usb+host
Irgendwo dort steht, dass sich die Beispiele für Teensy 3.6 auch für 4.0
verwenden lassen. Einfach mal recherchieren.
Stefanus F. schrieb:> Für Anfänger ist es jedoch erstmal einfacher,> getrennte Netzteile zu verwenden. Die Saubere Entkoppelung können sie> später üben, wenn das Grundgerüst steht. Bei nächsten Projekt macht man> es dann schon von alleine richtig.
Danke Stefan, Du hast meinen ursprünglichen Gedankengang sauber
ausformuliert!
Harald schrieb:> Die finde ich super, allerdings ist die Frage, ob der TE 18,66€ * 24 => 448€ ausgeben möchte.
Das ist auch ein ambitioniertes Projekt, der Faktor 24 macht das alles
etwas teurer. Ob Superbillig Servos eine ausreichende Qualität haben
sollte man erst an Einzelstücken testen.
Und die Lewansoul sind schon die billigen Brüder der Dynamixel.
https://www.heise.de/ratgeber/Dynamixel-Die-Profi-Servo-Liga-4297290.html
Aber warum 24 Servos? Hexapoden haben doch 6 Hubelemente?
Johannes S. schrieb:> Ob Superbillig Servos eine ausreichende Qualität haben> sollte man erst an Einzelstücken testen.
Das ging mir auch den Kopf beim Verfassen der Nachricht. Billigservos
können so manches Problem haben. Belastbarkeit, Lebensdauer, "Zittern"
usw.
Das von Dir verlinkte Servo sieht schon eine Klasse besser aus. Dsa
Buskonzept sieht auch gut aus? Wie ist es aus mit der Buslatenz? Eignet
sich die für ein Projekt mit 24 Servos?
Vielleicht solltest Du, Frank, tatsächlich erstmal langsam herangehen
und nicht gleich das ganze Material zusammenkaufen.
Harald schrieb:> Wolfgang schrieb:>> Das ist kein Netzteil>> Oh danke, von jetzt an werde ich dank dieses Hinweises besser durchs> Leben kommen.
Du weisst ja vielleicht, was du meinst.
Aber die Kommunikation mit anderen wird ungemein vereinfacht, wenn du
die üblichen Begriffe zur Beschreibung verwendest und ihnen nicht
irgendwelche eigenen Bedeutungen zuordnest.
Stefanus F. schrieb:> Stimmt. Aber 16 kannst du haben:> https://www.amazon.de/Turspit-PCA9685-PWM-Servoschild-Motortreibermodul-Arduino-Robot/dp/B07Y446ZPP
Wenn es nicht brandeilig ist, bekommt man die 16 Kanal PWM Module direkt
aus Shenzhen auch für einen moderateren Preise.
z.B. https://www.ebay.de/itm/132475473698
Aus einem Summensignal des MC kann man per Schieberegister einfach
Signale für 8 Servos dekodieren. Schaltet man drei SR hintereinander hat
man 24.
Dazu reichen 3 Pins am MC.
Matthias S. schrieb:> Aus einem Summensignal des MC kann man per Schieberegister einfach> Signale für 8 Servos dekodieren. Schaltet man drei SR hintereinander hat> man 24. Dazu reichen 3 Pins am MC.
Hört sich einfach an, hab ich leider nicht verstanden..
Vielleicht kannst du ein Codebeispiel posten? Bitte nicht in Assembler.
Frank schrieb:> Hört sich einfach an, hab ich leider nicht verstanden..
Du generierst ein 24-Kanal Servo Summensignal, taktest das seriell in
drei hintereinander geschaltete 8-Bit Schieberegister rein und hängst
die Servos an die insgesamt 24 Parallelausgänge.
Stefanus F. schrieb:> Was ist denn ein "Servo Summensignal"?
Früeher wurde das Summensignal im RC Sender erzeugt und direkt auf den
Träger (27, 35 oder 40 MHZ) aufmoduliert (AM, später FM):
http://wiki.mikrokopter.de/SummenSignal
Im Empfänger wurde dann das Summensignal mit einem Schieberegister und
Monoflop dekodiert und auf die Servoausgänge gelegt.
Bei den heutigen 2,4Ghz Anlagen passiert das nicht mehr direkt, da
werden Datenpakete übertragen.
Das Summensignal liegt auch an den Trainer/Schülerbuchsen an.
Bei direkter Ansteuerung des SR ist es sehr einfach, da man die
Schieberegister resetten kann.
Ich würde mit einem einzelnen Bein anfangen, dieses gesteuert von einem
eigenen Subprozessor (evtl. Arduino Micro Pro o.ä.). Dann braucht man
auch keine Busexpander oder so'n Kram.
Ich würde also mehrere typische Bewegungsmuster, evtl. unter Verwendung
eines Tastsensors, hinterlegen. Diese sollten parametrierbar sein (z.B.
Ausgreif- oder Schwenkradius, Geschwindigkeit), ansonsten aber autonom
ablaufen. Für den Notfall auch noch einen "freien Modus", bei dem die
Robot-CPU Durchgriff auf jede einzelne Servoposition hat.
Tastet dann erst das Beinchen wie gewollt in der Gegend herum, lohnt es
sich, mehrere davon zu bauen und zu schauen, wie die Robot-CPU das Ganze
zu so etwas wie "Gehen", "Rennen" oder "Springen" synchronisieren kann
...
wWas wäre denn die kleinste Zeiterinheit die der PWM Puls sich ändern
möchte?
Von Links nach rechts sind von 1ms bis 2ms, bei 256 Stufen sind das
~0,04ms
Da muß das SR aber sehr exakt und schnell angesteuert werden das die PWM
Zeiten stabil sind.
Stefanus F. schrieb:> Aha Ok. Das ist aber eine sportliche Aufgabe, wenn der µC noch etwas> anderes zu tun hat.
Nö, wieso denn? Timer wird mit dem jeweiligen Kanalwert vorgeladen und
schiebt in der OV ISR das Schieberegister weiter. Da drin wird nur ein
gesetztes Bit geschoben.
Es gibt bei 24 Kanälen allerdings ein Timing Problem. Da der längste
Puls für ein Servo 2ms betragen kann, passen in die 20ms eines Frames
nur 8-10 Kanäle.
Am besten bastelt man also 3 Datenoutputs an drei 8-Bit SR.
Wenn man möchte, kann man sich kleine Module mit dem SR und einer
Versorgung für jeweils 8 Servos machen, die dann mit 3 Leitungen vom MC
gesetzt werden.
Matthias S. schrieb:> Es gibt bei 24 Kanälen allerdings ein Timing Problem. Da der längste> Puls für ein Servo 2ms betragen kann, passen in die 20ms eines Frames> nur 8-10 Kanäle.
Die 20ms sind den meisten Servos ziemlich egal, aber die Bewegung wird
mit höherer Updaterate flüssiger.
Ganz auf die Ablaufsteuerung kann sich der µC konzentrieren, wenn man
die Servopulse mit zwei von den oben vorgeschlagenen PCA9685 per
Hardware generiert.
Frank E. schrieb:> Diese sollten parametrierbar sein ansonsten aber autonom> ablaufen.
Meinst die wie bei Hühnern die nach dem Abhacken des Kopfes manchmal
noch weglaufen?
Matthias S. schrieb:> Da der längste Puls für ein Servo 2ms betragen kann, passen> in die 20ms eines Frames nur 8-10 Kanäle.
Aha, da kommen wir der Sache schon näher. Meine Servos wollen Impulse
bis 2,5ms sehen - also maximal 8 Kanäle.
Willst du das dann mit drei Timern parallel machen?
> Am besten bastelt man also 3 Datenoutputs an drei 8-Bit SR.
Also ja. Krass.
Wie sorgst du dafür, dass die ISR der Timer sich nicht gegenseitig ins
Gehege kommen?
Dann muss der Timer das Schieberegister takten. Das übersteigt
allerdings gerade keine Vorstellungskraft. Ist vielleicht schon zu spät
heute.
Jedenfalls ist das ganz sicher nicht einfach, für Anfänger definitiv
ungeeignet.
Stefanus F. schrieb:> Frank E. schrieb:>> Diese sollten parametrierbar sein ansonsten aber autonom>> ablaufen.>> Meinst die wie bei Hühnern die nach dem Abhacken des Kopfes manchmal> noch weglaufen?
Im Prinzip ja. Ich würde nicht alles von einer einzigen zentralen CPU
machen lassen. Klingt zwar erstmal nach mehr Hardware ... die ist aber
billig und die Vorteile (teil-) autonomer Subsysteme sind immens.
So was ähnliches hab ich auch mal gemacht, und zwar einmal mit einem
SPI-zu-24xPWM-Umsetzer auf einem FPGA und einmal mit drei Attiny2113s,
die jeweils per I2C angesteuert waren und 8 PWM Ausgänge hatten. Die
drei Attinys waren jeweils in eine Art Modul integriert, wo auch die
Stromversorgung und die 8 Servos untergebracht waren. Softwareseitig
lässt sich das relativ einfach umsetzen: man pullt ein Pin hoch, lässt
den Timer erst für 255 Takte (1ms bei richtig konfigurierten Prescaler)
hochzählen und dann lädt man den Servsollwert (1...255) rein und zählt
runter. Dann zieht man den Pin runter, schaltet weiter auf den nächsten
und weiter geht's!
Stefanus F. schrieb:> Wie sorgst du dafür, dass die ISR der Timer sich nicht gegenseitig ins> Gehege kommen?
Gegenfrage: Wie lange, glaubst du, dauert das Setzen eines Clk Pins?
Einmal alle 8 Pulse setzt die ISR auch mal das DIN am Schieberegister.
Dann lädt der Timer gemütlich den nächsten TCNT Wert und ist fertig mit
der ISR. Bis zum nächsten Aufruf vergehen mindestens 500µs, da bleibt
jede Menge Zeit für die anderen Routinen.
Stefanus F. schrieb:> Willst du das dann mit drei Timern parallel machen?
Warum nicht?
Aber die Subunternehmer Idee von Viktor ist auch gut. Ein paar Tinys
haben jeweils ein paar Servos unter sich und sprechen per Bus mit dem
Robbihirn.
Matthias S. schrieb:> Warum nicht?
Weil dann (beim Arduino Uno und Nano) kein Timer mehr für andere
Aufgaben frei ist. Aber Ok, mit einem größeren Modell hat man auch mehr
Timer.
Matthias S. schrieb:> Gegenfrage: Wie lange, glaubst du, dauert das Setzen eines Clk Pins?> Bis zum nächsten Aufruf vergehen mindestens 500µs
Ich meinte eher, dass sich die Ausführung einer ISR verschieben kann,
wenn schon eine andere in Arbeit ist. Das sind zwar vermutlich nur ein
paar zig Takte, aber ich fürchte, dass diese Verzögerung genügt, um
Servos zittern zu lassen.
0,01ms Jitter wären jedenfalls zu viel.
Jetzt wo ich nachrechne:
Das sind 160 Takte, man muss sich schon blöd anstellen*, um so viel Zeit
zu verbrauchen. Du hast Recht, so eng ist es doch nicht.
*) mit digitalWrite(), zum Beispiel
Hinweis: Digitalen Servos sind Pausen zwischen den Impulsen sch...egal,
selbst wenn die mal für ein paar Sekunden komplett ausfallen, hält das
Servo die Position.
Nur die Impulsbreite ist relevant ...
Stefanus F. schrieb:> *) mit digitalWrite(), zum Beispiel
Aber so blöd sind wir ja nicht. Wir wollen ja einen Robotor basteln und
nicht mit Lämpchen rumspielen.
Stefanus F. schrieb:> Das sind 160 Takte, man muss sich schon blöd anstellen*, um so viel Zeit> zu verbrauchen. Du hast Recht, so eng ist es doch nicht.>> *) mit digitalWrite(), zum Beispiel
Wer bei solchen Anwendungen mit digitalWrite() hantiert, ist selber
Schuld. Wenigsten digitalWriteFast() sollte man dafür in seinen
Arduino-Wortschatz aufnehmen. Das spart schon mal einen Faktor 50 bei
der Ausführung.
https://github.com/NicksonYap/digitalWriteFast
> Stimmt. Aber 16 kannst du haben:> https://www.amazon.de/Turspit-PCA9685-PWM-Servoschild-Motortreibermodul-Arduino-Robot/dp/B07Y446ZPP>> Davon mehrere an einen I²C Bus, und schon hast du mehr als genug.
An so etwas vorgefertigtes habe ich gedacht, davon werde ich mir 1 oder
2 bestellen.
> Die Gängigen Bluetooth Module kannst du unter Arduino mit der Serial> Klasse ansteuern. Hier sind ein paar Hinweise dazu:> http://stefanfrings.de/bluetooth/index.html
Das werde ich im Hinterkopf behalten, danke. Für den Einstieg habe ich
mich nun aber doch entschlossen mit Signalleitungen zu arbeiten um
nicht an zwei Fronten gleichzeitig kämpfen zu müssen.
> Ich schließe mich Harald an: Unterschätze die Stromaufnahme und> Störwirkung der Motoren nicht. Wahrscheinlich ersparst du Dir eine Menge> Stress, indem du für die Motoren ein eigenes Netzteil (oder Batterien)> verwendest.
Guter Rat an den ich mich halten werde. Der Punkt wurde hier im Thema
auch heiß diskutiert.
Johannes S. schrieb:> ok, Danke. Ich hatte solche Bilder im Kopf, da passte das mit den Servos> nicht so richtig:> https://de.wikipedia.org/wiki/Hexapod> Wünsche dem TO jedenfalls gutes Gelingen.
Da habe ich mich ganz ungenau ausgedrückt, hätte schreiben können, dass
es ein Spinnenroboter mit 6 Beinen je 4 Servos werden soll.
Dippel schrieb:> Einen Kampfroboter programmiert man in Assembler.
Der Programmierer kann sich dann mit c-hater duellieren. Auf ein C
Programm würde er sich nicht einlassen, ist unter seiner Würde.
Frank schrieb:> Für den Einstieg habe ich> mich nun aber doch entschlossen mit Signalleitungen zu arbeiten um> nicht an zwei Fronten gleichzeitig kämpfen zu müssen.
Gute Entscheidung.
Frank schrieb:> Da jeder meiner 12 Servos max. 1,4A ziehen kann (in Summe 16,8A), kann> ich den 16x Servodriver nicht ohne weiteres verwenden,
Die 25 mA beziehen sich auf den Servodriver PWM Ausgang der mit dem PWM
Eingang des Servos verbunden ist. Hierfür sind die 25mA mehr als
ausreichend (habe im Servo-Datenblatt dazu leider keine Angaben
gefunden). Den running current von 0.9 A bis zu maximal 2.5 A stall
current holt sich der Servo von VCC.
Helmut H. schrieb:> Den running current von 0.9 A bis zu maximal 2.5 A stall current holt> sich der Servo von VCC.
Super Info, dann kann ich auf 16 Servos aufstocken ohne viel gebastele),
danke.
Was ist mit dem dc-dc step down converter? Wäre der für meine Zwecke
geeignet? Ist die Ausgangsspannung von 5V bei 16A nicht kritisch? Manche
Wandler sind da empfindlich habe ich mal gelesen.
Frank schrieb:> Ist die Ausgangsspannung von 5V bei 16A nicht kritisch?
Lass uns mal rechnen, laut DB Stall Current 2.5 A (Und du musst rechnen
das ALLE Servos diesen ziehen, spätestens beim einschalten wenn sie alle
gleichzeitig in die Grundstellung fahren.)
Aaaalso: 16x 2,4 = 40A ;-)
Im Grunde wird dies im Modellbau aber halt anders gelöst. Hättest du dir
einen 2S LiPo organisiert, dann kannst du die Servos direkt aus dem LiPo
versorgen, ohne jegliche DC Wandler. Aber darauf achten das der Lipo
auch 40A bereitstellen kann.
Rene K. schrieb:> Im Grunde wird dies im Modellbau aber halt anders gelöst. Hättest du dir> einen 2S LiPo organisiert, dann kannst du die Servos direkt aus dem LiPo> versorgen, ohne jegliche DC Wandler. Aber darauf achten das der Lipo> auch 40A bereitstellen kann.
Ein 2S Lipo stellt 7.4V Spannung bereit statt der maximal zul. 7.2V, ist
das ein Problem für die Servos? Die Leistungsabgabe bei 7.2 oder 7.4
Volt mit 2.5A ist ja nur minimal, sicher bin ich trotzdem nicht ob die
nicht mit der Zeit durchbrennen.
Frank schrieb:> Ein 2S Lipo stellt 7.4V Spannung bereit
Wenn er voll geladen ist, sinds sogar 8,4V. Ich würde die nicht auf die
Servos schicken, wenns per Datenblatt der Servos ausserhalb der Specs
ist.
Frank schrieb:> Ein 2S Lipo stellt 7.4V Spannung bereit statt der maximal zul. 7.2V, ist> das ein Problem für die Servos? D
Woher sollen wir das wissen? Guck doch selbst in die technischen Daten
deiner Servos.
Stefanus F. schrieb:> Woher sollen wir das wissen? Guck doch selbst in die technischen Daten> deiner Servos.
Der Vorschlag kam doch hier ausem Forum, woher soll ich wissen ob das
geht? Ich wollte einen Stepdown Wandler einsetzen, habe sogar gefragt ob
er sinnvoll ist, habe dann die Antwort bekommen, dass man einfach nen 2S
Lipo dranknallen kann und gud is.
Daraufhin habe ich sicherheitshalber mal nachgefragt ob das überhaupt
gehen könnte oder nicht. Im DaBla steht 7.2V das war doch schon längst
klar.
An dieser Stelle danke @Matthias für den Hinweis mit den 8.4V, ich
bleibe bei meinem Stepdown Wandler, zur Not auch zwei kleine.
Frank schrieb:> Der Vorschlag kam doch hier ausem Forum, woher soll ich wissen ob das> geht?
Indem du den Vorschlag mit den technischen Daten der Servos abgleichst.
Wenn da zum Beispiel "maximal 7,2 Volt" steht, dann würde ich da keine
Akkus anschließen, die frisch geladen mehr als 8 Volt liefern.
Der Punkt ist: Du brauchst eine Kombination von Servo und Akku, die
zusammen passt. Das ist jedem Spannungswandler vorzuziehen.
Mit Spannungswandler wird dein Aufbau nur noch komplizierter und du
bekommst weitere Effekte, die du noch weniger verstehst.
Stefanus F. schrieb:> Der Punkt ist: Du brauchst eine Kombination von Servo und Akku, die> zusammen passt. Das ist jedem Spannungswandler vorzuziehen.
Das habe ich verstanden, aber wie bekomme ich die 8.4V und knapp 20A auf
7.2V? Als Laie kommt mir nur ein Stepdown Wandler in den Kopf, deshalb
frage ich mich hier im Forum durch. Was ist also deine Empfehlung?
Frank schrieb:> Das habe ich verstanden, aber wie bekomme ich die 8.4V und knapp 20A auf> 7.2V?
Na mit einem Spannungswandler, aber den sollst du vermeiden. Deswegen
empfehle ich dir keinen. 20A sind kein Pappenstiel.
Harald schrieb:> Mein Vorschlag eingangs bzgl. eines eigenen DCDC-Netzteils(!) pro Servo> hatte ist ja leider als unnötiger Blödsinn abgetan worden. Schade.
Das ist auch Blödsinn. Nimm lieber passende Servos für den Akku oder
einen passenden Akku für die Servos. So schwer ist das nicht!
Nimm das externe board für die Servos, dann der Mega kann nur max 6
servos gleichzeitig, das externe board 16. Nacheinander die Servos
bewegen ist für einen Hexapod nicht das richtige.
Harald schrieb:> Na dann, alles gut ;-)
Hallo Harald, ich habe deine Lösung bisher nicht in die Engere Wahl
genommen weil ich von der Menge zurückgeschreckt bin (12 einzelne
Konverter irgendwie unterzubringen und zu verdrahten). Grundsätzlich
denke ich aber, dass es ohne einen Konverter nicht gehen wird bzw. dass
es nicht einfacher gehen wird.
Was sagst du denn zu dem von mir geposteten Konverter? Es muss nicht das
20A Monster sein, gerne auch zwei kleinere, dann könnte man den linken
und rechten Teil des Roboters separat versorgen, das wären dann gerade
mal 6 Servos pro Akku, ist vielleicht auch nicht schlecht.
Einen grober Entwurf vom Model habe ich mal angehängt, zum programmieren
und testen ist das gut genug, Details werden erst gemacht wenn alles
sauber tut.
Chris schrieb:> Nimm das externe board für die Servos, dann der Mega kann nur max 6
Das Arduino Mega Board kann mit der Servo Library
Frank schrieb:> Hallo Harald, ich habe deine Lösung bisher nicht in die Engere Wahl> genommen weil ich von der Menge zurückgeschreckt bin (12 einzelne> Konverter irgendwie unterzubringen und zu verdrahten). Grundsätzlich> denke ich aber, dass es ohne einen Konverter nicht gehen wird bzw. dass> es nicht einfacher gehen wird.>> Was sagst du denn zu dem von mir geposteten Konverter? Es muss nicht das> 20A Monster sein, gerne auch zwei kleinere, dann könnte man den linken> und rechten Teil des Roboters separat versorgen, das wären dann gerade> mal 6 Servos pro Akku, ist vielleicht auch nicht schlecht.
Habe nochmal nachgerechnet, ich bräuchte pro zwei Beine (=6 Servos) 15A,
demnach müsste ich also ohnehin zwei Konverter kaufen:
https://www.amazon.de/gp/product/B07RGWJHPZ/ref=ox_sc_act_title_2?smid=AETO64PHCI4NL&psc=1
Oder sollte ich lieber einen mit 40A nehmen? Was ist besser, zwei oder
ein Konverter? Akkus hätte ich aus meinem RC-Flugzeug da, es sind 3S
Akkus mit 11,1V, man könnte also jede Seite mit einem Akku und DC
Wandler versorgen.
Hallo Frank,
man muss das ja nicht so bauen, wie ich das vorgeschlagen habe. Das war
nur ein Vorschlag, wie ich so etwas angehen würde. Ich habe dabei
ausdrücklich keinen Anspruch auf die einzig perfekte Lösung. Schade ist
hauptsächlich, dass der Ton im Forum regelmäßig komplett abdriftet und
Vorschläge außer dem Eigenem als „Blödsinn“ abgetan werden. Oder gar
Beleidigungen erfolgen, was hier in diesem Thread glücklicherweise
bisher nur ansatzweise vorkam.
Also, wenn es DICH interessiert, gerne:
Die oben verlinkten Wandler sind sehr klein, flach, supergünstig und
auch vom Spitzenstrom gut passend für ein Servo. Ich würde die direkt am
Servo (Spiegelklebeband) oder in unmittelbarer Nähe anbringen. Die
Versorgungsspannung kann dann recht hoch ausfallen, vielleicht eignet
sich sogar ein 18V/2Ah Werkzeugakku. Oder auch der 11V Akku, den du
gekauft hast. Der Strom ist dann niedriger und die Leitungen können
dünner ausfallen. Man muss dann auch nicht alles konsequent sternförmig
verdrahten sondern z.B. nur pro Bein (Achse?). Könnte bei der
Leitungsführung helfen.
Wenn Du nur einen oder zwei zentrale (fette) Wandler aufbaust bist du
meiner Meinung nach keinen Schritt weiter. Die sternförmige Verdrahtung
mit dicken Leitungen bleibt dann ja bestehen. Und du musst den 5V/20A
irgendwo hinbauen und das Gewicht im Aufbau tragen.
Ich würde auch keine PWM Erweiterungsplatinen benutzen, auch keine CPU,
die die PWMs per SoftPWM erzeugt. Meiner Meinung nach hat SoftPWM das
Potential zum Jitter (Wackeln), vor allem dann, wenn die CPU noch etwas
anderes machen soll (Funk, Algorithmus). Daher mein Hinweis auf eine
CPU, die einfach alle PWMs in Hardware bedienen kann. Aber auch hier
gilt, das wäre mein Lösungsansatz, andere Leute können das gerne anders
machen oder sagen, dass das Kanonen auf Spatzen sind. Ich würde es
trotzdem so machen.
Viel Erfolg!
Dann nimmt man Lifepo Akkus. 2S haben 6,4V nominal. Bin mir bei Liefepo
aber nicht sicher ob diese die 40A Peak bringen können.
Ich denke du solltest das Gewicht so gering wie möglich halten. Die
Tower Pro sind nun NICHT gerade für ihr extremes Haltemoment berüchtigt.
Was die PWM angeht: das sehe ich genauso wie Harald. Du benötigst für
alle Servos ein PWN Kanal. Softpwm scheitet bei den Towerpro aus. Du
wirst das Zittern der Servos nie in den Griff bekommen. Desweiteren,
kannst du ja nun probieren wenn du die Servos hast, fällt Multiplexing
aus (Servos nacheinander ansteuern) - sobald die PWM von einem Servo
genommen wird, wird dieser sein Haltemoment verlieren: Zittern.
Entweder ein MC mit entsprechend vielen Hardware-PWM oder ein/zwei PWM
IC nutzen.
Der Vierbeiner wird nicht laufen, höchstens schlurfen. Wenn ein Bein
hoch geht, kippt er in genau diese Richtung.
Es sollten immer mindestens 3 Beine am Boden um den Massemittelpunkt
herum sein.
Blackbird
Stefan F. schrieb:> Der Punkt ist: Du brauchst eine Kombination von Servo und Akku, die> zusammen passt. Das ist jedem Spannungswandler vorzuziehen.Rene K. schrieb:> Dann nimmt man Lifepo Akkus. 2S haben 6,4V nominal. Bin mir bei Liefepo> aber nicht sicher ob diese die 40A Peak bringen können.Harald schrieb:> Wenn Du nur einen oder zwei zentrale (fette) Wandler aufbaust bist du> meiner Meinung nach keinen Schritt weiter. Die sternförmige Verdrahtung> mit dicken Leitungen bleibt dann ja bestehen. Und du musst den 5V/20A> irgendwo hinbauen und das Gewicht im Aufbau tragen.
Habe nochmal überlegt und habe mich jetzt dazu entschieden es mit
LiFePo-Akkus zu versuchen. Die Ladeschlussspannung übersteigt die zul.
Spannung der Servos nicht und die Servos laufen selbst noch bei 4,8V.
Außerdem wurde auf die passende Akku/Servo Kombi hingewiesen und da
scheinen die LiFePo perfekt zu sein. Habe günstig zwei 2S-30C(konstant)
für je 8,95€ erstanden.
Ich berichte weiter wenn es neues gibt!