knutwurst / Marlin-2-0-x-Anycubic-i3-MEGA-S

Marlin 2.0.x Version for Anycubic i3 MEGA M/S/P/X/CHIRON and 4MAX with Anycubic TFT or the "new" DGUS Clone TFT - Now also with BLTouch!
GNU General Public License v3.0
789 stars 187 forks source link

[BUG] Falscher Thermistor #207

Closed Oderik closed 2 years ago

Oderik commented 3 years ago

Ich möchte das Thema aus #20 noch Mal aufgreifen.

Ich habe mir einen neuen Thermistor gekauft und wollte herausfinden, welche Einstellung der erfordert. Deshalb habe ich viel herumgemessen und dabei festgestellt, dass die Messwerte des original Thermistors stark von den tatsächlichen Temperaturen abweichen.

Ich bin wie folgt vorgegangen: E3D V6 Heizblock (auf den bin ich gerade umgestiegen und habe "nur Probleme" 🙄) hat eine durchgehende Thermistoraufnahme. Daher habe ich auf der einen Seite den original Thermistor eingesteckt und auf der anderen Seite den Temperaturfühler meines Multimeters. Dann bin ich verschiedene Temperaturen angefahren und habe die Multimeter-Temperaturen notiert. Dasselbe Spiel habe ich auch mit der Kombination original Thermistor und mein neu gekaufter Thermistor (NTC 100k 3950) gemacht. Statt der Temperatur habe ich den Widerstand des Termistors beobachtet.

Die vom Multimeter gemessenen Temperaturen passen zu den entsprechend gemessenen Widerständen basierend auf diesem Datenblatt: https://hc-maschinentechnik.de/bilder/Datenblatt/Thermistor-Datenblatt.pdf Daher gehe ich davon aus, dass diese Messwerte belastbar sind. Außerdem habe ich den neuen Thermistor in kochendes Wasser gehalten, daher die ca. 100°C Messung - passt ebenfalls. Die vom Drucker angezeigten Temperaturen weichen jedoch deutlich ab:

Multimeter / °C Original Thermistor mit Preset 5 / °C Neuer Thermistor / Ω
70 60 17700
101 84 6900
121 100 3800
182 150 842
239 200 274
290 250 115

Vergleicht man die Temperaturen mit den Korrekturdaten aus Thermistor Presets 5 und 11 stellt man fest: Preset 11 ist tatsächlich das richtige.

Bedenkt man, dass Temperaturen ab 250°C problematisch für den Teflonschlauch sind, finde ich es etwas gruselig, bereits bei knapp unter 250°C gedruckt zu haben - das sind nämlich tatsächlich knapp 290°C.

Ich kann mir allerdings noch nicht erklären, wieso dieser deutliche Unterschied bei den bisherigen Messungen nicht aufgefallen ist. Gibt es womöglich unterschiedliche Varianten des Druckers bezüglich des mitgelieferten Thermistors?

@knutwurst, wenn ich es richtig verstanden habe, kann man den Thermistor per G-Code konfigurieren, wenn man Preset 1000 in der Firmware setzt. Kannst Du vielleicht die Firmware auf diesen Wert setzen und M305 P11 (oder meinetwegen P5) als Voreinstellung aufnehmen? Dann kann jeder selbst entscheiden, wie sein Thermistor interpretiert werden soll. Und ich kann meinen neuen Thermistor vernünftig benutzen. 😁

Oderik commented 3 years ago

Das mit Preset 1000 war Unsinn - mit P wählt man den Sensor (P0) und nicht das Preset.

Es tut nichts zur Sache bzgl. der Einstellung des originalen Thermistors, aber für Nutzer dieses Thermistors sind vielleicht meine Einstellungen interessant: https://www.amazon.de/gp/product/B0951Y47HQ Ich habe die Firmware mit TEMP_SENSOR_0 1000 kompiliert. Per G-Code habe ich dann den Thermistor anhand der obigen Tabelle und dieser Seite eingestellt: https://configtool.reprapfirmware.org/Heaters Der resultierende Befehl ist M305 P0 T94500 B5442 C0.0000002470687 (danach abspeichern mit M500). Damit zeigt dann der Drucker praktisch dieselben Temperaturwerte wie mein Multimeter - insbesondere im Bereich über 200°C.

miscrtnone commented 3 years ago

Es gibt zudem noch größere Abweichungen zwischen den einzelnen MEGAS selbst, mit gleichen Temperatur --> Widerstandzuordnung. Hier ein Beispiel von 2 verschiedenen Mega S (gemessen in der Düse der jeweiligen Megas mittels Einstichthermomter der deutschen Firma Greisinger) mit gleicher Zuordnung, gemeinsim ist nur, dass sie nach oben abweichen.

Wenn man es genau haben möchte, dann muss man sich wahrscheinlich um die Temperatur für jeden einzelnen Mega individuell kümmern. Leider sind die Mega hier nicht so genau wie ich es mir wünschen würde.

Auch hier wird dies schon sehr negativ beschrieben für den Mega Pro (die Knutwurstfirmware kann also vermutlich nichts dafür, der Hersteller macht dies schon so:

https://drucktipps3d.de/anycubic-mega-pro-neu-ab-mitte-august/

Aber jetzt zum Pragmatischen: Würde man aber jetzt in die Firmware niedrigere Werte hinterlegen (zumindest um sich anzuhähern), dann kämen viele bei ihren derzeitigen Filamentsettings womöglich ins Strauchen, weil zu kalt und dann wird der Extruder ins Straucheln kommen.

Ich vermute, es ist daher besser per Default die höhere Temperatur zu lassen oder ganz explizit darauf hinzuweisen.

Anbei zwei exemplarische Messungen: Ground Wolky

edit: und mein Mega P Spitzenreiter mit locker 32 Grad drüber bei 200C ;-) Mega_P

Oderik commented 3 years ago

@miscrtnone danke für die Dreingabe!

Ich sehe es auch so, dass man die aktuellen Nutzer der Firmware letztlich nur vor Probleme stellt, wenn man jetzt plötzlich andere Thermistoreinstellungen verteilt. Und die bereits zahlreichen bestehenden Releases um eine Dimension mit alternativen Einstellungen zu erweitern (und damit praktisch zu verdoppeln) ist im Sinne der Übersichtlichkeit der Releases auch nicht förderlich.

Zumindest könnte @knutwurst aber auf die grundsätzliche Problematik aufmerksam machen, da die Firmware soweit ich das einschätzen kann recht verbreitet ist und daher eine gewisse Reichweite genießt.

Wie schon gesagt: letztlich ist ein korrekter Temperaturwert zweitrangig, wenn man ohnehin mit irgendwelchen Testdrucken eine geeignete Temperatur ermittelt. Nur das Thema PTFE-Schlauch bereitet mir etwas Sorge. Der sitzt im original Hotend dicht and der Düse und macht die Düsentemperatur dort mehr oder weniger mit. Da sollte man schon wissen, dass bei tatsächlichen 250°C Schluss sein sollte, und dass man sich darauf ohne Kalibrierung nicht verlassen kann.

EDIT: Übrigens habe ich die Messung meines dazugekauften Thermistors noch einmal verfeinert:

Ich habe eine ausgenudelte Messing-Düse aufgebohrt, um den Fühler meines Multimeters von unten einführen zu können. Dann habe ich mit viel Geduld den Beta- und C-Koeffizient-Wert angenähert, sodass mein Mega S im Bereich zwischen 190°C und 270°C nun immer die Düsentemperatur anzeigt (in der Hoffnung, dass mein Multimeter und der zugehörige Fühler genau genug sind, die Übertragung in der Düse vernünftig geklappt hat und der Unterschied zu eine intaktien Nozzle X nicht allzu groß ist). Ergebnis für meinen Terhmistor (mit Thermistor Typ 1000): M305 P0 R4700.0 T103500.0 B5455.0 C0.000000199 ; HOTEND 0

github-actions[bot] commented 3 years ago

This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

knutwurst commented 2 years ago

Fixed in 7ef2dbd

sorry I haven't looked into it for so long :)

Best, Olli

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.