Forum: Mikrocontroller und Digitale Elektronik 18 Servos an Atmega644


von Chris (Gast)


Lesenswert?

Hi Freunde,

ich möchte 18 Servos unabhängig von einander Regeln (für Hexapod 
Roboter).

Dafür lege ich 8 bit (0-255) entsprechend dem gewünschten Servo Winkel 
an einen Port. Dann die Servo-Adresse in Form von 5 Bit (Servo 1 - 18) 
an einen anderen Port. Dann brauche ich eine Leitung, die ein Interrupt 
am Controller auslöst, damit dieser die Werte für die Software-PWM 
übernimmt. So schicke ich dem Controller die gewünschten Servo 
Stellwinkel.

An 18 Augängen generiert der Controller dann für jeden Servo eine 
entsprechendee Software PWM. Mit einem 20 Mhz Quarz sollte das kein 
Problem sein, oder?

Was halter ihr davon? Irgendwo ein Denkfehler?

1.
Kann ich die PWM direkt an die PW Eingänge der Servos hängen?

2.
Die Servos haben eine gemeinsame 5 Volt Spannungsversorgung. Krieg ich 
da Probleme und muss Kondensatoren vor jeden Servo hängen? Ich speise 
das ganze mit Akkus.

3.
Da ich einen externen Quarz an XTAL1 und 2 hänge, kann ich die Pins dann 
überhaupt noch nutzen? Sonst fehlen mir 2 IOs und ich müßte auf interne 
Clock (16 Mhz) umschalten.

4. Ist der interne Takt genau genug, um die Servos anzusteuern? Habe 
gehört die schwankt in Temperatur Abhängigkeit. Und meine Pins haben ja 
ordentlich zu schalten, was ja auch Wärme bewirkt...

5. Porterweiterung (Schieberegister) kommt nicht in Frage, da die 
Software so simpel und schnell wie möglich gehalten werden soll. Die 
wird noch kompliziert genug.

6. Verbraten Servos nur bei Positionswechsel Energie, oder auch wenn sie 
eine Position halten? Bei einem Schnecken getriebe, dürfte das halten ja 
kein Problem sein...

Das war es erstmal. Ich bedanke mich herzlich für alle konstruktiven 
Beiträge und Hilfestellungen.

Schönen Gruß,
Chris

von Ich (Gast)


Lesenswert?

#5. Porterweiterung (Schieberegister) kommt nicht in Frage, da die
#Software so simpel und schnell wie möglich gehalten werden soll. Die
#wird noch kompliziert genug.

Würde ich nicht sagen, so kannst du min.8 Servos an 2 Ports hängen, und 
das ganze noch per Hardware-PWM !!!!!

Alles andere (Viele Servos per Software-PWM) ist murks und bringt nur 
geringe Auflösungen.


Gruß,
 Ich

von TestX .. (xaos)


Lesenswert?

1. kommt auf die servos an weiviel strom die wolle
2. ja musst du, den controller am besten mit einer stromkompensierenden 
drossel von der versorgung "isolieren" um gleichtaktstörungen zu 
unterdrücken
3. wenn da etwas dranhängt, zB ein quarz kann man die pins 
logischwerweise nicht mehr nutzen
4. ist er schon, wenn du keine wiederholgenauigkeit brauchst und keine 
kommunikation zur außenwelt
6. die verbrauchen immer energie, wieviel hängt aber pprimär vom moment 
ab das die motoren aufbringen müssen:

tipp: benutzt mehrere "servo" controller mit 16bit pwm's, 8bit ist zu 
ungenau und steuer das ganze über einen zentralen controller ! als clock 
kannst du einen gemeinsamen quarzooszillator o.ä. nehmen

von slow (Gast)


Lesenswert?

>1. Kann ich die PWM direkt an die PW Eingänge der Servos hängen?
Alle Servos werden sich dann gleich verhalten. Willst Du das?

>2. Die Servos haben eine gemeinsame 5 Volt Spannungsversorgung. Krieg ich
>da Probleme und muss Kondensatoren vor jeden Servo hängen? Ich speise
>das ganze mit Akkus.

Kommt drauf an we steif Deine Stromversorgung ist.

>3. Da ich einen externen Quarz an XTAL1 und 2 hänge, kann ich die Pins dann
>überhaupt noch nutzen? Sonst fehlen mir 2 IOs und ich müßte auf interne
>Clock (16 Mhz) umschalten.

Wie soll die Doppelnutzung denn aussehen, die IO-Pins stellen den 
Quarzoszillator dar. Da ist dann nix mehr mit I oder O.

Das parallele Eingabekonzept halt ich eher für übearbeitungsbedürftig. 
Da verbrätst du eine Menge IO-Pins.

von Chris (Gast)


Lesenswert?

Ich schrieb:
> Würde ich nicht sagen, so kannst du min.8 Servos an 2 Ports hängen, und
> das ganze noch per Hardware-PWM !!!!!

Du meinst sicher an zwei Pins, oder? Würde das dann mit Schieberegistern 
laufen? Die Idee hört sich interessant an. Weiß nur nicht wie das gehen 
soll... Hardware PWM ist doch nur auf den zwei(?) Timern möglich. Kannst 
du mir noch ein paar Zeilen mehr dazu schreiben wie du auf 8 PWMs 
kommst?

Hiernoch mal die Anforderung:
18 Servos -> jeder eine eigene Pulsweite.

Gruß, Chris

von Chris (Gast)


Lesenswert?

Andi D. schrieb:
> 4. ist er schon, wenn du keine wiederholgenauigkeit brauchst und keine
> kommunikation zur außenwelt

Dann ist das Quarz Problem ja gelöst und die 32 Ports reichen exakt für 
mein Projekt.

slow schrieb:
>>1. Kann ich die PWM direkt an die PW Eingänge der Servos hängen?
> Alle Servos werden sich dann gleich verhalten. Willst Du das?

Ich meinte natürlich, jeweils die PWM eines Pins zum jeweiligen Servo. 
Also 18 unterschiedliche Software generiert PWMs an 18 unterschiedliche 
Servos.

Andi D. schrieb:
> tipp: benutzt mehrere "servo" controller mit 16bit pwm's, 8bit ist zu
> ungenau und steuer das ganze über einen zentralen controller ! als clock
> kannst du einen gemeinsamen quarzooszillator o.ä. nehmen

8 bit, sind doch 255 Schritt auf 180°. Das ist auf 0,7° exakt gesteuert. 
Denke das reicht. Der Atmega644 ist übrigens, nur für die Servos da. Ein 
weiterer Controller übernimmt die Bewegungssteuerung, also welches Bein 
wohin.

Vielen dank schon mal so weit, ihr seid Klasse!

von TestX .. (xaos)


Lesenswert?

Chris schrieb:
> 8 bit, sind doch 255 Schritt auf 180°. Das ist auf 0,7° exakt gesteuert.
> Denke das reicht. Der Atmega644 ist übrigens, nur für die Servos da. Ein
> weiterer Controller übernimmt die Bewegungssteuerung, also welches Bein
> wohin.

das stimmt so nicht... du hast eine ON und OFF zeit.. lies dir mal das 
servo tutorial durch... der servo braucht einen 1...2ms HIGH pegel mit 
dem du die position steuerst. danach eine pause von 10ms++.

von Chris (Gast)


Lesenswert?

Andi D. schrieb:
> 1. kommt auf die servos an weiviel strom die wolle
> 2. ja musst du, den controller am besten mit einer stromkompensierenden
> drossel von der versorgung "isolieren" um gleichtaktstörungen zu
> unterdrücken
Lohnt es sich, die einzelnenPWMs zu verschiedenen Zweiten zu starten? So 
hätte ich doch die Gleichtaktstörung per Software vermieden. Mit 
Drosseln habe ich noch nie gearbeitet. Mache mich aber mal schlau.

> 3. wenn da etwas dranhängt, zB ein quarz kann man die pins
> logischwerweise nicht mehr nutzen
Schade...

> 4. ist er schon, wenn du keine wiederholgenauigkeit brauchst und keine
> kommunikation zur außenwelt
...Problem gelöst -> interner 16Mhz Takt!


Servos haben drei Eingänge. Vcc, Gnd und Pw. Pw kriegt meine PWM vom 
uController. Da dürfte doch kaum Strom drüber gehen, da es nur ein 
Steuersignal ist, oder? Nicht das mit der uController verbrät bei 18 
Servos. Treiber brauche dafür noch nicht, oder?

von Chris (Gast)


Lesenswert?

Andi D. schrieb:
> Chris schrieb:
>> 8 bit, sind doch 255 Schritt auf 180°. Das ist auf 0,7° exakt gesteuert.
>> Denke das reicht. Der Atmega644 ist übrigens, nur für die Servos da. Ein
>> weiterer Controller übernimmt die Bewegungssteuerung, also welches Bein
>> wohin.
>
> das stimmt so nicht... du hast eine ON und OFF zeit.. lies dir mal das
> servo tutorial durch... der servo braucht einen 1...2ms HIGH pegel mit
> dem du die position steuerst. danach eine pause von 10ms++.

Bei Software PWM kann ich doch meine 8bit voll für die ein Zeit 
aufbringen und die Auszeit immer hintendranhängen. Dann sollt ich die 
8bit auflösung haben.

Also bei Wert 128:  1ms + 0.5 ms EIN, dann 0,5ms aus und weitere 10ms 
aus.
Bei 64 entsprechend 1ms + 0,25 ms EIN, dann 0,75 aus und weitere 10ms 
aus.

Muss mich nun für ein paar Stunden abmelden aber freue mich heute Abend 
auf alle Beiträge.

Viele Grüße,
Chris

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:
> Dafür lege ich 8 bit (0-255) entsprechend dem gewünschten Servo Winkel
> an einen Port. Dann die Servo-Adresse in Form von 5 Bit (Servo 1 - 18)
> an einen anderen Port. Dann brauche ich eine Leitung, die ein Interrupt
> am Controller auslöst, damit dieser die Werte für die Software-PWM
> übernimmt. So schicke ich dem Controller die gewünschten Servo
> Stellwinkel.

Bei dem Teil kann ich Dir leider nicht folgen. Sollen diese beiden Ports 
als Eingänge dienen über die der µC Winkel und Servoadresse übernimmt?

>
> An 18 Augängen generiert der Controller dann für jeden Servo eine
> entsprechendee Software PWM. Mit einem 20 Mhz Quarz sollte das kein
> Problem sein, oder?
>
> Was halter ihr davon? Irgendwo ein Denkfehler?
>
> 1.
> Kann ich die PWM direkt an die PW Eingänge der Servos hängen?

Kommt sicher auf die Servos an. Bei mir laufen (testweise) sowohl ein 
Analogservo als auch ein Digitalservo über einen Widerstand am Port des 
µC.

> 6. Verbraten Servos nur bei Positionswechsel Energie, oder auch wenn sie
> eine Position halten? Bei einem Schnecken getriebe, dürfte das halten ja
> kein Problem sein...

Ich persönlich kenne keine Servos die ein Schneckengetriebe enthalten. 
Was möchtest überhaupt für Servos verwenden? Analogservos oder 
Digitalservos? Digitalservos brauchen mehr Energie als Analogservos weil 
die auch ohne aktiven PWM-Signal versuchend die Position zu halten. (Ich 
persönlich kann mir nicht vorstellen, daß man bei so einem Projekt mit 
Analogservos glücklich wird.)

Paß auf, daß Du nicht überrascht wirst vom Stromverbrauch der 18 Servos. 
Je nach Last wird sich das im A-Bereich bewegen.

Willst Du die Servos parallel oder sequentiell ansteuern? Du wirst 
feststellen, daß die Servos einen größeren Bereich ansteuern können als 
von 1ms-2ms Signalbreite. Wenn Du also von 750µs bis 2250µs ausgehst und 
die Servos sequentiell ansteuerst dann bewegt sich der letzte erst ~40ms 
nach dem ersten Servo. Ich weiß nicht ob das für Dich ein Thema ist oder 
nicht. Nachdem sich Digitalservos typischerweise mit einer Frequenz von 
330 Hz, also ca. alle 3ms ansteuern lassen wären alle 40ms für mich 
keine Option. (Aber da scheiden sich die Geister im Forum wie ich schon 
festgestellt habe)

Du mußt Dir auch überlegen ob Du die Servos "verlangsamen" möchtest. 
Also angenommen, Du möchtest ein Bein heben. Sagen wir bei 1500µs steht 
es am Boden und Du möchtest das Bein auf 2000µs Servoposition heben. Je 
nach Servogeschwindigkeit geht das sehr flott. (Gute Servos schaffen 60° 
in 0,06s oder weniger)

von MaWin (Gast)


Lesenswert?

> Kann ich die PWM direkt an die PW Eingänge der Servos hängen?

Ja.

> Die Servos haben eine gemeinsame 5 Volt Spannungsversorgung. Krieg ich
> da Probleme

Eventuell. Servos enthalten Motoren die stören und viel Strom brtauchen.

> und muss Kondensatoren vor jeden Servo hängen?

Eher die Versorgungsspannung des uC gut filtern.

> Ich speise das ganze mit Akkus.

Das ist gut weil die recht niederohmig sind.

> Da ich einen externen Quarz an XTAL1 und 2 hänge, kann ich die Pins dann
> überhaupt noch nutzen?

Nein.

> Sonst fehlen mir 2 IOs und ich müßte auf interne Clock (16 Mhz)
> umschalten.

Tja.

> 4. Ist der interne Takt genau genug, um die Servos anzusteuern?

Ja.

> Habe gehört die schwankt

Tut sie, auch mit der Versorgungspannung, da aebr niemand deine 
Genauigkeitsanforderungen kennt, weiß niemand, ob dich z.B. 5% 
Abweichung stören.

> 6. Verbraten Servos nur bei Positionswechsel Energie,

Nein, aber am meisten.

> oder auch wenn sie eine Position halten?

Ja, wenn Last drauf einwirkt der sie gegenhalten müssen.

> Bei einem Schnecken getriebe, dürfte das halten ja kein Problem sein...

Haben sie aber i.A. nicht, wäre viel zu langsam.

> Lohnt es sich, die einzelnen PWMs zu verschiedenen Zweiten zu starten?

Ja. Weil viele Servos so gebaut sind, daß sie, wenn eine Abweichung 
vorliegt, genau dann den Strom auf die Motoren schalten, und wenn das 
alle 18 gleichzeitig tun, wird die Spannung zusammenbrechen.

von Chris (Gast)


Lesenswert?

Hi und danke schon mal für die Infos.

Ernst B. schrieb:
> Chris schrieb:
>> Dafür lege ich 8 bit (0-255) entsprechend dem gewünschten Servo Winkel
>> an einen Port. Dann die Servo-Adresse in Form von 5 Bit (Servo 1 - 18)
>> an einen anderen Port. Dann brauche ich eine Leitung, die ein Interrupt
>> am Controller auslöst, damit dieser die Werte für die Software-PWM
>> übernimmt. So schicke ich dem Controller die gewünschten Servo
>> Stellwinkel.
>
> Bei dem Teil kann ich Dir leider nicht folgen. Sollen diese beiden Ports
> als Eingänge dienen über die der µC Winkel und Servoadresse übernimmt?

Ja, die Ports nutze ich als Eingänge. Ich lese die Pulsweite des Servos 
in Form von 8 Bit an einem Port ein und an einem weiteren Port die 
Adresse, für welchen Servo diese Pulsweite gewünscht ist. Speichere so 
zu jedem der 18 Servos eine Pulsweite/Winkelstellung im Stack.

MaWin schrieb:
>> 4. Ist der interne Takt genau genug, um die Servos anzusteuern?
>
> Ja.
>
>> Habe gehört die schwankt
>
> Tut sie, auch mit der Versorgungspannung, da aebr niemand deine
> Genauigkeitsanforderungen kennt, weiß niemand, ob dich z.B. 5%
> Abweichung stören.

Also wenn der Interne Quarz um 5% schwankt, schwankt ja folglich auch 
die Winkelposition der Servos um 5 % und das stört mich erheblich. Habe 
nun auch keinen Atmega gefunden, der intern 16 Mhz generieren kann und 8 
Mhz sind mir zu langsam.

Habe mir überlegt, die fünf Adressleitungen wegzulassen und die 
Winkelpositionen nacheinander vom übergeordneten Controller 
"anzufordern". So habe ich 2 oder 3 Leitungen gewonnen von die ich für 
einen stabilen 20 hz Quarz nutzen kann.

Das mit den Servos ist mir noch nicht ganz klar.
Die ideale PWM Periode ist wohl 20 ms?
1ms HIGH, dann innerhalb der nächsten Millisekunde je nach gewünschten 
Winkel auf LOW schalten (0 - 1 ms entsprechen 0° - 180°), dann 18ms auf 
LOW halten und von vorn beginnen.

Sind die 20ms Periodendauer standard? Jemand hatte hier auch 40ms 
genannt und irgendwo habe ich 10 ms Periodendauer gelesen. Was ist 
ideal?

Was macht der Servo von der mal 10 Sekunden keinen Takt kriegt? Ist die 
Welle dann "schlaff" oder zieht der Servo weiter Saft um seine Position 
zu halten? Dann müsste ich ja nur Positionsänderungen übertragen...

Viele Grüße Chris

von Modellbauer (Gast)


Lesenswert?

Chris schrieb:
> Die ideale PWM Periode ist wohl 20 ms?

Das ist ein weit verbreitetes Gerücht. Die 20 ms sind historisch bedingt 
und entsprechen der Periode des Summensignals.
Die Position der Servos hängt nur von der Pulsbreite, aber nicht von der 
Periode ab. Die Periode bestimmt die Häufigkeit der 
Positionsaktualisierung und was da optimal ist, hängt von der Anwendung 
ab.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Modellbauer schrieb:
> Die Position der Servos hängt nur von der Pulsbreite, aber nicht von der
> Periode ab. Die Periode bestimmt die Häufigkeit der
> Positionsaktualisierung und was da optimal ist, hängt von der Anwendung
> ab.

Das stimmt so nicht ganz, da die Servocontroller eine Erholzeit 
brauchen, um die Steuerpulse eindeutig zu identifizieren und vom 
Idle-Zustand zu unterscheiden. Das hängt einzig und allein von dem 
verwendeten Servo ab. Man sollte bei dem Wiederholintervall also 
deutlich über 10ms bleiben und unter 25ms. Sonst könnte es sein, dass 
sich der Servocontroller verschluckt. Ein Blick in´s Datenblatt des 
Servos könnte helfen, falls vorhanden.

von Chris (Gast)


Lesenswert?

Modellbauer schrieb:
> Die Position der Servos hängt nur von der Pulsbreite, aber nicht von der
> Periode ab. Die Periode bestimmt die Häufigkeit der
> Positionsaktualisierung und was da optimal ist, hängt von der Anwendung
> ab.

Welche Eigenschaften hat denn eine kurze Periode (10ms) gegenüber einer 
längeren (40ms)?

Besonders schnell müssen meiner Servos nicht sein. Dafür aber Kraftvoll, 
Stromsparend und Preisgünstig. Am besten noch leicht und klein ^^. Kann 
da jemand Servos empfehlen? Würde mir gerne mal 2 oder drei anschaffen 
und damit experimentieren. Kosten am besten unter 10 Euro, da ich 
immerhin 18 Stück brauche.

von Chris (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Man sollte bei dem Wiederholintervall also deutlich über 10ms
> bleiben und unter 25ms.

Dann liege ich mit den 20ms doch im sicheren Bereich. Das schafft mein 
Atmega auch für 18 Servos, so wie ich das gerechnet habe.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Chris schrieb:
> da ich
> immerhin 18 Stück brauche.

Brauchst Du unbedingt 2 Kniegelenke pro Bein? Denke mal an das Spiel der 
Servos, welches durchaus 1° ausmachen kann. Das addiert sich dann pro 
Gelenk.

von Chris (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Brauchst Du unbedingt 2 Kniegelenke pro Bein? Denke mal an das Spiel der
> Servos, welches durchaus 1° ausmachen kann. Das addiert sich dann pro
> Gelenk.

Ja, ich will auf jeden Fall drei pro Bein einbauen. Hexapods mit nur 
zwei Servos pro Bein humpeln/wackeln ziemlich. Bei drei Servos läuft das 
teil Butterweich. Gewichtsverlagerung, Kippen, Drehen, Aufrichten, 
Hinlegen und weiche Gangarten werden so erst möglich.

Zwei Servos bilden die zwei Freiheitgrade des Hüft gelenken und der 
drite das Kniegelenk.

von MaWin (Gast)


Lesenswert?

Immer dran denken: Modellbauservos sind so billig,
weil sie nicht lange halten müssen.
Dein Hexypod wird 1km nicht laufen können.

von Ernst B. (puravida)


Lesenswert?

Knut Ballhause schrieb:
> Modellbauer schrieb:
>> Die Position der Servos hängt nur von der Pulsbreite, aber nicht von der
>> Periode ab. Die Periode bestimmt die Häufigkeit der
>> Positionsaktualisierung und was da optimal ist, hängt von der Anwendung
>> ab.
>
> Das stimmt so nicht ganz, da die Servocontroller eine Erholzeit
> brauchen, um die Steuerpulse eindeutig zu identifizieren und vom
> Idle-Zustand zu unterscheiden. Das hängt einzig und allein von dem
> verwendeten Servo ab. Man sollte bei dem Wiederholintervall also
> deutlich über 10ms bleiben und unter 25ms. Sonst könnte es sein, dass
> sich der Servocontroller verschluckt. Ein Blick in´s Datenblatt des
> Servos könnte helfen, falls vorhanden.

Das stimmt ja so auch nicht.

Solange hier undifferenziert über Analogservos und Digitalservos 
gesprochen wird wird man laufend aneinander vorbei reden.

Analogsevos vertragen keine hohen Frequenzen, die gehen davon kaputt, 
teilweise ziemlich schnell. Schneller als 70Hz sollte man die nicht 
ansteuern. Das wären so ca. alle 14ms.

Digitalservos hingegen vertragen bis zu 560Hz je nach Modell, die 
meisten können aber 330Hz und bei 270Hz ist man auf der sicheren Seite. 
Sprich, es ist kein Problem die alle ca. 3ms anzusteuern.

Man kann also keinesfalls sagen, daß man bei Servos über 10ms 
Wiederholintervall bleiben sollte.

von Hannes L. (hannes)


Lesenswert?

Chris schrieb:
> Habe
> nun auch keinen Atmega gefunden, der intern 16 Mhz generieren kann

Das kann ja auch nur der Tiny26 (und vermutlich auch seine 
Nachfolger)...

> und 8
> Mhz sind mir zu langsam.

Das halte ich für ein Gerücht.

Ich habe vor einigen Jahren eine Sequenz (7 Servos, geht auch mit mehr) 
mit 1µs Auflösung mit 1 MHz internem Takt realisiert.
http://www.hanneslux.de/avr/mobau/7ksend/7ksend02.html
Das Ding tut einfach, was man von ihm erwartet.
Wenn man die Positionen nicht life ermittelt sondern aus einem Array 
nimmt, wird der Rechenzeitbedarf in der ISR sehr gering (I/O-Bitmuster 
ändern, OCR1x lesen, Impulsdauer aus Array holen und aufaddieren, OCR1x 
zurückschreiben, fertig...).

Eine zweite Sequenz für weitere Servos (im zweiten Compare-Interrupt) 
findet da auch noch genügend Rechenzeit. Mit 8 MHz Takt und 
Timer-Vorteiler 1 zu 8 hat man dann mehr als genug Rechenzeit, um Jitter 
(bei fast gleichzeitigem Zuschlagen beider Compare-Interrupts) zu 
vermeiden.

Es wäre sogar einen Versuch wert, die 18 Servoimpulse in einer Sequenz 
zu erzeugen, einfach immer reihum. Die mittlere Zyklusdauer wäre dann 27 
ms, die maximale etwa 36 ms.

Von der Größe des Programms passt das alles noch in den Tiny2313. 
Aufgrund der benötigten I/O-Pins braucht es aber einen DIL40. Der 
Mega8515 ist dafür völlig ausreichend und hat sogar noch 3 I/O-Pins mehr 
als der Mega644. Für das Füttern mit Daten würde ich SPI bevorzugen, 
oder UART, wenn alle MCs mit Quarz laufen.

...

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:

>
> Besonders schnell müssen meiner Servos nicht sein. Dafür aber Kraftvoll,
> Stromsparend und Preisgünstig. Am besten noch leicht und klein ^^. Kann
> da jemand Servos empfehlen? Würde mir gerne mal 2 oder drei anschaffen
> und damit experimentieren. Kosten am besten unter 10 Euro, da ich
> immerhin 18 Stück brauche.

Du hast jetzt immer noch nicht gesagt ob Du Analogservos einsetzen 
möchtest oder Digitalservos?

Je kraftvoller, kleiner und leichter desto teurer.

Wenn Du drei Stück unter 10 Euro suchst dann bekommst leider nur Schrott 
dafür. Und sowieso nur Analogservos.

von MaWin (Gast)


Lesenswert?

> Man kann also keinesfalls sagen, daß man bei Servos
> über 10ms Wiederholintervall bleiben sollte.

Doch.

Denn es ist ja nicht bekannt welches Modell von Servo
er hat.

Also bleibt man mit Aussagen auf der sicheren Seite,
und empfiehlt nicht Werte, die ev. zur Zerstörung führen.

Es sei denn, man schreibt eine ganze differenzierende
lange Erklärung, wie du es getan hast.

von Chris (Gast)


Lesenswert?

Ernst B. schrieb:
> Du hast jetzt immer noch nicht gesagt ob Du Analogservos einsetzen
> möchtest oder Digitalservos?

Ich weiss es noch nicht. Die Kraft spricht für Digitalsservos, der 
Strombedarf für Analogservos.

Wenn mein Hexapod 5Minuten laufen kann, reicht mir das im Grunde schon. 
Jedoch fürchte ich mich vor 2 Ampere und mehr pro Servo. Bei 18 Stück 
sind das 36 Ampere. Das ist ja irrsinnig für mein Projekt. Da muss ich 
erstmal nenn Schaltregler finden, der das mitmacht....

Also muss es wohl auf Analogservos und eine möglichst leichte Bauform 
aller Komponenten hinauslaufen. Oder was meint ihr?

Hannes Lux schrieb:
> Ich habe vor einigen Jahren eine Sequenz (7 Servos, geht auch mit mehr)
> mit 1µs Auflösung mit 1 MHz internem Takt realisiert.

Ich setzte in dem Projekt ja mehrer Mikrocontroller ein. Und da die auch 
untereinander Datenaustauschen, sollen die mit möglichst der gleichen 
Frequenz arbeiten. Und warum da nicht die höchste von 20 Mhz nehmen? 
Vielleicht brauche ich die Rechenpower noch an anderer Stelle.

Hannes Lux schrieb:
> Der
> Mega8515 ist dafür völlig ausreichend und hat sogar noch 3 I/O-Pins mehr
> als der Mega644
Denn 8515 kenne ich nicht, mache mich aber mal schlau. Danke für den 
Tipp.

Hannes Lux schrieb:
> Für das Füttern mit Daten würde ich SPI bevorzugen,
> oder UART, wenn alle MCs mit Quarz laufen.
Ich wollte die Daten Byte-Weise parallel übertragen. 20 ms Periodendauer 
für die Servo PWM. jeder der 18 Servos kriegt 1ms PWM, bleiben 2 ms 
übrig für die Datenübertragung. Denke Byteweise ist schnell und leicht 
zu programmieren.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Chris schrieb:
> Denn 8515 kenne ich nicht, mache mich aber mal schlau.

Das ist ein alter ATMega, würde ich Dir nicht empfehlen, auch wenn 
Hannes gut damit klarkommt ;-). Bleib ruhig beim Mega644 oder dessen 
kleinen Bruder Mega164 oder Mega324, die haben die neuere und teils auch 
bessere Peripherie drin. Und als (P/PA)-Variante sind sie auch 
sparsamer.

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:
> Ernst B. schrieb:
>> Du hast jetzt immer noch nicht gesagt ob Du Analogservos einsetzen
>> möchtest oder Digitalservos?
>
> Ich weiss es noch nicht. Die Kraft spricht für Digitalsservos, der
> Strombedarf für Analogservos.
>
> Wenn mein Hexapod 5Minuten laufen kann, reicht mir das im Grunde schon.
> Jedoch fürchte ich mich vor 2 Ampere und mehr pro Servo. Bei 18 Stück
> sind das 36 Ampere. Das ist ja irrsinnig für mein Projekt. Da muss ich
> erstmal nenn Schaltregler finden, der das mitmacht....
>
> Also muss es wohl auf Analogservos und eine möglichst leichte Bauform
> aller Komponenten hinauslaufen. Oder was meint ihr?
>

Es kommt auch darauf an welche Bewegungen geplant sind. Es wird wohl 
wenige Bewegungen geben wo wirklich alle 18 Servos gleichzeitig 
angesteuert werden.

Hier ein Link zu  einem günstigen 8-15A UBEC. Notfalls nimmst halt zwei 
und hast pro UBEC nur noch 9 Servos. Die Lipos machen den Strom leicht 
mit.

http://www.hobbyking.com/hobbyking/store/__6233__TURNIGY_8_15A_UBEC_for_Lipoly.html

Mit großen Strömen mußt Dich auf jeden Fall anfreunden bei 18 Servos.

Analogservos haben halt auch den Nachteil, daß sie während kein Signal 
anliegt auch keine Haltekraft haben. Und sie sind ungenauer als digitale 
Servos was die Stellgenauigkeit betrifft. Allerdings kosten sie, wenn Du 
keinen Schrott kaufen willst und das wirst Du nicht wollen bei so einem 
Projekt doch erheblich mehr.

So aus dem Bauch heraus würde ich Dir folgende Servos empfehlen um mal 
zu testen:

Analog: MG90 (Achtung, keine MG90S nehmen, die überschwingen)
http://www.ebay.at/itm/4X-9g-MG90-Metal-Gear-RC-Servo-Futaba-Hitec-HS-55-GWS-/290481953169?pt=RC_Modellbau&hash=item43a212d991

Die MG90 stellen ziemlich genau, haben ein Metallgetriebe und sind 
spielfrei. Und sie sind sehr günstig. 4 Stück für 16 Euro.

Digital: KST DS115MG
http://www.ebay.at/itm/2011-Hot-On-Sale-Low-Price-2x-KST-Digital-Servo-450-heli-CCPM-metal-gear-3D-fly-/270851163771?pt=AU_Toys_Hobbies_Radio_Controlled_Vehicles&hash=item3f0ffcc67b

Die kenne ich leider nicht aus eigener Erfahrung aber soweit ich weis 
sind sie baugleich mit den MKS DS95 (wo aber eines 70Euro kostet). Die 
KST sollen extrem genau stellen, natürlich auch mit Metallgetriebe. Und 
sie sind auch extrem schnell was aber für Dich nicht so eine Rolle 
spielt. Und kosten ca. 20 Euro das Stück.

Ansonsten ist es sehr schwer halbwegs brauchbare digitale Servos zu 
finden für um die 20 Euro.

Ist klarerweise persönliche Sicht und Erfahrung.

LG
Ernst

von Chris (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Das ist ein alter ATMega, würde ich Dir nicht empfehlen, auch wenn
> Hannes gut damit klarkommt ;-). Bleib ruhig beim Mega644 oder dessen
> kleinen Bruder Mega164 oder Mega324, die haben die neuere und teils auch
> bessere Peripherie drin. Und als (P/PA)-Variante sind sie auch
> sparsamer.

Alles klar ^^ Bin mit dem Atmega 644 auch schon bißchen vertraut. Dann 
bleib ich da bei. Werd mir aber trotzdem mal die Daten vom Dinosaurier 
ansehen.

Was haltet ihr von folgendem Servo?:

http://www.conrad.de/ce/de/product/233751/TOP-LINE-STANDARD-SERVO-RS-2-JR/1207063&ref=list

Abm.   (L x B x H) 41 x 20 x 42 mm
Gewicht   39,2 g
Stell-Moment bei 4,8  6 V   32  35 Ncm
Stell-Zeit bei 4,8 / 6 V   0,19 / 0,17 s
Getriebe   Kunststoff
Lagerart   Gleitlager
Stecksystem   JR
Servo-Technologie   Analog-Servo
Servo-Typ   Standard-Servo
Herst.-Teilenr.   RS 2 JR
Stell-Moment bei 6 / 7,4 V   35 Ncm
Stell-Zeit 6 V / 7,4 V   0,17
Preis 5,95 Euro

von Chris (Gast)


Lesenswert?

Ernst B. schrieb:
> Analog: MG90 (Achtung, keine MG90S nehmen, die überschwingen)
> Ebay-Artikel Nr. 290481953169

Hi Ernst, vielen Dank für den Hammer Tip, die M90 sind um längen besser, 
als alle die ich bisher gesehen habe. Und der Preis ist unschlagbar.
Gruß,
Chris

von Chris (Gast)


Lesenswert?

Ernst B. schrieb:
> Analog: MG90 (Achtung, keine MG90S nehmen, die überschwingen)
> Ebay-Artikel Nr. 290481953169

Was meinst du mit überschwingen?

von Micha .. (micha68) Benutzerseite


Lesenswert?

Hi!

Hier noch ein digitales Servo mit dem ich gute Erfahrungen gemacht habe:

http://www.ebay.de/itm/Emax-ES08MD-Digital-Metall-Micro-Servo-12g-0-08s-2-4kg-/250878152404

Gruss,
Micha

von Chris (Gast)


Lesenswert?

Michael V. schrieb:
> Hier noch ein digitales Servo mit dem ich gute Erfahrungen gemacht habe:
>
> http://www.ebay.de/itm/Emax-ES08MD-Digital-Metall-...

Nicht schlecht, aber 15 Euro pro Stück, wolle schon ca. 5 Euro bleiben. 
Die MG90 sind unter anderem Namen und zum doppelten Preis übrigens auch 
bei Conrad zu haben :)

Weiß jemand wie ich auf die Ströme der Servos komme? Im Datenblatt stet 
nichts darüber. Wenigstens eine grobe Abschätzung wäre ganz hilfreich. 
Werde aber auch auf jeden fall messen.

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:
> Ernst B. schrieb:
>> Analog: MG90 (Achtung, keine MG90S nehmen, die überschwingen)
>> Ebay-Artikel Nr. 290481953169
>
> Was meinst du mit überschwingen?

Die MG90 mit dem S also MG90S fahren ein bisschen über die angesteuerte 
Position drüber um dann zurück zu fahren. Sie schießen also übers Ziel 
drüber. Ich hoffe, Du weißt was ich meine. Die MG90 machen das nicht.

Wenn ich dazu komme kann ich Dir mal den Strom der MG90 messen, habe ich 
noch irgendwo 4 Stück herumliegen.

Im Vergleich zu dem von dir genannten Conrad-Servo haben sie auch 
Metallgetriebe und sind kugelgelagert, nicht nur Gleitlager.

LG
Ernst

von Chris (Gast)


Lesenswert?

Ernst B. schrieb:
> Wenn ich dazu komme kann ich Dir mal den Strom der MG90 messen, habe ich
> noch irgendwo 4 Stück herumliegen.

Eine Strommessung würde mir natürlich sehr weiterhelfen. Wenn die 
nämlich nur wenig ziehen, komme ich auch mit nemm kleinen Akku aus. Dann 
wird das ganze Projekt schön schlank.

Kann den Strom aber gar nicht einschätzen. Von 100 mA bis 2 A ist doch 
alles drin, oder?

Kannst du mir noch etwas über den Bewegungsradius sagen? Haben die echte 
180° oder wie manche Servos nur 90°?

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:

>
> Kannst du mir noch etwas über den Bewegungsradius sagen? Haben die echte
> 180° oder wie manche Servos nur 90°?

Mechanischer Anschlag habe ich gerade geschaut ist 180°. Ob man die auch 
anfahren kann muß ich aber erst testen. Das dauert aber auch ein bisl 
genau so wie die Strommessung. Vielleicht komme ich morgen dazu ein 
kleines Programm zu schreiben um zu testen wie der Radius ausschaut.

LG
Ernst

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:
> Kann den Strom aber gar nicht einschätzen. Von 100 mA bis 2 A ist doch
> alles drin, oder?
>
> Kannst du mir noch etwas über den Bewegungsradius sagen? Haben die echte
> 180° oder wie manche Servos nur 90°?

Also...

180° kann man anfahren, dazu muß man aber die Signale stark aus dem 
"normalen" Bereich nehmen - und zwar von (ca) 600µs bis 2600µs.

Strom messen ist doch schwieriger als ich dachte, dazu ist mein 
Equippment nicht das beste. Beim Stellen ohne Last komme ich auf knapp 
200mA. Aber ob der Wert stimmt da mit einem einfachen Multimeter 
gemessen? Kann durchaus sein, daß das zu langsam ist um den wahren Wert 
zu erfassen. Und ohne Last sagt es auch ned viel aus selbst wenn es 
stimmen sollte.

Achja, nochwas: Wenn ich mir ansehe wie der analoge Servo fährt und im 
Vergleich dazu einen digitalen... Persönlich würde ich einen Hexapot 
wohl mit digitalen Servos aufbauen statt analogen. Bevor Du 18 Stück 
bestellst solltest erst mal mit einem Servo bzw. mit einem Bein testen 
ob ein analoger Servo Deinen Ansprüchen genügt.

von Mike J. (emjey)


Lesenswert?

Hier verkaufen die 4 Stück, digitale Servos, doppelt kugelgelagert mit 
Metallzahnrädern für 20 Euro.

http://www.ebay.de/itm/4X-MG996R-Metal-Gear-Digital-Servo-MG995-MG996-1-10-CAR-/300622397807?pt=Radio_Control_Parts_Accessories&hash=item45fe7dc16f

Weshalb willst du ein Hexapod bauen?
Es gibt da einen Vierbeiner der für das US Militär Ausrüstung 
transportieren soll und dabei nicht so träge und unbeholfen wirkt wie 
die Hexapods bei Youtube.

Der Vorteil dabei ist dass man nicht so viel beachten muss, es sind ja 
immer nur zwei Beine auf dem Boden.
Wenn mindestens drei Beine auf dem Boden stehen ist der Vierbeiner 
eigentlich auch stabil.

Ein paar Drucksensoren wären noch wichtig und ein paar Gummipuffer oder 
eine kleine Federung, bei den meisten Hexapods schaut es so aus als ob 
die Beine teilweise in der Luft hängen da der Servo nicht weiß bis wo 
das Bein bewegt werden muss oder wann Schluss sein sollte da sonst der 
Körper des Hexapod angehoben wird und die anderen Beine in der Luft 
hängen.

von Chris (Gast)


Lesenswert?

Vielen Dank Ernst für die Mühe, die du dir machst!!! Du hilfst mir 
wirklich weiter!

Ernst B. schrieb:
> Mechanischer Anschlag habe ich gerade geschaut ist 180°

Ist doch klasse.

Ernst B. schrieb:
> 180° kann man anfahren, dazu muß man aber die Signale stark aus dem
> "normalen" Bereich nehmen - und zwar von (ca) 600µs bis 2600µs.

Das läßt sich per Software doch machen. Den Servo stört sowas ja nicht.

Ernst B. schrieb:
> Beim Stellen ohne Last komme ich auf knapp
> 200mA.

Ist doch schon mal ein Wert :) Auch wenn es zu bestimmten Zeitpunkt 
deutlich mehr wird; Ich steuere alle 6 Beine wenigstens leicht versetzt 
an. So dürften die Stromspitzen nicht aufeinanderfallen.
Also in der 200mA * 18 Servos= 3,6 Ampere. Als Schätzung sag ich mal das 
5 A dauerhaft fließen. Da reicht ja ein kleiner ca. 2000 mAh Akku für 24 
Minuten Spaß :)

Ernst B. schrieb:
> Achja, nochwas: Wenn ich mir ansehe wie der analoge Servo fährt und im
> Vergleich dazu einen digitalen...

Wo liegt denn der Unterschied? Ist der digitale schnelle, weicher oder 
kräftiger? Generell kann ich die Kraft doch über die Angaben (Ncm) 
ablesen. Kann also ein gleich starken analogen nehemen. Bleibt doch nur 
noch der Stromvorteil der analogen Akkus, oder?

Mike J. schrieb:
> Hier verkaufen die 4 Stück, digitale Servos, doppelt kugelgelagert mit
> Metallzahnrädern für 20 Euro.
>
> Ebay-Artikel Nr. 300622397807

Danke für den Link. Die sind aber mit 13 bis 15 Ncm etwas zu schwach für 
mein Projekt.

Mike J. schrieb:
> Weshalb willst du ein Hexapod bauen?

Weil die einfach genial aussehen und sich vielfältig programmieren 
lassen. Die können Laufen, tanzen, klettern, sich ducken, drehen, 
aufrichten... alles durch den richtigen Code. Abgesehen davon lerne ich 
viel über Servomotoren, Robotik, Kommunikation mehrerer Mikrocontroller, 
Akkus, Mechanik und vieles mehr.

Mike J. schrieb:
> Es gibt da einen Vierbeiner der für das US Militär Ausrüstung
> transportieren soll und dabei nicht so träge und unbeholfen wirkt wie
> die Hexapods bei Youtube.

Da hat man aber mit Gewichtsverlagerung zu kämpfen. Das schränkt die 
Schrittgröße doch arg ein, wenn man das Gewicht nicht dynamich 
verlagert. Aber mit sicherheit auch ein interessantes Projekt. Denke da 
ein bißchen an die Walker aus StarWars (ATAT) :)

Mike J. schrieb:
> Ein paar Drucksensoren wären noch wichtig und ein paar Gummipuffer oder
> eine kleine Federung, bei den meisten Hexapods schaut es so aus als ob
> die Beine teilweise in der Luft hängen

Das Problem ist mir auch schon aufgefallen. Und ein Bein in der Luft 
heißt wackeln der Hexapod und Mehrbelastung für einzelne Servos. Denke 
ich bleibe bei eine Kombi aus Federung und umgedrehten Gummitastern als 
Füße (Druck Sensoren). Die Tastenabfrage macht das Programm aber um 
länger komplizierten, da ich nicht nur ein Porgramm abspule sondern auch 
6 Rückmeldungen verarbeite um 18 Gelenke zu bewegen.

Kann ich die Servos eigentlich mit 5V speisen, oder sind eher 6V - 7V zu 
empfehlen? Wahrscheinlich 6V Akkus -> Parallel die Servos dran mit ein 
paar Kondensatoren und parallel ein 5V Schaltregler für die Controller 
und Sensoren.

Danke soweit für eure Unterstützung,
Gruß Chris

von Chris (Gast)


Lesenswert?

Chris schrieb:
> Bleibt doch nur
> noch der Stromvorteil der analogen Akkus, oder?

Ich meine natürlich Servos. Nicht Akkus...

von Oliver D. (unixconf)


Lesenswert?

Chris schrieb:
> Ich schrieb:
>> Würde ich nicht sagen, so kannst du min.8 Servos an 2 Ports hängen, und
>> das ganze noch per Hardware-PWM !!!!!
>
> Du meinst sicher an zwei Pins, oder? Würde das dann mit Schieberegistern
> laufen? Die Idee hört sich interessant an. Weiß nur nicht wie das gehen
> soll... Hardware PWM ist doch nur auf den zwei(?) Timern möglich. Kannst
> du mir noch ein paar Zeilen mehr dazu schreiben wie du auf 8 PWMs
> kommst?
>
> Hiernoch mal die Anforderung:
> 18 Servos -> jeder eine eigene Pulsweite.
>
> Gruß, Chris

Einfach ein PPM-Signal per Hardware-Timern erzeugen und en einem der 2 
PINS ausgeben.
Am anderen Pin den Reset (also immer nach dem letzten Puls).
Das Auswerten/Aufsplitten kann man dann per Schieberigister erledigen.

Geht auch mit 16 und mehr Servos pro 2PIN's.

Gruß,
 Olli

von Karl H. (kbuchegg)


Lesenswert?

Chris schrieb:
> Ich schrieb:
>> Würde ich nicht sagen, so kannst du min.8 Servos an 2 Ports hängen, und
>> das ganze noch per Hardware-PWM !!!!!
>
> Du meinst sicher an zwei Pins, oder?
Ne, er meinst schon 8 Servos an einem Port oder eben mehr als 8 an 2 
Ports.

> Würde das dann mit Schieberegistern
> laufen?

Würde, ist aber mehr Aufwand als notwendig, wenn man die Ausgabepins 
hat.

> Die Idee hört sich interessant an. Weiß nur nicht wie das gehen
> soll... Hardware PWM ist doch nur auf den zwei(?) Timern möglich.

Reicht doch. Kein Mensch sagt, dass alle Servos ihre Pulse gleichzeitig 
bekommen müssen.

> Hiernoch mal die Anforderung:
> 18 Servos -> jeder eine eigene Pulsweite.

18 sind mglw. schon ein wenig viel für nur 1 Timer. Da würde ich auch 
eher zu 2 Timern tendieren. Müsste man aber ausprobieren. 12 Servos an 1 
Timer ist aber noch kein Problem

Modellbauservo Ansteuerung  ganz unten

von Oliver D. (unixconf)


Lesenswert?

Ich meinte schon min. 2Pins pro Schieberegister,
einer für die Daten, der andere für den Reset, ansonsten benötigt man 
noch einen 'Timeout-Reset-Logik' am Register.

Der Vorteil an der Sache ist halt, das man kein Software-PWM benötigt,
und die ganze Sache Rock-Hard ist, also kein Zittern bei z.B. 
Seriellen-Übertragungen oder sonstigen IRQ's.

Die Auflösung kann auf über 8bit gehoben werden.

An dem Schieberegister wird über das PPM-Signal dabei Tackt und 
Daten-Eingang gemeinsam gespeist.

von Chris (Gast)


Lesenswert?

Hi, also ich werde mal ne Software PWM programmieren und dann eine Timer 
PWM, so wie von euch beschrieben. Damit kann ich mich aber erst vertraut 
machen, wenn ich die Servos habe. Vielen Dank auf jeden Fall für die 
Hinweise. Da würde dann vielleicht schon ein Atmega 8 reichen. Die Frage 
ist, wieviel Platz die anderen Bauteile brauchen. Sonst bleibe ich doch 
lieber bei meinem Atmega644 und der Software PWM. Habe nämlich nicht 
viel Platz auf der Platine.


Habe soeben die MG90 Analog Servos bestellt. Dauert nun wohl 4 - 5 
Wochen bis sie aus China ankommen. Dafür kosten sie aber auch nur 4,07 
Euro das Stück :)

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:

> Habe soeben die MG90 Analog Servos bestellt. Dauert nun wohl 4 - 5
> Wochen bis sie aus China ankommen. Dafür kosten sie aber auch nur 4,07
> Euro das Stück :)

Nein, so lange eher nicht. Sind ca. drei Wochen bis sie in Österreich 
aufschlagen. Wird für D nicht anders sein.

von Oliver D. (unixconf)


Lesenswert?

Früher waren es bei mir immer recht genau 14Tage,
eine weile lang ist es dann mal auf 4Wochen hoch gegangen,
heute habe ich aber wieder was bekommen, das hat nur 12Tage gedauert.

Kurz gesagt, man steckt nicht drin :-)

Aber sorgen würde ich mir erst nach 4 Wochen machen !

Gruß,
 Olli

PS: ansonsten kann ich nichts schlechtes über diese Servos sagen, billig 
aber brauchbar !

Std.-Servos mit Kunststoffgetriebe bekommt man aber auch bei Conrad für 
3-4 Euro (im Laden, ohne Servohörner und Schrauben).


EDIT: http://www.youtube.com/watch?v=I3w6lzuge8w

von Chris (Gast)


Lesenswert?

Hi,
dauert wohl noch ein/zwei Wochen bis die Servos kommen. Sind aber 
versandt.

Ich habe mal ein paar Fragen zur Spannungsversorgung. Die Servos 
brauchen wohl 6.0 Volt um ihre 25 Ncm zu bringen.

Jetzt habe ich diesen Lithium Ionen Akku gefunden:
http://www.conrad.de/ce/de/product/251301/LIION-AKKU-SAMSUNG-ICR18650-2ER-PACK/0501037&ref=list

Der hat eine Spannung von 7,4 Volt, die ich mittels Schaltregler auf 6.0 
Volt bringen will.

Hatte überlegt, zwei Akkus dieses Typs zu nehmen, mit je einem eigenen 
Schaltregler für jeweiles drei Beine. So habe ich die doppelte Kapazität 
und die halbe Strombelastung der Akkus und Schaltregler.

1.
Was haltet ihr von dem Konzept?

2.
Könnt ihr mir einen Schaltregler empfehlen?

3.
Was braucht der Schaltregler für weitere Bauteile?

4.
Brauche dann ja auch noch einen 5V Schaltregler für den uController. 
Gibt es da ein Standardbauteil? Der 7805 kommt ja mit den 7,4 Volt nicht 
klar. Habt ihr da einen geeigneten Schaltregler?

5.
Die Massen der beiden Akkus muss ich verbinden, richtig? Sonst gibt 
Probleme mit den PWMs und den Servos, habe ich gelesen...

Ich hoffe, ihr verzeiht mir die vielen Fragen. Ich habe bisher immer mit 
dem 7805 gearbeitet. Für dieses Projekt bin ich aber wegen der Akkus und 
Servos auf mehr angewesen und da habe ich null erfahrung.

Vielen Dank euch allen,
Chris

von MaWin (Gast)


Lesenswert?

> Der hat eine Spannung von 7,4 Volt

Humbug.
Auch bei dir werden Akkus während des Entladens mit der Spannung runter 
gehen, von 8.4V auf 6V.

> Was braucht der Schaltregler für weitere Bauteile?

Siehe Datenblatt. Es gibt ja auch Module (a la Recon).

Im Prinzip muß der Schaltregler immer so ausgelegt sein,
daß er die maximale Belastug liefern kann, also alle
Servos brauchen gleichzeitig so viel Strom wie beim Anlauf
(Blockierstrom).

Daher muß man Schaltregler (und Linearregler) immer sehr
gtosszügig auslegen, kaum sinnvoll. Mit geschickter
Ansteuerung kann man meist den Strombedarf auf den Strom
von nur einem Servo drücken.

von Ernst B. (puravida)


Lesenswert?

Chris schrieb:
> Hi,
> dauert wohl noch ein/zwei Wochen bis die Servos kommen. Sind aber
> versandt.
>
> Ich habe mal ein paar Fragen zur Spannungsversorgung. Die Servos
> brauchen wohl 6.0 Volt um ihre 25 Ncm zu bringen.
>
> Jetzt habe ich diesen Lithium Ionen Akku gefunden:
> 
http://www.conrad.de/ce/de/product/251301/LIION-AKKU-SAMSUNG-ICR18650-2ER-PACK/0501037&ref=list

Viel zu teuer bei viel zu schlechten Werten.

Schau mal den an (gibt dort aber noch viel mehr nur ist der in D auf 
Lager)

http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=10363

Kostet 14 Euro und kann 30C und nicht nur knappe 2C = 3,6A wie der von 
Conrad. (30C*2,65=79,4A Dauerlast)

Da gibt es auch einen Lipo-Finder:

http://www.hobbyking.com/hobbyking/store/lithium_polymer_battery_configuration.asp?con=2&cap1=2000&cap2=3500&location=EUR

Da stellst einfach ein wie viele Zellen Seriell (Du hast 2S = 7,4 V 
Nennspannung) (voll aufgeladen werden die aber 8,4 V haben) und wie 
viele mAh und suchst im Euro Warehouse, das steht in Deutschland. Wenn 
Du international einstellst gibt es noch viel mehr Auswahl. Der Zoll in 
D soll aber derzeit Probleme machen (Zollamt Ulm)

Der
http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=10321
würde auch gehen, hat 2200mAh und 20C. Und ist leichter dadurch.

>
> Der hat eine Spannung von 7,4 Volt, die ich mittels Schaltregler auf 6.0
> Volt bringen will.
>
> Hatte überlegt, zwei Akkus dieses Typs zu nehmen, mit je einem eigenen
> Schaltregler für jeweiles drei Beine. So habe ich die doppelte Kapazität
> und die halbe Strombelastung der Akkus und Schaltregler.
>


Wenn Du einen gescheiten Akku kaufst (und nicht so einen überteuerten 
schwachbrüstigen bei Conrad) dann brauchst Dir über die Strombelastung 
der Servos keine Sorgen machen wenn nur die Servos dran hängen. Der 
obige zuckt bei 18 Servos nicht mal mit der Wimper.

Aus Gewichtsgründen würde ich eher nur einen Akku einsetzen und dafür um 
das gesparte Geld (14 Euro zu 33 Euro) lieber mehr Akkus kaufen.

Wie Du die Akkus wieder auflädst, darüber mußt Dir auch mal Gedanken 
machen.


> 1.
> Was haltet ihr von dem Konzept?

s. o.

>
> 2.
> Könnt ihr mir einen Schaltregler empfehlen?

Ich würde nicht die Akkus zweiteilen sondern eventuell überlegen die 
Schaltregler zweizuteilen. Wenn Du zum Beispiel annimmst, daß jeder 
Servo max. 1A zieht sind das bei 18 Servos 18 Ampere. (Wobei es halt 
stark darauf ankommt ob die wirklich gleichzeitig belastet werden, aber 
das weißt nur Du) Für 18A Last einen Schaltregler zu finden ist IMHO 
nicht leicht.

Ich glaube, ich habe Dir eh schon mal einen empfohlen:

http://www.hobbyking.com/hobbyking/store/__6233__TURNIGY_8_15A_UBEC_for_Lipoly.html

Ob man sowas sinnvoll selbst bauen kann weiß ich nicht, kenne ich mich 
auch nicht aus.



>
> 3.
> Was braucht der Schaltregler für weitere Bauteile?
>
> 4.
> Brauche dann ja auch noch einen 5V Schaltregler für den uController.
> Gibt es da ein Standardbauteil? Der 7805 kommt ja mit den 7,4 Volt nicht
> klar. Habt ihr da einen geeigneten Schaltregler?

Wieso kommt der 7805er mit 7,4-8,4 Volt nicht klar? Laut Datenblatt max 
35V input DC. Oder machst Du Dir über die Vin Min Sorgen?

>
> 5.
> Die Massen der beiden Akkus muss ich verbinden, richtig? Sonst gibt
> Probleme mit den PWMs und den Servos, habe ich gelesen...

>
> Ich hoffe, ihr verzeiht mir die vielen Fragen. Ich habe bisher immer mit
> dem 7805 gearbeitet. Für dieses Projekt bin ich aber wegen der Akkus und
> Servos auf mehr angewesen und da habe ich null erfahrung.
>
> Vielen Dank euch allen,
> Chris

LG
Ernst

von Chris (Gast)


Lesenswert?

Ernst B. schrieb:
> Wieso kommt der 7805er mit 7,4-8,4 Volt nicht klar? Laut Datenblatt max
> 35V input DC. Oder machst Du Dir über die Vin Min Sorgen?

Laut Datenblatt braucht er min. 8 Volt umd 5 Volt auszugeben. Wenn mein 
Akku also unter 8 Volt fällt, kriegt mein uC Probleme... Abgesehen davon 
verbrennt der 7805 einen Teil Leistung ja für Wärme. Und in diesem 
Projekt ringe ich um ja um jede mA-Stunde :)

Ernst B. schrieb:
> Schau mal den an (gibt dort aber noch viel mehr nur ist der in D auf
> Lager)
>
> http://www.hobbyking.com/hobbyking/store/uh_viewIt...
>
> Kostet 14 Euro und kann 30C und nicht nur knappe 2C = 3,6A wie der von
> Conrad. (30C*2,65=79,4A Dauerlast)

Der sieht doch super aus. Hatte die 2C des Conrad Akkus nicht bedacht. 
Wenn dieser 30C schafft ist er für mein Projekt perfekt. Danke!

MaWin schrieb:
> Daher muß man Schaltregler (und Linearregler) immer sehr
> gtosszügig auslegen, kaum sinnvoll. Mit geschickter
> Ansteuerung kann man meist den Strombedarf auf den Strom
> von nur einem Servo drücken.

Also ich Takte die Servos ja jeweils um 1ms zeitversetzt. Das liegt bei 
18 Servos ja noch sgerade in der Servo PWM-Periode von 20ms. Sollte also 
nicht alle Stromspitzen gleichzeitig gezogen werden, sondern im 
idealfall schön der Reihe nach.

Ernst B. schrieb:
> Ich glaube, ich habe Dir eh schon mal einen empfohlen:
>
> http://www.hobbyking.com/hobbyking/store/__6233__T...
>
> Ob man sowas sinnvoll selbst bauen kann weiß ich nicht, kenne ich mich
> auch nicht aus.

Der sieht von den Daten her schon mal gut aus. Jetzt habe ich endlich 
mal einen gesehen. Sowas in der Art suche ich. Aber am liebsten als 
TO220 Bauteil für ein paar Cent. Aber sowas gibts wohl bei den 
Schaltreglern nicht, oder?

Ernst B. schrieb:
> Wie Du die Akkus wieder auflädst, darüber mußt Dir auch mal Gedanken
> machen.

Gibt doch bestimmt Ladestationen für die Akkus, oder? Tausche sie dann 
halt immer aus. Was sich an Elektronik auslagern läßt will ich auch 
auslagern und so Gewicht und Arbeit sparen. Das Projekt ist komplex 
genug.

Soweit ich weiß. Sind die LiIon Akkus auch nicht einfach an Spannung zu 
hängen, sonder da muss eine spezielle Ladekurve eingehalten werde. Hatte 
das mal irgendwo gelesen.

von Anon Y. (anonymous)


Lesenswert?

Chris schrieb:
> Soweit ich weiß. Sind die LiIon Akkus auch nicht einfach an Spannung zu
> hängen, sonder da muss eine spezielle Ladekurve eingehalten werde. Hatte
> das mal irgendwo gelesen.

Nein. Googlen.

Grundsätzlich: Mit konstanter Spannung laden, dabei den Strom auf einen 
nicht-kritischen Wert beschränken. Dieser Wert liegt typisch bei 0,5C. 
Bessere Lipos schaffen auch 10C.

@Alle
Wie löst man typischerweise das Spannungsproblem bei billigen Servos? 
Diese dürfen oft nur mit 6V oder 7,2V betrieben werden. Bei vollen 2S 
Lipo werden sie abrauchen. 1S ist wieder zu wenig.

Bei einem Linearregler wäre der Wirkungsgrad im worst-case bei 71% 
(8,4V), im Mittel (7,4V) wären es 83% Wirkungsgrad.

Mit einem Schaltregler wird es sehr schwer über 90% Wirkungsgrad in der 
Leistungsklasse zu kommen. Dazu braucht man gute Spulen und große 
Leistungsreserven.

Was ist also eurer Meinung nach die beste Lösung?

von Oliver D. (unixconf)


Lesenswert?

4-5 NiCD/NiMh Zellen und der Käse ist gegessen !!!!!!

von Mike J. (emjey)


Lesenswert?

Du kannst eine Zelle nehmen und einen StepUp oder zwei Zellen und einen 
StepDown um auf 5V zu kommen.

Wenn du einen Regler nimmst der die Diode durch einen MosFET erstetzt 
kommst du auf einen hohen Wirkungsgrad.
Wenn du noch einen findest mit einer hohen Schaltfrequenz kannst du eine 
kleine Spule nutzen.

von Ernst B. (puravida)


Lesenswert?

Kannst Dich mal ein bisl Schlau machen zu Schaltreglern:

http://schmidt-walter.eit.h-da.de/smps/smps.html

von Martin (Gast)


Lesenswert?

Chris schrieb:
> Ernst B. schrieb:
>
>> 180° kann man anfahren, dazu muß man aber die Signale stark aus dem
>> "normalen" Bereich nehmen - und zwar von (ca) 600µs bis 2600µs.
>
> Das läßt sich per Software doch machen. Den Servo stört sowas ja nicht.

Leider doch. Wenn der Servo auf Grund der Sollwert-Vorgaben durch die 
Pulsdauer an einen Anschlag fährt, läuft der Motor blockiert im 
Dauerbetrieb, für den viele Servos thermisch nicht ausgelegt sind.

Knut Ballhause schrieb:
> Man sollte bei dem Wiederholintervall also deutlich über 10ms
> bleiben und unter 25ms.

Woher stammt die Angabe von 25ms? Auch bei 140ms Periode habe ich bisher 
noch keine Probleme beobachtet, außer natürlich einer etwas trägeren 
Reaktion.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.