Rozgrzana PINDA – czyli problem z poziomowaniem stołu w Prusie i3 MK2 i MK2S

Rozgrzana PINDA – czyli problem z poziomowaniem stołu w Prusie i3 MK2 i MK2S

Cześć,
jak wiecie, od ponad miesiąca stoi u mnie kolejna drukarka – oryginalna Prusa i3 MK2S, którą przysłał mi do testów patron naszego działu Druk 3D – sklep Blackfrog.pl. Samą drukarkę dostałem w wersji DIY (kit do złożenia), ale jej odpalenie nie sprawiło mi większych problemów (o czym wspominałem już w poście Prusa i3 MK2S – składanie i kalibracja drukarki). Na pierwsze problemy natrafiłem dopiero kilka dni temu…

Prusa i3 MK2S – problem z kalibrowaniem stołu

Prusa posiada bardzo sprytny system kalibrowania. Przed każdym wydrukiem drukarka dokonuje dziewięciu pomiarów stołu za pomocą wbudowanego czujnika indukcyjnego. Dzięki temu firmware drukarki jest w stanie w locie korygować ewentualną krzywiznę (pochyłość) stołu, czy nawet błędną geometrię drukarki (gdy np. zrobi się nam lekki romb). System sprawdza się perfekcyjnie i można dzięki niemu raz na zawsze zapomnieć o ręcznym ustawianiu stołu za pomocą śrubek.

Niestety wykorzystanie czujnika indukcyjnego ma też jedną wadę, którą odkryłem dopiero kilka dni temu – jego odczyty zmieniają się wraz z temperaturą pracy. Co to oznacza? Jeżeli cały czas drukujemy z jednego materiału (np. PLA), to w zasadzie w niczym to nie przeszkadza. Raz dostrajamy wysokość osi Z i wszystko będzie hulało. Problem pojawia się dopiero wtedy, gdy postanowimy zmienić PLA na inny materiał, który wymaga wyższych temperatur (zarówno głowicy, jak i stołu). Wtedy odczyty z czujnika zaczynają się przekłamywać.

Przykładowo – cały czas drukowałem z PLA rozgrzewając głowicę do 205°C, a stół do 55°C. Wysokość osi Z ustawiłem tak, żeby między dyszą a stołem był prześwit 0,2mm. I wszystko ładnie hulało…, dopóki nie miałem potrzeby załadowania do drukarki ABS…

Przy wydruku z ABS głowicę rozgrzałem do 255°C, a stół do 100°C. Puściłem wydruk i… zobaczcie sami:

Prusa i3 MK2S - problem z wysokością osi Z

Po sprawdzeniu szczelinomierzem okazało się, że po automatycznej kalibracji tak rozgrzanej drukarki dysza ustawiła się aż 0,7mm od stołu. Pół milimetra różnicy!

Jak się okazało, jest to przypadłość samego czujnika indukcyjnego i nie tylko Prusa boryka się z tym problemem.

Oczywiście mogłem za każdym razem bawić się w ręczne ustawianie offsetu dla osi Z, ale to trochę nie tędy droga. Na szczęście na facebookowej grupie Druk 3D Polska kolega Karol podrzucił pewien trop – w najnowszym firmware (w tej chwili dostępnym jedynie na githubie) zostały prowadzone jakieś poprawki w tym temacie. Nie tracąc czasu zabrałem się za aktualizację swojej Prusy do wersji 3.0.10-11.

Po aktualizacji w menu Kalibracja pojawiła mi się możliwość cieplnego skalibrowania czujnika PINDA (oraz kalibracja PID, ale to inny temat;)

Prusa i3 MK2S - cieplna kalibracja czujnika PINDA

Prusa i3 MK2S - cieplna kalibracja czujnika PINDA

Po uruchomieniu kalibracji drukarka dokona pomiaru wysokości na zimnym stole. Następnie stół rozgrzeje się do 50°C i zostanie wykonany drugi pomiar. Kolejne pomiary będą wykonywane co 10°C (czyli 60, 70, 80, …). Po skalibrowaniu cieplnym czujnika PINDA pomiary wysokości powinny być już wykonywane prawidłowo – niezależnie od tego, czy drukujemy z PLA, czy z ABS, TPU, PET-G, czy jakiegokolwiek innego materiału :)

A jak to działa w praktyce? Przed rozpoczęciem druku (jeszcze przed kalibrowaniem stołu) drukarka rozgrzewa stół i umieszcza nam nim czujnik PINDA, żeby go ogrzać. Rozgrzewanie czujnika trwa 120 sekund i jest wykonywane przed każdym wydrukiem (oczywiście można to wyłączyć w opcjach):

Prusa i3 MK2S - nagrzewanie czujnika PINDA

Pierwszy testowy wydruk puściłem z PLA (205°C / 55°C):

Prusa i3 MK2S - druk z PLA

Chwilę później ten sam model puściłem z ABS (255°C / 100°C):

Prusa i3 MK2S - druk z ABS

Jest perfekcyjnie! Niezależnie od temperatury głowicy i stołu drukarka poziomuje się na dokładnie tej samej wysokości. Po prostu petarda!

Powiem szczerze, że odczułem wielką ulgę, bo dosyć często zdarza mi się drukować z najróżniejszych materiałów i ten problem z ustawianiem wysokości osi Z był, delikatnie mówiąc, upierdliwy ;)

Jak zaktualizować firmware drukarki Prusa i3 MK2 / MK2S?

Ramową instrukcję aktualizowania znajdziecie bezpośrednio na githubie: https://github.com/prusa3d/Prusa-Firmware

Podczas aktualizacji bardzo ważne jest prawidłowe zidentyfikowanie płyty głównej, która siedzi w drukarce. Wszystkie drukarki MK2S mają płyty RAMBo 1.3, ale w wersjach MK2 były wsadzane zarówni RAMBo 1.3, jak i 1.0. Poniżej mała ściągawka ułatwiająca identyfikację płyty:

Prusa i3 - RAMBo 1.0 vs RAMBo 1.3
http://www.prusa3d.com/downloads/firmware/EN-how-to-choose-firmware.pdf

Znając wersję płyty można już śmiało lecieć z aktualizacją wg instrukcji na githubie.

Dla leniwych udostępniam całego gotowe Arduino IDE (w wersji portable) z firmware 3.0.10-11 przygotowanym do wgrania do drukarki Prusa i3 MK2S z płytą RAMBo 1.3.

UWAGA! Możecie skorzystać z mojego gotowca, ale pamiętajcie o tym, że robicie to na własną odpowiedzialność! U mnie aktualizacja przebiegła bez najmniejszych problemów, ale nie mogę zagwarantować, że tak samo będzie u Was!

Aby zrobić aktualizację z mojego gotowca wystarczy zrobić:

  1. Jeżeli wcześniej tego nie robiłeś, to ściągnij i zainstaluj sterowniki USB do Prusy
  2. Pobierz i rozpakuj archiwum arduino-prusa-i3-mk2s-majsterkowo.pl.zip
  3. Uruchom Arduino IDE
  4. Z menu Plik / Szkicownik wybierz pozycję Firmware
  5. Z menu Narzędzia / Płytka wybierz RAMBo
  6. Podłącz drukarkę i z menu Narzędzia / Port wybierz port, do którego jest podłączona
  7. Wciśnij CTRL+U, aby rozpocząć aktualizację

Po kilku chwilach (u mnie to trwało jakieś pół minuty) drukarka będzie już zaktualizowana.

Dobra informacja jest taka, że po aktualizacji cała konfiguracja drukarki zostanie zachowana, więc nie trzeba jej od nowa kalibrować, czy robić pomiarów PID (chociaż teraz to jest dużo prostsze, bo kalibrację PID można wyklikać z menu;)

Mam nadzieję, że po aktualizacji poziom Waszej frustracji opadnie równie mocno, co u mnie :)

Gdybyście mieli jakieś pytania, piszcie śmiało w komentarzach!

AKTUALIZACJA

Jak się okazało w praniu, wygrzewanie PINDY przed wydrukiem działa tylko wtedy, gdy drukujemy z karty SD. Jeżeli natomiast puszczamy wydruk z komputera, lub jak ja – za pośrednictwem Octoprint, to drukarka jak gdyby nigdy nic nagrzeje stół i przejdzie od razu do jego kalibracji (pomijając to dwuminutowe wygrzewanie czujnika). Na szczęście można temu prosto zaradzić :)

Przed wgraniem nowego firmware wystarczy edytować plik Marlin_main.cpp i znaleźć w nim następujący fragment kodu:

i zmienić go na:

czyli usuwamy po prostu z pierwszej linii następujący ciąg:

I tyle! Teraz wystarczy wgrać zmodyfikowane firmware i cieszyć się poprawnym ustawianiem dyszy niezależnie od tego, z czego puszczamy wydruk.

Pozdrawiam! I życzę udanych wydruków :)
Łukasz

Ocena: 5/5 (głosów: 7)

Podobne posty

Odpowiedz

anuluj

Masz uwagi?