Powoli, lecz nieuchronnie, zbliżamy się do zamknięcia rozdziału zwanego Original Prusa i3 MK3S+, choć nie planujemy porzucić wsparcia już jutro. Tak czy inaczej, seria MK3 miała długą i wspaniałą historię. Pierwsze egzemplarze zostały wysłane pod koniec 2017 roku i od tego czasu pracujemy nad aktualizacjami i ulepszeniami. Ostatnie wersje firmware przyniosły ważne dodatki do i tak już długiej listy zabezpieczeń, w szczególności system Thermal Model Protection (ochrona oparta na modelu termicznym), który stale i z najwyższą dokładnością sprawdza, czy drukarka Prusa działa zgodnie z oczekiwaniami. Od samego początku mieliśmy świetne systemy bezpieczeństwa, ale zawsze jest miejsce na ulepszenia.

Model termiczny – szybkie podsumowanie

Firmware 3.12 do MK3/S/+ przyniosło nowe zabeczpieczenie nazwane Thermal Model Protection, które opisaliśmy szeroko w tym artykule.

Zatem krótkie podsumowanie: wprowadziliśmy to nowe zabezpieczenie, aby szybko identyfikować i rozwiązywać nieoczekiwane problemy z nagrzewaniem drukarki 3D. Celem jest zatrzymanie procesu nagrzewania w ciągu 10-12 sekund, aby zapobiec potencjalnym uszkodzeniom. Problemy te obejmują różne czynniki, takie jak problemy z okablowaniem, nieprawidłowe działanie grzałek, usterki termistorów i zmienne zewnętrzne, takie jak przeciągi i tworzenie się blobów na ekstruderze.

Funkcja ta opiera się na wewnętrznej symulacji hotendu. Firmware stale monitoruje odczyty termistora, aby upewnić się, że są one zgodne z predefiniowanym wzorcem modelu termicznego. Jeśli wykryte zostaną jakiekolwiek nieprawidłowości, drukarka zareaguje w ciągu kilku sekund, wyświetlając ostrzeżenie „ANOMALIA TERMICZNA”, które zniknie, gdy odczyty wrócą do oczekiwanych wartości w ciągu 5 sekund. Jeśli anomalia będzie się utrzymywać, drukarka wyłączy ogrzewanie i uruchomi ostrzeżenie dźwiękowe, aby powiadomić użytkownika.

Pytanie brzmi: Co się stanie, jeśli drukarka 3D zostanie mocno zmodyfikowana?

Zbieranie danych

Przeanalizowaliśmy ponad 150 000 pomiarów, aby stworzyć model termiczny dla naszych fabrycznych drukarek 3D MK3S+. Zasadniczo sprawdziliśmy zakresy różnych parametrów (temperatur, mocy wyjściowej, czasu), a następnie stworzyliśmy ogólny profil, który można bezpiecznie zastosować do każdej naszej drukarki. Oznaczało to przesuwanie drukarek do granic ich możliwości (tak, był dym). Na przykład użyliśmy niestandardowego bloku grzejnego z miejscem na 2-3 termistory, dzięki czemu mogliśmy podłączyć uszkodzony termistor wraz z w pełni działającym i porównywać je w czasie rzeczywistym.

Jednak nie byliśmy w stanie przetestować każdej dostępnej modyfikacji naszych drukarek i przygotować indywidualnych modeli termicznych. Nasze drukarki mają otwarte źródło i każdy może je modyfikować, dostrajać i hakować w dowolny sposób, ale ponieważ bezpieczeństwo i niezawodność są jednymi z naszych najważniejszych priorytetów, musieliśmy gdzieś wyznaczyć nielubianą granicę. Był nią model termiczny.

Wkrótce po premierze zaczęliśmy otrzymywać raporty od różnych użytkowników. Niektóre z nich były w rzeczywistości wołaniem drukarki o pomoc. Ochrona oparta na modelu termicznym przeszkadzała użytkownikom tylko dlatego, że komponenty ich drukarek były uszkodzone i wymagały wymiany. Za każdym razem, gdy nowy system wyrzucał błąd, był on poważny. Nasza rekomendacja w tej kwestii jest dość jasna: jeśli Twój czujnik dymu zaczyna Cię denerwować ciągłym pikaniem, rozwiązaniem nie jest wyjęcie jego baterii. To samo dotyczy nowych zabezpieczeń w firmware. Oczywiście nie oznacza to, że firmware jest w 100% kuloodporny – zidentyfikowaliśmy już i rozwiązaliśmy kilka nietypowych przypadków. Jeśli więc masz MK3S+ i system zabezpieczeń sprawia Ci problemy, zamiast „wyjmować baterie z czujnika dymu”, skontaktuj się z nami, a my z przyjemnością Ci pomożemy.

Są to więc drukarki standardowe i zmodyfikowane przez użytkownika. Jest też Revo.

Hotend Revo stworzony przez naszych przyjaciół z E3D jest popularną alternatywą dla standardowego hotendu MK3S+. Mimo że jest to świetny sprzęt, nadal jest to modyfikacja innej firmy. Ponieważ nasz zespół w pełni poświęcił się ukończeniu MMU3, Revo musiało zostać potraktowane w inny sposób. Na szczęście jako hotend ma bardzo spójną charakterystykę.

Zmierzyć Revo

Ze względu na ograniczone możliwości naszego zespołu deweloperów, zwróciliśmy się o pomoc do naszej społeczności. Wielu użytkowników GitHuba pospieszyło nam z pomocą – nasze największe podziękowania kierujemy do użytkowników: alexiri, kromeninja, ulab, JWvP, snafu1282, matthiazzz, sdh2, devejhilton D-an-W oraz MaroonOut09, a to tylko garstka z nich. Dziękujemy wszystkim, którzy przyczynili się do powstania firmware 3.13, Wasz wkład jest bardzo doceniany!

Poprosiliśmy członków społeczności o zmierzenie temperatur i prędkości wentylatorów w określonych warunkach. Odzew był niesamowity i byliśmy w stanie zebrać wystarczającą ilość danych dość szybko – jedną z rzeczy, które również pomogły, jest fakt, że hotendy Revo mają spójne właściwości w całym zakresie produkowanych egzemplarzy.

Po zebraniu danych bazowych przygotowaliśmy aktualizację modelu termicznego, która została rozdystrybuowana jako eksperymentalny firmware w celu podwójnego sprawdzenia, czy dobrze trafiliśmy. Jak się okazało, był to krok we właściwym kierunku. Wyniki były obiecujące, ale potrzebowaliśmy większej próbki. Nie mogliśmy zebrać wystarczającej ilości danych od członków społeczności, a także nie chcieliśmy używać zbyt ogólnych wartości (o zbyt szerokim zakresie), ponieważ sprawiłoby to, że system zabezpieczający byłby znacznie mniej niezawodny.

W międzyczasie czekaliśmy, aż E3D dostarczy nam swoje oficjalne dane. E3D musiało sprawdzić różne partie swoich hotendów Revo, aby znaleźć wartości graniczne, dzięki czemu mogliśmy zobaczyć, jaki jest zakres dla różnych parametrów. Po uzyskaniu tych wartości mogliśmy wreszcie wykonać ostatni krok: skompilować wszystko do pliku firmware.

Ostatecznie zdecydowaliśmy się na osobny zestaw plików binarnych – łatwiej jest wgrać odpowiedni plik firmware niż dostosowywać wartości w ustawieniach. Co więcej: dzięki tym systemom możemy teraz łatwo dodawać modele termiczne – jeśli chcesz dodać obsługę Thermal Model Protection dla swojego hotendu innej firmy, skontaktuj się z nami, a my przygotujemy Cię do tego.

Więcej wkładu społeczności

Niedawno wydaliśmy nowy firmware 3.13.2-RC1, który zawiera jeszcze więcej wkładu społeczności. 8-bitowa architektura jest mocno ograniczająca (więc nie będzie w stanie uruchomić np. Input Shaper i Pressure Advance), ale zawsze wspaniale jest zobaczyć, jak optymalizacja kodu może zaoszczędzić cenne bajty. Dzięki ostatnim zmianom w kodzie, byliśmy w stanie zaoszczędzić 6 kB wewnętrznej pamięci flash (nawet z MMU3S i modelem termicznym). Dało nam to więcej miejsca na dodatki stworzone przez społeczność.

Wdrożyliśmy funkcję „Włącz/wyłącz czujnik filamentu” przesłaną przez Commod0re, a także wsparcie dla G-code M118 opracowane przez Robomagus, które umożliwia wysyłanie komunikatów (Serial print) do serwerów takich jak Octoprint czy PrusaLink.

I wreszcie – w firmware 3.13.0 zaimplementowaliśmy wsparcie dla Meatpack dostarczonego za pośrednictwem pull requestów przez scottmudge! Jest to ekscytujące osiągnięcie, ponieważ Meatpack zasadniczo pozwala na kompresję kodu G ze współczynnikiem ~0,61 przy wykorzystaniu bardzo niewielkich dodatkowych zasobów obliczeniowych.

I to wszystko na dziś. Mam nadzieję, że podobał Ci się mały wgląd w naszą „kuchnię” firmware. W najbliższej przyszłości z pewnością przedstawimy więcej dzienników deweloperów.