M116 - Funktioniert der Gcode bei euch korrekt?

Firmware Veröffentlichungen und Einstellungen können hier angekündigt und diskutiert werden.
Antworten
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von Nibbels »

Ich wollte in den letzten Tagen im Startcode meine Temperaturen einstellen, ohne einzeln zu warten.
Dann sollte der Heiz-Erfolg mit M116 festgestellt werden, dieser Befehl blockiert die weitere Ausführung, bis die Temperaturen fast genau stimmen (Lese ich in der Anleitung.)

http://www.rf1000.de/wiki/index.php/GCo ... C2.B0_sind

M116
- Warte bis alle angegebenen Temperaturen innerhalb von +/- 1° sind
Parameter
Keine

Leider scheint das Heizbett meist 1°C höher stehen zu bleiben.
Fall1) Die Log zeigt mir etwas über 67°C fürs Heizbett - dauerhaft.
Solltemperatur ist 66°C.
Fall2) Die Log zeigt mir z.B. 109,32°C fürs Heizbett - dauerhaft.
Solltemperatur ist 108°C

Und mein Druck startet nie/setzt sich wegen M116 nicht fort.
Ist bekannt, dass der Befehl nicht sonderlich gut funktioniert, oder muss ich den Fehler woanders suchen? Kann es sein, dass das Heizbett immer knapp 1°C über der Solltemperatur bleibt?

LG
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2100
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von rf1k_mjh11 »

Nibbels,

Wie die Temperatur (von Bett und/oder Hot End) sich einpendelt, hängt zu einem guten Teil von den PID-Werten ab. Das ist mir gerade eben wieder von neuem untergekommen. Ich habe gestern von V2 auf Pico umgerüstet und habe die PID-Werte wieder neu ermitteln müssen (irgend so ein Idiot hat vergessen, die Werte vom letzten Mal aufzuschreiben :slap: ).
Ich habe so ca. eine Stunde nichts anderes gemacht als einen der PID Parameter ein Stück zu verändern, neu aufzuheizen, und das Ergebnis 'live' in Repetier-Host zu beobachten. Da sieht man, dass es Einstellungen geben kann, wo der Zielwert nie erreicht wird, wo die Temperatur darüber hinaus geht, abfällt, und sich schließlich (hoffentlich) bei, über oder unter der Zieltemperatur einpendelt, und es sogar Werte gibt (wie bei dir) wo die Temperatur überschritten wird, und nie mehr bis auf die Zieltemperatur abfällt.

mjh11
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von Nibbels »

Hmm,

ich hab auch mal durch den Code geschaut:
Commands.cpp
Screenshot_2.jpg
Das werde ich für mich einfach auf 2 stellen, dann funktioniert vermutlich alles.

In Extruder.cpp in der nähe der Zeile 146, 164, 178, 189 wird vermutlich das mit Temperaturen geregelt.
Das fasse ich nicht an :grinsen:
Vermutlich müsste man da im Code überall die Zieltemperatur um 1 verringern. Stelle ich am Drucker 68°C ein, steht 69 dran. Stelle ich das um auf 69, wechselt der sehr bald auf 70. usw.

Du hast dich also schon an die Regelparameter getraut, oder wie? :D

LG


EDIT: Ah... Configuration.h
Zeile 852.
:wundern: Aber ist das wirklich Überschwingen? Bei mir bleibt der einfach immer ein Grad drüber. Der heizt auch nach, wenn er auf die geforderte Temperatur abfällt.

In Zeile 875 gibts

Code: Alles auswählen

#define	TEMP_TOLERANCE						2.0	
Vielleicht war das irgendwem schon völlig klar und nur der M116 hat eben noch konstant 1 drin stehen.
Ich füge mir TEMP_TOLERANCE statt der 1, bzw 2 in die Commands.ccp und schaue obs sich compilieren lässt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von Nibbels »

Mit der Änderung von "1" auf "TEMP_TOLERANCE" läuft alles glatt. M116 funktioniert und wartet nicht mehr endlos.
Ich konnte das ohne Probleme kompilieren und flashen.

LG
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2100
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 276 times
Been thanked: 557 times

Re: M116 - Funktioniert der Gcode bei euch korrekt? - Temperaturschwingen

Beitrag von rf1k_mjh11 »

Nibbels,
Nibbels hat geschrieben::wundern: Aber ist das wirklich Überschwingen? Bei mir bleibt der einfach immer ein Grad drüber. Der heizt auch nach, wenn er auf die geforderte Temperatur abfällt.
Hier ein Beispiel, provoziert durch absichtlich falsche PID-Werte (lässt sich leicht testen mit M204).
TemperatureSwings_PID.jpg
Irgendwann nach einer sehr langen Zeit, könnte sich das Schwingen beruhigen. Wie vorhin berichtet, können falsche PID-Werte dazu führen, dass die Zieltemperatur nie erreicht wird (die Ist-Temperatur bleibt immer ober oder unter der Zieltemperatur).
Man sieht im Bild auch, dass die Heizleistung stark schwankt, praktisch immer nur 100% oder 0%.

Hier ein Beispiel mit besseren PID-Werten:
TemperatureSwings_PID_2.jpg
Hier pendelt sich die Temperatur bei ca. 1.2° unter der Solltemperatur ein. Auch die Heizleistung ist etwas regelmäßiger. Nicht toll, aber viel besser als vorher.

Zum Schluß noch ein Bild davon, wo ich mit dem Tunen aufgehört habe (ACHTUNG - anderer Maßstab!):
TemperatureSwings_PID_3.jpg
Die geforderte Temperatur wird auch nicht erreicht, aber es pendelt sich bei einem Wert, der weniger als 1° darunter liegt, ein.

mjh11
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von Nibbels »

Ok,

ich notiere mir das:
http://www.rf1000.de/wiki/index.php/GCo ... _Parameter
http://www.rf1000.de/wiki/index.php/GCo ... _ermitteln
mal hier und komme demnächst drauf zurück.

LG
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 247 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von mhier »

Falls jemanden interessiert, wie M303 funktioniert:
https://de.wikipedia.org/wiki/Faustform ... nd_Nichols
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von Nibbels »

Super!

Ich habe gerade http://www.rf1000.de/viewtopic.php?f=23 ... PID#p14979 gefunden und mich mit dem EEPROM auseinandergesetzt.

Das war bisher drin:
11:40:06.763: EPR:0 106 1 Bed Heat Manager [0-3]
11:40:06.766: EPR:0 107 255 Bed PID drive max
11:40:06.768: EPR:0 124 80 Bed PID drive min
11:40:06.771: EPR:3 108 53.740 Bed PID P-gain
11:40:06.774: EPR:3 112 7.480 Bed PID I-gain
11:40:06.777: EPR:3 116 96.520 Bed PID D-gain
11:40:06.781: EPR:0 120 255 Bed PID max value [0-255]

LG
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von Nibbels »

Ich habe mich inzwischen schlauer gemacht.

Recherche:
Thema: Starttemperatur Extruder wird nicht erreicht http://www.rf1000.de/viewtopic.php?f=23 ... M303#p7782
Thema: Dglass Dual implantant für RF1000 PID-Werte update http://www.rf1000.de/viewtopic.php?f=23 ... M303#p6556

Nun zum M303

[P]
Beim RF2000 ist
- Extruder links = P0
- Extruder rechts = P1
- Heizbett = P2
Beim RF1000 wohl
- Extruder links = P0
- Heizbett = P1


S100 für Testtemperatur 100°C

[X0]
, auto-update der Werte im EEPROM
Ohne X0 wusste ich nicht, wie ich mir die Werte anschauen kann, wenn sie nicht im EEPROM festgeschrieben sind, also habe ich die Kalibrierung 2x gemacht, dazwischen das Heizbett wieder knapp auf Zimmertemperatur abkühlen lassen.

Screenshot_8.jpg
Also: M303 P2 S100 X0
Screenshot_9.jpg
Screenshot_10.jpg
Screenshot_7.jpg
Screenshot_11.jpg
Ich habe neue Werte im EEPROM :)
M205 spuckt aus:

Code: Alles auswählen

22:57:05.977: EPR:0 106 1 Bed Heat Manager [0-3]
22:57:05.980: EPR:0 107 255 Bed PID drive max
22:57:05.982: EPR:0 124 80 Bed PID drive min
22:57:05.985: EPR:3 108 60.267 Bed PID P-gain
22:57:05.988: EPR:3 112 7.566 Bed PID I-gain
22:57:05.991: EPR:3 116 120.013 Bed PID D-gain
22:57:05.994: EPR:0 120 255 Bed PID max value [0-255]
Doch jetzt die Ernüchterung:
Soll 95°C -> Ergibt 97,6°C, leicht schwankend.
Screenshot_13.jpg
Soll 120°C -> Ergibt 121°C bis 122°C
Screenshot_14.jpg
Mir bleibt mein Offset von +1°C
Auch wenn sich die Regelparameter zumindest leicht geändert haben.
Die Regelung scheint stabil! Es ist nicht so, dass es stark schwankt, der Zielwert ist falsch???
Ich hab mal gelernt, dass der I-Anteil (Integrator bzw. 1/s) einen Zielwert auf 0 regelt. Und diesen gibts hier. (??)

Für mich ist das Thema M116 nun egal, da ich den globalen Toleranzwert für Temperaturen in der Firmware geändert habe, aber ich bin mir ziemlich sicher, dass irgendwo in der Regelung oder bei den Temperaturen ein Fehler ist was "<" "<=" ">" oder ">=" betrifft.
Trotz (leicht) veränderter Werte blieb mein Temp-Delta dasselbe.

LG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Benutzeravatar
Nibbels
Developer
Developer
Beiträge: 2264
Registriert: Mi 17. Aug 2016, 17:01
Has thanked: 831 times
Been thanked: 599 times

Re: M116 - Funktioniert der Gcode bei euch korrekt?

Beitrag von Nibbels »

Ich verlinke den folgenden Thread:

http://www.rf1000.de/viewtopic.php?f=25&p=18601#p18587

Das könnte eine Lösung sein:
- Verändern von drive-max und drive-min.

Besonders beim E3D-V6 habe ich mit den Werten 40 und 255 beim Extruder ein größeres Überschwingen. Vermutlich wegen der Totzeit wegen dem Wärmefluss von der Heizung zum Sensor. Tests laufen nun mit 0 / 128.
RF2000
Firmware Mod 1.45.00.Mod - geht SD wieder 100%?

Bitte 1.42.17 bis 1.42.21 meiden!
SD-Druck mit der Community-FW <= 1.43.99 aktuell meiden.
Antworten

Zurück zu „Firmware / Tweaks“