Servo-PWM-Impuls - das Mysterium

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • dl7uae
    dl7uae

    #1

    Servo-PWM-Impuls - das Mysterium

    Nicht dass Ihr denkt, ich hätte zuviel Zeit.. Es ist nur so, wenn man lange genug in einem Forum ist, gibt es bestimmte Dinge, die wiederholt man in diversen Threads immer wieder wie eine Schallplatte mit Sprung.

    Es geht in diesem Fall um die beliebten Servoimpulse, die Länge des Mittenimpulses, die Impulsrate. Da wird immer wieder alles durcheinandergeschmissen.

    Da mir ja immer vorgeworfen wird, meine Erklärungen wären unverständlich, poste ich mal nur Bilder, die ich eben malte, in der Hoffnung, dass die bzgl. der ganzen Sache selbsterklärend sind.

    Falls ich wider Erwarten damit mal landen konnte, würde ich "PPM" gleich anschliessen, bzgl. dessen kursieren offenbar auch die finstersten Vorstellungen in den Köpfen einiger unserer Kollegen. Schliesslich ist "PPM" mit "Servo-PWM" der Standardausführung sehr verwandt.

    Na, mal sehen..





    Angehängte Dateien
    Zuletzt geändert von Juky; 07.08.2012, 18:23.
  • enzo
    Senior Member
    • 15.01.2006
    • 2014
    • Markus

    #2
    AW: Servo-PWM-Impuls - das Mysterium

    Das mit dem Zeichnen solltest du beibehalten, einmal anschauen und auch schon verstanden
    lg. Enzo
    Logo700/690/200 + GLOGO

    Kommentar

    • dl7uae
      dl7uae

      #3
      AW: Servo-PWM-Impuls - das Mysterium

      Das freut mich ja mal echt, dass eine Erklärung von mir nicht als unverständliches Kauderwelch qualifiziert wird.

      Wie man sieht, bei der ganzen Aktion um die Impulsrate und Variationsbreite des Impulses geht es um Latenz, im Standardfalle kann die Latenz bis zu 22ms betragen, bei einem Superspezialheckservo nur noch ca. 4ms. MMn ist das bei direkter Ansteuerung vom Piloten via TX und RX eher uninteressant, die größte Latenz ist die der menschlichen Markscheide von ca. 400ms. Geht es um paralleles Ansteuern von TS-Servos, kann es u.U. schon wichtiger sein, kommt aber noch die Latenz der ßbertragungsstrecke dazu. Ein zeitsynchrones Ausgeben der Servokanäle kann die Latenzfrage aber wieder in den Hintergrund rücken.

      Für elektronische Stabis kann die Latenz in jedem Falle von Interesse sein, denn sie geht in die Regelkreiskonstanten ein.

      Die Signalauswertung (der Impulse) und vor allem die Ansteuerung des Motors in einem Analogservo ist ganz anders gemacht als in einem Digi. Daher kann eine deutlich höhere Impulsfrequenz als der Standard von 50Hz zu einem Brummen des Servos führen (man hört die Impulsfrequenz) und zur Zerstörung des Motors oder der Transistoren in der ansteuernden Brücke für den Motor. Das passiert i.Allg. nicht auf der Stelle, mittelfristig aber mit ziemlicher Sicherheit.

      Die Elektronik in digitalen Servos sollte eigentlich jede Impulsfrequenz abkönnen, ohne bei hoher Frequenz sich selbst oder den Motor zerstören zu können. Trotzdem gibt es jeweils eine bestimmte Grenzfrequenz, oberhalb derer die Arbeitsweise des Servos beeinträchtigt werden kann. Abhängig von der konkreten Ausführung, die Elektronik steckt im Wesentlichen im einem ASIC (funktionell speziellen Schaltkreis), manchmal ist's auch ein Microcontroller, könnte auch ein Digi bei zu hoher Frequenz unwillig bei der Arbeit Brummen. Eigentlich ist es ja dann ein Summen wg. der Frequenz.

      Mal sehen, ob nicht doch noch ein Tiefschlag von einem Leser kommt.
      Wenn nicht, schließe ich alsbald PPM an, das ist ja momentan relativ interessant wg. der Summensignalempfänger.

      Kommentar

      • Anfänger
        Senior Member
        • 01.07.2004
        • 3879
        • Daniel
        • Kelkheim im Taunus

        #4
        AW: Servo-PWM-Impuls - das Mysterium

        danke dir, macht das ganze verständlicher!

        was auch noch dazu kommt ist die interne verabreitungszeit der signale in der funkfernbedienung. da sind neue sender schneller als alte, was man auch spürt!

        es ist halt die ganze kette, auge sieht reaktion vom heli, hirn denkt, gibt signale an die finger, finger steuern knüppel aus, dieses signal wird in dem sender verarbeitet, das signal wird dann übertragen an den empfängen, dieser wandelt das signal um und gibt es an die servos weiter oder an das fbl und dieses dann an die servos und da ist, wie du schon geschrieben hast, der mensch das langsamste!
        Zuletzt geändert von Anfänger; 09.04.2010, 10:31.
        Lese euch später!
        MFG Daniel
        Jede Landung ist ein kontrollierter Absturz.

        Kommentar

        • Deluxe1
          Senior Member
          • 27.05.2008
          • 1323
          • Philipp

          #5
          AW: Servo-PWM-Impuls - das Mysterium

          Vielen Dank für die Ausführung!!!
          Sich das Ganze bildlich vor Augen zu führen ist meistens doch deutlich verständlicher als jeder noch so lange Text.

          PPM Interessiert mich aufgrund des Summensignalempfängers auch sehr.
          Hatte da neulich eine ganz interessante Diskussion bzw. ßberlegungen mit einem Kollegen, wie sinnvoll die Sache ist...

          Gruß,
          Philipp

          Kommentar

          • dl7uae
            dl7uae

            #6
            AW: Servo-PWM-Impuls - das Mysterium

            Leicht OT:
            Team (Klaus O.) fragte, wieso ich's ausgerechnet in "Helis Allg." setzte. Tja, ich wusste nicht ganz, wohin. Servopulse sind ja das allg. Esperanto, was alle Komponenten ab RX-Ausgang quatschen, nicht nur Servos. Es weicht sich jetzt erst etwas auf durch Futaba's S-Bus und verschiedene andere "Compound Protokolle" wie PPM-Summensignal, Spektrum asynchron seriell 115.200 Baud, bald Jeti Highspeed-Summensignal, - die letzteren im Augenblick nur von einigen Stabis auf der TS verstanden.

            Aber, ist doch egal (finde ich), Hauptsache (für mich), man hat's mal rausgelassen und es liest mal einer, sodass man nicht Jeden, der in diesem Thema auf dem Holzweg ist, missionieren muss. Das ist nämlich sehr frustrierend, wie im aktuellen Thread hier. Eben postete ich was zu einem Irrtum vom Amt, schon schwenkt der letzte Poster wieder auf das Abstellgleis ein..
            Zuletzt geändert von Klaus O.; 14.04.2010, 18:17. Grund: Farbe rausgenommen, liest sich sonst schlecht

            Kommentar

            • dl7uae
              dl7uae

              #7
              PPM und etwas mehr

              So, mal schnell die Fortsetzung, - PPM -, sonst wird das nix mehr, mein innerer Schweinehund schreit: "Wooocheneeende!"
              (Muss auch schnell noch ein paar Servohebel besorgen.)

              PPM - Pulse Position Modulation. Im Deutschen auch gern mal "PulsePausenModulation" genannt. Wir werden (hoffentlich) gleich sehen, dass das eigentlich dasselbe ist, Jacke wie Hose. Robbe glänzt in den Anleitungen zu den Futaba FASST Summensignalempfängern mit dem alternativen Begriff "Serielles PWM". Hört sich zwar komisch an, trifft aber eigentlich ganz gut den Kern.

              Das Akronym "PPM" wird auch für PulsePhasenModulation benutzt, - nicht verwechseln, ist absolut was anderes!

              Die Grunddefinition von PPM lautet eigentlich so, dass der Kanalwert n dem zeitlichen Abstand der Impulse n und n+1 entspricht. Also ist z.B. der Wert von K2 der Abstand der Impulse von K2 und K3. Nun, der Abstand zwischen zwei Impulsen, hier der der steigenden Flanken dieser Impulse (Positivmodulation) ist identisch mit der Pause zwischen den beiden Impulsen, also stimmt "Pulsepausenmodulation" auch.



              Nun sehen wir gleich die absolute Verwandschaft zwischen Servo-PWM und PPM:



              Oben sieht man das prinzipielle Zeitschema, z.B. das eines Senders, der mit PPM moduliert. Die einzelnen Kanalimpulse haben einen zeitlich äquidistanten Abstand. Wenn ich die jetzt alle zusammenschalte, ver-oder-e, habe ich schon mein PPM. Links ist es mit einem NOR-Gatter (negierendes ODER, ein Schaltkreis) gemacht, rechts mit diskreten Bauelementen.

              Das nächste Bild verdeutlicht die Verwandschaft und das allgemeine Entstehen in einem Sender noch besser:


              Ich glaube, das bedarf keiner weiteren Worte.
              Nun seht Ihr auch, wie einfach es ist, einem stino Empfänger einen Ausgang für PPM-Summensignal aufzupfropfen. Man muss auf der Platine nur den (möglichst digitalen) Ausgang des Demodulators finden.

              Eigentlich gibt es in der R/C-Welt kaum wirkliche Standards, PPM jedoch hält sich zumeist an so einen (ungeschriebenen): So ein Pulse-Frame ist 20..22ms lang. Wegen des Zeitlimits kann ich also eigentlich nicht mehr als 8 Kanäle (8 Impulse) hineinpacken, weniger sind möglich. Der neunte Impuls ist die Austastlücke, die sollte wenigstens 3ms lang sein.

              -----
              Damit sind wir bei dem, was allgemein unter "Summensignal" verstanden wird, nichts anderes als PPM, oder "serialisierte Servo-PWM-Kanäle".

              (An der Stelle mal der Hinweis, dass allg. "PWM" und "Servo-PWM" nicht so viel miteinander gemein haben. "Allgemein" könnten wir im R/C-Bereich auch als "Motor-PWM" bezeichnen. Das Puls-Pause-Schema ist hier symmetrisch und es wird meist eine viel höhere Pulsefrequenz gefahren. Letztendlich wird ein analoger Zielwert digital übertragen, nach Integration im Destination Device, explizit (elektronisch) oder in seiner Wirkung (Motor, Lampe, LED), ist es ein analoger Stellwert.)

              PPM als Summensignal hat eigentlich nur einen Vorteil: Eine einzelne Strippe,

              ...dafür aber genug Nachteile:

              1) Da ist zunächst die ßbertragungssicherheit, es gibt keinen Protokollmechanismus zum Sichern der Integrität der Daten. Theoretisch wird auch mit dem ersten Impuls und der dem letzten (der Frame-Austastlücke) synchronisiert. Verschiebt sich ein Impuls zeitlich, z.B. durch Mehrwegeempfang TX->RX oder Fremdimpulse (Störimpulse), kann der ganze Frame falsch gelesen werden. Bisher hat uns da PCM geholfen. Allerdings kann man auch ganz lässig den Zeitabstand Vorder-/Rückflanke jeden Kanalimpulses einzeln lesen, gerade im Zeitalter der Microcontroller, und somit kanalweise synchronisieren.

              2) Viel wesentlicher als Summensignal, das eigentlich kaum gestört werden kann, ist die Latenz. Es braucht also round about 22ms, um alle Kanalwerte für einen Refresh zu übertragen. Das wird geradezu pervers, wenn die ßbertragungsstrecke TX->RX ein Protokoll auf 2G4 war, - 1..2ms Latenz hier, 22ms auf der Summensignalseite, - oft genug völlig sinnloserweise, offenbar nur, weil Summensignal "in" ist!

              (Ist die 2G4-ßbertragung im TX auch nur an PPM angedockt (TX-Modul), relativiert sich obige Betrachtung wieder, ich habe die Latenz schon vor der ßbertragung eingebaut.)

              Noch perverser ist das Verwenden eines PPM-Summensignals anstatt PWM-Einzelkanälen, wenn der RX zeitsynchrone Ausgabe auf bestimmten Kanälen beherrscht! Man schmeißt sozusagen die automatische Waffe weg, und greift zu Pfeil und Bogen.

              Was die ganze Latenzgeschichte betrifft und die Sinnfälligkeit ihrer Betrachtung im Einzelfalle, darauf war ich ja bereits in meinem zweiten Post hier eingegangen. Zeitsynchron Nick/Roll/Collective in einen FBL-Stabi einzugeben, macht nicht viel Effekt, geringe Latenz am Ausgang des Stabi (Richtg. Servos), also mit hoher PWM-Pulsefrequenz bzw. auch kürzeren Impulsen an einem Heckservo, bringt schon etwas.

              Ist PPM-Summensignal nun Schei**e? Wenn man es unbedingt braucht, aus Gewichtsgründen oder weil die Signalsenke nichts anderes versteht (siehe diverse XY-Copter-Elektronik), -OK. Wenn man aber ebensogut PWM-Einzelkanäle anbieten kann, sollte man weiterhin die nehmen.

              Es gibt aber Hoffnung, doch es wird auch immer mehr proprietär, das sind verschiedene Protokolle, die mit weitaus höherer Datenrate arbeiten. Abgesehen vom gerade aufkommenden Futaba SBus ist das etabliert aktuell eigentlich nur Spektrum's asynchron serielles Protokoll, 115.200 Baud, mit dem JEDER RX-Modul angebunden ist. Handelt es sich um eine mechanisch für den allgemeinen Gebrauch abgeschlossene Einheit, ist die Rede von den Sat-RX.

              "Asynchron seriell" kennt Ihr von der COM-Schnittstelle am PC, geht auch via USB, was ein sog. "FTDI Chip" macht, hat z.B. VStabi drin. "Asynchron" deshalb, weil je Zeichen synchroniert wird, durch ein Startbit und 1/1,5/2 Stoppbits. Es geht auch "synchron", wobei der Takt entweder extra übertragen wird oder aus dem Datenstrom beim Empfänger gewonnen wird (Beispiel: SDLC/HDLC). Nahezu jeder Microcontroller, und die sind ja heute überall und nirgends drin, beherrscht die synchronen Protokoll I2C (oder TWI - Two Wire Interface) mit mind. 400kHz und SPI (ein 4-Draht-Interface) mit mind. 500kHz.

              So gesehen ist das Verwenden eines asynchron seriellen Protokolls durch Spektrum eigentlich ziemlich vorsintflutlich, hat wahrscheinlich mit den Möglichkeiten des Microcontrollers zu tun, der in jedem RX-Modul steckt, - siehe Bild:

              Shit, falsche Taste, war noch gar nicht fertig.
              Angehängte Dateien
              Zuletzt geändert von Juky; 07.08.2012, 18:29.

              Kommentar

              • dl7uae
                dl7uae

                #8
                AW: Servo-PWM-Impuls - das Mysterium

                Jetzt ist auch noch das Timeout abgelaufen. Bin jetzt pissed off. Ich schmeiße noch die Bildchen auf den Server, dann muss ich erstmal meine Wut verdauen. Schluss folgt später.

                Kommentar

                • dl7uae
                  dl7uae

                  #9
                  AW: Servo-PWM-Impuls - das Mysterium

                  (Keine Servohebel bekommen, nur online, dafür 100km gefahren. Wie konnte ich nur annehmen, dass das Große C außer Tinnef etwas da hat..?)

                  Endspurt:


                  Man sieht, es gibt EINEN universellen Empfängermodul mit eigenem Microcontroller, einer in der Basiseinheit eines Spektrum-RX, 1..n als Sat-RX, jeweils asynchron-seriell angebunden. Der MC im Basisgerät wandelt in Einzelkanal-Servo-PWM und macht das SmartFailsafe.

                  Beispiel: DX7 mit AR7000 + 1x Sat-RX (im Bild oben) oder 2x Sat-RX an MiniVS:

                  Ein Zeichen (Byte) besteht aus 8 Bits plus einem Startbit und einem Stoppbit, also insgesamt 10 Bits. Pro Kanal werden zwei Zeichen übertragen, das macht 14, plus zwei weitere Bytes, also insgesamt 16. Das sind 160 Bits bei 115.200 Baud. In 1,376 ms ist die ßbertragung eines Frames gegessen. Es gibt dann noch etwas Latenz im Basis-MC, bis der das PWM rausgequält.

                  (Ich gehe hier mal nicht auf das Binding ein. Erstens passt es nicht in's Thema, zweitens hat Horizon in der Vergangenheit gezeigt, dass sie es nicht mögen, wenn einer über deren Protokoll plaudert, auch, wenn er es selbst "aufzuklären" hatte.)

                  Das dient nur als Beispiel, FASST beispielweise wird auf der reinen ßbertragungsstrecke auch im Bereich einer Millisekunde (oder weniger) brauchen. Komme ich jetzt mit meinen verträumten 22ms eines PPM-Summensignals daher, sind während dessen Framezeit schon stücker 15+ neue Frames auf der schnellen Seite eingelaufen. Der in PPM assemblierende MC muss sich echt überlegen, welchen Kanalwert aus welcher Zeit er in den PPM-Frame packt.

                  Abschließend noch mal zum PWM-zu-PPM: Bisher haben alle Empfänger sequentiell auf den PWM-Einzelkanälen ausgegeben, also in äquidistanten Zeitschritten zw. den einzelnen Kanälen. Jetzt, seit die verschiedenen Systeme erschienen, die im 2G4 ISM-Band klingeln mit DSSS oder FHSS, gibt es einige RX, die zumindest ein paar Kanäle auch zeitsynchron ausgeben (die der TS). Da hätte ich natürlich mit der klassischen PWM-zu-PPM-Wandlung - wie im Beispiel weiter oben - Trauer.

                  Als Leidtragender sei mir noch eine OT-Bemerkung zu PWM gestattet. So primitiv das "Protokoll" ist, so stellt es doch extreme Anforderungen an die Implementierung in und die Hardware von Microcontrollern, - denn der In-/Output von Servo-PWM stellt eine Echtzeitanwendung dar. Gerät mir ein Servopulse nur eine halbe Mikrosekunde zu kurz oder zu lang, zeigt sich das in Servozittern. Ich kann das deshalb auch auf keinen Fall im Spaghetti-Code des Hauptprogramms machen, für das die PWM-Geschichte eigentlich peripheres Beiwerk ist, - daher muss alles interrupt-gesteuert erfolgen. Das bedeutet, dass mein kleiner MC ziemliche Anforderungen hardwaremäßig dafür zu erfüllen hat, er braucht eine genügende Anzahl Timer mit Triggerfunktionen z.B.

                  ----
                  So.. Das war nicht ganz so einfach und daher auch nicht so textlos wie das Servo-PWM-Thema. Hoffentlich konnte ich es trotzdem rüberbringen...

                  Die Quintessenz ist, um es zu wiederholen: Versteift Euch nicht auf das PPM-(Summen-)Signal der klassischen Form, wenn Ihr es nicht braucht. Habt Ihr Spektrum, seid Ihr bzgl. Summensignal im Augenblick fein raus, denn die Datenrate auf der Strippe verschafft tatsächlich einen Vorteil. Weitere Hoffnungen erwachsen aus dem erwarteten Jeti-"Highspeed"-Summensignal, Futaba's SBus und..... weiß der Geier, was wer noch bringen wird.
                  Angehängte Dateien
                  Zuletzt geändert von Juky; 07.08.2012, 18:31.

                  Kommentar

                  • nexus665
                    nexus665

                    #10
                    AW: Servo-PWM-Impuls - das Mysterium

                    Danke Tom,

                    sehr anschaulich, und wie immer umfassend erklärt

                    lG,
                    Simon.

                    Kommentar

                    • dl7uae
                      dl7uae

                      #11
                      AW: Servo-PWM-Impuls - das Mysterium

                      Ach, Shit, habe ich ja ganz vergessen:

                      Wer meint, ich sei das ßbel, - nein, ich bin nur das ßbliche. Ihr könnt Euch ja mal alternativ das hier antun. Ist ein Prof an einer Indischen Uni, Thema der Lektion: PWM und PPM. Man sollte sich vorher vergewissern, dass man genügend Kopfschmerztabletten da hat. Am besten ist ja sein ständiges "Right?".

                      Kommentar

                      • Willa
                        Willa

                        #12
                        AW: Servo-PWM-Impuls - das Mysterium

                        Hi!
                        Ich verstehe deine Zeichnung am Anfang leider nicht... Was zeigst du da? Das Signal wie es aus dem Empfänger kommt? Das ist doch bei allen gleich, egal was ich denn nun an meinen Empfänger anschließe. Und auch ein Analogservo kann ich mit einer Wiederholfrequenz von ~130Hz ansteuern (aber nicht jeder Typ von Analogservo macht das mit). Ich dachte das, was Digital von Analog unterscheidet ist hauptsächlich die Frequenz von dem PWM mit dem die Servoelektronik den Motor regelt (üblicherweise im kHz Bereich).
                        Viele Grüße,
                        William

                        Kommentar

                        • dl7uae
                          dl7uae

                          #13
                          AW: Servo-PWM-Impuls - das Mysterium

                          Die Zeichnung am Anfang zeigt verschiedene Servo-PWM nach Impulsfrequenz und Impulsbreitenvariation, das, worin die Stellinformation steckt.

                          Das kommt aus einem Empfänger, ja, bei einigen 2G4-RX heute auch einstellbar nach Impulsfrequenz, es kommt, meist einstellbar, manchmal nur über ein "Hidden Service Menu", aus einem Heckgyro, es kommt aus FBL-Stabis, einstellbar nach Impulsfrequenz für die TS-Servos, zusätzlich nach Mittenimpulslänge für das Heckservo.

                          Das Analogservo, was bei 130Hz nicht brummt, würde ich gerne sehen.

                          Das Thema war nicht, was Analog- von Digitalservos intern unterscheidet, - ist ein ganz anderes Thema, - hat aber mit der max. verträglichen Impulsfrequenz im Eingang was zu tun.

                          ---
                          Da es inzw. etliche Heckservos mit abweichender Mittenimpulslänge gibt, meist 760 Mikrosekunden, und außerdem einen bunten Strauss an max. spezifizierter (erlaubter) Impulsfrequenz bei Digis, ist "Servo-PWM" immer wieder ein Thema, ein Thema der Verwirrung und der Verwechslungen, wie's mir scheint. Das war mein Grund für diesen Thread.

                          Kommentar

                          • cgiesen
                            cgiesen

                            #14
                            AW: Servo-PWM-Impuls - das Mysterium

                            Hallo Zusammen,

                            die Bilder sind alle weg
                            Kann man die auch wo anders bekommen?

                            Gruß
                            Carsten

                            Kommentar

                            • Klaus O.
                              Senior Member
                              • 03.12.2007
                              • 22475
                              • Klaus

                              #15
                              AW: Servo-PWM-Impuls - das Mysterium

                              Zitat von cgiesen Beitrag anzeigen
                              die Bilder sind alle weg
                              Die Bilder waren irgendwo gehostet und hier verlinkt.
                              Sie wurden vom Host entfernt und sind daher hier auch nicht mehr sichtbar.
                              Sorry, da kann auch ich nichts machen.
                              Gruß Klaus

                              Wer emotional wird hat keine sachlichen Argumente mehr und somit verloren.

                              Kommentar

                              Lädt...
                              X