Guten Tag, Ich suche Literatur zum Thema Regelungstechnik Implementation auf Mikrocontroller. Der mal die Grundlagen der Programmierung auf diesem Gebiet zeigt. Vielen Dank Gruß Peter
Was sol den da speziell sein, ausser, dass man besser float sein lassn sollte.
Hatte letztens bei Thalia ein Buch genau zu diesem Thema in der Hand, weiß aber den Titel nicht mehr. Mir war es zu kompliziert und zu viel von dem was ich jetzt nicht brauche.
Flisch Flasch Gordon schrieb: > Was sol den da speziell sein, ausser, dass man besser float sein lassn > sollte. Es gibt ja bestimmte Sachen, auf die man bei Prozessoren aufpassen sollte. z.B. die Totzeit die sich aus der Latenzzeit ergibt usw.
__Peter__ schrieb: > z.B. die Totzeit die sich aus der Latenzzeit ergibt usw. Hat aber auch jede digitale Regelung, egal auf welchem System. So schnelle Regelungen wo die Latenzzeiten des µC Systems relavante Totzeiten werden würde ich schon als "very advanced" bezeichnen. Versuche das mit ausreichend schnellen Prozessoren/Peripherie zu vermeiden.
Falls der Controller viel schneller als der Prozess ist, kann man mit der analogen Appriximation rechnen. Falls dem nicht mehr so ist muss man eben durch die Z-Trafo.
__Peter__ schrieb: > Ich suche Literatur zum Thema Regelungstechnik Implementation auf > > Mikrocontroller. Was willste den Wissen?
hab meine Diplomarbeit mit dem Thema behandelt. Literatur in Buchform habe ich kaum gelesen, aber es gibt sehr gute AppNotes von Freescale: Thema DSC und Atmel PI-Regelung, da sind zumindest schonmal alle Logarithmen, bzw. eben der eine sehr gut aufgelistet, quasi zum kopieren, der Rest ist dann noch ein wenig Gehirn :). Am besten dein eigenes.
Ich schätze mal, da wirst Du mehr als ein Buch brauchen. -Zum Thema Regelungstechnik, meist Mathematik: Gibt's Titel bis zum Abwinken. -Zum Thema programmieren, vielfach "C": Noch und nöcher. -Zur Programmierung von Mikrocontrollern: Gibt's auch einiges. -All-In-One: Wird wohl schwierig. -DEIN Problem: Vergiss es.
wil schrieb: > da sind > zumindest schonmal alle Logarithmen, b Logarithmnen findet man im Taschenrechner. Du hast wirklich eine Diplomarbeit bestanden?
Steel schrieb: > Logarithmnen findet man im Taschenrechner. > > Du hast wirklich eine Diplomarbeit bestanden? Ist doch nur ein leichter Buchstabendreher! Wo ist denn schon der große Unterschied, ob nun Logarithmen oder Algorithmen oder wie du es schreibst mit nem zusätzlichen n ;).
zumindest wisst ihr alle was gemeint war... keine weiteren Fragen Herr Richter.
Erbsenzähler schrieb: > Ist doch nur ein leichter Buchstabendreher! Also unter einem "Buchstabendreher" verstehe ich was anderes. Peinlich ist sowas, peinlich für jemaden, der sich in seiner Diplomarbeit damit beschäftigt haben will.
Der Titel mach gar keinen Sinn. Regelungstechnik auf Mikrocontroller; Was soll das sein? Automobilbranche auf Tankstelle. Das versteht auch keine Sau. Wenn es im die Implementierung von Reglern auf uC geht, da gibt es mindestens 2 Aspekte. 1. Grundlagen digitale Reglung -> Gurgel hilft da weiter 2. Programmieren von uC -> hier schauen oder halt Gurgel verwenden. Es wird nicht die Lösung geben, da die Thematik sehr vielschichtig ist. Hier geht es teilweise tief in Numerik rein, nur um die Schwächen von beispielsweise 8-Bit uC in den Griff zu bekommen.
>nur um die Schwächen von beispielsweise 8-Bit uC in den Griff zu bekommen.
zB nicht grad eine Double Precision Floating Point Unit plus Duzende
Megabytes Memory zum Verschleudern zu haben.
Und bevor's vergessen geht ... GHZ Clock, um schlechten Code
auszubuegeln
Wenn es nur um die IMPLEMENTIERUNG geht, dann schau mal hier rein: AVR221: Discrete PID controller: http://www.atmel.com/images/doc2558.pdf Code: http://www.atmel.com/Images/AVR221.zip Gute Erklärung von Theorie und Implementierung mit Beispielcode.
Heinz schrieb: > Gute Erklärung von Theorie und Implementierung Wobei solche Beispiele in der Praxis oft nichts nützen weil: - Weder der Sensor noch die Strecke linear sind bevor man den Regler füttern kann muß erst mal linearisiert und danach wieder delinearisiert werden. - das anti-windup des Reglers in Realität viel komplexer ist - und meist noch unterschiedliche Reglerparametersätze für unterschiedliche Betriebsbedingungen benötigt werden (Großsignal / Kleinsignalverhalten, Kalt/Warmbetrieb) - häufig hat die Strecke auch noch Totzeiten und slip stick Effekte die jeden Regler zum Schwingen bringen. Gruß Anja
Anja schrieb: > Heinz schrieb: >> Gute Erklärung von Theorie und Implementierung > > Wobei solche Beispiele in der Praxis oft nichts nützen weil: > > - Weder der Sensor noch die Strecke linear sind > bevor man den Regler füttern kann muß erst mal > linearisiert und danach wieder delinearisiert werden. > > - das anti-windup des Reglers in Realität viel komplexer ist > > - und meist noch unterschiedliche Reglerparametersätze für > unterschiedliche Betriebsbedingungen benötigt werden > (Großsignal / Kleinsignalverhalten, Kalt/Warmbetrieb) > > - häufig hat die Strecke auch noch Totzeiten und slip stick Effekte > die jeden Regler zum Schwingen bringen. > > Gruß Anja Mein Gott Anja! Mir bleibt immer die Spucke weg, wenn ich deine Beiträge lese. Nicht, dass ich vieles davon auch nur annähernd verstehen würde, aber du haust hier fachlich sicher die meisten Kerle weg. Gefällt mir! Respekt! Wie lange machst du schon in Elektronik und was ist deine Profession, wenn ich das fragen darf? Lieben Gruß Frank
Regelungstechnik auf Controllern unterscheidet sich von der Theorie dadurch : -Die Strecke ist nichtlinear. -Die Strecke ist nicht so gut charakterisiert wie man es haben moechte. -Die Strecke ist noch von anderen Parametern abhaengig, die man auch nicht so gut im Griff hat, dh man kann sie nicht wirklich charakterisieren. -Das Stellglied hat etwas enge Grenzen, was zu verzoegerungen fuehrt. -Der Sensor ist nichtlinear aber linearisierbar -Es fehlt eine zusaetzliche Messgroesse, die zu teuer zu messen waere, und fuer einen Beobachter, sprich Simulator hat man zuwenig Daten. Um diese Charakteristik zu Messen hat man weder Lust noch Zeit. Das alles lernt man nicht aus Buechern, sondern indem man damit arbeitet. Daher sollte man's nie mit einem Tiny angehen. Lieber noch etwas ueber haben. zB ein extra UART, und ein paar Pins. Lieber noch eine Groesse mehr messen.
.trivial. schrieb: > Das alles lernt man nicht aus Buechern, sondern indem man damit > arbeitet. Daher sollte man's nie mit einem Tiny angehen. Lieber noch > etwas ueber haben. zB ein extra UART, und ein paar Pins. Lieber noch > eine Groesse mehr messen. Jein! Respekt und Hochachtung vor diesem geballten Wissen hier, aber trotzdem muss ich widersprechen. Da ich das alles seit ca. einem halben Jahr lerne, und ich fing mit Arduino an, sehe ich das etwas anders. Der Arduino ist sicher nicht schlecht und hat mir geholfen schnell ein erstes Projekt zu entwickeln. Der darauf verwendete ATmega 328 hat ein Datenblatt von 567 Seiten, der ATTiny13 "nur" 176 Seiten. Allein hier lassen sich schon deutlich die Schwierigkeitsgrade für Anfänger ableiten. Da ich nun C lernen möchte und der Tiny zugegebenermaßen schon etwas "eng" ist, muss ich aber gleich mehrere Dinge lernen. Ich muss lernen mit wenig Anschlüssen aus zu kommen, ebenso muss ich mit sehr wenig Speicher zurecht kommen lernen. Dazu sind die Tiny 13 richtig günstig und man kann doch ohne großen Kostenaufwand etwas fertig stellen, was man dann so lassen kann und sei es nur ein Gimmick. Dazu kommt, wenn man wie ich vorher noch nie Elektronik entwickelt hat, man muss sich mit vielen neuen Sachen beschäftigen. Neuen Bauteilen und wie wird diese oder jene Schaltung grundsätzlich aufgebaut. Nicht zuletzt auch mit dem Thema, bei mir war es die Bekämpfung von Schimmel, muss man sich ausgiebig befassen. Deshalb sehe ich, und gerade wegen der engen Grenzen, das Üben mit kleinen Controllern für sehr sinnvoll an. Mit mehr Möglichkeiten kann man sich in seinen Ideen auch sehr schnell verzetteln. Was in meinem Fall in jedem Fall zu trifft.
Frank O. schrieb: > Jein! Man sollte nicht zu viele Baustellen gleichzeitig eröffnen - dann kommt es zu Frustration, wenn mehrere Probleme gleichzeitig auftauchen. Dass der Schwierigkeitsgrad von bei jedem Projekt steigen darf, ist ja auch gar kein Problem, da man auf das vorher ergründete Wissen zurückgreifen kann. Nur, gleich einen kompletten Regler auf einem TinyXX programmieren zu wollen, und das nur auf Grundlage eines Buches, dürfte extrem schwierig sein.
Ich möchte hier an dem ursprünglichen Beitrag von Peter beantworten. Dieses Link: http://www.scriptoriumdesigns.com/embedded/index.php ist meiner Meinung nach, sehr hilfreich. Ich bin der Meinung, dass Probleme, die wegen der Verarbeitung von Signalen bei Mikrocontrollern, auftreten, nicht bei sachlichen Literatur auszusuchen sind, sondern es bleibt absolut überlassen. Man solle einfach die Regelstrecke schreiben. Den Rest erfährt man über literatur der Architektur der Mikrocontroller.
> Deshalb sehe ich, und gerade wegen der engen Grenzen, das Üben mit > kleinen Controllern für sehr sinnvoll an. Wer noch mit Controllern ueben muss und C lernt, der ist sicher nicht soweit das er sich jetzt den digitalen Reglern zuwenden kann. Anja/trivial haben sehr schoen gesagt worauf es ankommt. Man muss die Grundlagen der Regelungstechnik sicher drauf haben, aber die Praxis ist anders. Aus genau den Gruenden die "trivial" genannt hat. Die coolen Fachbuecher vereinfachen das naemlich immer. Und wenn der Chef ankommt und sagt der Motor zittert immer in Ruhestellung, mach das weg! Dann gibt es da keine Gleichung fuer. Ich wuesste z.b keinen Grund warum ich mich gerade bei Reglern noch mit 8Bit Controllern rumaergern sollte. Jedenfalls nicht wenn man noch lernt und da kein Projekt mit 100k/a hinter steht. Und man moechte auch ganz bestimmt eine freie Schnittstelle haben mit dem man sich bei laufendem Regler die aktuellen Parameter und Variablen ausgeben lassen kann. Im Singlestep debuggen geht bei einem Regler nicht. :-) Olaf
Um Gottes Willen! Von Reglern wie ihr sie nennt, da bin ich Lichtjahre entfernt. Ich lese vor allem mit um hier zu lernen. Hier und da steht etwas, was auch für andere Bereiche nützlich ist. Nun ziehe ich mich hier wieder "lesend" zurück, denn ganz viel verstehe ich nicht von dem was ihr so schreibt. Es gibt aber ein Gefühl dafür wie schwer die gesamte Thematik ist und allein das reicht schon zum lernen, dass ich so was die nächsten Jahre nicht anfassen brauch. Ich bin dann mal weg - lesend. :-)
Es gibt Regelsysteme und regelsysteme. Die einen sind die unbedingt stabilen, und dann gibt es mehrere lansame uebergange zu den unbedingt instabilen. Ein unbedingt Stabiler ist eine Heizregelung mit einem Temperaturlimit. Man setzt ein Limit etwas oberhalb der Solltemperatur an und schaltet bei erreichen Dieser hart ab. Dann kann man etwas mit den Algorithmen und Parametern probieren, sogar langsamer laufenlassen zum Debuggen, und ist immer auf der sicheren Seite. Wichtig ist auch eine Zeitkonstant des systems viel langsamer als der Regelzyklus. Wenn man sich den Verlauf der interessanten Groessen an den PC zum Visualisieren uebermitteln kann lernt man speziell als Anfaenger sehr viel. Sowas ist sehr gut auch mit einem 8bitter machbar. Der Gegensatz dazu ist ein inverses Pendel. Ausser man baut es sehr gross, ist dessen Zeitkonstante sehr viel kuerzer. Dh man muss mit einem Tracebuffer arbeiten. Dort schreibt man die interessanten Werte rein und kann sie nachher auswerten.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.