PWM: Fragen zu Periodenlänge und Pulsen

Hallo,

ich bin Technik-Laie, wollte mich aber informieren, wie eigentlich ein Servo funktioniert und habe mich im Netz ein bisschen eingelesen. Nun ist es ja so, dass unsere Servos im Modellbau mittels PWM (Pulsweitenmodulation) angesteuert werden. Die Periodenlänge beträgt in der Regel 20ms (50Hz). Pro 20ms-Periode wird am Beginn ein Puls kontinuierlich übertragen, und zwar ein Wert zwischen 1ms und 2ms. Der Neutralimpuls beträgt in der Regel 1,5ms (= 1500µs). Bei einem Puls von 1,5ms fährt das Servo in seine Mittelstellung (0°). Hier vergleicht die Elektronik im Servo die Spannung vom Poti mit der Spannung, welche es aus dem PWM-Signal errechnet. Bei Abweichungen beider Spannungswerte korrigiert die Elektronik über den Servomotor die Stellung vom Servohebel, bis der gewünschte Drehwinkel erreicht wird.

Meine Frage: Kann man eigentlich die Pulsbreiten selber einstellen? Kann ich z.B. meiner JETI DS16 "mitteilen", dass der Mittenimpuls auf 1520µs gesetzt wird? Es gibt ja im Menü den sog. "Servomonitor". Dieser zeigt auf der dritten Seite die ausgegebenen Pulsbreiten in ms je Kanal an. Kann man diese Werte selber abändern? Wenn ja, wie?

Was es gibt, ist die JETI BOX. Mittels dieser kann man ebenfalls direkt am Empfänger die Pulsbreiten abfragen. Das ist also nichts anderes als der Servomonitor in der Senderanlage selber, oder?

Schöne Grüße

Christoph
 

shoggun

User gesperrt
Meine Frage: Kann man eigentlich die Pulsbreiten selber einstellen? Kann ich z.B. meiner JETI DS16 "mitteilen", dass der Mittenimpuls auf 1520µs gesetzt wird? Es gibt ja im Menü den sog. "Servomonitor". Dieser zeigt auf der dritten Seite die ausgegebenen Pulsbreiten in ms je Kanal an. Kann man diese Werte selber abändern? Wenn ja, wie?

Hi
Genau das machst du ja mit der Einstellung der Servomitte, aber ich denke mal darauf willst du nicht hinaus? ;)

Die Zyklusdauer (Periodenzeit) ist nicht ganz so in Stein gemeisselt wie du vielleicht denkst. Gerade bei Jeti kannst du z.B. die Periodenzeit für die Servosignale zwischen 10 und 20ms einstellen (entsprechend also zwischen 100 und 50Hz). Moderne Servos können problemlos mit 100Hz betrieben warden, ältere Generationen fangen dann aber an zu spucken.
Wichtig für die Servoposition ist aber der Duty Cycle, also die Zeit in der der Signalpegel "high" ist. Diese Zeit ist aber vom Servo vorgegeben, schliesslich muss der Hersteller das Servo ja so bauen, dass die Mittelstellung und die Endausschläge definiert sind.
Demnach macht es also keinen Sinn den Mittenimpuls Senderseitig zu manipulieren.

Aber vielleicht erzählst du mal was du damit bewirken willst? Bis jetzt sehe ich keinen Nutzen dafür.
 
Aber vielleicht erzählst du mal was du damit bewirken willst? Bis jetzt sehe ich keinen Nutzen dafür.

Hallo,

vielen Dank für deine Antwort! Es geht mir eigentlich nur um das Verständnis, möchte nichts praktisch umsetzen. Ich dachte mir, dass es möglich ist, den Neutralimpuls im Sender zu verstellen ohne im Servomenü die Servomitte zu verstellen.

Aber dein Hinweis, dass die Servomitte ja genau den Neutralimpuls verstellt, ist mir jetzt klar, da du es so konkret erwähnst.

Wenn ich den Perioden-Zyklus von 20ms auf 10ms ändere (als Beispiel), dann ändere ich damit aber nicht die Länge des einzelnen Pulses (1ms bis 2ms), oder? Das Servo bekommt pro Sekunde die Pulse nur öfters, oder? Also der Neutralimpuls als Signal wird nur öfters an das Servo geschickt? (Wenn ich mich richtig ausdrücke?!)

Und wenn ich die Servomitte verstelle: Ändert sich dann auch der Maximalpuls? Wenn ich also die Mitte um z.B. 0,1ms verstelle auf 1,6ms ... Ist dann der Maximalwert 2,1ms?

Entschuldigung bitte für meine laienhafte Ausdrucksweise.
 

wkrug

User
Wenn ich den Perioden-Zyklus von 20ms auf 10ms ändere (als Beispiel), dann ändere ich damit aber nicht die Länge des einzelnen Pulses (1ms bis 2ms), oder? Das Servo bekommt pro Sekunde die Pulse nur öfters, oder? Also der Neutralimpuls als Signal wird nur öfters an das Servo geschickt? (Wenn ich mich richtig ausdrücke?!)
Genau so ist es.
Da die Impulse nun öfter eintreffen, kann das Servo schneller reagieren.
Beim Betrieb mit den Steuerknüppeln wird man das wohl nicht merken.
Schaltet man jedoch beim Heli ein Stabi mit rein, macht das schon etwas aus.

Verschiedene Hersteller haben auch verschiedene Servomittenimpulse.
Bei Multiplex konnte man das früher umstellen.
Auch Graupner und Futaba sind nicht gleich!

Und wenn ich die Servomitte verstelle: Ändert sich dann auch der Maximalpuls? Wenn ich also die Mitte um z.B. 0,1ms verstelle auf 1,6ms ... Ist dann der Maximalwert 2,1ms?
Das ist natürlich vom Hersteller des Senders abhängig, min und max wird aber wohl in den meisten Fällen mit verschoben um den vollen Servoweg zu erhalten.
Auch die maximale und minimale Pulslänge ist nicht 100% fest geschrieben und zusätzlich Herstellerabhängig.
Üblicherweise kann man im Sender die max. Servowege auf +/- 135 bis 150% aufdrehen.
Was natürlich auch wieder über die Impulslängen geschieht.
Das ist in einigen Fällen nötig, wenn man 2 Funktionen auf ein Servo legt.
Z.B. Seite und Höhe bei einem V-Leitwerk.

Hier ist es auch möglich die Mischanteile über die massen zu erhöhen.
z.B. 80% Höhe 80% Seite = 160% maximaler Ausschlag.
Das wäre wohl für die meisten Servos zu viel.
Deshalb gibt es bei den meisten Computersendern die Möglichkeit den maximalen Servoausschlag ( = Impulslänge ) auf einen Wert zu beschränken.
Das bedeutet, auch wenn sich rechnerisch eine Impulslänge von 2,5ms ergeben würde wird nur ein Puls mit 2,3ms ausgegeben ( Wenn dieser Wert als Maximalwert ausgewählt wurde.
 
Stimmt alles, ...

Stimmt alles, ...

...außer dass das "W" für "Breite" steht, auf Englisch "width".

Die Taktrate von 20ms ist die übliche für Analogservos, je nach System kann die noch höher sein, bis zu 5ms. Dafür braucht´s aber Digitalservos.

Den Mittenimpuls (da gibt´s außer Servos mit 1520 noch Typen mit 760 und irgendwo bei 900μs) verstellst Du am Sender mit der Trimmung bzw. über Subtrim (Servomitten, ...), oder bei programmierbaren Servos auch direkt in deren Elektronik.

Pulsbreite und Taktrate sind prinzipiell voneinander unabhängig, abgesehen von der Tatsache, dass ein Puls von 2100μs (Maximal-) Breite nicht öfter als 476,19 mal in eine Sekunde passt. Es gibt Heli Heckkreisel bzw. FBL Systeme, die bis jenseits von 500Hz takten, und für die sind dann die Servos mit geringeren Mitten Pulsbreiten, weil da im gleichen Verhältnis auch die maximale (und minimale) Breite kleiner wird, weswegen dann eben mehr Pulse pro Zeiteinheit übertragen werden können.

LG, Philipp
 

max z

User
Es wird heute manchmal durcheinander benutzt, aber ursprünglich steht PWM für "Pulse Width Modulation" oder auch "Duty Cycle", wie bereits erwähnt. Damit wird ein System angedeutet wobei das Längenverhältnis zwischen die "Ein" und "Aus" Spannungspulse geändert wird, zwecks damit einen veränderliche mittlere Spannung zu erzeugen. Bei unsere Fernsteuerung Anlagen werden Servos mit PPM oder "Pulse Proportional Modulation" Signale gesteuert, wobei die Lage der Servohebel nur vom Länge der "Ein" Puls abhängig ist.

Gruss,
Max.
 

Walter24

User gesperrt
Hy,

Es gibt Servos deren Mitte nicht bei 1500us liegt sondern bei zB. bei 1520us oder 1550us

Es gibt Sender da kann man dies expliziert einstellen.

Das hat aber nichts mit der Servo Mitte Verstellung zu tun, das geht noch extra zusätzlich

Auch gibt es Sender-Systeme die haben als Min Mitte Max andere Bereiche
1000 1500 2000 +/-500 das sind dort 100%
900 1500 1900 +/-400 das sind dort 100%
998 1500 2012 +/-512 das sind dort 100%
732 1500 2268 +/-768 das sind dort 150%

Deshalb kann man 100% nicht mit 100% vergleichen

Servos fahren
entweder bis auf Ruderanschlag und blockieren, ziehen dann hohen Storm, rauchen ab oder Getriebe defekt.
oder
auf die interne mechanische Begrenzung und blockieren, ziehen dann hohen Strom, rauchen ab oder Getriebe defekt

Deshalb immer den min/ ax Servoweg so begrenzen dass das Ruder nicht mechanisch aufläuft.


Normale "analoge" Standardservos arbeiten mit 50Hz = 20ms Zyklen
Normale Digitalservos mit bis zu 100Hz = 10ms Zyklen
Higspeed mit mit bis zu 250Hz= 4ms Zyklen




--
 

Walter24

User gesperrt
Hy,

Es gibt Servos deren Mitte nicht bei 1500us liegt sondern bei zB. bei 1520us oder 1550us

Es gibt Sender da kann man dies expliziert einstellen.

Das hat aber nichts mit der Servo Mitte Verstellung zu tun, das geht noch extra zusätzlich

Auch gibt es Sender-Systeme die haben als Min Mitte Max andere Bereiche
1000 1500 2000 +/-500 das sind dort 100%
1100 1500 1900 +/-400 das sind dort 100%
998 1500 2012 +/-512 das sind dort 100%
732 1500 2268 +/-768 das sind dort 150%

Deshalb kann man 100% nicht mit 100% vergleichen

Servos fahren
entweder bis auf Ruderanschlag und blockieren, ziehen dann hohen Storm, rauchen ab oder Getriebe defekt.
oder
auf die interne mechanische Begrenzung und blockieren, ziehen dann hohen Strom, rauchen ab oder Getriebe defekt

Deshalb immer den min/ ax Servoweg so begrenzen dass das Ruder nicht mechanisch aufläuft.


Normale "analoge" Standardservos arbeiten mit 50Hz = 20ms Zyklen
Normale Digitalservos mit bis zu 100Hz = 10ms Zyklen
Higspeed Digitalservos mit bis zu 250Hz= 4ms Zyklen




--
 
Guten Morgen,

vielen herzlichen Dank für die informativen Antworten, hat mir für mein Verständnis sehr geholfen.

Es wird heute manchmal durcheinander benutzt, aber ursprünglich steht PWM für "Pulse Width Modulation" oder auch "Duty Cycle", wie bereits erwähnt. Damit wird ein System angedeutet wobei das Längenverhältnis zwischen die "Ein" und "Aus" Spannungspulse geändert wird, zwecks damit einen veränderliche mittlere Spannung zu erzeugen. Bei unsere Fernsteuerung Anlagen werden Servos mit PPM oder "Pulse Proportional Modulation" Signale gesteuert, wobei die Lage der Servohebel nur vom Länge der "Ein" Puls abhängig ist.

Drehzahlregler steuern den Motor über PWM an (der Motor wird quasi ständig ein- und ausgeschaltet). Habe ich das richtig verstanden, dass aber Servos nicht mittels PWM, sondern über PPM angesteuert werden? Oder ist das Funktionsprinzip von PWM und PPM dasselbe, nur sagt man bei Servos halt PPM? Ich dachte eigentlich, PPM meint das Übertragungsprotokoll vom Sender bis zum Empfänger.

Wichtig für die Servoposition ist aber der Duty Cycle, also die Zeit in der der Signalpegel "high" ist. Diese Zeit ist aber vom Servo vorgegeben, schliesslich muss der Hersteller das Servo ja so bauen, dass die Mittelstellung und die Endausschläge definiert sind. Demnach macht es also keinen Sinn den Mittenimpuls Senderseitig zu manipulieren.

Annahme, auf dem Datenblatt des Servos stehen Mittenimpuls 1520µs. Der Sender gibt aber einen Mittenimpuls von 1500µs aus. Wäre es in diesem Zusammenhang nicht sinnvoll, wenn man den Neutralimpuls in diesem Fall im Sender von 1500µs auf 1520µs verschieben könnte? (z.B. bei einem Senderwechsel, aber Modell bleibt). Und das nicht durch die Mittenverstellung im Servomenü, sondern in einem eigenen Punkt, wo der Neutralimpuls verstellt wird?

Schließlich: Was ist dieses PWM-Signal eigentlich von seinem Wesen her? Ist das eine Spannung? Wird also vom Empfänger durch die weiße (Futaba) oder orange (JR) Signalleitung an das Servo ein Strom geschickt? Oder liegt da nur eine Spannung an, aber es fließt kein Strom?
 

Maistaucher

Vereinsmitglied, Offizieller 1. Avatarbeauftragter
Kurze Hinweise:

Wikipedia spricht bei der deutschen Interpretation des Kürzels PWM auch von Pulsweitenmodulation.

Ich habe diesen Thread hier in unserem Wiki-Artikel zu PWM verlinkt.

Wer sich auskennt, der darf die Tabelle dort mal anschauen, kontrollieren und ergänzen.
(Gerne auch an mich senden, ich füge es dann dort ein.)
 
Zuletzt bearbeitet:

Walter24

User gesperrt
Hy,

das Problem bei reiner Servo-Mittenverstellung (Subtrim) ist:

Entweder hat man dann unterschiedliche Steigungen (rot) bei gleichen Endlagen für links und rechts
oder unterschiedliche Endlagen (blau) bei gleichen Steigungen für links und rechts.

Darum gibt es Sender wo man die Servo-Nullage extra einstellen kann.
und eben nicht nur die Sevomitte verschiebt.
Dies wird dann schon in der Mischerberechnung mit berücksichtigt

Servomittenverstellung findet erst am Ende des Berechnungsweges statt,
und ist normal für die Anpassung von nicht passenden Gestängen und Einbaulagen gedacht.


Hinweis:
Für die 3 Taumelscheibe-Servos ist es wichtig dass alle 3 Servos gleich einstellt sind in Ihrer Servomitte.
Hier eben gerade nicht einfach die Servomitte verstellen, sondern die Gestänge so anpassen, das man fast keine Servomittenverstellung braucht und dann noch die Symmetrische Servowegefunktion wählen.

Wer es genauer wissen will, siehe openTx Handbuch, dort sind Grafiken drinnen die das darstellen.

--
 

Anhänge

  • Auswahl_571.jpg
    Auswahl_571.jpg
    30,2 KB · Aufrufe: 189
  • Auswahl_570.jpg
    Auswahl_570.jpg
    127,7 KB · Aufrufe: 183
Hallo Walter,

danke für deinen interessanten Beitrag, jetzt wird die Sache rund um Mitten-Impulsverstellung und klassischer Servomittenverstellung im Servomenü schon klarer.

Damit hat man eigentlich bei einer gemischten Taumelscheibe bei einem Paddelheli immer eine kleine Ungenauigkeit drinnen, denn:

- die Servohebel kriegt man nur zufällig so genau auf das Zahnrad, dass sie ohne Servomittenverstellung exakt rechtwinklig stehen (rechter Winkel zwischen Servohebel und Stange)

- und man, wo kein rechter Winkel folgt, eben die Servomitte im Servomenü verstellen muss. Kann der Sender jetzt aber nicht die Mittenimpulse (deine blaue Kurve) verschieben, sondern nur die Servomitte im Servomenü einstellen, dann laufen die drei Servos unterschiedlich.

Bei einem FBL-Heli wird es vermutlich egal sein, da das FBL-System das alles "ausbügelt".

Wenn ich das so richtig verstanden habe ...

Allerdings Beispiel JETI DS16: Wenn ich dort die Servomitte im Servomenü um 10% erhöhe, dann sieht man in der Servoauswertung, dass der Neutralimpuls sich erhöht. Zugleich verschiebt es aber auch automatisch Minimum- und Maximum-Pulsweite ebenfalls wertmäßig nach oben. Nach meinem Dafürhalten bleiben bei den drei Taumelscheibenservos damit die gleichen Steigungen erhalten. Weil einfach sämtliche Pulsweiten auf der y-Achse nach oben verschoben werden.
 

wkrug

User
Wenn ich dort die Servomitte im Servomenü um 10% erhöhe, dann sieht man in der Servoauswertung, dass der Neutralimpuls sich erhöht. Zugleich verschiebt es aber auch automatisch Minimum- und Maximum-Pulsweite ebenfalls wertmäßig nach oben.
Das ist das was ich oben schon mal schrieb vom Hersteller des Senders abhängig.

Im Prinzip ist das Servo Signal eine PDM = Puls Dauer Modulation.
Die Länge des Pulses bestimmt also den Ausschlag des Servos, die Pausenlänge hat keinen Einfluss auf die Servoposition ( Sie muss sich nur in den für das Servo geeigneten Grenzen befinden ).
Diesen Begriff nutzt man aber bei der Fernsteuertechnik nicht.

PWM ist eigentlich falsch, die Pause hat ja keinen Einfluss auf die Servolage.

PPM ( Puls Phasen Modulation ) ist auch nicht ganz korrekt wird aber als Begriff verwendet. Wenn mal es als Proportional Puls Modulation interpretiert stimmt es aber irgendwie auch wieder.

Zu den Anschlüssen:
Ein Pol ist GND für Signal und Stromversorgung.
Ein Pol ist +V zur Stromversorgung des Servos.
Ein Pol ist Signal ( PPM ), da werden die Servosignale übertragen.

Es gibt auch Servokabel, bei denen das Sig Kabel mit dünnerem Draht ausgeführt ist, da hier keine Leistung übertragen wird.

Die meisten Servos benutzen das Schema Sig, + , GND.
Auch wenn es hier noch andere Anschlussvarianten gibt.

Über Exoten mit negativem Impuls und bis zu 5 Anschlüssen mag ich hier mal gar nicht anfangen.
 

RC-PPG

User
Welche Möglichkeiten gibt es noch falls der Empfänger nur mit Höhe Taktraten arbeiten kann und man trotzdem analoge Servos einbauen muss die nur mit eine Taktrate ab 16mS arbeiten können?
 

wkrug

User
Welche Möglichkeiten gibt es noch falls der Empfänger nur mit Höhe Taktraten arbeiten kann und man trotzdem analoge Servos einbauen muss die nur mit eine Taktrate ab 16mS arbeiten können?
Der Futaba R7008 Empfänger lässt einen Änderung der Taktrate zu ( Ich hab halt Futaba ).
Ich denk mal auch andere FASSTest Futaba Empfänger werden das können.
Allerdings gilt die Einstellung dann für alle Ausgänge.
Ein gemischter Betrieb von Analog ( bzw. niedrige Taktrate ) und Digitalservos ( hohe Taktrate ) ist also auch da nicht möglich.
 

johmei

User
Hallo zusammen,

Hab die genauen Pulsweiten von MPX gesucht und nix gefunden was alle meine Fragen beantwortet hat. Das Wiki ist gut aber ich war mir auch unsicher ob das nun bei allen Anlagen gleich ist und hab deswegen einfach mal selbst gemessen. Interessant war auch die Frage ob alle Kanäle zum gleichen Zeitpunkt ausgegeben werden. Das ist zum Glück nicht der Fall.

Vielleicht kann mal jemand im Wiki die 110% fuer MPX ergaenzen, die liegen naemlich genau bei den berechneten Werten 895us/2105us.

MPX_PulseWidthTxt.jpg

Bei MPX verschiebt sich nicht der Endwert wenn man die Trimmung verändert. Das wäre auch blöd wenn man den Endwert auf Servo-Anschlag gestellt hat. Man kann die Mitte verschieben aber der Rest skaliert dann 100% bis zu den Min/Max Werten die man im Servomemü eingestellt hat.


Viele Grüße,
johmei
 

max z

User
Bei MPX verschiebt sich nicht der Endwert wenn man die Trimmung verändert. Das wäre auch blöd wenn man den Endwert auf Servo-Anschlag gestellt hat. Man kann die Mitte verschieben aber der Rest skaliert dann 100% bis zu den Min/Max Werten die man im Servomemü eingestellt hat.

Das hängt davon ab wo man die Trimmung vornimmt, beim Trimmschieber oder beim Servo-abgleich Menu. Im zweiten Fall gibt es (zumindest bei meinem Royal SX) die REV/TRM Eingabe, womit man zugleich sowohl Mitte als auch Endposition verschieben kann. Die beiden addieren sich aber (Trimmschieber und Servo-abgleich).

Gruss,
Max.
 
Ansicht hell / dunkel umschalten
Oben Unten