Kalibracja Ekstrudera PID

We wpisie tym zostanie opisana kalibracja ekstrudera a dokładniej regulatora PID drukarki 3D z użyciem komend G-CODE. Jest to prosty zabieg który pozwoli dostosować regulator proporcjonalno-całkująco-różniczkujący w skrócie PID. Pozwala on na utrzymanie temperatury głowicy drukarki 3D na stałym poziomie, regulując jej wahania. Dla osób bardziej dociekliwych więcej o regulatorach PID można przeczytać np. tutaj.

Dlaczego przydaje się kalibracja ekstrudera a dokładniej regulatora PID? Ano po złożeniu drukarki 3D właściwie i bez tego można otrzymać całkiem zadowalające wydruki. Jednak większość drukarzy z pewnością po jakimś czasie będzie czuło niedosyt i zacznie poszukiwanie rozwiązań poprawiających jakość wydruku. Wbrew pozorom jednostajna temperatura ekstrudera a dokładniej głowicy drukarki 3D ma całkiem spory wpływ na wydruk. Według mnie jest to sprawa związana z gęstością materiału jakim jest filament i różnicą gęstości w różnych temperaturach. Przy mniejszej temperaturze gęstość filamentu może być odrobinę mniejsza, przy większej zaś filament do drukarki 3D może być nieco bardziej płynny. Przy warstwach rzędu 0.1-0.2 mm i niewielkich głowicach np. 0.3 może to mieć jakiś wpływ. Badań nie przeprowadzałem, i pewnie już nie będę, ale skoro mamy jakiś regulator, to i jego trzeba podregulować.

Zatem do roboty:

Są dwie metody regulacji, obie w miarę proste. W jednej wartości PID wklepujemy bezpośrednio G-code’m do firmware’u, w drugiej przepisujemy te dane po prostu do pliku configuration.h w środowisku Arduino. Aby kalibracja ekstrudera została przeprowadzona należycie najpierw musimy te wartości zdobyć.

1. Na zimnej głowicy w dowolnym oprogramowaniu (np. Pronterface – Printrun download) musimy uruchomić tzw. Autotuning PID za pomocą komendy M303.

Używamy jej w ten sposób: M303 S220 C9

gdzie: S230 – oznacza temperaturę w ºC

oraz: C9 – oznacza ilość powtórzeń cyklu

Dla PLA lepiej ustawić bliższą temu filamentowi temperaturę w granicach 180-200 ºC, dla ABS jak w przykładzie ok. 220-230 ºC.

Po 9 cyklu (może ich być mniej) pojawi się wyliczona wartość PID która zostanie oznaczona Kp, Ki, Kd.

Aby uzyskać dostęp do ustawień w firmware Marlin trzeba użyć komendy M503 (firmware Marlin i inne zaawansowane z włączonym ustawieniem obsługi EEPROM).

2a. Wpisujemy wartości Kp, Ki, Kd komendą M301.

Komendę M301 stosujemy w następujący sposób:

M301 P1 I2 D3

gdzie:

1 – Kp, 2 – Ki, 3 – Kd.

2b. Lub wpisujemy Kp, Ki, Kd bezpośrednio w pliku konfiguracyjnym (configuration.h)

Odszukujemy linijki:

#define DEFAULT_Kp 18.89
#define DEFAULT_Ki 1.15
#define DEFAULT_Kd 77.53

i podstawiamy wyliczone wartości.

3. Zatwierdzamy konfigurację.

W przypadku zapisywania konfiguracji G-Codem zapamiętujemy ustawienia za pomocą komendy M500.

Można jeszcze sprawdzić czy się wszystko zapamiętało za pomocą komendy M503.

Przy edycji pliku konfiguracyjnego wgrywamy po prostu nowe ustawienia do sterownika.

I to by było wszystko w tym temacie. Jak widać kalibracja ekstrudera i regulatora PID nie jest aż taka trudna. Warto jeszcze pamiętać, że wszelkie zmiany i zabiegi przy głowicy takie jak owinięcie taśmą kaptonową, wymiany termistora czy grzałki, zamontowanie dodatkowego chłodzenia i tym podobne mogące mieć wpływ na temperaturę należy zakończyć ponowną regulacją.