Hallo, bitte eine Frage an die Regel-Profis: Ich möchte mir eine Regelung für einen Muffelofen bauen. Der Haken: Die Heizung hat eine große Trägheit, d.h. beim Erreichen des Sollwertes wird zwar abgeschaltet aber die Temperatur schwingt stark über. Dabei sollte doch die Temperatur schnell aber einigermaßen genau ausgeregelt werden. Meine eigene Idee: ab (Sollwert - [z.B.]50 grd C) wird die Heizleistung entsprechend der Differenz (Sollwert - Istwert) verringert. So könnte der Sollwert langsam angefahren werden. Die Leistungseinstellung könnte über eine langsame PWM (Frequenz z.B. 60 sek)erfolgen. Meine Bedenken: evtl. wird der Sollwert nie erreicht oder die Sache könnte extrem laaaangsam ablaufen. Könnte das so gehen oder gibt es eine elegantere Lösung? Für Vorschläge und Hinweise bedanke ich mich schon mal. Gruß Holger
Hallo, mach einen Aufheizversuch, und mit den gesamelten Daten kanst du dann die PWM entsprechend ansteuern. Wie du selber schreibst: Zum Schnellaufheizen bis Sollwert -50 grd 100% (wenn ohne überschwingen möglich) Danach nur soviel wie zur Temperaturhaltung nötig (Grundlast z.B. 10%) und je nach Abweichnung vom Sollwert die Grundlast entsprechend erhöhen oder verringern(bei kleiner Abweichung nur in kleinen Schritten).Zwischen den Änderungen entsprechend lange warten, damit sich die Temperatur "ausbreiten" kann. Die so gefundene Grundlasteinstellung kann man beim nächsten mal wieder als Ausgangsstellung für die neu Grundlast verwenden. Das ganze wird man sicher auch in einen schönen Regel-Algoritmus ala PID oder sowas packen können. Jürgen
Informiere dich über PID-Regelkreise. Und wenn du erklären kannst, was das mit GCC zu tun hat, helfe ich gerne weiter.
Sorry, daß ich nicht gleich antworten konnte: Danke für Eure Antworten! @Jürgen C Ich habe angefangen ein kleines Testprogramm zu schreiben. Ich heize in 50 grd Schritten auf, schalte dann ab und nehme für 30 min alle 5 min die Temperatur. Das sollte genug Daten bringen. Eine Grundlast einzustellen ist glaub ich ein guter Hinweis @Holger Über PID Regelung werde ich mal nachlesen. Danke für den Tip. Hatte ich nicht gesagt: realisieren möchte ich daß mit einem AVR und GCC (ich liebe die Atmel Prozessoren und GCC kann ich rudimentär :-)) ) Na und da würde mir natürlich ein Lösungsansatz in C entgegenkommen, wobei der Beitrag natürlich auch woanders reinpassen würde. @Bernd Wozu andere einen Muffelofen brauchen, weiß ich nicht. Ich nehme ihn zum brennen von Keramik und für Glasurproben. Gruß Holger
> Hatte ich nicht gesagt: realisieren möchte ich daß mit einem AVR > und GCC Das ist dann quasi so: Ich möchte bei meinem Golf den Zylinderkopf tauschen. Mit welchem Drehmoment muss ich die Schrauben anziehen? Und ich poste das ganze in einem Forum für Drehmomentschlüssel. Denn schliesslich ist das ja das Werkzeug das ich benutzen werde. Dein eigentliches Problem ist ja im Moment nicht der gcc oder C an sich. Dein eigentliches Problem ist ein Regelalgorithmus. Und der hat a priori mal nichts mit C oder gar gcc zu tun.
Meine Regelungstechnik-Vorlesungen bei O.Föllinger sind ewig her, ich hab da noch was von TZ1 und TZ2 in Erinnerung, also die Regelstrecke enthält ein Totzeitglied erster oder zweiter Ordnung. Eine Regelung kann entweder zu schnell sein, dann gibts unnötig große Überschwinger oder sogar Oszillationen. Oder sie ist zu langsam, das ist der asymptotische Kriechfall. Irgendwo dazwische ist das Optimum, das man mit einer Modellierung des gesamten Regelkreises herausfindet. Ob es eine PID-Regelung sein muß oder nur eine/zwei der drei Komponenenten Proportional Integral Differential nötig ist, hängt von den Anforderungen an die Genauigkeit ab. Manche Regelungen dürfen auf keinen Fall überschwingen. Wenn ein Kran einen Container auf den Boden setzt, ist ein Einschlagen in den Boden durch Überschwingen nicht gut. Hier stört es wohl nicht.
@Karl Heinz: Mühsame Diskussion, Karl Heinz! Ist doch nu völlig egal, wo der Beitrag steht. Fakt ist: durch die Hinweise der netten Leute in diesem Forum bin ich schon weitergekommen. Natürlich wäre ein Beispiel in C (GCC) zum abgucken optimal gewesen aber die prima Antworten helfen mir erst mal. Und wenn es Dich so sehr stört: unser Moderator verschiebt den Beitrag sicherlich gern auf Anforderung an die entsprechende Stelle. Ansonsten entschuldige ich mich einfach mal für die von mir falsch gewählte Stelle hier öffentlich!!! P.S. Viel Erfolg mit Deinem Zylinderkopf! ;-) @Christoph werde mich behühen, das Optimum mit der schon genannten Grundlast der Heizung zu finden. Hier ist ja durch die PWM quasi schon eine Totzeit eingebaut. Da könnte ich dann versuchen die Totzeit (also die PWM Frequenz) zu ändern bis das Ganze optimal funktioniert. Und: hast Recht, daß der Ofen "durchgeht" ist wohl eher nicht zu erwarten grins Allerdings, um jetzt mal wieder ernst zu werden, ob eine Glasur bei 1000 oder 1050 grd C gebrannt wird macht u.U. schon was aus. Nochmals Danke für Eure Hilfe, ich schreib mal, was draus geworden ist. Gruß Holger
> Mühsame Diskussion, Karl Heinz! Ist doch nu völlig egal, wo > der Beitrag steht. Du hast offensichtlich noch nie in einer internationalen Newsgroup gepostet :-) Da fliegst du aber sowas von hochkant raus. > Ansonsten entschuldige ich mich einfach mal für die von mir falsch > gewählte Stelle hier öffentlich!!! Och, ich hab kein Problem damit. Ich wollte dir nur verdeutlichen wie man ganz einfach feststellen kann, ob man 'on topic' ist, oder nicht. Dieses Forum ist übertitelt mit gcc, hat also was mit C zu tun. Lass die Sprache C mal aus deinem Problem raus: Hast du dann immer noch dasselbe Problem? Wenn ja, dann kann das nicht das richtige Forum sein. So einfach ist das.
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.