Forum: Mikrocontroller und Digitale Elektronik zeitdiskreter Regelkreis mit verschiedenen Haltegliedern


von chm (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hoffe das richtige Forum getroffen zu haben...Ich habe das Problem, 
dass ich für ein Projekt für eine vorhandene digitale Regelung einen 
Regelkreis aufstellen (und dann analysieren) möchte, bislang aber nur 
mit analogen LTI-Systemen gearbeitet habe, nicht mit zeitdiskreten. 
Deshalb möchte ich kurz das System umreißen und dann mein Problem 
genauer darlegen:

Das System wird über eine SPS mit einem Takt von 1,75ms (d.h. das 
Programm wird alle 1,75ms neu abgearbeitet) gesteuert. Jetzt habe ich 
zwei Sensoren die in verschiedenen Zeitintervallen abgefragt werden:

Sensor1 liefert alle 1,75ms einen neuen Wert, dieser wird auch 
entsprechend oft gelesen und verrechnet.

Sensor2 wird nur alle 329ms ( 329ms = 188*1,75ms) gelesen, jedoch nicht 
direkt komplett weiter mit den Daten von Sensro1 verrechnet, sondern es 
wird gewartet bis noch ein zweiter Wert ausgelesen wurde. Dieser wird 
mit dem vorher gelesenen verrechnet und erst dann mit den Werten aus 
Sensor1. In Gleichungen ausgedrückt:

alle 1.75ms:
var1 = var1 + Sensor1

alle 329ms:
Sensor2 = k_korr * Sensor2  //AD-Signal wird mit Korrekturfaktor 
multipl.
var2 = var2 + Sensor2

alle658ms:
abweichung = var2 - var1
komp = var2 - abweichung/2

am Schluss(also noch immer 658ms) wird komp mit var1 und var2 
gleichgesetzt um ein und dieselbe Ausgangssituation wieder zu haben:
komp = var1 = var2

Ich bin mir jetzt ziemlich unsicher wie ich das genau mit Haltegliedern 
etc modelieren muss. Ich habe im Anhang hochgeladen wie ich es mir 
bislang gedacht habe. Muss ich die AD-Wandlung so einbringen, oder kann 
ich die Fehler durch sie vernachlässigen? Wenn ja, welche 
Entscheidungskriterien gibts dafür? Google war bislang nicht sehr 
informativ in dieser Hinsicht. Reichen die beiden Halteglieder H1 und H2 
aus? Ich hätte bei beiden eine Haltezeit von 658ms eingesetzt. Muss ich 
bei den Rückführungen noch weitere Halteglieder einbringen um zu zeigen, 
dass das Signal von Sensor1 alle 1,75ms und von sensor2 alle 329 
aufaddiert werden? Hoffe ich habe alle notwendigen Informationen 
bereitgestellt, ansonsten bitte nachfragen!

Bin für jeden Hinweis sehr dankbar!

Vielen Dank im Voraus
Grüße

chm

von chm (Gast)


Lesenswert?

kann keiner weiterhelfen?

von Purzel H. (hacky)


Lesenswert?

Die Z-Trafo ist aber bekannt ? Da substituert man Z:=exp(sT) oder so.

von chm (Gast)


Lesenswert?

also die z-trafo ist nicht das problem, da hab ich genug unterlagen etc 
drüber. mir gehts erstmal darum, dass ich den regelkreis zeitdiskret 
richtig // vernünftig aufgestellt habe mit den haltegliedern usw.

von Purzel H. (hacky)


Lesenswert?

Wenn das ganze System viel langsamer wie das Sampling ist, kann man das 
System ja mal zeitkontinuierlich betrachten. Noch einfacher ist eine 
Simulation mit irgendwelchen Werten.

von chm (Gast)


Lesenswert?

hm, kann ich bei der zeitkontinuierlichen Betrachtung dann die 
Verzögerungen mittels Totzeitgliedern modelieren?

von Purzel H. (hacky)


Lesenswert?

f(t):=f(t-T0)

von chm (Gast)


Lesenswert?

Hi,

erstmal herzlichen Dank für deine Unterstützung! Ich habe die 
Halteglieder jetzt einfach als Totzeitglieder eingerechnet. Außerdem 
habe ich aus der Aufaddition von S1 ( Var1 = S1 + Var1) eine Integration 
gemacht. Damit komme ich auf:

var1 = integral(S1 * AD1 dt) in Grenzen von t0 bis t1

var2 = K*(s2*AD2 + var2) --> var2 = S2*AD2*K / (1-K)

abw = f(t-T02)*(S2*AD2+var2)*K - f(t-T01)(S1*AD1+var1)

komp = var2 - 1/2 *abw

--> komp = S2*AD2*K *[ 1/(1-K) - 1/2 * f(t-T02)(1+K/(1-k))]
           + 1/2*f(t-T01)(S1*AD1+var1)


mit L{ f(t-T0) } = e^(-jwT0) folgt dann

Komp(s) = S2*AD2*K* [ 1/(1-K) - 1/2 * (1+ K/(K-1) )* e^(-jwT02) ]
          + 1/2*S1*AD1* e^(-jwT01)*(1 + 1/s )

Das heißt ich habe nur Konstanten und ein I-Glied in meiner 
Übertragungsfkt. Stimmt das bislang so oder habe ich mich verrannt? Über 
die AD-Wandlung ist mir leider nicht viel bekannt, kann ich das einfach 
als eine Konstante mit einrechnen, oder kann ich es auch gleich 1 
setzen? Oder muss ich die Wandlung auch als Totzeitglieder einbauen?

Vielen Dank und viele Grüße
chmbw

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.