Forum: Digitale Signalverarbeitung / DSP / Machine Learning wie "hinreichend kleine Abtastzeit" für Reglung nachweisen?


von Jandro (Gast)


Lesenswert?

Hallo,

Folgendes: Ich regle ein mechanisches System mit einem Raspberry Pi und 
die Programmlaufzeit beträgt dabei 10 ms.

Nun habe ich die Matrizen und den Regler kontinuierlich ausgelegt und 
lediglich für die Simulation in MatLab einen Zero-Order-Hold-Block 
verwendet.

Man spricht also von einer "quasi-kontinuierlichen Reglung". In der 
Literatur steht dazu, dass man diese verwenden kann, wenn die Abtastzeit 
"hinreichend klein" ist. Aber wie genau prüft man das? Ist der Nachweis 
schon erfüllt, wenn das System mit gewünschtem Verhalten stabilisiert? 
(In der Praxis funktioniert das System, möchte es aber nun formell 
begründen)

von Martin (Gast)


Lesenswert?

Das ist eine sehr akademische Frage. Geht es Dir um eine "theoretische" 
oder praxisrelevante Antwort?

von Olaf (Gast)


Lesenswert?

> Aber wie genau prüft man das?

Wenn du ein Signal mit dem Oszi anzeigen willst, wie ueberpruefst du 
welche Bandbreite du brauchst? :-) Das ist der umgekehrte Fall.

Du koenntest schauen was die groessten Frequenzen sind die in deiner 
Mechanik vorkommen und dann einen Faktor x hoeher abtasten. Diesen 
Faktor x kannst du dir dann noch auf der Basis der notwendigen 
Aufloesung herleiten.

Olaf

von Maxe (Gast)


Lesenswert?

Das hat ja mit der/den Zeitkonstanten des Systems zu tun. Liegt diese um 
ein zigfaches hoeher als die Abtastperiode, dann handelt es sich um die 
besagte quasikontinuierliche Regelung (sollte Literaturwerte dafuer 
geben). Wenn du dann bei deiner kontinuierlichen Auslegung nicht an den 
Stabilitaetsraendern bist, ist Stabilitaet anzunehmen.

Wenn du was dazulernen willst, dann berechne die Systemstabilitaet auch 
noch fuer die diskrete Abtastung (z-Transformation).

von Walter T. (nicolas)


Lesenswert?

Jandro schrieb:
> Ist der Nachweis
> schon erfüllt, wenn das System mit gewünschtem Verhalten stabilisiert?

Wer will den "Nachweis"? Wenn es nur für Deine Belange ist und 
Stabilität als Ziel ausreicht: Ja, fast. Du kannst mit maximalem 
Störsignal langsam durchsweepen und sicherstellen, daß nichts 
aufschwingt.

Rechnerisch: Wenn die kontiniuerliche Stabilität nachgewiesen ist, mußt 
Du nur noch nachweisen, daß Deine Abtastfrequenz ca 10 mal größer als 
die Wurzel des größten finiten Eigenwerts Deines Systems ist.

Wenn es nicht nur um Stabilität, sondern auch um Folgegenauigkeit oder 
Störunterdrückung geht, wird es komplizierter.

Nachtrag: Wenn der Regler mit Integer arbeitet, geht auch zu kleine 
Abtastzeit, weil die Rundungsfehler überhand nehmen. Das kann 
insbesondere beim D-Anteil relvant werden. (Bei Float kann das auch 
passieren, aber deutlich schwieriger. Bei double fast unmöglich.)

: Bearbeitet durch User
von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Heute nicht mehr so relevant wie noch vor 25 Jahren ist der Fall den der 
TO gerade nicht anwenden möchte:
Man kann auch Systeme zeitdiskret regeln, wenn deren Bandbreite groß 
gegenüber der Tastzeit ist. Dann gelten aber angepasste 
Entwurfsverfahren und bestimmte Randbedingungen.

Mit modernen Prozessorsystemen ist "Echtzeit" häufig einfacher zu 
erreichen. Was immer noch bleibt sind Verzögerungen und Störungen in den 
Sensoren/Wandlern. Und das macht dann Zustandsregler, Sensorfusion etc. 
attraktiv.


Frage/Hinweis @TO: Wie groß ist denn der Jitter von dem 10ms Task auf 
dem Raspi?

von T.U.Darmstadt (Gast)


Lesenswert?

Solche Dinge sind eigentlich mit MATLAB hinreichend gut zu untersuchen, 
wenn die Totzeiten an den richtigen Stellen eingesetzt und simuliert 
werden. Sobald da mehrere im Spiel sind, die in unterschiedlichen 
Regelungszweigen agieren, wird es etwas mühsam, dass händisch zu 
berechnen und zu bewerten. Auch die Nichtlineare RT versagt da 
regelmäßig und liefert nur Grundaussagen über das Ausmaß von 
Überschwinger, Regelungsabweichungen und die Güte der Stabilität.

Mit einer numerischen Simulation kommt man dem sehr gut bei.

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.