PID-Regler auf AVR Prozessor

Hi,

gerade hab ich mich so ein bisschen mit den AVR-Prozessoren besch=E4ftigt.

Eigentlich bin ich noch so wirklich vom alten Schlag, als ich das gelernt hatte, gab es noch keine Mikroprozessoren, die ein Privatmensch sich h=E4tte leisten k=F6nnen.

Aber ich muss sagen, als gestern meine erste LCD-Textanzeige lief, habe ich mich schon m=E4chtig gefreut.

Wieso ich das erz=E4hle: Ich brenne darauf, diese kleinen schwarzen K=E4fer in meinem Modellbau einzusetzen. Und bei dem Hubschraubermodell habe ich ein riesiges Gewichtsproblem mit meinen Operationsverst=E4rkerschaltungen. (Schon die Leiterplatte...) Die brauche ich n=E4mlich f=FCr einige Regelungen, die ich da eingebaut habe.

Wie das mit der klassischen Regelungstechnik geht, das war bei mir nie ein Problem. Sogar mit den Integraltransformationen (und der R=FCcktransformation) ist bei mir noch etwas h=E4ngen geblieben, und das ist schon ein paar Jahrzehnte her...

Aber mit den digitalen Dingern, das ist an mir komplett vorbeigegangen.

Wei=DF jemand, wie ich da herangehen soll, kann ich so drei- bis vier Analogregler (1xDrehzahl, 2xLage, 1xTemperatur) in einen AVR-K=E4fer reinkriegen?

Oder anders gefragt, gibt es da so eine Art Referenzprogramm, was ich auf den Prozessorkontroller rauftue, und wo man (am besten im Betrieb) dann die Verst=E4rkung (P-Wert), und entsprechend die I- und D-Anteile einstellen kann?

Bis dann und viele Gr=FC=DFe,

Marc-Anton

Reply to
Marc-Anton Müller
Loading thread data ...

Am besten nach App Notes ueber "PID Regulators" schauen. Bei Deinen Anforderungen nach wenig Gewicht wuerde ich mir die Cypress PSoC ansehen. Dazu gibt es eine huebsche graphische Programmierumgebung (PSoC Express) und Programmieradapter, sehr erschwinglich auch fuer Hobbyisten.

Tim (aus der s.e.design Newsgroup) hat gute Anleitungen zum Thema PID geschrieben und Du kannst ihn auch erreichen:

formatting link

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Marc-Anton Müller schrieb:

Hier findest du einiges zum Thema Regler:

formatting link

Beispielcode wirst du auf

formatting link
finden.

Markus

Reply to
Markus Schaub

Hallo,

ler

Super Link, vielen Dank!

So kann ich das mal selbst versuchen.

Wenn einem der Einstieg =FCberall so einfach gemacht w=FCrde..

Aber ich denke, das h=E4ngt wirklich davon ab, erstmal zu wissen, nach was man =FCberhaupt suchen soll.

Viele Gr=FC=DFe, Marc-Anton

Reply to
Marc-Anton Müller

Hallo nochmal,

ler

Und dazu habe ich dann gleich auch noch eine Frage:

Wenn ich den ersten Algorithmus nehme, mit der direkten Implementierung der Differenzengleichung, dann kann ich das Integrator- =DCberlaufen (Windup) ja plausiblerweise durch Begrenzen der Z=E4hlvariable ("esum") in den Griff bekommen.

Nur wenn ich den zweiten Algorithmus nehme, den "Stellungs- Algorithmus", da taucht ein "esum" gar nicht mehr auf. Kann ich ein Anti-Windup auch da verhindern?

Das mit dem Integrator=FCberlauf war bei mir n=E4mlich schon ab- und zu problematisch, und zwar mit dem normalen Analogregler. Das Ding ging einfach auf Anschlag und einmal w=E4re mir das Modell fast hops gegangen.

Viele Gr=FC=DFe, Marc-Anton

Reply to
Marc-Anton Müller

Hi,

Marc-Anton Müller schrieb:

Unter "Windup" versteht man in der Regelungstechnik üblicherweise nicht das Überlaufen des Integrators, sondern das unkontrollierte Aufintegrieren des I-Anteils eines Reglers z.B. auf Grund einer vorliegenden Stellgrößenbegrenzung. Dieses unkontrollierte Aufintegrieren kann durchaus auch innerhalb des darstellbaren Zahlenbereichs der Zählvariable geschehen, also ohne dass der Integrator überläuft.

Ein Anti-Windup verhindert man wirkungsvoll dadurch, dass man Anti-Windup-Maßnahmen nicht implementiert ;-) Du meintest möglicherweise "Kann ich ein Windup auch da verhindern?"

Es gibt viele - unterschiedlich aufwendige und unterschiedlich wirkungsvolle - Ansätze zur Verhinderung von Regler-Windup. Einfache, oft allerdings auch nur begrenzt wirksame Maßnahmen sind das "Einfrieren" (=Anti-Windup-Stop) oder Rücksetzen (=Anti-Windup-Reset) des I-Anteils des Reglers unter bestimmten Bedingungen (z.B. wenn die Stellgröße in der Begrenzung "hängt" oder wenn die Regelabweichung für unerwartet lange Zeiten unerwartet groß bleibt). Aber auch allgemeine Ansätze zur systematischen Verhinderung von Regler-Windup gibt es. Wirkungsvoll und gleichzeitig einfach nachvollziehbar ist die sog. conditioning technique, 1987 von Hanus et al. vorgestellt - siehe

formatting link
formatting link

Gruß, Volker.

Reply to
Volker Staben

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.