Forum: PC-Programmierung Regelungsalgorithmus


von Stub (Gast)


Lesenswert?

Hallo,

ich hab selber noch keinen Regler programmiert. Jetzt würde ich gerne 
eine bestehende Antriebsregelung umbasteln, bzw. eigentlich den 
Controller noch ein paar mehr Sachen machen lassen. Drum ganz allgemein:

Wie sorge ich dafür, dass der Regler nachher wieder genauso arbeitet wie 
vorher? Mit etwas Pech habe ich ja nachher andere Totzeiten. Wie passe 
ich dann den Regler so an, dass er wieder arbeitet?

Ich könnte ja den Algorithmus erst mal als y[k] = ... schreiben und dann 
eine Laplace-Rücktransformation durchführen. Dann hätte ich das ganze 
mit Totzeiten formuliert, die ich dann irgendwie messen müsste...oder 
bin ich da auf dem falschen Dampfer? Ich hab auch irgendwas mit 
z-Transformation im Hinterkopf...aber wirklich schlüssig bin ich mir 
noch nicht.

Darum danke schon mal für jeden Tipp! :)

von der mechatroniker (Gast)


Lesenswert?

Du schreibst "ich könnte ja den Algorithmus erst mal als y[k] = ... 
schreiben". Wie ist der Algorithmus denn gegenwärtig formuliert?

von Stub (Gast)


Lesenswert?

Ok, das war nicht ganz klar: Momentan ist es einfach C-Code, natürlich 
nicht mit Array- oder Indexschreibweise, aber im Prinzip ist es 
natürlich schon die y[k] = ... - Formulierung.

Nun würde mich interessieren, wenn ich auf den Controller noch ein paar 
Tasks packe, wie ich dann die Regelung anpassen muss, damit sie nachher 
wieder genau so gut arbeitet...

von Stub (Gast)


Lesenswert?

Falls jemand ein paar passende Stichpunkte hat, wie man das prinzipiell 
angehen kann, wäre mir schon sehr geholfen :) Danke schon mal!

von 6641 (Gast)


Lesenswert?

In den seltensten Faellen ist der Algorithmus als y[k]:=.. mit 
Ruecktransformation, sondern ganz normal im Zeitbereich. Zuerst muss man 
die Struktur herausfinden, die Linerisierungen, die Koeffizienten. Dann 
sieht man was man hat. Bei einem genuegend einfachen Problem kann man 
einen Regler neu ausm Boden stampfen und etwas an den Koeffizienten 
rumschrauben.

von 6641 (Gast)


Lesenswert?

Worum geht's denn ueberhaupt ? Gibt es ein modell einer Strecke, dh ist 
sie simulierbar, was ist die wesentliche Zeitkonstante, kann man objekt 
probieren oder eher nicht, usw...

von Stub (Gast)


Lesenswert?

Also, das ganze ist eine feldorientierte Regelung, die nur als Code 
existiert, ein Streckenmodell gibt es nicht. Was meinst Du denn mit 
"Objekt probieren"?

von StinkyWinky (Gast)


Lesenswert?

Ich gehe davon aus, dass der Regelalgorithmus mit konstanter Frequenz 
aufgerufen wird. Im Normalfall bleibt also etwas Idlezeit dazwischen 
übrig. Die kannst Du anknabbern.
Ansonsten könntest Du vielleicht den Regler-Code optimieren und die 
gesparte Zeit wiederum für die zusätzlichen Tasks verwenden.

von 6641 (Gast)


Lesenswert?

Es gibt objekte, da kann man nicht mal probieren und schrauben, zB eine 
Seilbahn, da geht was kaputt. Bei einem motor aufm' Tisch kann man am 
Objekt probieren. Aber eine Idee des Streckenverhaltens muus ja 
existieren.

von Stub (Gast)


Lesenswert?

Solange aber die selben Abtastzeiten eingehalten werden, müsste man ja 
mit einem anderen Rahmenbedingungen (andere Tasks/anderer 
Controller/Betriebssystem/Scheduling usw.) einfach die alte Regelung 
übernehmen können, richtig?

von StinkyWinky (Gast)


Lesenswert?

Ja, das sehe ich auch so.

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
Noch kein Account? Hier anmelden.