Hallo Schraubeer,
Ich nehme an, du hast die 1.37r (oder fast aktuelle 1.37s) drauf.
In diesem Drucker gibts ein EEPROM und in der Firmware ist das Feature EEPROM Support aktiviert. Das war nicht immer normal. Dadurch werden beim Druckerstart Werte aus diesem Speicher geladen und verwendet. Ohne EEPROM-Support oder auch wenn die Daten im EEPROM nicht valide scheinen werden die Werte beim Druckerstart aus der Configuration.h übernommen.
Da wir das EEPROM nutzen werden in so einem Fall die Werte von den Standardwerten in der Configuration.h ins EEPROM geschrieben und ab dann wieder von dort benutzt.
D.h. wenn du Werte in die Configuration.h eintragen würdest, werden die
nur dann benutzt, wenn der Datensatz im EEPROM verworfen wird. Man kann das erzwingen, wenn man die EEPROM-Version leicht ändert. (Das ist ein Marker in der Configuration.h der mit einem Wert im EEPROM übereinstimmen muss. Ist das nicht so, wird angenommen die Daten im EEPROM sind veraltet oder Zufallsdaten sind.)
Ich habe inzwischen seit Version 1.37s o.ä. die Daten in der Mod-Configuration.h so angepasst, dass zumindest einigermaßen sinnvolle Werte geladen werden wenn aus der Configuration.h wegen Werksreset oder ähnlichem die Daten neu geladen werden.
Soviel zum EEPROM allgemein
Jetzt zum PID. Diese Autokalibrierung misst quasi das Überschwingen und trimmt die Reglerwerte so, dass es minimal wird und der Regler die Temperatur konstant halten kann.
Dazu müssen 3 Rechenkonstanten mathematisch sauber mit der Dynamik des Hotendheizelementes und seiner Masse zusammenarbeiten. Sind diese Werte nicht perfekt ermittelt, funktioniert das Hotend meist auch, aber je weiter die vom Ideal weg sind eben immer schlechter. Wenn daran irgendwas überhaupt nicht stimmt, kann es sein, dass die Temperatur die erreicht werden soll nie erreicht wird oder dass man zum erreichen von z.B. 230°C zuerst mal auf 250°C heizt und dann wieder abkühlt. (Überschwingen) Ohne dass man das will.
Ideal ist, wenn die Temperatur extrem schnell erreicht wird und die Temperatur sauber in die Zieltemperatur einbiegt, ohne sich zu lange Zeit zu lassen oder drüber rauszuschießen.
Schnell erreichen heißt normalerweise dass man ein leichtes Überschwingen in kauf nimmt, aber man kann das manuell experimentell abdämpfen, wenn man das PID drive Max so weit absenkt, dass es weniger bis minimal wird. Damit greift man manuell in den Regelvorgang ein.
Grundsätzlich kann man diese Werte ändern, in dem man im EEPROM die Werte ändert. Man kann das EEPROM im Repetier-Host oder Repetier-Server tabellarisch abrufen lassen und dort in den Feldern die Werte ändern und in den Drucker abspeichern.
In unserem Fall mit dem PID Autotune ist das aber nicht immer nötig.
Denn es gibt 2 Arten, wie man in dieser Version den Autotune starten kann, um die drei Konstanten P und I und D zu finden:
- Gcode M303
- Menü im Drucker: Configuration - Temperatures - Hotend0/Heizbett
Dafür sollte man jeweils bei einem abgekühlten Sensor starten. Also nicht erst auf 200°C heizen und dann starten, sondern danach wieder kleiner 50..100°C oder so abwarten.
Zusätzlich gibts unterschiedliche Regelsätze, in welches Optimum man den Regler trimmen will. Bisher war immer der Regelsatz "Classic PID" verwendet worden.
Ich finde aber für die Hotends "Pessen Integral Rule" besser und fürs Heizbett "No Overshoot" passender.
(Meine persönliche Preferenz, ich habe diese Autotunes mehrmals gemacht und bei Temperaturänderung die jeweilige TemperatukKurve betrachtet, die man nach stufenweiser Zieltemperaturändeung sehen kann. Stichwort Sprungantwort.)
Ganz einfach geht das übers Druckermenü.
Beim GCode muss man für Classic PID J0 dranhängen. für Pessen Integral Rule J1 dranhängen, für Some Overshoot Rule J2 dranhängen und für No Overshoot J3 dranhängen.
Die Funktion im Druckermenü speichert das Ergebnis immer ins EEPROM, man muss bis zum nächsten EEPROM- oder Werksreset also nichts weiter tun. Beim GCode kann man X0 als Schalter anhängen, um dasselbe zu erreichen.
Siehe
http://www.rf1000.de/wiki/index.php/GCo ... _ermitteln
Man könnte z.B. mit "M303 ... J1 X0" erreichen, dass Pessen Integral Rule verwendet wird und das Ergebnis direkt im EEPROM und nicht nur in der Console von Repetier-Host landet.
Per GCode kann der Spezialist auch unterschiedliche Iterationen wählen. Früher war die Erkennung immer nach 5 Zyklen abgeschlossen, ich habe aber beim Heizbett und schlechten Werten bemerkt, dass die Konstanten ein paar weitere Verfeinerungszyklen gerne gehabt hätten. Darum kann man nun im Mod auch wie in der aktuellen offiziellen Repetier die Zyklen auswählen. Übers Menü werden passende Zyklen automatisch gewählt, der GCode macht Standard 5 ausser man gibt das anders an.
Ist der Autotune fertig durchgelaufen, ob per GCode oder Menü, dann kann man abkühlen lassen, die Temperatur auf z.B. 200°C stellen und beobachten, ob die Temperatur genau das tut, was sie soll. (Sauber in die Zieltemperatur einregeln.)
Allerdings ist das normalerweise nicht nötig. Man kann auch erst dann nachschauen, wenn was nicht korrekt zu funktionieren scheint ^^.
Es sei denn, rein Hobbyregelungstechniker will es perfekt machen.
LG