Motor Sanftanlauf über 0-10V mittels Exponentialfunktion?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • DasBesteOderNichts
    Extension Master
    • 11.10.2017
    • 188

    #1

    Motor Sanftanlauf über 0-10V mittels Exponentialfunktion?

    Ich habe einen DC Motor mit 0-10V Steuersignal.
    Ich möchte gerne dass dieser Motor nach Aktivierung sanft anläuft und dann nach meinen Vorgaben exponenziell beschleunigt.


    Wie könnte ich das in Config umsetzen, dass ich auf den Analogausgang AQ1 ein entsprechend ansteigendes Signal erhalte?

    Das einzige was mir bisher eingefallen ist, wäre eine Formel mit einer Exponentialfunktion.
    Allerdings habe ich damit noch nie gearbeitet.
    Kann mir das vielleicht jemand genauer erklären?
  • Tico
    Lox Guru
    • 31.08.2016
    • 1035

    #2
    Dieser Link könnte helfen -

    Dies ist der LoxForum Thread für das GPIO Plugin. Aktuelle GPIO Version 2.0.7 (Release) LoxWiki Plugin-Seite: https://www.loxwiki.eu/display/LOXBERRY/GPIO Bitte beachtet, dass die Version 2.x des Plugins nicht mit der Version 1.0.x kompatibel ist. Ihr müsst sowohl die Konfiguration des Plugins, wie auch die Loxone
    Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

    Kommentar

    • Labmaster
      Lox Guru
      • 20.01.2017
      • 2574

      #3
      Man könnte z.B. einen Dimmer Baustein nehmen ( https://loxwiki.atlassian.net/wiki/s...0763445/Dimmer) welcher in einer bestimmten Zeit langsam
      (Schrittweite / Zeit Einstellung) von 0 bis 100 dimmt.
      Am Ausgang dann eine Formel welche den Wert von 0 bis 100 von linear auf 0 bis 100 mit einer Exponentialfunktion (z.B. hier x²) umrechnet.

      z.b. so :
      (i1 * abs(i1) * i2 / i3 + i1 * (100 - i2)) / 100;

      Dabei gilt dann:
      i1 = Eingangswert vom Dimmer ( min 0 bis max i3)
      i2 = Ausgangskurve Kurve, einstellbar von 0=linear bis 100=(i1*i1)
      i3 = max Eingangswert an i1
      Zuletzt geändert von Labmaster; 02.08.2024, 10:24.

      Kommentar


      • DasBesteOderNichts
        DasBesteOderNichts kommentierte
        Kommentar bearbeiten
        Danke für das Formel-Beispiel.
        Ich versuche das gerade nachzubauen.
        Allerdings verstehe ich noch nicht ganz welchen Wert du an den Formelbaustein-Eingang I2 übergibst.
        Ist das eine Konstante, die nach perfekter Einstellung so bleibt?
    • Labmaster
      Lox Guru
      • 20.01.2017
      • 2574

      #4
      ja, i2 ist als fixer Wert gedacht der in % (also 0 bis 100) die Kurve angibt, von 0% kein Expo, also linear, also Eingang gleich Ausgang
      bis
      100% , also volles Expo, also (i1 * i1)
      Das kannste natürlich auch über einen Einstellwert verfügbar machen um das z.B. frei einstellen zu können oder als fixe konstante, oder oder, das bleibt dier überlassen.
      Ist aber auch nur ein einfaches Beispiel, man könnte auch viel komplexere Kurven bauen.


      Hatte noch einen Fehler in der Formel, hab es oben im Beitrag incl. Komentar ergänzt.
      Über i3 muss jetzt noch der maximal Wert vom Einang angegeben werden. (i3 könnte man aber auch in der Formel mit einem Fixwert ersetzen wenn der maximalwert eh feststeht, ebenso i2).

      Zuletzt geändert von Labmaster; 02.08.2024, 10:31.

      Kommentar

      • Labmaster
        Lox Guru
        • 20.01.2017
        • 2574

        #5
        Ich hab mit der Formel gerade mal ein paar Graphen erstellt: (x Achse ist Eingang, y Achse ist Ausgang)

        Expo anteil 0% (i2)
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 0-expo.png Ansichten: 0 Größe: 96,6 KB ID: 437701

        Expo anteil 20% (i2)
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 20-expo.png Ansichten: 0 Größe: 97,7 KB ID: 437702

        Expo anteil 50% (i2)
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 50-expo.png Ansichten: 0 Größe: 98,7 KB ID: 437703
        Expo anteil 100% (i2)
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 100-expo.png Ansichten: 0 Größe: 98,7 KB ID: 437704

        bzw.
        blau 0%, rot 40%, grün 70% und grau 100%
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: expo_mixed_a.png Ansichten: 0 Größe: 242,9 KB ID: 437705
        erstellt mit https://www.mathe-fa.de
        Zuletzt geändert von Labmaster; 02.08.2024, 10:30.

        Kommentar

        • DasBesteOderNichts
          Extension Master
          • 11.10.2017
          • 188

          #6
          Labmaster

          Super vielen Dank für die ausführliche Erklärung.
          Ich habe es bei mir erfolgreich nachgebaut - funktioniert soweit.

          Allerdings frage ich mich jetzt, wie ich den Übergang von Beschleunigung, Fahrt und zu Verzögerung gestalten kann.

          Tico hat das mit einer Sinus-Funktion gelöst. Aber bei mir ist es so, dass der Motor langsam (gemäß der Exponentialfunktion) beschleunigen soll, bis er 100% Geschwindigkeit erreicht hat und dann eine gewisse Zeit (die unterschiedlich ist) auf 100% laufen soll, bis er wieder langsam verzögern soll bis auf 5%.

          Es handelt sich bei meiner Anwendung um einen Lastenaufzug.
          In dem Aufzugsschacht sind Positionsschalter installiert.
          Ein Positionsschalter sitzt ca. 30cm unterhalb des Fußbodenniveau von der zu erreichenden Etage.
          Sobald dieser Positionsschalter (Taster) aktiviert wird, soll die Steuerung mit der Verzögerung des Antriebsmotors beginnen und auf ca. 5% enden.
          Ein weiterer Positionsschalter sitzt genau auf Höhe der Etage und soll den Motor dann von 5% (abrupt) auf 0 verzögern.

          Kommentar

          • Labmaster
            Lox Guru
            • 20.01.2017
            • 2574

            #7
            Im Dimmer kann man zumindest den Anstieg und Abstieg (Schrittweite / Zeit) gemeinsam einstellen.
            Dann brauchst du nur noch einen Zeitschalter welcher nach dem Dimmer einschalten diesen irgendwann wieder ausschaltet.

            Also Dimmer wird auf 100% eingeschaltet, der Dimmer Ausgang geht (abhängig von Schrittweite und Zeit) auf den vorgegebenen Wert und bleibt dann dort so lange wie er eingeschaltet bleibt, irgendwann schaltet der Zeitschlater dann den Dimmer Eingangswert auf 0 und der Dimmer geht dann schritt für Schritt am Ausgang auf 0.
            (btw: hab gerade gesehen das du 0-10V benötigst, der Ausgang müsste dann also auf 0-10 umskaliert sein)

            Eventuell könnte man da den Baustein für Treppenlicht als Zeitbaustein dafür verwenden.

            Ich persönlich würde das komplette Konstrukt im übrigen in einen Program Baustein packen, da ich damit um einiges schneller und flexiebler wäre, aber das ist sicher nicht jedermans Sache, dazu sollte man halt absolut fit in Standard C sein und sich mit resourcen schwachen Systemen und deren Eigenheiten auskennen anonsten fliegt einem ein Loxone Programbaustein auch schnell mal um die Ohren.



            Zuletzt geändert von Labmaster; 02.08.2024, 11:52.

            Kommentar

            • Tico
              Lox Guru
              • 31.08.2016
              • 1035

              #8
              Der Sequence Controller (Process Controller) ist für diese Anwendung gut geeignet. Er ist viel einfacher zu programmieren und wird nicht durch Speicherlecks und De-Bugging-Probleme beeinträchtigt.
              Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

              Kommentar

              • DasBesteOderNichts
                Extension Master
                • 11.10.2017
                • 188

                #9
                Zitat von Labmaster
                Im Dimmer kann man zumindest den Anstieg und Abstieg (Schrittweite / Zeit) gemeinsam einstellen.
                Dann brauchst du nur noch einen Zeitschalter welcher nach dem Dimmer einschalten diesen irgendwann wieder ausschaltet.

                Also Dimmer wird auf 100% eingeschaltet, der Dimmer Ausgang geht (abhängig von Schrittweite und Zeit) auf den vorgegebenen Wert und bleibt dann dort so lange wie er eingeschaltet bleibt, irgendwann schaltet der Zeitschlater dann den Dimmer Eingangswert auf 0 und der Dimmer geht dann schritt für Schritt am Ausgang auf 0.
                (btw: hab gerade gesehen das du 0-10V benötigst, der Ausgang müsste dann also auf 0-10 umskaliert sein)

                Eventuell könnte man da den Baustein für Treppenlicht als Zeitbaustein dafür verwenden.

                Ich persönlich würde das komplette Konstrukt im übrigen in einen Program Baustein packen, da ich damit um einiges schneller und flexiebler wäre, aber das ist sicher nicht jedermans Sache, dazu sollte man halt absolut fit in Standard C sein und sich mit resourcen schwachen Systemen und deren Eigenheiten auskennen anonsten fliegt einem ein Loxone Programbaustein auch schnell mal um die Ohren.


                Ja es scheint alles so zu funktionieren wie du es beschrieben hast.
                Ich brauche ein bisschen Zeit um das für meinen Anwendungsfall umzubauen und zu testen.


                Mit Standard C kenne ich mich nicht aus, deshalb ist das keine Option für mich.

                Kommentar

                • Labmaster
                  Lox Guru
                  • 20.01.2017
                  • 2574

                  #10
                  Den "Sequence Controller" welchen Tico erwähnt hat, sollte man sich auch mal anschauen das könnte das ganze auch sehr vereinfachen.
                  Ich kenne diesen nicht weil ich mit meiner Config noch ein paar Jahre zurück bin, es den Sequence Controller damals noch nicht gegegeb hat und ich aktuell aber auch nicht updaten möchte.

                  EDIT:
                  Hab mir die Doku zu dem Sequenze Controller mal angesehen, grundsätzlich könnte man damit was machen, aber mit einer kleinsten Zykluszeit von 20ms ist der natürlich von der Geschwindigkeit etwas begrenzt.
                  Zuletzt geändert von Labmaster; 02.08.2024, 14:30.

                  Kommentar


                  • DasBesteOderNichts
                    DasBesteOderNichts kommentierte
                    Kommentar bearbeiten
                    Für mich war der Sequence Controller auch neu. Musste ich erstmal googeln.

                    Scheint ganz interessant zu sein, ist aber eher was für Leute die ohnehin gerne mit Code arbeiten.

                    Für mich ist es einfacher die gewohnten Loxone Bausteine zu verwenden.
                • DasBesteOderNichts
                  Extension Master
                  • 11.10.2017
                  • 188

                  #11
                  Also ich habe jetzt mein Testprogramm soweit fertig.
                  Damit bin ich recht glücklich, es funktioniert alles wie gewünscht.
                  Danke nochmals für die Hilfe. Labmaster Tico

                  Allerdings bin ich gut darin, relativ einfache Aufgaben kompliziert zu lösen.
                  Vielleicht hat jemand eine Idee, wie ich das einfacher gestalten könnte? Siehe Screenshot


                  Noch mal zur Aufgabenstellung:

                  Es handelt sich um einen Lastenaufzug.
                  In dessen Aufzugsschacht sind 2 Positionsschalter installiert.
                  Sobald der Hub aktiviert wird ("Heben Starten"), soll der Antriebsmotor gemäß der Exponentialfunktion beschleunigen, bis er 100% der Geschwindigkeit erreicht hat.

                  Ein Positionsschalter ("Positionstaster 1OG") sitzt ca. 30cm unterhalb des Fußbodenniveaus von der zu erreichenden Etage (1OG).
                  Sobald dieser Positionstaster angefahren wird, soll die Steuerung mit der Verzögerung des Antriebsmotors beginnen und von 100% auf 5% verzögern.
                  Jetzt befindet sich der Aufzug in der finalen Zielfahrt mit 5% der maximalen Geschwindigkeit.
                  Ein weiterer Positionsschalter ("Endschalter 1OG") sitzt genau auf Höhe vom 1OG und soll den Motor dann von 5% (abrupt) auf 0 verzögern.​

                  Es ist nur ein Beispiel / Testprogramm, für die Anwendung in der Realität fehlen da noch die Prüfung, ob alle Türen zu sind sowie der NOTAUS etc..

                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Bildschirmfoto 11.jpg
Ansichten: 81
Größe: 224,4 KB
ID: 437753
                  Angehängte Dateien

                  Kommentar

                  Lädt...