Modellbau Servo Impulse wiederholen

OP #2525612
Lesenswert?

Hi

Ich experimentiere gerade mit der Servoansteuerung.

Dabei stehe ich vor folgendem Problem:
Ich möchte nach Erreichen eine Endposition die Versorgungsspannug (GND) 
am Servo abschalten.
Ich lasse es z.B. von 1ms bis 2ms laufen. Also Endausschlag bis 
Endausschlag.

Wenn es sich auf 1ms befindet sende ich einen Impuls von 2ms.
Dadurch läuft es aber nicht in die Endstellung bei 2ms sondern bleibt 
vorher stehen. Es müssen also wiederholt alle 20ms die 2ms Impulse 
gesendet werden, bis endlich die Endposition erreicht wird.

Wie bekomme ich heraus, wie oft ich die Impule senden muß ,bis das Servo 
eine beliebige Position aucht tatsächlich erreicht hat?

Ist irgendwie scheinbar ein großes Problem, da ich die Servois eine 
Kurve abfahren lassen wollte, die Zielpunkte im 20ms Raster enthält. Die 
Laufzeit zwischen den Punkten wollte ich als x-faches von 20ms angeben 
und Zwischenwerte berechnen. Das funktinoniert aber nicht mit 
wiederholten Impulsen bei großen Impulslängenunterschieden :-(

Gruß
Thomas
(Firma: TravelRec.) Persönliche Seite #2525620
Lesenswert?

Thomas W. schrieb:
> Es müssen also wiederholt alle 20ms die 2ms Impulse
> gesendet werden,

Das ist das Servo-Signal und völlig korrekt so.

http://www.mikrocontroller.net/articles/Modellbauservo_Ansteuerung

Thomas W. schrieb:
> Wie bekomme ich heraus, wie oft ich die Impule senden muß ,bis das Servo
> eine beliebige Position aucht tatsächlich erreicht hat?

Die Pulse müssen rund um die Uhr gesendet werden, und zwar so lange, bis 
das Servo stromlos ist.

Thomas W. schrieb:
> Ist irgendwie scheinbar ein großes Problem, da ich die Servois eine
> Kurve abfahren lassen wollte, die Zielpunkte im 20ms Raster enthält.

Das ist kein Problem. Ändere einfach das Nutzsignal (1...2ms-Puls) alle 
20ms und gib dieses Signal alle 20ms aus. Davon abgesehen gibt es 
Servos, die einer zu starken Änderung des Signals nicht immer folgen 
können. Dann muss sich das Nutzsignal halt langsamer verändern.
#2525629
Lesenswert?

Thomas W. schrieb:

> Wie bekomme ich heraus, wie oft ich die Impule senden muß ,bis das Servo
> eine beliebige Position aucht tatsächlich erreicht hat?

Schalter den das Servo betätigt

> Ist irgendwie scheinbar ein großes Problem, da ich die Servois eine
> Kurve abfahren lassen wollte, die Zielpunkte im 20ms Raster enthält. Die
> Laufzeit zwischen den Punkten wollte ich als x-faches von 20ms angeben
> und Zwischenwerte berechnen. Das funktinoniert aber nicht mit
> wiederholten Impulsen bei großen Impulslängenunterschieden :-(

Exakt.

Erstes Zwischenziel:
Die Pulsgenerierung von den Bahnpunkten trennen. Die Servoansteuerung 
muss völlig autonom die Servopulse erzeugen können. Wo dann die 
entsprechenden abzufahrenden Punkte herkommen und welchen Pulszeiten 
diese entsprechen ist ein davon losgelöstes Problem.

Mit einer Verquickung dieser beiden Dinge, ala '5 Pulse mit 1.1ms, 
danach 7 Pulse 1.15ms' wirst du nicht glücklich werden, weil Servos auch 
unterschiedlich schnell fahren, je nachdem wie hoch die 
Versorgungsspannung noch ist (Akkubetrieb) bzw. welche Last sie dabei 
bewegen müssen.


ALso: erst mal eine autonome Pulserzeugung für die Servos machen.
Modellbauservo Ansteuerung
Gast #2525687
Lesenswert?

Oder ne eigene Halbbrücke und µC ins Servo und das poti auch an den µC.
VCC und GND CLK DIO raus aus dem Servo und eine eigene Rgelung. Position 
über I2C senden und wenn Servo in Position ist dann sendest du das über 
I2C ein bin in Position.
(Firma: TravelRec.) Persönliche Seite #2525724
Lesenswert?

Uwe schrieb:
> Oder ne eigene Halbbrücke und µC ins Servo und das poti auch an den µC.

Was glaubst Du, was ein Servo ist?

Thomas W. schrieb:
> das Servo
> eine beliebige Position aucht tatsächlich erreicht hat?

Wenn Du das Servo kennst, weisst Du auch dessen Position bei einer ganz 
bestimmten Pulslänge. Gerade digitale Servos einer bestimmten Baureihe 
sind untereinander reproduzierbar genau bei der Positionsbestimmung.
Gast #2525741
Lesenswert?

Thomas W. schrieb:
> Wie bekomme ich heraus, wie oft ich die Impule senden muß ,bis das Servo
>
> eine beliebige Position aucht tatsächlich erreicht hat?

Indem du die Stromaufnahme des Servos per Shunt-Widerstand überwachst 
und daraus auf die aktuelle Situation schließen kannst.
Somit ist keine Änderung des Servos nötig.
OP #2525746
Lesenswert?

Hi

Das Problem ist wohl noch nicht ganz klar geworden:
Einen Impuls zu senden, bedeutet noch lange nicht, daß das Servo die 
Position erreicht. Erst weiderholtes Senden, bis das Servo dort 
angekommen ist, ist nötig. EIn Schalter nutzt garnichts, da die 
Endposition ja variabel zwischen 1ms und 2ms liegen kann.


Karl Heinz Buchegger schrieb:

> Erstes Zwischenziel:
> Die Pulsgenerierung von den Bahnpunkten trennen. Die Servoansteuerung
> muss völlig autonom die Servopulse erzeugen können. Wo dann die
> entsprechenden abzufahrenden Punkte herkommen und welchen Pulszeiten
> diese entsprechen ist ein davon losgelöstes Problem.
>
> Mit einer Verquickung dieser beiden Dinge, ala '5 Pulse mit 1.1ms,
> danach 7 Pulse 1.15ms' wirst du nicht glücklich werden, weil Servos auch
> unterschiedlich schnell fahren, je nachdem wie hoch die
> Versorgungsspannung noch ist (Akkubetrieb) bzw. welche Last sie dabei
> bewegen müssen.
>
>
> ALso: erst mal eine autonome Pulserzeugung für die Servos machen.
> Modellbauservo Ansteuerung

Hmm
Die autonome Pulsgenerierung habe ich im Prinzip.
Wenn ich aber das 20ms Raster nicht für die Servogeschwindigkeit nutzen 
kann, wie soll ich die dann unabhängig vorgeben?

Also Ziel ist z.B. 4 Punkte anzufahren und die Werte und Zeitabstände 
dazu im EEPROM abzulegen: (IL=Impulslänge)
Punkt 1 bei 1ms IL
Punkt 2 bei 1,5ms IL
Punkt 3 bei 1,5 ms IL
Punkt 4 bei 1ms IL
Zeit zwischen 1 und 2 = 100ms
Zeit zwischen 2 und 3 = 1s
Zeit zwischen 3 und 4 = 100ms

Wenn ich die Impulslänge nicht linear ändere (also Zwischenwerte 
berechne), läuft das Servo auch nicht linear, sondern macht Sprünge.

Wie triggere ich also die autonome Pulsgenerierung?

Gruß
Thomas
#2525767
Lesenswert?

Thomas W. schrieb:

> Wie triggere ich also die autonome Pulsgenerierung?

Link lesen.
Mit einem Timer die Servopulse erzeugen. Das muss erst mal grundsätzlich 
unabhängig von allem anderen und autonom ablaufen.

> Zeit zwischen 1 und 2 = 100ms

das hier kannst du mit Timer machen oder mit _delay_ms (wenn sonst 
nichts zu tun ist), oder wie du willst. Du kannst auch die 100ms in 
feinere Stufen aufteilen und das der Pulserzeugung zur Verfügung 
stellen. Wie du willst.

Aber die Servopulserzeugung muss unabhängig für sich alleine die 
Servopulse erzeugen. Du kommst sonst mit deinem Timing nie auf einen 
grünen Zweig. Vor allen Dingen dann nicht, wenn dann irgendwann mehrere 
Servos im Konzert spielen sollen.
Gast #2525776
Lesenswert?

> Was glaubst Du, was ein Servo ist?
Im einfachsten fall zei Halbbrücken die an nem Operationsverstärker 
hängen, der als Input Nen Soll- und nen Istwert vergleicht (mit nen paar 
Cs und Rs und Dioden die das pseudo PWM in nen Analogwert wandeln). Die 
Digitalen haben natürlich nen µC statt nen OP.

Also ein servo hat für mich per Definition eine Rückmeldung zu haben.
Modelbauservos haben diese natürlich intern. Da man aber dort nicht 
herankommt sind das einfach sche** Servos. Aber man kann seine eigene 
Elektronik reinmachen und was anständiges draus machen.
#2525780
Lesenswert?

Thomas W. schrieb:
> enn ich die Impulslänge nicht linear ändere (also Zwischenwerte
> berechne), läuft das Servo auch nicht linear, sondern macht Sprünge.

Aber nur in der technischen Auflösung des Servos.
Wenn du das vermeiden möchtest müsstest du ein Servo haben bei dem du 
die Verfahrgeschwindigkeit stellen kannst.
Keine Ahnung ob es sowas gibt, sicher nicht im 0815 Modellbaubereich.
(Firma: TravelRec.) Persönliche Seite #2525790
Lesenswert?

Thomas W. schrieb:
> Die autonome Pulsgenerierung habe ich im Prinzip.

Nein.

Thomas W. schrieb:
> Wenn ich aber das 20ms Raster nicht für die Servogeschwindigkeit nutzen
> kann, wie soll ich die dann unabhängig vorgeben?

Das Servosignal muss ständig wiederholt werden. Dies kann eine 
Timer-Interrupt-Serviceroutine erledigen. Auch wenn das Servo steht, 
muss das Signal gesendet werden, und zwar immer mit derselben 
Servopulslänge, also der positive Puls irgendwo zwischen 1...2 ms. Indem 
Du diesen Puls zur Laufzeit variierst, erhältst Du die 
Laufgeschwindigkeit des Servos. Stell Dir vor, Du sitzt im Auto: Eine 
flache Kurve fährst Du, indem Du (relativ zur Geschwindigkeit des 
Fahrzeuges) langsam am Lenkrad drehst. Eine steile Kurve erfordert 
entsprechend schnelles Drehen am Lenkrad. Drehst Du gar nicht, behält 
das Fahrzeug die gerade anliegende Kurvenbewegung bei.
Trotzdem musst Du das Lenkrad festhalten.
OP #2525826
Lesenswert?

Hi

Wenn ich das Auto anhalte, dann kann ich doch aber irgendwann loslassen?

Spaß beiseite.
Der Vergleich hinkt, weil die Stellgeschwindigkeit der Räder nicht 
langsamer ist, als mein Impuls am Lenkrad.

Bei vielen Schritten funktioniert mein Verfahren ja gut, da das Servo 
dann 1:1 den Impulsen folgt. Aber je größer die Schrittweite ist, umso 
schneller dreht das Servo (wie gewünscht), aber es erreicht halt nicht 
mehr die physikalische Position, die dem EINMALIG generierten Impuls 
entspricht.

Ich werde nochmal weitertesten.
Vielleicht nur den letzten Impuls einfach x-mal senden, bevor ich die 
GND abschalte. Das Abschalten machen übrigens viele, um ein Zittern der 
Servos bei gehaltener Position zu vermeiden. (Weiche Modellbahn)


Impule werden bei mir übrigens per CCP also Timergesteuert erzeugt.
Compare Modus. Vergleich mit Timer erzeugt fallende Flanke. Das ist 
schon ok...


Gruß
Thomas
#2525849
Lesenswert?

> Vielleicht nur den letzten Impuls einfach x-mal senden, bevor ich
> die GND abschalte.

Du sollst das Servo überhaupt nicht abschalten!
Ein Servo will ständig Pulse haben!


> Das Abschalten machen übrigens viele, um ein Zittern der
> Servos bei gehaltener Position zu vermeiden.

Das ist Quatsch.
#2525869
Lesenswert?

Karl Heinz Buchegger schrieb:

>> Das Abschalten machen übrigens viele, um ein Zittern der
>> Servos bei gehaltener Position zu vermeiden.
>
> Das ist Quatsch.


Um da auszuholen:
Wenn ein Servo ruckelt, dann ist entweder das Poti am Ende seiner 
Lebensdauer oder du hast das Servo in die mechanische Begrenzung 
(entweder die interne oder eine durch das Gestänge verursachte) 
gefahren.
Da würden sich Modellflieger schön bedanken, wenn ihre Servos ruckeln 
würden.
#2525939
Lesenswert?

Karl Heinz Buchegger schrieb:
>> Vielleicht nur den letzten Impuls einfach x-mal senden, bevor ich
>> die GND abschalte.
>
> Du sollst das Servo überhaupt nicht abschalten!
> Ein Servo will ständig Pulse haben!
>
>
>> Das Abschalten machen übrigens viele, um ein Zittern der
>> Servos bei gehaltener Position zu vermeiden.
>
> Das ist Quatsch.

Karl Heinz hat zu 100% recht!
Was ein Servo macht wenn es keine gültigen Signale kriegt ist erst mal 
völlig undefiniert.

Karl Heinz Buchegger schrieb:
> Wenn ein Servo ruckelt, dann ist entweder das Poti am Ende seiner
> Lebensdauer oder du hast das Servo in die mechanische Begrenzung
> (entweder die interne oder eine durch das Gestänge verursachte)
> gefahren.
Oder er hat einen Jitter programmiert von wegen Benutzung von delay etc.
(Firma: TravelRec.) Persönliche Seite #2525995
Lesenswert?

Thomas W. schrieb:
> Das Abschalten machen übrigens viele, um ein Zittern der
> Servos bei gehaltener Position zu vermeiden. (Weiche Modellbahn)

Wer das macht, hat das Prinzip nicht verstanden. Wenn das Servo seine 
Position erreicht hat und von einem stehenden Signalpuls gesteuert wird, 
zittert da gar nichts. Das Servo verbraucht dann auch keinen 
nennenswerten Strom. Das Problem ist eher, wenn Du das Servo 
abschaltest, dass Du es irgendwan wieder einschalten musst. Dann geht 
das Geruckel erst los, weil sich das Servo erst initialisiert und dann 
versucht, sich auf einen hoffentlich schon angelegten Steuerpuls hin zu 
bewegen. Fehlt der Steuerpuls, macht das Servo im besten Fall nichts, 
ungünstigerweise kann es auch voll gegen einen Anschlag laufen. Billige 
Analog-Servos ruckeln beim Einschalten der Stromversorgung übrigens 
immer und verbrauchen kurzfristig viel Strom, so dass beim 
gleichzeitigen Einschalten von mehreren Servos sogar die komplette 
Stromversorgung einbrechen kann. Das ist ein unschöner Effekt!
#2526052
Lesenswert?

Den Impuls kann man schon abschalten, wenn die Endstellung erreicht ist. 
Digitale Servos behalten meist die Position automatisch, analoge Servos 
verharren durch die Selbsthemmung des Getriebes in der Stellung.
Wenn das nicht der Fall ist dann stimmt der mechanische Aufbau nicht, 
evtl. eine Untersetzung (Hebel) einbauen.
Für den Einsatzfall Modellweiche ist das ok. Zumindest bis 1:87...
Wird der Impuls nicht abgeschaltet versucht der Servo evtl. ständig 
minimale Abweichungen auszugleichen, unnötiger Stromverbrauch. (IN 
DIESEM ANWENDUNGSFALL)
Betriebsspannung zuschalten sollte man erst wenn der Impuls sicher 
steht, dann hält sich auch das Ruckeln in Grenzen.
Abschalten sollte man die Spannung nicht, sonst hat man wieder den 
Effekt des Ruckelns und vor allem nicht GND abschalten !
Wenn man den Servo mit sich langsam ändernden Positionen ansteuert weiss 
man auch, wo er sich befindet. Zum Schluß noch ein paar Impuls 
zusätzlich für die Endposition ausgeben.
Hat sich so tausende Male bewährt.

Holger
Gast #2526118
Lesenswert?

Holger W. schrieb:
> Den Impuls kann man schon abschalten, wenn die Endstellung erreicht ist.
> Digitale Servos behalten meist die Position automatisch, analoge Servos
> verharren durch die Selbsthemmung des Getriebes in der Stellung.
> Wenn das nicht der Fall ist dann stimmt der mechanische Aufbau nicht,
> evtl. eine Untersetzung (Hebel) einbauen.
> Für den Einsatzfall Modellweiche ist das ok. Zumindest bis 1:87...
> Wird der Impuls nicht abgeschaltet versucht der Servo evtl. ständig
> minimale Abweichungen auszugleichen, unnötiger Stromverbrauch. (IN
> DIESEM ANWENDUNGSFALL)
> Betriebsspannung zuschalten sollte man erst wenn der Impuls sicher
> steht, dann hält sich auch das Ruckeln in Grenzen.
> Abschalten sollte man die Spannung nicht, sonst hat man wieder den
> Effekt des Ruckelns und vor allem nicht GND abschalten !
> Wenn man den Servo mit sich langsam ändernden Positionen ansteuert weiss
> man auch, wo er sich befindet. Zum Schluß noch ein paar Impuls
> zusätzlich für die Endposition ausgeben.
> Hat sich so tausende Male bewährt.
>
> Holger

Hi Holger
So ist auch mein Stand momentan.
Da ruckelt nichts, auch nicht, wenn ich die Servos mit einem 2803 gegen 
GND ab/an-schalte. Der Impuls liegt sowieso nur an dem Servo an, das 
gerade in der state machine dran ist.
Also Servo langsam stellen lassen und zum Schluß noch ein paar Impuls
zusätzlich für die Endposition ausgeben. Das war ja meine 
Ursprungsfrage, WIE VIELE Impulse noch drauf. Ich werd es halt für den 
worst case auslegen.

Danke für die Antworten
Thomas
(Firma: TravelRec.) Persönliche Seite #2526222
Lesenswert?

Modellbauer schrieb:
>> Die Pulse müssen rund um die Uhr gesendet werden, und zwar so lange, bis
>> das Servo stromlos ist.
>
> Das stimmt nicht. Die meisten Servos bleiben einfach da stehen

Aha, die meisten. Und die anderen?

Damit alle Servos funktionieren:

1. Pulse an
2. Servo V+ einschalten (wenn nötig)
3. Pulse variieren, Servo fahren
           .
           .
           .
4. Servo V+ abschalten (wenn nötig)
5. Pulse aus

Für dauerhaft eingeschaltete Servos müssen die Pulse immer gesendet 
werden.
#2526270
Lesenswert?

Holger W. schrieb:
> Knut Ballhause schrieb:
>
>> Für dauerhaft eingeschaltete Servos müssen die Pulse immer gesendet
>> werden.
>
> Nein müssen sie nicht, zumindest mir bekannte Servos behalten die
> zuletzt eingestellte Position wenn der Impuls ausbleibt.

Das gilt vielleicht für ein paar Digitalservos. Ein analoges Servo wird 
a.) Kraftlos und b.) wird in den meisten Fällen Zuckungen kriegen.

gruß cyblord
Gast #2526276
Lesenswert?

Holger W. schrieb:
> Ich geb pro Position 2 Impulse aus, in der Endstellung dann noch 50
> Impulse.
>
> Holger

Hi

Ok, dann hast Du also 40ms Abstände.
50 * 20ms am Ende sind 2s, bevor das Servo wieder zurückgestellt werden 
kann.
Das sollte reichen... 25 würden sicher auch gehen.

Gruß
Thomas
#2526281
Lesenswert?

cyblord ---- schrieb:

> Das gilt vielleicht für ein paar Digitalservos. Ein analoges Servo wird
> a.) Kraftlos und b.) wird in den meisten Fällen Zuckungen kriegen.

kraftlos ja,da steht aber die Selbsthemmung des Getriebes dagegen, 
Zuckungen gibt es nicht.
Und damit klinke ich mich aus der Diskussion um DIESEN Punkt aus.

Holger

Thomas: es kann eher wieder elektrisch zurückgestellt werden, ich muß ja 
nicht warten bis die Impulse alle gesendet wurden
1 Sekunde, pro Zwischenposition 2 Impulse, in der Endstellung dann nur 
50
Gast #2526291
Lesenswert?

Übrigens, wenn man das Steuersignal abschaltet, bleiben die Servos 
ruhig.
Eine Kraft, die das Haltemoment des Getriebes+Motors überwindet habe ich 
auf der Modellbahn auch nicht.
Zuckungen kommen durch Einstreuungen auf den Zuleitungen zustande.
Im Modellflugzeug versucht man sowas mit Ferritkernen abzufangen.
Bei der Moba schaltet man einfach die Versorgungsspannung ab, egal ob 
GND oder Vss. Dann kann nichts zucken.
Einschaltzucken habe ich noch nicht festgestellt, wenn man es richtig 
macht (Reihenfolge und Totzeiten einhält).

Gruß
Thomas
#2526963
Lesenswert?

Blackbird schrieb:
> Typisches "Blackbox"-Denken, an ein paar Beispielen verifiziert und zum
> Gesetz erhoben.
Jepp.
Vor allem entzieht sich mir der Grund warum man die Servos nicht 
dauerhaft ansteuern sollte.
Ausser:
Thomas W. schrieb:
> Der Impuls liegt sowieso nur an dem Servo an, das
> gerade in der state machine dran ist.
das Problem liegt in an mangelden Programmierkenntnissen alle Servos 
dauerhaft und jitterfrei mit Impulsen zu versorgen.
#2527432
Lesenswert?

Meiner Meinung nach geht ihr mit dem TE ein bisschen (zu) hart ins 
Gericht.

Der TE hat von CCP gesprochen, womit er vermutlich die die 
Compare/Capture/PWM Einheit eines PIC meint.
http://ww1.microchip.com/downloads/en/devicedoc/31014a.pdf
Es gibt also keine Gründe davon auszugehen dass er mangels 
Programmierkenntnissen unter Jitter leidet. Ich kenne mich mit PICs 
nicht aus, aber ich vermute mal dass man auf diesem Wege auch zu einem 
Interrupt alle 20ms kommen kann. Damit kann man dann auch ohne Probleme 
und schön synchron bei jedem Puls die Länge anpassen, falls man einen 
definierten Gradienten fahren will. Zumindest bei einem AVR ginge das 
ohne Probleme. Mehrkanälige Systeme sind ev. geringfügig komplizierter.

Dass ein Servo bei Verlust der Pulse einfach nur sein Moment verliert, 
deckt sich auch mit meinen (bescheidenen) Erfahrungen. Ich habe den 
Eindruck dass zumindest billige analoge Servos bei jedem Puls die 
Pulslänge mit dem Signal vom Poti vergleichen und dann entsprechend 
einen kurzen Puls auf den Stellmotor geben. Wenn man die PWM Frequenz 
(aber nicht die Pulslänge) variiert, ändert sich damit auch das Moment 
und damit die Geschwindigkeit des Servos.
Bei derartigen Servohacks muss man sich halt im Klaren darüber sein dass 
man sich außerhalb der vereinbarten Konvention bewegt. Was ein 
bestimmter Servo letztendlich macht ist daher implementierungsabhängig. 
Der Servo ist dann u.U. nicht mehr beliebig austauschbar.

Ich habe mal vor einer Weile die Erfahrung gemacht dass Servos durchaus 
zittern. Das war nicht sichtbar (oder zumindest nicht gut) aber deutlich 
hörbar. Dass ein Servo in diesem Zustand auch unnötig viel Strom zieht, 
liegt da nahe.
Die Pulsquelle war damals ein Infineon 80C537 und die Pulse wurden per 
Hardware (Compare Capture Unit) erzeugt. Der Takt kam von einem Quarz. 
Anders gesagt, der Jitter war es wohl nicht.
Nebenbei bemerkt war das Zittern auf gewissen Stellungen ausgeprägter 
als bei anderen. Einen offensichtlichen Grund dafür habe ich damals 
nicht gefunden. Der Servo war nicht das Gelbe vom Ei, für eine Weiche 
hätte er aber gereicht - für Kunstflug in einem Helikopter eher nicht.

Reinhard
Gast #2527510
Lesenswert?

Hi Reinhard.

So siehts aus.
Und bei ca. 120 Servos unter der Moba Anlage wird es interessant.
Du hast recht, ich nutze das Capture Compare Modul des PIC 18F2620.
Die 4 Servos werden alle alle 4ms auf den CCP Ausgang geschaltet, der 
dann eine interruptgesteuerte Impulslänge erhält.
Alles funtioniert inzwischen perfekt.
Ich schicke jetzt am Ende 25 Impulse mit der Endposition raus.
Ich kann die 4 Servos jetzt unabhängig auf 8 unterschiedlichen Kurven 
(4hin 4zurück) mit beliebig vielen Positionen und Zeitintervallen 
steuern.
Auch meine Entkuppler drücke ich damit hoch.
Die Servos sind schon austauschbar, da ich die Software anpassen kann 
über Parameter, die im EEPROM liegen.

Gruß
Thomas
#4903589
Lesenswert?

Ich habe gerade auch dieselbe Fragestellung gehabt, weil ich das Servo 
so schnell wie möglich die Positionen abfahren lassen möchte.

Ich hab dann mal bei dem SG90 Micro Servo 1 Ohm in die Masseleitung 
gehängt und den Strom gemessen.
Wenn das Servo seine Position erreicht hat, ist der Strom (ca. 200mA) 
während der 20ms mehr als 15 ms aus, der Rest ist das berühmte Zittern 
bei den Billigteilen.

Wenn man nicht so exakt sein muss reicht es auch, die erste Stromlücke 
mit mehr als 11-13 ms zu detektieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren