Hey Leutz, hätte da eine Frage: Hat schon einmal jemand von euch einen PID-Regler programmiert und könnte mir mit ein paar Tipps oder noch besser einem Quellcode weiterhelfen. Mit diesem Regler sollte z.B.: ein Motor mit PWM angesteuert werden. Zur Zeit hätte ich mir einen 8515 vorgestellt(da PWM). Thx,Mathais
Hi Mathias , so einen Regler hab ich in Bascom programmiert. Was willst du damit machen ? Gruss Gerhard
Hallo bin gerade dabei sowas fertig zu stellen. Programmierung in Assembler für eine Mega8. Als Ausgabe wird ein PWM Signal geliefert. Anzeige über LCD-Display 2*20 Zeichen. Eingang Soll-. und Istwert über ADC Kanal 0 und 1. Die Werte für k,i,d werden entweder auch über Analogwerte eingestellt, oder als Konstanten. Eingabe wird mal mit einer PC-Tastatur erfolgen, ist aber noch nicht eingebaut. Wenn Interesse da ist, dann nimm ich es mal mit in die Arbeit und stelle es hier rein. mfg Hubert Papst
Hallo Hubert, mich würd dein Programm sehr interessieren, da ich schon seit einiger Zeit mit nem PID in Assembler kämpfe. Entweder mache ich dabei einen Denkfehler, oder es ist doch noch ein Programmierfehler drin ;) Vieleicht kannst du mir das Prog auch mailen? Gruß -=jens=-
Hallo Hubert, ich muss genau das selbe programmieren, weis aber noch nicht genau wie ich anfangen muss. Stellt es ein Problem dar, dein Programm für den 8515 umzuschreiben(außer dass ich zwei DAW´s benötige?). Wäre schön, wenn du mir dein Programm einmal mailen könntest. Danke im Voraus, Mathias Mair
Hallo, ist kein Problem - wird aber erst voraussichtlich Anfang nä. Woche sein. Bin diese Woche nicht mehr da. mfg Hubert
Hallo Mathias, bei der Entwicklung von digitalen Reglern kann ich vielleicht ein paar Tips hinzusteuern. Der differentielle Anteil des Reglers ist ein kritischer Faktor, da hierdurch das Messrauschen und der Quantisierungsfehler bei A/D-Wandlung verstärkt wird. Für die meisten Anwendungen (besonders wenn die Parameter durch Probieren ermittelt werden) reicht ein einfacher PI-Regler. Ebenso ist es wichtig, die Mess/Ist-werte über einen Tiefpass zu Filtern (hier reicht nicht der digitale Filter), da sonst unter Umständen der Regler zum Schwingen angeregt wird. Beim Regelcode ist es wichtig, den Integralteil zu begrenzen, da er sonst bei langer Regelabweichung ins Nirvana läuft. Eine sinnvolle Begrenzung wäre z.B. Die Abschaltung der Integration, wenn die max. Stellgröße erreicht ist. Ebenso ist die Abtastzeit eine wichtige Größe für den Regler. Wenn man die Abtastzeit variiert, werden dadurch auch I & D-Anteil beeinflusst. Ich hoffe, es waren ein paar verwertbare Infos dabei Gruß Oliver
Ideal wäre Montag, aber nächste Woche ist auch super. Vielen Dank, Mathias
Hi Der Hinweis von Oliver mit dem Tiefpaß ist sehr wichtig,die Grenzfrequenz sollte mindestens unterhalb der Abtastfrequenz liegen besser 2 bis 5fach da sonst dein Regler im falschen Frequenzbereich auf störungen reagiert und diese nicht ausregeln kann. Wichtig ist eine feste Abtastzeit das heisst dein Regler muss in jedem Fall innerhalb einer Abtastperiode am Ausgang den entsprechenden Wert anlegen koennen dafür ist also Assembler ideal solltest du auf jeden Fall einen 16 Bit wert ansetzen wenn du ansonsten mit 8bit rechnest und natuerlich begrenzen. Dein Motor hat eine gewisse Traegheit ich glaube nicht das es etwas bringt eine Zeitperiode weit unter 100ms anzusetzen. Die Einstellwerte k,i,d sind auf die Abtastzeit zu normieren,da im Analogen ja auf eine Sekunde statt der Zeitperiode normiert ist. Die Differentation erster Ordnung entspricht (aktueller Wert - vorheriger Wert)/Zeitperiode das Integral einer Summe der vorherigen Werte(das sollten schon einige sein da der I anteil erst nach einer gewissen Zeit wirkt) falls du mit einer gewissen abweichung leben kannst reicht auch ein P Regler ueber den Verstärkungsfaktor kannst du die abweichung verringern wenn er zu gross wird faengt das System an zu schwingen.mit einem I Anteil koennte dann die restliche Abweichung behoben werden. ich hoffe die ausführungen haben ein bisschen geholfen CU Wolfram
Hallo hier ist der Code für den PID-Regler. Eine kurze Beschreibung ist auch dabei. Bei Fragen (die werden sicher kommen) einfach mailen oder hier posten. Bin gerade dabei, das Progamm so zu überarbeiten, das mittels einer herkömmlichen PC-Tastatur die Reglereinstellungen vorgenommen werden können. Als Anzeige dient eine 2*20 Zeichen LCD-Anzeige (jetzt auch schon). Bin für Anregungen dankbar. Steinigt mich nicht, es ist mein erstes Programm für einen AVR. mfg Hubert
Frage: PDI-Regler ??? ********************* Wer könnte mir eine kurze, aussagefähige Erläuterung (jedoch kein "Fachchinesisch") zu diesem Thema geben (Funktion, Einsatzmöglichkeit, etc.)? Auch entsprechende www-sites wären hilfreich. Habe bei goggle nicht's gefunden Vielen Dank im Voraus Günter
Danke Hubert, habe deinen Code bekommen und bin gerade dabei den Code zu verstehen. Nun habe ich ein paar Fragen dazu: 1.) Hast du vielleicht Struktogramme oder eine ausführlichere Beschreibung für dein Programm? 2.) Was machst du wenn Kommazahlen auftreten(wenn sie überhaupt auftreten)? Thx, Mathias
Hallo, Struktogramme hab ich leider nicht. Für eine genauere Beschreibung fehlt mir jetzt die Zeit. Wird vielleicht mal nachgereicht. Die Regelung funktiniert nur mit Integerzahlen. Sollte eigentlich für die meisten Anwendungen reichen. Ich kann dir anbieten, hier deine Fragen zu beantworten, wenn ich mal Zeit finde, werde ich das Programm besser Dokumentiern. mfg Hubert
Hallo Gerhard, Du hattest geschrieben das Du schonmal einen PDI Regler in Bascom geschrieben hattest ... kannst Du mir den Quellcode zukommen lassen ? Gruß Tobias
Nahmd .. ich hatte mal eine Vorlesung in digitaler Regelungstechnik. Hier gibts die Mitschrift, vielleicht kann ja jemand was damit anfangen ;) Ist aber zugegebenermassen hartes Brot, also eher für Leute, die sich schonmal mit diskreter Regelungstechnik beschäftigt haben. http://spi.tu-ilmenau.de/der-flo.de/studium/Hauptstudium/7.Semester/Digitale_Regelungen_[V].pdf (ca. 3.5MB, Hier interessant: Kapitel 5 ff.) http://spi.tu-ilmenau.de/der-flo.de/studium/Hauptstudium/7.Semester/Digitale_Regelungen_[S].pdf (ca. 1MB) der Flo
Hallo, unter http://www.embeddedforth.de Embedded2 findet man ein Tutorial über PID regler für Micro`s.Sehr empfehlenswert. Grüsse Arno
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.