Skip to Content

Een PID 3D printer handmatig afstellen

Master handmatige PID tuning voor 3D printers: Volg onze stap-voor-stap gids om de temperatuurregeling te optimaliseren, de afdrukkwaliteit en de stabiliteit te verbeteren

Geschreven door:
Ben
Laatst bijgewerkt:
20/05/2023

FDM 3D printers hebben vaak automatische of handmatige PID (Proportional Integral Derivative) tuning nodig als de printtemperatuur constant of vaak fluctueert. Ook kan het zijn dat u de PID waarden moet kalibreren voor een verwarmd bed en een nieuwe extruder, hotend of zelfs een nozzle.

Om een 3D-printer handmatig te PID-tunen, kunt u Pronterface of soortgelijke software gebruiken om de g-code uit te voeren, te controleren en te tunen. De nieuwe PID-waarden voor de extruder en het verwarmde bed verkrijgen, invoeren en opslaan. Bekijk de tuning effecten en verander handmatig de nieuwe PID waarden.

Sommige 3D printers, zoals de Prusa modellen met firmware 2.0.12 en latere versies, bieden een handige auto-tuning optie via het LCD Menu. Maar niet alle printers hebben deze functie. Lees verder om te leren hoe u een PID 3D printer handmatig kunt afstellen, ongeacht het merk.

1. Bereid de 3D printer voor op handmatige PID tuning

PID tuning is een essentieel kalibratieproces. Voor de beste resultaten moet u dus niet lukraak instellingen zoals de PID-waarden kalibreren zonder de 3D-printer op de procedure voor te bereiden.

Hier volgen de stappen ter voorbereiding op het handmatig afstellen van de PID van uw 3D-printer:

  1. Schakel de 3D-printer uit en koel het verwarmde bed/hotend. De stroomkabel loskoppelen is niet nodig.
  2. Ontlaad het filament en verwijder eventuele stukjes uit de extruder. Zorg ervoor dat de 3D-printer schoon en droog is en op de plaats staat waar u gewoonlijk print.
  3. Zorg voor normale omgevingsomstandigheden, inclusief temperatuur en wind, net als tijdens een printsessie. Briesjes en tocht kunnen de PID-afstemming verstoren, dus zet uw ventilatoren uit en sluit uw ramen.

2. Sluit de 3D printer aan op uw computer

Om uw printer handmatig af te stellen, moet u tijdens een test toegang krijgen tot de live g-code.

U kunt een computer of een ander compatibel apparaat gebruiken voor interactie met de firmware van de 3D-printer. Een laptop is wellicht handiger dan een smartphone, tablet of Raspberry Pi. U hebt de USB-kabel van de 3D-printer nodig om verbinding te maken met uw computer terwijl deze de gekozen software uitvoert – daarover dadelijk meer.

3. Software gebruiken om toegang te krijgen tot een G-Code Terminal

Voor het handmatig afstellen van de PID-instellingen van een 3D-printer is toegang tot een g-code terminal nodig. G-code toegang is noodzakelijk voor alle merken en modellen, tenzij u een kant-en-klare PID auto-tuning functie gebruikt.

U kunt gebruik maken van Pronterface, dat de meest ongecompliceerde g-code console heeft. Pronterface is een gratis, open-source applicatie, dus u hoeft niets te betalen om het te gebruiken.

Welke snijmachine u ook gebruikt voor uw 3D-printer, waaronder OctoPrint, PrusaSlicer, Ultimaker Cura, enzovoort, u kunt Pronterface nog steeds gebruiken om de PID-instellingen handmatig af te stellen. Ik raad Pronterface niet aan als vervanging voor slicersoftware, omdat het niet de beste of de snelste is.

Hier is een download- en installatievideo van Pronterface om u op weg te helpen als u niet bekend bent met het programma of de gebruikersinterface:

Zodra u Pronterface op uw computer hebt geïnstalleerd, gebruikt u de USB om de terminal op uw 3D-printer aan te sluiten. Controleer of de 3D printer extruder of hotend op kamertemperatuur is, en zorg ervoor dat het bed koel is. Zet vervolgens de 3D-printer aan met het filament al uitgeladen.

4. De huidige PID-waarden verkrijgen (Optionele stap)

Open Pronterface na het aansluiten van de computer en de 3D-printer. U kunt de huidige PID-waarden opvragen als u deze wilt noteren.

De huidige PID-waarden kunnen u helpen de nieuwe Proportionele, Integrale en Derivatieve waarden na de tuning te vergelijken.

Een dergelijke vergelijking is wellicht niet voor iedereen nodig. Toch, als u wilt uitzoeken hoe of waarom de temperatuur van de extruder of het verwarmde bed van uw 3D-printer fluctueerde, biedt het vergelijken van de huidige, oude en nieuwe PID-waarden waarschijnlijk een waardevol inzicht.

Bovendien zijn de huidige of oude waarden handig als de nieuwe PID-instellingen na het afstellen niet blijken te werken zoals verwacht.

Dit zijn de stappen om de huidige PID-waarden van een FDM 3D-printer op te vragen:

  1. Open de toepassing Pronterface op uw computer en zorg ervoor dat de aangesloten 3D-printer is ingeschakeld.
  2. Ga naar de g-code terminal op Pronterface in uw opdrachtconsole aan de rechterkant.
  3. Typ de code M503 in de terminal om de huidige instellingen van de 3D-printer te verkrijgen.
  4. De PID-waarden verschijnen als Kp of kP, Ki of kI, en Kd of kD.
  5. U kunt deze waarden elders op uw computer of op papier noteren voor latere referentie.

5. De PID-waarden van de 3D-printerextruder afstemmen

Nadat u in de optionele stap 4 de huidige PID-waarden hebt verkregen, kunt u deze cijfers wijzigen en handmatig invoeren in de firmware of het moederbord van uw 3D-printer.

Er is een voortdurende discussie onder 3D printer gebruikers over de nauwkeurigheid of effecten van de verschillende firmware zelfbeoordelingen en de daaruit voortvloeiende PID tuning. 3D printermerken en hun experts zijn vaak niet erg duidelijk over automatische en handmatige afstelling van PID voor Marlin-gebaseerde firmware en andere.

Toch is een beoordeling of zelfdiagnose door de firmware de beste manier om de 3D printer de vereiste proportionele, integrale en afgeleide waarden te laten uitzoeken.

Bij het handmatig afstellen van uw 3D printer is de basisformule die u moet invoeren M303 Ex Sx Cx, waarbij x staat voor een willekeurig getal.

Dit betekent het volgende:

  • M303 start de test. M303 is de g-code om het PID zelfafstemmingsproces van uw 3D printer firmware te starten.
  • E staat voor het verwarmde bed. Als u het verwarmde bed wilt tunen, voegt u een -1 of -2 in na de E, die de tuning in gang zet. Als u echter het verwarmde bed test en afstemt, laat u de E waarde op 0 staan.
  • S staat voor de printtemperatuur of hotend-temperatuur. Om uw ideale afdruktemp in te stellen, voert u de gewenste gradenwaarde in na de S. Het doel is een doeltemperatuur vast te stellen die u vaak zult gebruiken voor 3D-printen. In dit voorbeeld is 210° C, of S210, voor PLA. Als u afdrukt met ABS of PETG, kies dan die afdruktemperaturen met S in de code. U kunt dus S260 gebruiken voor ABS, S250 voor PETG, enz.
  • C staat voor de cyclus. C staat voor het aantal keren dat de printer de temperatuur controleert en aanpast binnen een bepaald tijdsbestek. U kunt kiezen uit 3 tot 10 cycli, dus gebruik naar behoefte C3 of C10. Het verhogen van het aantal cycli verlengt het PID-afstemmingsproces voor elke FDM 3D-printer.

Laten we in dit voorbeeld aannemen dat u een standaard FDM printer heeft en voornamelijk met PLA print. De waarde die u waarschijnlijk wilt invoeren is:

  • M303 E0 S210 C5. U kunt deze voorbeeldcode M303 E0 S210 C5 naar eigen inzicht wijzigen.

Zodra het PID-afstemmingsproces voorbij is, ziet u de nieuwe waarden weergegeven in de opdrachtconsole. Maar deze stappen of de code moeten enigszins worden aangepast als u de PID van een verwarmd 3D printbed wilt tunen.

6. De PID-waarden van het verwarmde bed van een 3D-printer handmatig aanpassen

U kunt Pronterface en hetzelfde codeformaat, M303 E S C, gebruiken om de PID-waarden van het verwarmde bed van een 3D-printer af te stellen. De E en S waarden veranderen echter op basis van de doeltemperatuur van het verwarmde bed.

Dit is een stap-voor-stap handleiding voor het handmatig afstellen van de PID-instellingen van een verwarmd bed voor een 3D-printer:

  1. Volg alle voorbereidings- en instellingsstappen die hierboven in deze gids zijn besproken. Zorg ervoor dat het verwarmde printbed waterpas staat en dat er geen wind of andere externe invloed is.
  2. Typ en voer op de Pronterface commandoconsole de code M303 E-1 S70 C5 in.
  3. E-1 is de standaardcode voor het afstellen van de PID van het verwarmde bed van een 3D printer, maar niet altijd. In sommige vreemde gevallen zijn mensen een fout tegengekomen met E-1 in de afstemcode. Controleer dit bij uw 3D printer of de fabrikant als er niets in de handleiding staat. Bij sommige Prusa 3D printers veranderde een anomalie het verwarmde bed in E-2 in plaats van E-1. Dus, als u problemen heeft, schakel deze E-1 en E-2 combinaties in de tuning code.
  4. U kunt S50, S60, S90 of S100 selecteren, afhankelijk van de gewenste temperatuur in Celsius.
  5. U kunt de cycli in de code verhogen of verlagen tot C10 of C3 voor de gewenste nauwkeurigheid.

Pronterface geeft de nieuwe PID-waarden voor het verwarmde bed van de 3D-printer terug in dezelfde console, zoals u de cijfers voor de extruder hotend zou krijgen.

7. Noteer en voer de nieuwe PID-waarden in

Wanneer u de nieuwe PID-waarden op Pronterface ziet, kunt u ze ergens noteren of de cijfers direct kopiëren en invoeren in de vereiste code om de informatie naar de 3D-printer te sturen.

De code om nieuwe PID-waarden in te voeren is M301. De volledige code is M301 Pxx.xx Iyy.yy Dzz.zz. De bijbehorende PID-waarden die u verkrijgt nadat de afstemming is voltooid zijn de x, y en z.

De waarden worden gewoonlijk tot twee cijfers achter de komma weergegeven. U kunt dit ook in de code gebruiken.

Stel dat de nieuwe PID-waarden na tuning zijn:

  • Kp of kP: 33,00
  • Ki of kI: 3,30
  • Kd of kD: 82,46

De code om deze waarden in te voeren wordt dan M301 P33.00 I3.30 D82.46.

Typ de code met de exacte afstand tussen de getallen M, P, I en D, en zonder andere speciale tekens dan de decimale punten, zoals ik in dit voorbeeld heb geschreven. Stuur de code naar de 3D-printer.

8. De nieuwe PID-waarden opslaan in het moederbord

Het invoeren van de nieuwe of aangepaste PID-waarden slaat de informatie alleen op een geheugenkaart of -station op als er een op de 3D-printer is aangesloten. De M301-code is een tussenstap om de gegevens in te voeren, niet om de afgestemde PID-waarden op het moederbord van de 3D-printer op te slaan. Daarvoor moet u de M500-code gebruiken.

De M500 code slaat de nieuwe informatie op, zodat de firmware de standaardwaarden niet herstelt als u de 3D printer opnieuw opstart of de geheugenkaart, flash drive of stick verwijdert.

Nadat u de M303 en M301 processen voor het afstellen van de PID en het invoeren van de nieuwe waarden hebt voltooid, voert u M500 in op de g-code console van de Pronterface en stuurt u deze naar de 3D-printer.

U hoeft niets aan M500 toe te voegen om de nieuwe PID-waarden te bevestigen en op te slaan.

Als zelfstandige code zal M500 niets bevestigen als een voorafgaande M301 stap niet de nieuwe PID-waarden invoert na het tuningsproces met M303. Als u een fout maakt, verandert er dus niets.

9. Bekijk de kalibratie-effecten van de PID-afstemming

Als u de stappen 1 t/m 8 in deze handleiding foutloos uitvoert, zou u de PID-instellingen van uw 3D printer zonder onverwachte problemen moeten kunnen afstemmen.

Dit proces geldt voor extruders of hotends en verwarmde printbedden. Toch zijn 3D-printers niet altijd voorspelbaar, dus test de effecten.

U kunt een printtemperatuur selecteren of het verwarmde bed aanzetten om te zien of er significante fluctuaties zijn op het LCD-scherm of via een andere gebruikersinterface, zoals de slicer. Een perfecte PID-afstemming kan de instellingen zo kalibreren dat de temperatuur niet gaat schommelen.

Natuurlijk kunnen er tijdens het printen enkele kleine veranderingen optreden, vooral als een koelventilator aangaat of als er een externe invloed is. Elke constante of sterke schommeling van de temperatuur van de extruder en het hotend of het verwarmde bed vraagt om nader onderzoek.

10. Aanpassen of handmatig wijzigen van de nieuwe PID-waarden

Het moederbord slaat de nieuwe PID-waarden die u invoert op en bewaart ze na afstelling als firmware-standaardinstellingen voor uw 3D-printer.

De gekalibreerde PID-instellingen zullen na verloop van tijd van toepassing zijn op uw afdruktemperaturen.

U kunt de oude en zelfs de nieuwe PID-waarden echter handmatig aanpassen of wijzigen op basis van de prestaties van de 3D-printer. Sommige 3D printer enthousiastelingen nemen de standaard PID waarden en vertrouwen op de Zeigler-Nichols methode om de instellingen af te stellen.

Dit is hoe een paar mensen de klassieke PID parameters afstemmen om te printen met enige overshoot met behulp van de Zeigler-Nichols methode:

  • Nieuwe P-waarde of gewijzigde kP (Kp): Kp of kP Classic x 0,55.
  • De I-waarde blijft ongewijzigd, dus wordt Ki of kI Classic gebruikt.
  • Nieuwe D-waarde of gewijzigde kD (Kd): Kd of kP Classic x 8/3.

De formule om de PID te tunen voor no overshoot 3D printen volgens de Zeigler-Nichols methode is:

  • De nieuwe kP is kP Classic / 3.
  • De nieuwe kI is kI Classic.
  • De nieuwe kD is kD Classic x 8/3.

Evenzo veranderen sommige gebruikers van 3D-printers de PID-waarden om de 3D-printer aan te passen aan de specificaties van de hotend.

Dus, stel dat u een hotend van 40W vervangt door een van 80W. Aangezien de nieuwe hotend twee keer zo krachtig is, kunt u de oude PID-waarden halveren.

Het uitvoeren van de PID tuning codes met Pronterface en het opslaan van de nieuwe waarden, zoals ik eerder in dit artikel heb uitgelegd, zou moeten werken voor uw 3D printer, tenzij er iets mis is.

Laatste gedachten

De stappen 1 tot en met 8 zouden niet langer dan een paar minuten moeten duren, als u alle benodigdheden bij de hand hebt. PID tuning lost echter niet alle temperatuurproblemen bij 3D printen op. Schommelingen groter dan +/- 5 °C kunnen ook te wijten zijn aan ventilatoren, thermistor draad of connector, en andere problemen.

Geschreven door:
Ben
Laatst bijgewerkt:
20/05/2023

Over Ben

I started 3D printing since 2013 and have learned a lot since then. Because of this I want to share my knowledge of what I have learned in the past years with the community. Currently I own 2 Bambulab X1 Carbon, Prusa SL1S and a Prusa MK3S+. Hope you learn something from my blog after my years of experience in 3D printing.