Forum: Digitale Signalverarbeitung / DSP / Machine Learning Regelkreis simulieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Dietmar M. (dietmar_m993)


Lesenswert?

Hallo!
Ich habe schon viel anhand dieses Forums lösen können. Nur diesmal finde 
ich keine Lösung.

Ich habe einen PID Regler in einem Arduino integriert. Nun möchte ich 
eine Hardware simulieren. Am besten mit einem anderen Arduino.
Ich hab da schon einige Dinge gefunden mit elektronischer Schaltung, 
Programmen usw.
Gibt es vielleicht eine Lösung das man einen Code in den Arduino lädt 
der die Hardware simuliert?

So wie auf dieser plattform z.B. 
http://www.grauonline.de/alexwww/ardumower/pid/pid.html

Das muß nicht perfekt die tatsächliche Hardware simulieren. Mir gehts da 
nur um irgendwas damit ich mit meinem Programm automatisiert 
weiterkomme.

Es wäre super wenn mir da jemand weiterhelfen könnte!

Danke!
Dietmar

von Christian S. (roehrenvorheizer)


Lesenswert?

Dietmar M. schrieb:
> eine Hardware

Hallo,

dazu müßtest Du die Wirkung besagter Hardware in regelungstechnische 
Grundglieder zerlegen und diese in Arduino-Programmcode 
abbilden/umformulieren. Dann ließe sich aus den beiden Schaltungen 
wunderbar ein Regelkreis aufbauen mit Führungsgröße am Eingang, 
Störgröße und Ausgangsgröße.

mfG

von Dietmar M. (dietmar_m993)


Lesenswert?

Wie gesagt, es muß nicht die spätere Hardware simulieren, denn es wird 
sowieso dann an unterschiedlicher Hardware genutzt.
Falls also jemand schon sowas hat, für welche Zwecke auch immer, wäre 
das sehr hilfreich.

von Noname (Gast)


Lesenswert?

Welche Regelstrecke möchtest du simulieren?

von Dietmar M. (dietmar_m993)


Lesenswert?

Welche hast du?

von Noname (Gast)


Lesenswert?

Ich habe keine, finde aber das Projekt interessant. Das Programm für die 
Simulation einer einfachen Strecke wie z.B. PT1 dürfte nicht so 
schwierig sein. Wenn ein zweiter Arduino die Strecke simulieren soll 
muss erst mal die Schnittstelle definiert werden. Welche Abtastrate hat 
momentan dein PID-Regler? Hast du auf dem Arduino noch eine 
Schnittstelle frei um die Daten mit dem Streckensimulationsarduino 
austauschen zu können? Welche Baudrate wäre dann möglich?

von Christoph M. (mchris)


Lesenswert?

>Ich habe einen PID Regler in einem Arduino integriert. Nun möchte ich
>eine Hardware simulieren. Am besten mit einem anderen Arduino.
>Ich hab da schon einige Dinge gefunden mit elektronischer Schaltung,
>Programmen usw.

Zuerst musst du dir ein Modell für deine Hardware (Regelstrecke) 
überlegen.
Wenn die Hardware z.B. ein Ofen ist, könnte das Modell für den Ofen ein 
einfacher Tiefpass sein. Man gibt Energie in den Ofen hinein und dieser 
wird dann langsam warm.

von Purzel H. (hacky)


Lesenswert?

Was spricht denn dagegen, alles auf dem PC zu simulieren ? Denn sonst 
muss man die Regler und die Streck ja beide kommunizierend gestalten und 
auch anschliessen.
Dabei laesst sich dann auch zeigen, dass ein PID fuer eine Heizung nicht 
optimal ist.

von Raspi Fan (Gast)


Lesenswert?

Es gibt tatsächlich Möglichkeiten, einen Arduino zu verwenden, um eine 
Hardware-Simulation durchzuführen. Eine Möglichkeit wäre, einen Arduino 
als sogenannten "Simulator-Arduino" zu verwenden, der Daten generiert 
oder emuliert, die von einem "Haupt-Arduino" verarbeitet werden. Eine 
andere Möglichkeit wäre die Verwendung von Arduino-Simulatoren wie 
Proteus, in denen die Schaltung virtuell simuliert werden kann. Es gibt 
auch spezielle Libraries für Arduino, die es ermöglichen, eine 
Simulation durchzuführen, wie z.B. der Arduino Simulator Library.
Wichtig ist das du beachtest das es auf die spezifische Anwendung 
ankommt und welche Art von Simulation du erstellen möchtest. Einige 
Simulationen können einfach mit einer Softwarelösung erstellt werden, 
während andere möglicherweise eine spezielle Hardware oder Schaltung 
erfordern.

von Dietmar M. (dietmar_m993)


Lesenswert?

Das ist sowas was ich suche.
Es geht darum an meine Steuerung eine externe Hardwaresimulation 
anzuhängen. Also einen Simulationsarduino.

Weil ich hier des öfteren lese ich muß den Regelkreis wissen. Also so 
wie ich bisher den PID Regler verstanden habe passt der für jeden 
Regelkreis. Es geht dann nur um die Parametereinstellung. Ob ich D 
überhaupt nutze usw.
Warum sollte ich also den Regelkreis wissen wenn es mir nur um die 
Funktion des Reglers innerhalb eines Ablaufs geht? Wenn ich also eine 
xbeliebige Simulation eines Regelerkreises bekomme und deren Parameter 
dazu kann ich den Automatikablauf meines Programms damit testen. Oder 
was verstehe ich da falsch daran?
Ich stelle mir so eine Simualtion als eine einzige Formel vor. Die sich 
mir aber gerade nicht erschliesst. Dafür bin ich zulange weg von der 
Schulmathematik. Vielleicht ist das jetzt der Fall wo der Proffessor 
sagte - Irgendwann im Leben brauchst du das. :-)

ich les mich mal in die Arduino Simulator Library ein.

von Sebastian (Gast)


Lesenswert?

>Weil ich hier des öfteren lese ich muß den Regelkreis wissen. Also so
>wie ich bisher den PID Regler verstanden habe passt der für jeden
>Regelkreis. Es geht dann nur um die Parametereinstellung. Ob ich D
>überhaupt nutze usw.

Nein, ein PID-Regler passt nicht für jeden Regelkreis und die 
Einstellungen eines PID-Reglers hängen vollständig von der Regelstrecke 
ab.

Tu dir mal etwas Theorie an, sonst kommst du nicht weiter:

https://www.youtube.com/watch?v=pzxe56mk8LE

von Dietmar M. (dietmar_m993)


Lesenswert?

Ich sag dir mal was Sebastian!
Wenn du nichts konstruktives zu sagen hast, dann verhalte dich einfach 
ruhig!

Ich habe um einen Reglerkreis gebeten, oder die Möglichkeit einen zu 
erstellen, um einen Ablauf zu testen der einen PID Regler (aus der 
Arduino Bibliothek) enthält. Nicht um einen Link um einen PID Regler 
perfekt zu verstehen oder welche Reglerkreismöglichkeiten es gibt. Das 
ist nicht meine Aufgabenstellung und nicht die Aufgabenstellung dieses 
Beitrags! Genau wegen solchen unkonstruktiven Schlaubergern wie dir muß 
man sich bei jeder Suche in Foren durch unsinnige Beiträge arbeiten.

von A. Z. (donvido)


Lesenswert?

Dietmar M. schrieb:
> Ich sag dir mal was Sebastian!
> Wenn du nichts konstruktives zu sagen hast, dann verhalte dich einfach
> ruhig!

Also wenn das nicht konstruktiv war, dann weiß ich auch nicht.
Es gibt nunmal nicht DIE Regelstrecke für einen PID.
Wir könnten dir hier ein Streckenmodell liefern, mit dem deine 
"Simulation" funktioniert. Sobald du dann aber an die reale Anwendung 
gehst, funktioniert nichts mehr, ganz egal wie du den PID parametrierst.
Deshalb wäre es sinnvoll zu spezifizieren, ob du später eine Heizung 
oder ein Segway regeln möchtest.

von Gas Gerd (Gast)


Lesenswert?

Ich finde es auch konstruktiv, aber wenn du kein YouTube magst, hier 
einmal eine sehr grobe Erklärung.

Ein PID-Regler ist ein Regelungsverfahren, das auf drei Regelgrößen 
(Proportionalität, Integral und Derivat) basiert. Es wird hauptsächlich 
in der industriellen Automatisierung verwendet, um Prozesse zu steuern 
und zu regulieren.

Die Proportionalitätsregelung sorgt dafür, dass die Ausgangsgröße des 
Reglers proportional zum Fehler ist. Der Integralteil berechnet den 
Fehler über die Zeit und passt die Ausgangsgröße entsprechend an. Der 
Derivatenteil berücksichtigt die Änderungsrate des Fehlers und passt die 
Ausgangsgröße entsprechend an.

Eine Regelstrecke besteht aus einem Prozess, der gesteuert werden soll, 
und einer Regelungseinheit, die den Prozess steuert. Der Prozess kann 
eine Maschine, ein Produktionsverfahren oder ein physikalisches System 
sein. Das Ziel der Regelung ist es, die Ausgangsgröße des Prozesses auf 
einen gewünschten Wert zu halten oder ihn in eine gewünschte Richtung zu 
ändern. Ein PID-Regler wird oft als Regelungseinheit verwendet, um die 
Ausgangsgröße des Prozesses zu regulieren.

von StefG (Gast)


Lesenswert?

Ich verwende gerne einen Zementwiderstand gekoppelt mit pt100 um 
Heizregler zu simulieren. Braucht keinen Arduino und geht trotzdem...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.