PID-Tuning mit Pronterface: Hotend & Heizbett einstellen
Temperaturregelung · Marlin
PID-Tuning stimmt die Heizungsregelung auf dein Hotend oder Heizbett ab. Mit Pronterface startest du den Test, liest die ermittelten Werte aus und speicherst sie in Marlin. Die Verbindung bleibt bis zum Abschluss bestehen.
Diese Anleitung trennt Hotend und Bett, erklärt M303, M301 und M304 und zeigt, wie du prüfst, ob die Werte nach dem Neustart erhalten bleiben.
Wann ist ein PID-Tuning sinnvoll?
Nach einem Wechsel von Heizpatrone, Temperaturfühler, Heizblock, Silikonsocke oder Kühlaufbau kann sich das thermische Verhalten ändern. Auch nach einer Firmwareumstellung sind die hinterlegten Werte zu kontrollieren. Wiederkehrende Temperaturschwankungen sind ein Anlass zur Diagnose. Lose Sensoren, beschädigte Leitungen oder eine ungeeignete Heizpatrone müssen jedoch zuerst behoben werden; eine Regelung ersetzt keine intakte Hardware.
Die Befehle hier beziehen sich auf Marlin mit aktivierter PID-Regelung. Für das Bett ist eigene PID-Unterstützung nötig. Manche Konfigurationen nutzen stattdessen eine andere Regelungsart, etwa Bang-Bang oder beim Hotend MPC. Ein abgelehnter M303-Befehl ist deshalb nicht automatisch ein Defekt.
Die Häkchen sind eine Arbeitshilfe und werden nicht dauerhaft gespeichert.
Pronterface verbinden
Lade Pronterface aus dem offiziellen Printrun-Projekt. Wähle den Port des Druckers und die zur Firmware passende Baudrate. 115200 oder 250000 sind häufig anzutreffen, aber kein universeller Sollwert. Schließe andere Druckhosts, wenn sie die Schnittstelle bereits belegen. Sende zunächst M105 für Temperaturen und M503 für die aktuellen Einstellungen. Sichere die Ausgabe als Text.
Was die Regelung eigentlich macht
Der P-Anteil reagiert auf den momentanen Temperaturfehler, der I-Anteil auf einen über Zeit bestehen bleibenden Fehler und der D-Anteil auf die Änderung. Das Autotuning untersucht die Reaktion des konkreten Aufbaus. Deshalb sind die Zahlen eines fremden Druckers keine Vorlage zum ungeprüften Übernehmen.
Eigene Prinzipdarstellung. Animation abschaltbar; reduzierte Bewegung wird berücksichtigt.
Hotend mit M303 abstimmen
Testbedingungen einstellen
Wähle eine typische Arbeitstemperatur innerhalb der zulässigen Grenzen. Der Hotend-Kühlkörperlüfter muss normal arbeiten. Stelle den Bauteillüfter entsprechend dem vorgesehenen Druckbetrieb ein; die frühere pauschale Vollgas-Empfehlung ist dafür zu grob.
Autotuning starten
Sende beispielsweise M303 E0 S210 C8. E0 bezeichnet das erste Hotend, S210 den Beispiel-Sollwert von 210 °C und C8 acht Zyklen. Passe die Temperatur an deinen Aufbau an. Das ist ein Heizvorgang: Bleibe am Gerät und beobachte die Temperaturanzeige.
Ergebnis abwarten
Marlin meldet die abgeschlossenen Zyklen und am Ende Kp, Ki und Kd. Währenddessen nicht trennen, neu verbinden oder den Drucker ausschalten. Ein Verbindungsabbruch kann je nach Board einen Reset auslösen.
Eigene Werte übernehmen
Verwende die abschließend ausgegebenen Werte mit M301. Speichere danach mit M500, sofern die Firmware EEPROM unterstützt. Kontrolliere die Antwort und lies mit M503 nach.
; Beispiel: Autotuning am ersten Hotend
M303 E0 S210 C8
; Erst NACH Abschluss, mit deinen eigenen Ergebnissen:
; M301 P<Kp> I<Ki> D<Kd>
; M500
; M503Die Zeilen mit Platzhaltern sind absichtlich auskommentiert und keine direkt ausführbaren Werte. Im ursprünglichen Protokoll wurden bei einem 230-°C-Test Kp 22.99, Ki 1.87, Kd 70.64 ausgegeben. Das sind historische Ergebnisse dieses Aufbaus. Sie demonstrieren die Zuordnung zu P, I und D, ohne ein Profil für deinen Drucker zu sein.
Unterstützt deine Marlin-Version den Parameter U1, übernimmt M303 E0 S210 C8 U1 die gefundenen Werte nach erfolgreichem Test. Das dauerhafte Speichern bleibt ein eigener Schritt. Verwende einen der beiden Wege und kontrolliere anschließend das Ergebnis.
Heizbett: eigener Test und eigene Werte
Für das Bett wird in Marlin E-1 verwendet. Die Werte gehören anschließend zu M304, nicht zu M301. Das Aufheizen kann deutlich länger dauern. Wähle eine typische Betttemperatur und lasse die normale Druckplatte montiert.
; Beispiel: Heizbett bei 60 °C, acht Zyklen
M303 E-1 S60 C8
; Erst NACH Abschluss, mit den Ergebnissen des Betts:
; M304 P<Kp> I<Ki> D<Kd>
; M500
; M503Der frühere Artikel verwendete 80 °C und zeigte 731.88 / 144.10 / 929.31 als Ergebnis. Auch diese Werte bleiben reine Projektgeschichte. Gibt die Firmware „Bad heater id“ oder einen vergleichbaren Fehler aus, prüfe die PID-Unterstützung des Betts und die passende Marlin-Version. Die Firmware soll nicht allein für dieses Tutorial blind umgebaut werden.
Woran erkenne ich ein erfolgreiches Tuning?
Ein beendeter Autotune-Lauf ist der erste Schritt. Lies die gespeicherten Werte aus, starte neu und kontrolliere sie erneut. Heize anschließend unter denselben Bedingungen normal auf. Beobachte das Einregeln und eine längere Haltephase. Prüfe danach eine typische Änderung der Bauteilkühlung. Eine einzelne perfekte Zahl im Display sagt wenig über das Verhalten über mehrere Minuten aus.
| Prüfung | Erwartung | Bei Abweichung |
|---|---|---|
| Nach M500 | Speicherung wird bestätigt | EEPROM-Unterstützung und Fehlermeldung prüfen |
| Nach Neustart | Eigene P/I/D-Werte bleiben erhalten | Start-G-Code und Firmwarevorgaben kontrollieren |
| Normaler Heizvorgang | Stabile Regelung ohne auffälliges Überschwingen | Lüfterzustand und Montage mit Testbedingungen vergleichen |
| Temperatur springt abrupt | Plausible, stetige Messwerte | Sensor, Leitung und Stecker untersuchen; nicht weiter tunen |
Fehlerhilfe und häufige Fragen
Autotune schlägt mit „temperature too high“ oder Timeout fehl
Beende den Versuch und lasse den Aufbau abkühlen. Prüfe Zieltemperatur, Heizleistung, Luftstrom, Sensorbefestigung und Versorgung. Schutzgrenzen zu erhöhen oder Thermal Protection zu deaktivieren ist keine Fehlerbehebung.
Warum nicht vor dem Kopieren „Disconnect“ drücken?
Das ist unnötig und kann einen Reset auslösen. Kopiere die abschließenden Werte aus dem Protokoll bei bestehender Verbindung. Sende danach die passenden Befehle einzeln.
M301 funktioniert, M304 aber nicht
Hotend- und Bettregelung werden getrennt konfiguriert. Die Unterstützung für das Hotend bestätigt deshalb nicht die Unterstützung für das Heizbett.
Muss ich für jede Filamentfarbe neu tunen?
Ein unveränderter Aufbau benötigt nicht bei jedem Spulenwechsel neue PID-Werte. Relevanter sind Änderungen am thermischen Aufbau oder deutlich andere Betriebsbedingungen.
Gilt das für Klipper?
Nein, Klipper verwendet einen anderen Kalibrierungs- und Speicherablauf. Diese Anleitung und ihre M-Befehle sind ausdrücklich für passend konfiguriertes Marlin gedacht.
Originalbilder zur Anleitung
Die bisherigen Abbildungen bleiben als Orientierung erhalten. Oberflächen, Menüs und Dateinamen können vom heute gewählten Paket abweichen.








Quellen und Bearbeitungsstand
Fachlich überarbeitet am 18. Oktober 2026. Originalbeobachtungen sind als solche gekennzeichnet. Neue Zeichnungen erklären das Prinzip; sie sind keine Messdaten eines erneuten Praxistests.
Hallo
verstehe ich das richtig, wenn ich jetzt mein Heizbett nur mit 50°c betreiben möchte, gebe ich statt M303 E-1 C8 S80 dann M303 E-1 C8 S50 ein? Oder muss ich bei S immer die höchst mögliche Grad Zahl angeben die mein Heizbett schafft? Oder ist diese S80 und in der Beschreibung configuration.h die S83 Eingabe Pflicht?
Ich weiß ist schon etwas her
Aber hier die Antwort:
Man macht immer mit den Temperaturen ein PID Tuning mit denen man am meisten druckt
Bedeutet wenn du beim Extruder viel mit 210 Grad druckst dann gibst du bei M301 S220 ein
das Selbe beim Bett, wenn du viel mit 70 Grad druckst dann gibst du bei M303 S70 ein.
Wenn du ein Material hast dass von diesen Werten abweicht, dann mach schnell ein PID Tuning mit den benötigten werden.
Hallo,ich habe den Deltadrucker Flsun Q5 und auf dem Chip ist Repetier Host.In Pronterface kommt nach dem Befehl M503 kein Echo. Dann habe ich versucht das Autopid durchzuführen.
Es kamen die Daten Kp7.36 Ki0.63 und Kd21.58.Ich habe in proterfaceeingabe folgendes geschrieben:M301 P7.88 I0.70 D21.58 und send.Es kam das Echo Unknown command M301 P7 I0.70.Ich weiß nicht weiter.