Forum: Mikrocontroller und Digitale Elektronik Magnetrührer Pid Tuning Fragen


von Sebastian B. (sebastian_b179)


Lesenswert?

Hallo ich habe aktuell ein Projekt Magnetrührer Umbau und weiß nicht 
genau wie ich die Pid Steuerung machen soll. Ich hatte zum testen 
einfach 100ml Wasser drauf gestellt Zieltemperatur eingestellt und mit 
festen pid Werten gearbeitet. Da aber z.b. 500ml Wasser oder Ölbad ganz 
anders reagiert wollte ich für verschiedene Größen eine pidregelung 
realisieren. Das Programm funktioniert auch soweit aber ich wollte die 
Autotune Funktion benutzen pid V1 mit pid Autotune v0 library. Aber da 
kommen total bescheuerte Werte raus da das system viel zu träge ist. 
Jetzt bin ich am überlegen wie ich das ganze besser lösen kann und hoffe 
ihr habt ne Idee

: Verschoben durch Moderator
von Michael B. (laberkopp)


Lesenswert?

Also ein Magnetrührer dreht.

Nicht jeder hat eine Heizplatte.

Die meisten nutzen bloss Zweipunktregelung, ein/aus an Grenztemperatur.

PID Regler die sich jedes Mal neu auf die Trägheit des Systems 
einstellen, eventuell noch durch exotherme Reaktionen oder Beigabe 
kühler Substanzen verwirrt werden sind ständig im Lernmodus:

Kurz heizen und dann auf Reaktion warten, die Sprungantwort liefert die 
Parameter.

von Nick (b620ys)


Lesenswert?

Kann denn die Heizung überhaupt proportional angesteuert werden, oder 
kennt die nur Ein/Aus?
Bei Ein/Aus ist ein PID-Regler unangebracht.

Ansonsten I & D zunächst Null setzen, den D-Anteil kann man eigentlich 
immer weglassen.

Mit der oben genannten Sprungantwort kann man ziemlich gut die benötigte 
Heizzeit vorausberechnen. Unterwegs kann man dann auch leicht 
korrigieren wenn die Erwartung nicht der Realität entspricht.

von Gerd E. (robberknight)


Lesenswert?

Nick schrieb:
> den D-Anteil kann man eigentlich
> immer weglassen.

Wie willst Du ohne D-Anteil ein deutliches Überschwingen verhindern?

Bei manchen Prozessen spielen ein paar Grad Überschwingen am Anfang kein 
Rolle. Bei anderen ist das aber unbedingt zu vermeiden.

von Wollvieh W. (wollvieh)


Lesenswert?

Für genauen Einsatz im Labor hängt man ohnehin ein Thermometer in das 
Medium. Und die moderneren Heizrührer haben selber PID-Regler per Triac 
statt Zweipunkt über Bimetall.

Hängt also alles davon ab und kommt darauf an.

von Nick (b620ys)


Lesenswert?

Gerd E. schrieb:
> Wie willst Du ohne D-Anteil ein deutliches Überschwingen verhindern?

Indem zunächst mal geklärt wird, ob die Heizung tatsächlich analog ist.
Wenn sie aber digital ist, kann der P-Anteil schon nicht richtig 
arbeiten.

von Sebastian B. (sebastian_b179)


Lesenswert?

Also ich habe etwas weiter gearbeitet und es jetzt so gelöst .

Zieltemperatur einstellen

Untermenu
Phase1 Heizen in % und Offset Zieltemparatur  An/aus Button
Phase 2 Heizen in % und Offset Zieltemparatur An/aus Button
PID An aus

Weiteres Menu PID Editor
Hier kann ich P I D einzeln einstellen.

Im loop schaut er dann die Bedingungen durch Phase 1 erfüllt springt zur 
Phase 2 erfüllt startet dann erst PID. Jetzt kann ich so aggressiv 
heißen wie ich mir das wünsche und erst dann übernimmt der PID die 
letzten paar Grad.

Was besseres ist mir nicht eingefallen bis jetzt. Jetzt habe ich die 
Möglichkeit entweder mit oder ohne Phasen zu regeln. Den P kann ich 
relativ klein lassen weil kein aggressives heizen mehr nötig ist. Die 
Heizplatte wird mit einen SSR angesteuert. PT1000 kommt natürlich ins 
Medium. Das ganze PID Auto habe ich entfernt bringt eh nix. Und die 
verschiedenen Untermenus für verschiedene Größen auch.

: Bearbeitet durch User
von Schwierig (ruelps)


Lesenswert?

Hier sollen nur fertige Projekte hin, keine Fragen.

von Sebastian B. (sebastian_b179)


Lesenswert?

Sorry habe ich übersehen . Aber hat sich jetzt auch erledigt die 
Temperatur wird perfekt gehalten. Ohne D nur P und I regeln wunderbar

von Jack V. (jackv)


Lesenswert?

Sebastian B. schrieb:
> Aber hat sich jetzt auch erledigt die
> Temperatur wird perfekt gehalten.

Das ist prima, dann könntest du dein Projekt ja vorstellen?

: Bearbeitet durch User
von Nick (b620ys)


Lesenswert?

Sebastian B. schrieb:
> Ohne D nur P und I regeln wunderbar

Und wenn du jetzt den I-Teil auch noch weglässt, geht er immer noch 
genauso gut. Und zwar nur mit einem PID.

Mit dem I-Teil kommt es zu einem sogenannten "roll up", d.h. es werden 
Abweichungen gesammelt und zum Ausgangssignal addiert. Das ist beim 
Aufheizen aber nicht das was man haben will.
Damit der I-Teil ordentlich arbeiten kann, muss dessen Ergebnis 
abgeschnitten/begrenzt werden, sonst gibt es Überschwinger.
Beim Aufheizen verhindert die roll up-Begrenzung Überschwinger (oder 
reduziert sie).

Der I-Teil ist sinnvoll, wenn kleine Abweichungen vom Sollwert über 
längere Zeit nicht ausgeglichen werden.

Dazu muss der SSR natürlich auch quasi-analog betrieben werden.

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.