Hallo! Bei den üblichen Regelalgorithmen gibt es ja immer einen Sollwert der durch Veränderung der Stellgröße erreicht werden soll. Bei meiner Anwendung soll der Regler immer ein kontinuierliches Maximum am Ausgang durch Veränderung der Stellgröße ermitteln. Sogesehen ist der Sollwert variabel, bzw. der über einen Zeitraum X ermittelte Maximalwert. Wie sollte man eine solche Regelung entwerfen? Es müsste ja theoretisch immer mal der Stellwert vergrößert oder verkleinert werden um dann wiederum festzustellen ob der Sollwert größer geworden ist. Ich hoffe die Fragestellung ist soweit deutlich :) Würde mich um Tips oder Gedankensnstöße dazu freuen. Beste Grüße, Bernhard
Erzähl doch mal mehr um was es genau geht. Man kann zum Beispiel immer leicht "links" und "rechts" des Maximums regeln. Da diese Punkte leicht unter dem Maximum liegen, weiss man, dass man in der Mitte im Maximum ist. Also quasi die erste Ableitung auf 0 regeln (und die zweite Ableitung zur Detektion ob ein Minimum oder Maximum verwenden)
Es geht um einen Schwingkreis dessen Induktivität durch äußere Einflüsse immer verstimmt wird und sich dadurch die Resonsanzfrequenz ändert. Der AVR kann über einen VCO die Frequenz einstellen und erhält über den A/D-Wandler den aktuellen Wert der Amplitude. Ziel ist eine kontinuierliche Anpassung der Frequenz auf die (derzeit) maximal mögliche Amplitude.
> Ziel ist eine kontinuierliche Anpassung der Frequenz auf die (derzeit) > maximal mögliche Amplitude. So wirklich verstehe ich das Problem nicht. Du hast doch eigentlich alles was Du brauchst. Um was für eine Applikation handelt es sich denn? Gibt es dabei noch weitere Randbedingungen?
Ich denke die Anwendung (Schwingkreis) ist genau genug beschrieben. Bei einem Wertebereich von 0 - 1024 für die Stellgröße ist die maximale Amplitude z.B. bei 300. Erfolgt nun eine Verstimmung der Induktivität durch z.B. eine Münze muss die Stellgröße angepasst werden damit dann für den Zeitpunkt die maximale Amplitude ermittelt werden kann (Maximalwert ist im Fall der Münze z.B. geringer als davor). Die Frage ist wie man an das Problem am besten rangeht. Am Anfang ist der Schwingkreis ja nicht eingestimmt, d.h. auch geringe Änderungen an der Frequenz führen nicht unbedingt zu einer messbaren Änderung der Amplitude. Da müsste sich der Algorithmus grob herantasten. Sobald messbare Änderungen erkennbar sind wird die Auflösung feiner eingestellt und auf das Maximum geregelt. Wobei mir nicht ganz klar ist wie man feststellt ob man über das Maximum hinausgeregelt hat oder ob es noch kommt, bzw. in welche "Richtung" man die Regelgröße verschiebt. Beste Grüße, Bernhard
Hi! >Ziel ist eine kontinuierliche Anpassung der Frequenz auf die (derzeit) >maximal mögliche Amplitude. Pmax ist doch dein Sollwert. Das ist das gleiche wie MPP bei Solaranlagen, nur das es da einfacher geht weil man sofort merkt ob die Leistung fällt oder steigt. Du musst deinen VCO einfach komplett durchstimmen und dabei das Maximum suchen. Darauf stellst du dann deinen VCO ein und beobachtest nur noch die Amplitude. Wenn sie sich ändert kommt es jetzt auf deine Beobachtungen an, was du tun musst um Max. erneut zu erreichen. Wenn dafür keine einheitlichen Zusammenhänge bestehen kannst du nur den VCO komplett neu durchstimmen und erneut das Max. suchen. Sind Zusammenhänge erkennbar, packe sie in eine Formel und baue damit einen Regler. FUZZY könnte noch ein weiterer Ansatz sein, beruht aber auch auf deinen Erfahrungen/Beobachtungen. Viel Erfolg, Uwe
Hi alle Zusammen, wie Uwe schon meinte, würde ich auch den VCO nach einem Schema das komplette Band abtasten lassen und den Max. Wert suchen und so mit hast du dan ja gleich die Max. Amplitude eh schön gemessen. Jenach dem wie Träge das System ist das du durch misst musst du hier bei natürlich auf Einschwingzeiten achten. Diese kannst du aber auch nutzen. Wenn du jetzt den VCO von Min auf halbe Frequenz ziehst wesendlich schneler als die Einschwingzeit des Kreises, hast du den Mittel wert der Amplitude für diesen Teil des Bandes, das machst du mit dem Teil von Mitte bis Max Frequenz auch, und vergleichst der Mittelwert der höher ist, enthält zwangsläufig das Maximum, das kannst du belibig genau runter brechen. Das ist im Grunde nur ein Suchalgorithmus für das Maximum einer Zahlenfolge auf dein Problem adaptiert. Einen Regler für dieses Problem gibt es in diesm Sinne nicht. denn du suchst Das Maximum und Weiß nicht in welcher richtung du gegen steuern musst um es zu finden. Diese Information bräuchte aber ein Regler. Tec
Ich würde nicht auf das Maximum der Amplitude, sondern auf den Null- durchgang der Phase regeln. Da die Phase bei der Resonanzfrequenz das Vorzeichen wechselt, weiß man auch ohne Try-and-Error, in welche Richtung man die Frequenz verändern muss.
Hallo, der Forumeintrag ist zwar schon etwas älter aber falls mal jmd danach sucht: Extremwertregler oder Extremum Seeking Control (ESC) macht das. Gibt auch ein schönen Tutrial für Simulink auf Youtube: https://www.youtube.com/watch?v=Iat_fcIA3_Y&t=638s
> Es geht um einen Schwingkreis dessen Induktivität durch äußere Einflüsse
immer verstimmt wird und sich dadurch die Resonsanzfrequenz ändert.
Nun, das Ganze nennt sich AFC. Ein kontinuierlich arbeitender Regler.
Man generiert Seitenbanden, indem man den VCO frequenzmoduliert,
bedeutet, dem Steuereingang eine kleine Wechselspannung addiert. Nach
einer Synchrondetektion geht man auf einen Integrator, der die Frequenz
nachregelt. Der Regler regelt die beiden Seitenbanden auf gleiche
Amplitude und steuert so den VCO in die Mitte der Resonanz. Es gibt 2
Parameter. Die Modulationsfrequenz und Modulationsamplitude. Die
Modulationsfrequenz besagt, wie weit weg die Seitenbanden sind, die
sollten natuerlich noch in die Resonanz passen. Und die Ampltude besagt
die Amplitude des Seitenbandes. Man kann gut bei -40 .. -50 dBc
arbeiten, und somit das Nutzsignal sehr wenig stoeren.
:
Bearbeitet durch User
Man sollte echt Threads automatisch schließen wenn da, ich sag mal, 12 Monate kein neuer Eintrag hinzu kam, die rote Schrift hilft anscheinend nicht. Dieser Thread hier ist jetzt fast 10 Jahre alt.
Das Thema ist interessant, vielleicht interessiert's ja irgendwann wieder jemanden. Die gezeigte Loesung ist uebrigens noch nicht erwaehnt worden und sehr elegant zum Problem.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.