Forum: Mikrocontroller und Digitale Elektronik PID-Regelalgorithmus für ATMEL


von Witwenbetreuer (Gast)


Lesenswert?

Hi,

hat von euch schon jemand Erfahrung mit einem PID-Regelalgorithmus für
Microkontroller sammeln können? Wir haben mit userem Prof eine
Differenzengleichung für einen PID Regler hergeleitet, wobei ich da
leider noch nicht zum Testen gekommen bin (nur die Spungantwort auf den
Oszi angeschaut) Wenn ja wie sieht das bei euch aus ? Vielleicht könnte
man mal alle Infos zusammentragen und hier reinstellen(falls Interesse
besteht).

Grüsse

: Gesperrt durch Moderator
von thorsten (Gast)


Lesenswert?

abo

von Witwenbetreuer (Gast)


Angehängte Dateien:

Lesenswert?

So bin wieder in Dütschland. hier als Anhang noch mal die Gleichung und
das Bild der Sprungantwort. Da ist der PI-Regler zu sehen beim PID wäre
halt bei Beginn der Sprung in die maximale(theorethische) Ewigkeit zu
sehen. Viel Erfolg beim Testen.

von Witwenbetreuer (Gast)


Lesenswert?

Aua meine Rechtschreibung heute ....

von Hans (Gast)


Lesenswert?

ich weis nicht warum alle sich so krasse formeln "herleiten"

vor allem wenn das ergebnis so mies ausschaut... naja kann gut sein,
dass du die konstanten nicht richtig gewählt hast...


auf jeden fall ist ein klassischer PID regler eigentlich primitiv..

du benötigst eine variable zur integration, die vorherige
regelabweichung und die derzeitige regelabweichung.....

y=Kp*regelabweichung+Kd*(vorherige regelabweichung - derzeitiger
regelabweichung)+Ki*integrationsvariable

in jedem zyklus darfst du dann die regelabweichung zur
integrationsvariablen dazuaddieren und fertig..

wenn man sich jetzt das ganze überlegt kommt man drauf, dass Kd = Td
sein muss also die vorhaltezeit und Ki = 1/Ti also 1/ die
nachstellzeit... dann holst du dir noch einige primitive
einstell-faustformeln und du bist glücklich ;)

billig ist z.b die "open loop method" nach ziegler-nichols

das liefert zwar recht beachtliche überschwinger aber kann man dann
schon herumprobieren um das ganze zu optimieren...

73

von Witwenbetreuer (Gast)


Lesenswert?

Hi Hans,
am Ende zählt das Ergebnis da hast schon Recht. Diese Gleichung wurde
halt im Rahmen einer Projektwoche an unserer Technikerschule
hergeleitet. Zu Begin stand die Integral/Differenzialgleichung eines
PID-Reglers in Form von Operationsverstärkern. Das viele Wege nach Rom
führen ist wohl jedem hier klar. Was meinst eigentlich mit Miess? Das
dort ist lediglich die Sprungantwort des Reglers ohne Regelstrecke wie
der geschlossene Regelkreis aussieht muss ich erst mal testen. Ich habe
da keinerlei Erfahrung mit, deshalb der Thread.

Gruss

von Hans (Gast)


Lesenswert?

sprungantwort ohne strecke??????

die sprungantwort sollte sich im idealfall vom eingangssprung nicht
unterscheiden !!!! das meinte ich mit mies ;)

73

von Witwenbetreuer (Gast)


Lesenswert?

für PI Regler in C:

Code:

float To=0.00128,Tn=0.001,Kp=0.3;
k=messwert;
Uk=Kp*(k+(To/Tn-1)+k1)+Uk1;
Uk1=Uk;
k1=k;
ausgabe(Uk);

so schlimm ist das auch nicht ^^

von Witwenbetreuer (Gast)


Lesenswert?

@Hans...das k=Messwert stellt in dem Bild dargestellt die Regeldifferenz
e dar, diese ist eine Spannung die auf dem AD-Wandler
eingelesen(messwert) wird. Da e einfach nur vorgegaukelt wird und von y
nicht beeinflusst wird ist der Regler offen und gibt diese Sprungantwort
raus.

von syd (Gast)


Lesenswert?

Hallo,

einn PI Regler kann man aber auch einfach so berechnen:

y(k) = Kp * e(k) + ((TA/TN) * e (k)) + y (k-1)

       \       /   \                        /
        -------     ------------------------
           |                   |
        P-Anteil            I-Anteil

dadurch benötigt man weniger speicher!

gruß

von Witwenbetreuer (Gast)


Lesenswert?

@SYD Danke ... ist TA die Zykluszeit zwischen den einzelnen
Berechnungen?

von Syd (Gast)


Lesenswert?

JA!

von J. R. (cia_man)


Lesenswert?

Haben die Beteiligten hier nun eine Lösung gefunden? Für PID?

Ich bräuchte nämlich hierfür auch eine Lösung!

Danke!

von Purzel H. (hacky)


Lesenswert?

Ein PID ist nun etwas dermassen Triviales. Die Welt ist voll davon. Wirf 
Gurgel an.

von J. R. (cia_man)


Lesenswert?

Okay! Aber vlt liest das hier trotzdem jemand :-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

J. R. schrieb:
> Ich bräuchte nämlich hierfür auch eine Lösung!

Allerdings kommst du für diesen Thread mehr als 5 Jahre zu spät.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.