Seite 1 von 3

Temperatur Toleranz ändern wo-wie ?

Verfasst: Mo 6. Jun 2022, 22:09
von af0815
Ich möchte bei Klipper die Toleranz für das Heizbett ändern. Ich habe festgestellt, das dort eine Toleranz von +/- 1 Grad ist, damit der Druck startet. Dieses Fenster will ich vergrößern. Bei den ganzen Parametern für die Heizung inkl. der PID Parameter habe ich da nichts gefunden bzw. war ich zu blind. Wie kann ich das ändern ?! Ich glaube es wurde schon mal in einem Klipper Thread erwähnt, nur ich finde das nicht mehr.

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Di 7. Jun 2022, 17:10
von mhier
Hmm... Das scheint im Moment tatsächlich hardgecoded zu sein. Die entscheidende Funktion ist hier:

https://github.com/RF1000community/klip ... rs.py#L215

Ich würde allerdings auch davon ausgehen, dass der Wunsch nach einer höheren Toleranz eher auf ein anderes Problem hindeutet. Vermutlich passen deine PID-Parameter nicht. Hast du mal probiert, die neu zu tunen? Das geht mit:

PID_CALIBRATE HEATER=bed TARGET=100

Die 100 hinter TARGET sollte eine mittlere Temperatur sein.

Evtl. kannst du auch den Parameter smooth_time erhöhen, das ist die Zeit, über die gemittelt wird. Standardmäßig ist die bei 1 Sekunde, vielleicht muss man da bei etwas stärker verrauschten Messwerten 2 Sekunden draus machen? Übertreib es da aber nicht und führe unbedingt PID_CALIBRATE nach der Änderung aus. Eine zu lange smooth_time könnte zu starken Überschwingern in der Temperatur führen, vor allem wenn die PID Parameter dazu nicht passen!

Wenn das alles nicht hilft, beschreibe mal bitte die Situation genauer, warum du das brauchst. Das lässt sich leicht in einen konfigurierbaren Parameter umwandeln und ich könnte einen entsprechenden Pull Request machen, aber dafür bräuchte ich eine Begründung gegenüber den Maintainern (die wollen verständlicherweise unnötige Konfigurations-Parameter vermeiden und haben das ja auch schon bei meinem Probe-Algoritmus bemängelt).

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Di 7. Jun 2022, 20:05
von AtlonXP
Hallo af0815.
Ich weiß, ich vergleiche jetzt Äpfel mit Birnen.
Am RF1000 funzt die Toleranz +/- 1 Grad sehr gut.

Warum willst du es bei dir ändern?

LG AtlonXP

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Di 7. Jun 2022, 20:17
von af0815
Das Bett schwingt gerne über und dort ist es (mir) egal ob ich +/- 3 Grad habe. Die PID Regelung ist gegenüber den Möglichkeiten der Communityversion doch bescheiden.
Ich habe jetzt schon mehrmals die PID machen lassen, aber irgendwie neigt das besonders beim ersten mal zum Überschwingen. Ist nur deswegen für mich interessant, weil ich wegen dem Bett nicht auf den Druckstart warten will. Ich dachte es es ist ein einfacher Parameter. Weil Extruder und Bett doch verschieden sind, wäre es für mich logisch gewesen, einfach andere Toleranzen zu vergeben.

Ok, das Delta ist hard gecoded, noch dazu absolut. Naja - keine Fragen mehr.

@Athlon: Wenn der Motorenlauf nicht viel ruhiger wäre mit Klipper, wäre es schon nicht mehr drauf. Ich will drucken, nicht mich mit dem Drucker spielen.

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Di 7. Jun 2022, 21:26
von AtlonXP
Da das Heizbett so viel Wärmemasse hat, kann ich mir das fast nicht vorstellen.
+/- 1 Grad einmaliges Überschwingen und es sollte gut sein.

Schau doch bitte ob deine Heizmatte überall noch richtig verklebt und ohne Luftblasen ist.
Speziell dort, wo hinten das Anschlusskabel heraus geführt ist.
In diesem Bereich sitzt auch dein Thermistor.

Bei meiner Konfiguration des geklonten E3D V6,
ist bei mir eine China Heizung mit echten 36 Watt verbaut.
Dort hatte ich auch Probleme mit dem Überschwingen bis zu +/- 6 Grad!
Abhilfe schaffte hier eine Reduzierung der Heizleistung auf etwa knapp 30 Watt.
Es ist der Parameter, wo 0 - 254 PWM zu verstellen ist.
Diesen Parameter sollte auch Klipper haben.
Ansonsten ist das schon das erste Klipper Problem!

Dann vielleicht gibt es in Klipper noch die Möglichkeit an der PWM Frequenz zu drehen?
Die würde ich höher einstellen.

af0815 hat geschrieben: @Athlon: Wenn der Motorenlauf nicht viel ruhiger wäre mit Klipper, wäre es schon nicht mehr drauf. Ich will drucken, nicht mich mit dem Drucker spielen.
Ich glaube auch, dass in Klipper die Zukunft liegt.
Deine Aussage wird mhier bestimmt nicht gefallen. :-)

Es dauert nicht mehr lange, dann spiele ich bei Klipper auch mit.
Bald habe ich die Zeit dazu…

LG AtlonXP

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Mi 8. Jun 2022, 05:30
von af0815
AtlonXP hat geschrieben:
af0815 hat geschrieben: @Athlon: Wenn der Motorenlauf nicht viel ruhiger wäre mit Klipper, wäre es schon nicht mehr drauf. Ich will drucken, nicht mich mit dem Drucker spielen.
Ich glaube auch, dass in Klipper die Zukunft liegt.
Deine Aussage wird mhier bestimmt nicht gefallen. :-)
Das in Klipper die Zukunft liegt ist klar. Ich habe auch eine ganz alte Version von Klipper noch installiert, nur hat eine Umstellung für mich absolut keine Priorität und ist aktuell für mich eine Zeitverschwendung, da ich andere für mich wichtigere Sachen habe. Der Drucker ist nicht mal ein richtiges Hobby (derzeit), sondern von mir als Werkzeug betrachtet - nicht als Selbstzweck !

In der Pension (ist nicht mehr so fern) habe ich dann Zeit und dann könnte es anders sein. :coolbubble:

Ok, meine Frage ist beantwortet und ich kann mir aussuchen was ich wirklich machen will.

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Mi 8. Jun 2022, 11:38
von mhier
af0815 hat geschrieben:Die PID Regelung ist gegenüber den Möglichkeiten der Communityversion doch bescheiden.
Kannst du das mal näher erläutern? Ich sehe da wenig Unterschiede, außer jetzt die hardgecodete Toleranz. Wie gesgat, es wäre trivial, das zu ändern, aber im Grunde sollte es dafür eigentlich keinen Grund geben. Wenn die PID-Regelung nicht auf +-1 Grad genau die Temperatur regeln kann, ist was faul. Überschwingen darf die Regelung, aber dann ist das thermische Gleichgewicht auch noch nicht erreicht, und warten bis das erreicht ist, macht sehr wohl Sinn ;-)

Wenn dir Genauigkeit egal ist, kannst du auf eine einfache Zweipunktregelung umstellen. Da kannst du die Toleranz einstellen, die dann gleichzeitig der Abstand der Schaltpunkte ist. Ich vermute aber, das wird dann schon Auswirkungen auf die Druckqualität haben.

AtlonXP hat geschrieben: Abhilfe schaffte hier eine Reduzierung der Heizleistung auf etwa knapp 30 Watt.
Es ist der Parameter, wo 0 - 254 PWM zu verstellen ist.
Das geht auch bei Klipper über den Parameter:

Code: Alles auswählen

max_power: 1.0
1.0 entspricht hier der vollen Leistung, 0.5 der halben etc.

Allerdings sollte man beachten, dass damit das Aufheizen natürlich länger dauert. Wenn ich af0815 richtig verstehe, will er Zeit sparen, dass der Druck früher startet, anstatt auf das Ende des Überschingens zu warten. Durch weniger Leistung kann man zwar den Überschwinger vermeiden, die gesamte Heizzeit (einschl. ggf. dem Überschwinger) wird aber dadruch nur länger werden. Das ist Physik bzw. Regelungstechnik ;-) Der Überschwinger ist also eigentlich gewollt.

Dann vielleicht gibt es in Klipper noch die Möglichkeit an der PWM Frequenz zu drehen?
Die würde ich höher einstellen.
Die PWM-Frequenz spielt keine Rolle, sobald sie groß gegenüber der "Reaktionszeit" des Systems ist. Diese Reaktionszeit liegt beim Heizbett im Sekundenbereich. Ob die PWM bei 10 Hz oder 10 kHz arbeitet, macht regelungstechnisch keinen Unterschied. Allerdings wird dir eine hohe PWM-Frequenz Probleme mit EMI bereiten! Bedenke, dass hier 230V geschaltet werden. Wenn du das mit zu hoher Frequenz machst, kommt womöglich sogar das Amt bei dir vorbei...

Einstellen lässt sich das über den Parameter pwm_cycle_time. Der ist standardmäßig auf 0.1, was 10 Hz bedeutet (das ist die Zeit in Sekunden).

Deine Aussage wird mhier bestimmt nicht gefallen. :-)
Es bleibe ja jedem selbst überlassen, welche Firmware man benutzt. Ich verstehe schon, dass Klipper für unseren Drucker noch nicht unbedingt optimal eingerichtet ist, Probleme mit den Heatern kann ich allerdings eher nicht nachvollziehen.

Ich glaube ja eher, dass da hier gerade eine falsche Erwartung an das optimale Verhalten vorliegt ;-) Regelungstechnisch ist ein Überschwinger nun mal optimal in dem Sinne, dass dann am schnellsten der Setzwert erreicht wird. Man kann die PID-Parameter so wählen, dass es keinen Übeschwinger gibt (oder künstlich die Leistung reduzieren), aber dann dauert es eben länger. Wenn es mehrere (signifikante) Überschwinger gibt, sind die PID-Parameter allerdings tatsächlich nicht optimal.

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Mi 8. Jun 2022, 13:35
von af0815
mhier hat geschrieben:Ich glaube ja eher, dass da hier gerade eine falsche Erwartung an das optimale Verhalten vorliegt ;-)
Das sicher und auch noch verwöhnt das bei der Communityversion mit Tyreus-Luyben am Heizbett das Verhalten angenehmer war. Also einfach nur verwöhnt :-)

Die E3D Heizung macht eine Punktlandung, ich gehe davon aus, das das Autotuning für schnellere Stecken optimiert ist.

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Mi 8. Jun 2022, 17:15
von AtlonXP
Nö nö mhier, so einfach lässt sich das von dir nicht runter reden.
Da unser Heizbett mit der Heizleistung eh schön überdimensioniert ist,
wird es sicher einen größeren Unterschied von 10 auf 20 Hz geben.

Sehr hohe Frequenzen meinte ich daher nicht.
Wer bei solch niedrigen Frequenzen ein ordentliches EMI erzeugen kann,
der darf sich dann auch Nikola Tesla nennen. :mrgreen:


Der Wärme Fluss im Verhältnis zur Wärmemasse, stellt ein zeitliches Verhältnis dar.
Ich möchte hier einfach das V2 als Beispiel bringen.
Erst nach 25 min während dem Aufheizen ist die Nachlängung abgeschlossen.
So lange benötigt die Kriechwärme, bis sich intern ein Thermisches Gleichgewicht eingestellt hat.
Genauso verhält sich auch unsere Druckplatte.
Ich würde sagen, es dauert bestimmt 15 min bis das Ding ordentlich durchgeheizt ist.

Wer jetzt eine Feingefräste 6mm ALU Gussplatte oder eine Keramik Kachel verwendet,
wird hier im direkten Vergleich auch gewaltige Unterschiede erkennen können.

Darum möchte ich mich hier, auch nur auf pauschale Aussagen stützen.

Bei hohen Bett Temperaturen, heize ich bei Verwendung meiner 2 mm Fensterglasscheiben,
diese in zwei bis drei Stufen vor, damit mir das Ding nicht gleich verreckt!

LG AtlonXP

Re: Temperatur Toleranz ändern wo-wie ?

Verfasst: Di 14. Jun 2022, 11:48
von mhier
AtlonXP hat geschrieben:Nö nö mhier, so einfach lässt sich das von dir nicht runter reden.
Da unser Heizbett mit der Heizleistung eh schön überdimensioniert ist,
wird es sicher einen größeren Unterschied von 10 auf 20 Hz geben.
Woher soll dieser Unterschied denn kommen? Gerade weil die Trägheit des Systems doch hoch ist, sollte das doch keinen Unterschied machen. Der PWM ist doch im Grunde nur eine technisch vereinfachte Umsetzung eines DAC (digital to analogue converter). Neben dem PWM braucht es noch ein Tiefpass-Filter, der eben durch das langsame Zeitverhalten des thermischen Systems gegeben ist. Ein Äquivalent wäre es, ein analoges Signal mit einem echten DAC zu erzeugen und das auf 230V Gleichstrom zu verstärken (das wäre nur wahnsinnig aufwändig und teuer). Ist die PWM-Zykluszeit (also das inverse der Frequenz) kurz gegen die Halbwertszeit der Sprungantwort des Systems, verhalten sich beide Realisierungen identisch. Ob du die Zykuszeit noch etwas kürzer wählst, spielt dann keine Rolle mehr.

Welchen Vorteil erhoffst du dir denn von 20 Hz statt 10 Hz?

Sehr hohe Frequenzen meinte ich daher nicht.
Schon klar, ich wollte die Warnung aber mal erwähnt haben.
Der Wärme Fluss im Verhältnis zur Wärmemasse, stellt ein zeitliches Verhältnis dar.
Ja. Verallgemeinert spricht man vom Zeitverhalten der Sprungantwort, also wie lange dauert es, bis sich die neue Temperatur eingestellt hat, wenn man den Strom um einen bestimmten Betrag sprungmäßig verändert (und dann wieder konstant hält). Das ist übrigens auch (u.a.) das, was bei den PID-Optimierungsverfahren gemessen wird.
Ich würde sagen, es dauert bestimmt 15 min bis das Ding ordentlich durchgeheizt ist.
Ich sehe da jetzt aber keinen Zusammenhang zur PWM-Frequenz. Eher im Gegenteil. Je länger das dauert, desto langsamer kann der PWM sein, ohne dass es einen Unterschied macht. Wobei man da natürlich etwas vorsichtig sein muss, denn lokale Schwankungen sind ja auch relevant. Dennoch ist die Trägheit auch lokal im Bereich vieler Sekunden, d.h. 10 Hz sollte schnell genug sein, dass die PWM-Frequenz nicht zu Temperaturschwankungen auf der Bettobefläche führt (genau darum geht es ja am Ende).