Digitaler Regelkreis: Identifikation, Arduino

OP #3438817
Moin,
ich habe folgendes Problem. Mit meinem Arduino möchte ich einen 
digitalen Regler entwickeln. Bei einer bestimmten Abtastfrequenz werden 
Daten (Orientierung aus einer IMU) eingelesen. Dazu brauche ich ein 
„Modell“ der Regelstrecke, die ich regeln möchte, damit ich es zuerst 
mit Matlab die einzustellenden Parameter berechnen kann. Daher hatte ich 
die Idee, meine Regelstrecke an dem Arduino anzuschließen, durch eine 
Sprungfunktion anzuregen und dessen Sprungantwort über Serialport 
einzulesen.

Durch die Folge der Sprungfunktion:
erhalte ich also die Folge:

Frage: wie kriege ich jetzt der Regelstrecke entsprechend 
Z-Übertragungsfunktion?

Soll ich einfach den Satz:

anwenden?

Gruß
Gast #3439184
du hast die Sprungantwort eines zeitkontinuierlichen Systems zeitdiskret 
aufgenommen und suchst jetzt das Übertragungsverhalten (kontinuierliche 
Impulsantwort im Frequenzbereich).

das "Abtasttheorem nach Shannon" sagt dir, dass die Daten bandbegrenzt 
sind. Es war also sinnvoll die Daten vor der Digitalisierung 
tiefpasszufiltern.


Es gibt jetzt mehrere Möglichkeiten, vorzugehen.

Du kannst die kontinuierliche Sprungantwort rekonstruieren
http://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem#Rekonstruieren_ohne_Informationsverlust
über Ableitung bekommst du die Impulsantwort
und über laplace Transformation bekommst du die Übertragungsfunktion

Oder du gehst sofort zur zeitdiskreten Impulsantwort über und 
transformierst diese direkt, beispielsweise mit der 
Tustin-Transformation 
(http://de.wikipedia.org/wiki/Bilineare_Transformation_%28Signalverarbeitung%29)

wie die Genauigkeitsunterschiede sind, weiß ich allerdings nicht.


Möglicherweise genügt dir auch ein zeitdiskretes Modell für einen 
zeitdiskreten Reglerentwurf. Ist allerdings nicht so mein Gebiet. Warte 
mal auf weitere Stimmen.
OP #3440134
Hallo rava

prinzipiell hast du recht. Angenommen, meinen Sensor kann/darf ich zu 
jedem beliebigen Zeitpunkt abfragen, dann schreibe ich für mein Arduino 
ein Top-Programm , mit dem ich, mithilfe einer schnellen Abtastfrequenz, 
meine Regelstrecke erprobe. Verbinde ich die "vielen" Punkte zusammen, 
erhalte ich eine "quasi-kontinuerliche" Kurve, die ich durch 
mathematisches Mittel in eine Laplace-Transformation übertragen kann.

Ok.

Sollte aber die Abtastfrequenz nicht so schnell sein, dann kann ich kein 
kontinuerliches System analysieren, da dieses durch keine 
Übertragungsfunktion in S-Ebene umformuliert werden kann. Die Ahnäherung 
gilt nicht mehr. Daher muss ich einen diskreten Regler niedriger Ordnung 
meines meines Systems zu reglen.

Mit meinem Arduino frage ich (mit max 200 Hz Abtastsfrequenz) meine IMU 
ab. Arduino und die IMU sind beide zeitdiskrete Systeme. Eine Ahnärung 
mit einem kontinuerlichen Regler ist daher unmöglich.
Ich muss also aus einer Treppenfunktion mein System beschreiben.
Die Regelstrecke identifizieren!

Hilfe?!??!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.