Im meinem anderen Artikel hatte ich Euch schon gezeigt wir Ihr die Temperatur eures Hot-Ends unter Marlin oder Skynet3D für euren 3D Drucker kalibrieren könnt. In diesem Artikel möchte ich Euch das gleiche für das Druckbett (heizbares Druckbett vorausgesetzt) zeigen. Was habt Ihr davon? Wie Euch sicher allen klar ist, schwankt die Temparatur kühlt das Heizbett sich immer wieder ab und der Drucker versucht dies mit „Gegenheizen“ auszugleichen. Skynet3D hat die nützliche Funktion hier sich eurem Drucker anpassen zu können. Die Firmware kann also dazu lernen wie das Temperatur-Verhalten eures Druckbetts so ist.

So zeigt Ihr Skynet3D wie es eurer Heizbett am besten ansteuert mti PID-Tuning:

Verbindet Euch zu eurem Drucker.

Nehmt dazu entweder Octoprint oder eine Software wie Cura oder Simplify 3D. Ihr braucht in jedem Fall ein Terminal zu eurem Drucker in dem Ihr Befehle absetzen könnt.

Setzt folgenden Befehl ab im Terminal

M303 E-1 S60 C8

Dieser Befehl sagt eurem Drucker er soll das Heizbett auf 60 Grad aufheizen und das Heizverhalten in 8 Mess-Zyklen analysieren. Solltet Ihr eine Meldung wie im Bild sehen mit dem Text „PID Autotune failed! Bad Extruder number“, so müsst Ihr vermutlich erstmal eine Änderung in eurer Firmware machen.

Falsche Werte in der Configuration.h eurer Skynet-Firmware

Alles halb so wild. Dazu müsst Ihr nur eine Zeile einkommentieren und eine andere Zeile auskommentieren. Geht dazu in die Configuration.h eurer Skynet3D-Firmware und ändert folgende Zeilen ab:

aus:

//#define PIDTEMPBED

#define BED_LIMIT_SWITCHING

macht Ihr einfach:

#define PIDTEMPBED

//#define BED_LIMIT_SWITCHING

Um die richtige Stelle zu finden sucht ihr einfach nach „#define PIDTEMPBED“ in eurer Configuration.h

Danach ladet Ihr die Firmware wie beim ersten mal auf euren Drucker und Ihr könnt das PID-Tuning danach wieder starten und es sollte laufen.

Das PID-Tuning sollte nun laufen und Ihr solltet solche Ausgaben im Terminal erhalten:
Send: M303 E-1 S60 C8
Recv: PID Autotune start
Recv:  T:24.5 /0.0 B:32.8 /0.0 @:0 B@:127
Recv:  T:24.5 /0.0 B:33.1 /0.0 @:0 B@:127
Recv:  T:24.5 /0.0 B:33.4 /0.0 @:0 B@:127
Recv:  T:24.5 /0.0 B:33.8 /0.0 @:0 B@:127
Recv:  T:24.5 /0.0 B:34.3 /0.0 @:0 B@:127
Recv:  T:24.5 /0.0 B:34.8 /0.0 @:0 B@:127
				

Am Ende der einzelnen Mess-Zyklen erscheinen Meldungen wie die Folgende:

Recv:  bias: 90 d: 90 min: 59.80 max: 60.16 Ku: 641.31 Tu: 14.91
Recv:  Classic PID
Recv:  Kp: 384.78 Ki: 51.61 Kd: 717.14
Speichert die neuen Werte in eurer Firmware

Wenn der Vorgang beendet ist solltet Ihr eine Meldung wie die Folgende erhalten:

Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
Recv: #define  DEFAULT_bedKp 389.06
Recv: #define  DEFAULT_bedKi 52.19
Recv: #define  DEFAULT_bedKd 725.06
Recv: ok

Wartet unbedingt auf eine Meldung die „PID Autotune finished!“ enthält. Teilweise wird das Etwas seltsam beschrieben im Netz.

Um die Werte auf dem Festspeicher eures Druckers zu speichern, so dass er Sie nach dem nächsten Start noch weiß, geht Ihr folgendermaßen vor:

Mit dem Befehl M304 P<Kp-Wert> I<Ki-Wert> D<Kd-Wert> könnt Ihr die Werte in eure Firmware übernehmen. Also wie in diesem Beispiel:

Send: M304 P389.06 I52.19 D725.06
Recv: echo: p:389.06 i:52.19 d:725.06
Recv: ok

Danach speichert Ihr die Werte mit dem Befehl M500.

Send: M500
Recv: echo:Settings Stored (381 bytes)
Recv: ok

Damit seid Ihr dann auch schon durch und Ihr solltet ein konstanteres Temperatur-Verhalten eures Druckbetts beobachten können! Happy Printing!