Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter pid (pid-Regler) V1.0.x

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test Adapter pid (pid-Regler) V1.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • mcm1957
      mcm1957 @Gonzokalle last edited by

      @gonzokalle

      Der Adapter ist zwischenzeitlich normal über das LATEST Repository installierbar. Eine Installation von Github ist nicht notwendig.

      Danke f.d. Nachfrage - habe die entsprechende Zeile im ersten Beitrag gelöscht da veraltet.

      1 Reply Last reply Reply Quote 0
      • G
        Gonzokalle last edited by

        @mcm57 sagte in Test Adapter pid (pid-Regler) V1.0.x:

        LATEST Repository

        Danke für deine Info
        Über Repository beta wird Version 0.0.8 angeboten.
        Die kann ich nehmen, obwohl nicht mehr die Jüngste?

        mcm1957 1 Reply Last reply Reply Quote 0
        • mcm1957
          mcm1957 @Gonzokalle last edited by

          @gonzokalle
          Klick nach dem Umschalten mal auf den Refresh button. ("Nach Updates suchen" oben in der Kopfzeile des Adaptertabs)

          00f9a6bc-543b-4b2d-b872-fc03930f9b04-image.png

          G 1 Reply Last reply Reply Quote 0
          • G
            Gonzokalle @mcm1957 last edited by

            @mcm57
            Hat funktionier. Danke

            1 Reply Last reply Reply Quote 0
            • Zarello
              Zarello @paul53 last edited by

              @paul53 sagte in Test Adapter pid (pid-Regler) V1.0.x:

              @zarello sagte: Der D-Anteil wird nur über das letzte Intervall gebildet.

              Das ist normal. Andere Versionen sind mir bisher nicht begegnet. Deshalb verwendet man zur Temperaturregelung PI-Regler.

              @zarello sagte in Test Adapter pid (pid-Regler) V1.0.x:

              Ich habe 10s gewählt.

              Das ist für eine Temperaturregelung viel zu kurz.

              Auf 'ne Minute würde ich mich noch hoch handeln lassen, ab dann wird es mir für die Reaktionsgeschwindigkeit zu kurz, wenn die Soll-Temperatur umgestellt wird.
              Für den I-Teil ist das auch kein Problem, da man dort ja die Zeit frei einstellen kann, innerhalb der dieser wirken soll.
              Nur für den D-Teil müsste ich da gefühlt eher auf ein bis zwei Stunden gehen, das wäre mir als Reaktionsgeschwindigkeit viel zu lang.
              Es wäre kein Problem, wenn die Temperatur auf das Mikrograd genau gemessen werden würde - wobei dann vermutlich das Rauschen und leichte Störungen (man geht durch den Raum) das komplett unbrauchbar machen würden.

              Mir ist klar, was die Theorie sagt. Mir ist auch klar, dass, wenn es komplett nach der Theorie implementiert ist, der D-Anteil für diese Art der Regelung komplett unbrauchbar ist und, dass ich ihn dann einfach auf 0 lasse. Auch kein wirkliches Problem für mich. Vor allem, da ich ja noch nicht einmal beurteilen kann, ob der D-Anteil in diesem Fall irgend etwas besser macht.

              Aber es gäbe halt eine relativ einfache Lösung für dieses Problem, indem man die Differenz nicht aus den Messungen [i] und [i-1] bildet sondern aus [i] und [i-n] wobei n frei gewählt werden kann und per Default natürlich 1 ist.

              Da kann man argumentieren, dass das gegen die reine Lehre verstößt, man könnte es aber auch einfach mal ausprobieren, vielleicht hilft das ja auch in anderen Fällen, in denen man schnellere Reaktion auf eine Sollwertänderung haben möchte, aber ein entsprechend kurzes Zeitintervall nicht zu dem D-Anteil passt 😉

              Nebenbei: Eigentlich wäre der D-Anteil die Ableitung der theoretischen, stetigen Funktion, die das Signal bildet. Da wir die nicht haben und wir dementsprechend nicht die Tangente bilden können, nehmen wir die Sekante. Und da wir nicht in die Zukunft blicken können nehmen wir auch nicht die Sekante aus [i+1] und [i-1], was eigentlich die mathematisch "korrekte" Variante wäre sondern behelfen uns mit [i] und [i-1]. Kombiniert mit Rauschen und Rundung wird das halt leider unbrauchbar.
              Nach zweifachem Pragmatismus ist ein weiterer doch eigentlich nicht schlimm.

              mcm1957 1 Reply Last reply Reply Quote 0
              • mcm1957
                mcm1957 @Zarello last edited by mcm1957

                @zarello
                Erstell gern einen Feature Issue. Ich würde jedoch mal abwarten ob bzw. wie groß der Bedarf für diese Erweiterung ist und ob noch andere dafür Bedarf sehen. Derzeit habe ich nicht wirklich viel Zeit übrig sodass ich keine kurzfristig Analyse / Umsetzung zusagen kann.

                @zarello said in Test Adapter pid (pid-Regler) V1.0.x:

                Aber es gäbe halt eine relativ einfache Lösung für dieses Problem, indem man die Differenz nicht aus den Messungen [i] und [i-1] bildet sondern aus [i] und [i-n] wobei n frei gewählt werden kann und per Default natürlich 1 ist.

                Na ja - den Aufwand historische Daten (i-1, i-2) zu speichern unterschlägst du. Derzeit speichert der Adapter keine History, das müsste erst alles implementiert werden ... Ich bezweifle auch - wie schon @paul53 geschrieben hat - dass ein D Anteil bei einer Heizungsregelung, die naturgemäß träge ist, einen Sinn macht. Der P Anteil sollte hier eigentlich bei einem Sprung des Sollwerts unmittelbar das Ventil öffnen und durch den I wieder in eine stabile Lage regeln.

                1 Reply Last reply Reply Quote 0
                • fu_zhou
                  fu_zhou @mcm1957 last edited by fu_zhou

                  @mcm57 Hallo mal wieder, das Wetter schlägt jetzt langsam um, so dass ich den "inv" aus einem Skript mit "1" und "0" beschreibe: Wenn die Außenfeuchte > Raumfeuchte (zzgl. Hysterese) wirkt die Energierückgewinnung der Lüftung entfeuchtend, sonst befeuchtend. Das funktioniert auch ganz gut, nur springt der Regler ("y") beim Wechsel von "inv" (0 -> 1 oder 1 -> 0) immer zunächst auf "min" und startet quasi neu. Ich würde gerne den alten Reglerausgang "y" beim umschalten von "inv" halten und dann die nächste Änderung mehr oder weniger werden lassen (abhängig von "inv").

                  Beispiel:

                  Regler "y" steht auf 50%, "inv" = 0, Regler schiebt "y" Richtung 51, 52, 53%
                  Jetzt ist die Bedingung erfüllt, dass "inv" = 1 wird => Regler springt nicht auf "min", sondern schiebt "y" Richtung 52, 51, 50%
                  dann schaltet "inv" wieder auf 0 => Regler springt nicht auf "min", sondern schiebt "y" Richtung 51, 52, 53%

                  Lässt sich das so umsetzen?

                  Danke vorab!

                  mcm1957 1 Reply Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @fu_zhou last edited by

                    @fu_zhou

                    Sorry für die späte Antwort.
                    Im Moment komm ich leider nicht dazu mir das anzusehen. Denkbar ist wie immer vieles - obs auch technisch möglich ist kann ich im Moment nicht sagen.

                    Ev. kopier die Anforderung mal in ein Issue rein damit sie nicht untergeht.

                    mcm1957 1 Reply Last reply Reply Quote 0
                    • mcm1957
                      mcm1957 @mcm1957 last edited by mcm1957

                      In letzter Zeit gab es ein paar Meldungen dass die Konfiguration nicht gespeichert werden kann.
                      Sihe z.B. hier: https://github.com/mcm4iob/ioBroker.pid/issues/274

                      Ursache ist heir ein Bug in der BETA / LATEST Version von Admin. Wer davon betroffen ist bitte admin in der STABLE Version oder in der allerneuesten LATEST installieren - da sollte der Buch schon behoben sein,

                      nemodil created this issue in mcm4iob/ioBroker.pid

                      open Konfiguration eines PIDs kann nicht gespeichert werden #274

                      1 Reply Last reply Reply Quote 0
                      • R
                        root_ last edited by

                        Hallo zusammen, ich hoffe ihr könnt mir helfen.
                        Ich möchte eine PV Nulleinspeisung umsetzten.
                        Werte zum verarbeiten:
                        Wert1: Istwert aktueller Verbrauch vom Smartmeter in Watt (Verbauch)
                        Wert2: Sollwert Limit OpenDTU in Watt (Einspeisung)

                        Wie bekomme ich den Wert1 und Wert2 so zusammen, dass die Einspeisung möglichst den Verbrauch ausgleicht.

                        mcm1957 fu_zhou 2 Replies Last reply Reply Quote 0
                        • mcm1957
                          mcm1957 @root_ last edited by

                          @paul53 @fu_zhou

                          Könnte ihr da ev. helfen?
                          Danke

                          1 Reply Last reply Reply Quote 0
                          • fu_zhou
                            fu_zhou @root_ last edited by

                            @root_
                            Ich versuche mal mein Glück:

                            Ein Regelkreis besteht immer aus einem Istwert (hier Verbrauch), einem Sollwert (hier: 0 Watt) und einem Stellglied, hier ein elektrischer Verbraucher, der über den Regler z.B. von 0-100% angesteuert wird, um den Istwert auf den Sollwert zu bekommen.
                            Du nimmst also den PID Adapter und schreibst zyklisch (z.B. jede Sekunde mit Blockly) den Verbrauch auf den "in.act". "in.set" kannst du z.B. mit "0" beschreiben. out.y schreibst du dann bei Änderung (oder zyklisch) an deinen elektrischen Verbraucher (z.B. auch im Blockly), hier kommt es auf die Einheiten an, die in "para.min" und "para.max" eingestellt werden. Z.B. 0 und 100 bei 0-100 % oder 0 und 2000 bei 0 bis 2000 Watt.

                            Und dann geht's schon los... Wenn du mehr Details hast, können wir sämtliche Paramter für den Einspeise-Null-Regler hier erarbeiten.

                            Schau ggf. auch mal hier rein: https://forum.iobroker.net/topic/75038/anwendung-von-pid-adapter-mit-blockly/7?_=1741182921548

                            Cephalopod 1 Reply Last reply Reply Quote 1
                            • Cephalopod
                              Cephalopod @fu_zhou last edited by Cephalopod

                              Betr. Regleroptimierung:

                              Ich nutze den Adapter schon eine Weile für die Nulleinspeisung meines Balkonkraftwerks durch einen Heizstab.
                              Prinzipiell funktioniert alles wie es soll, ich verschenke allerdings, vermutlich durch falsche Parameter, noch zu viel Strom.

                              Hier eine Grafik von einem typischen Sonnentag mit gutem Ertrag:

                              c2a14864-0f71-4ca6-95c8-44cff164095e-image.png

                              Blau ist der PV-Ertrag, Grün ist der EVU-Zähler. Negative Werte bedeuten Einspeisung.
                              Daran sieht man, dass ich bei 500 W Ertrag oft 180 W Einspeise, obwohl ich den Sollwert auf -20 W gesetzt habe.
                              Geht der Ertrag runter (ab 13 Uhr) passt die Nulleinspeisung besser.

                              Hier der PV-Ertrag und der Regler-Ausgang in %

                              2ae5555c-1e82-4952-9797-389b45c0a4ab-image.png

                              Reglerparameter:
                              Xp / Tn / Tv ausgewählt
                              XP = 1000
                              TN = 20
                              TV = 0
                              Minimal = 0
                              Maximal = 100
                              Offset = 0
                              Hysterese = 0
                              Nicht Invertiert
                              Zykluszeit = 1000
                              Sollwert = -20

                              Der Heizstab zieht bei 100% maximal 500 Watt

                              Vorschläge?

                              Hier mein Blockly Script, falls es hilft:

                              077175c3-0bb4-4d1e-a2f3-1e422891880f-image.png

                              G paul53 2 Replies Last reply Reply Quote 0
                              • G
                                Gonzokalle @Cephalopod last edited by

                                @Cephalopod
                                Ich kann dir leider nicht helfen.
                                Mich würde aber interessieren welchen Heizstab du verwendest?
                                Der Heizstab ist von 0 bis 500 Watt einstellbar?

                                Cephalopod 1 Reply Last reply Reply Quote 0
                                • Cephalopod
                                  Cephalopod @Gonzokalle last edited by Cephalopod

                                  @gonzokalle sagte in Test Adapter pid (pid-Regler) V1.0.x:

                                  @Cephalopod
                                  Der Heizstab ist von 0 bis 500 Watt einstellbar?

                                  Ja.
                                  Mit einem Thyristorsteller und einem Shelly Dimmer

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    Gonzokalle @Cephalopod last edited by

                                    @cephalopod
                                    Sehr interessant.
                                    Hast du davon ein Schaltplan mit den verbauten Komponenten?

                                    Cephalopod 1 Reply Last reply Reply Quote 0
                                    • Cephalopod
                                      Cephalopod @Gonzokalle last edited by

                                      @gonzokalle

                                      https://forum.iobroker.net/topic/78546/analoge-regelung-heizstab

                                      Cephalopod 1 Reply Last reply Reply Quote 1
                                      • Cephalopod
                                        Cephalopod @Cephalopod last edited by Cephalopod

                                        Ich habe den
                                        Xp = 500
                                        geändert.

                                        So sieht die Kurve jetzt aus:

                                        742ddbea-83d5-47f3-af56-07a44c755f8a-image.png

                                        Geht deutlich in die richtige Richtung.

                                        Ich teste morgen Mal 250.

                                        fu_zhou 1 Reply Last reply Reply Quote 0
                                        • fu_zhou
                                          fu_zhou @Cephalopod last edited by fu_zhou

                                          @cephalopod ich arbeite mit kp, nicht mit xp, das ist wohl Geschmackssache. xp berücksichtigt den Messbereich (min/max), kp ist nur die Verstärkung bei der Sprungantwort. Da ich min/max z.T. dynamisch beschreibe (über einen zweiten Regler, der zu Begrenzung dient - Details dazu, wenn dich das interessiert), kommt für mich nur kp in Frage, da sich bei xp und Veränderung von min/max das Reglerverhalten verändert.
                                          Heißt also, wenn kp=1 und sich der Istwert um 1 ändert, springt der Stellwert auch um 1. Hier sollte man auf die Einheiten achten (abgebildet durch para.min und para.max). Wenn dein Istwert Watt ist und dein Stellwert auch Watt, kann ein kp von 1 sinnvoll sein: es kommt ein W mehr vom Dach => der Heizstab kann sofort 1 W mehr verbraten. Wenn die Leistung in % (0-100) an den Heizstab übergeben wird, kann ein kp von z.B. 0,2 sinnvoll sein, weil 1% = 5 W.
                                          Siehe ggf. auch https://forum.iobroker.net/topic/75038/anwendung-von-pid-adapter-mit-blockly/9?_=1741182921548
                                          Wenn es dir gelingt, den Regelkreis zum Schwingen zu bringen (Ziegler-Nichols), kannst du PID-Parameter zur Einstellung des Reglers ermitteln. Dazu brauchst du Geduld und eine gleichmäßige Sonneneinstrahlung, sonst ändert sich ja die Regelstrecke. Und dann wäre natürlich noch zu überlegen, wie gut die Elektronik mit optimierten Regelparametern umgehen kann, d.h. wie gut würde sie ständige Leistungsänderungen vertragen. Dazu kann im Regler aber ja para.sup parametriert werden => das würde ich auf jeden Fall empfehlen.

                                          Cephalopod 1 Reply Last reply Reply Quote 1
                                          • Cephalopod
                                            Cephalopod @fu_zhou last edited by Cephalopod

                                            @fu_zhou sagte in Test Adapter pid (pid-Regler) V1.0.x:

                                            Wenn die Leistung in % (0-100) an den Heizstab übergeben wird, kann ein kp von z.B. 0,2 sinnvoll sein, weil 1% = 5 W.

                                            Ja, ich übergebe 0-100% an den Dimmer, entspricht 0-500W am Heizstab.
                                            Dann versuche ich mal einen kp von 0,2.

                                            Wann macht der Integrale Anteil Sinn?
                                            Was empfiehst du?

                                            @fu_zhou sagte in Test Adapter pid (pid-Regler) V1.0.x:

                                            Und dann wäre natürlich noch zu überlegen, wie gut die Elektronik mit optimierten Regelparametern umgehen kann, d.h. wie gut würde sie ständige Leistungsänderungen vertragen.

                                            Der Dimmer steuert mit 0-10 V einen Thyristorsteller, an dem einen simplen Widerstandheizstab hängt.
                                            Den Komponenten dürften schnelle Änderungen von Strom- oder Spannungswerten ziemlich egal sein.

                                            fu_zhou 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            426
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            303
                                            35201
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo