Pod koniec marca 2024 r. rozpoczęliśmy wysyłkę MMU3 do Original Prusa MK4 (i MK3.9). Oznaczało to również koniec długiego okresu testów wewnętrznych, w którym MMU3 udowodnił, że wytrzymuje tysiące zmian filamentu w MK4. Wersja MK3S+ jest dostępna w sprzedaży od lipca 2023 r. i nadal działa bez zarzutu.

W tej chwili MMU3 jest dostępny dla wszystkich drukarek Prusa, dla których jest przeznaczony, większość wersji jest dostępna i każdego dnia skracamy czas realizacji wariantu do MK4 (szczegóły w tabeli wysyłek). Cieszymy się, że na Reddicie cały czas pojawia się wiele ambitnych projektów – ponad 150-godzinne wydruki bez ani jednej interwencji nie są obecnie niczym rzadkim. 🙂 

Zanim przejdziemy do rzeczy – linki do wszystkich modeli znajdują się na końcu artykułu!

MMU3 – szybki i wydajny

Istnieje wiele powodów, dla których trzymamy się tej samej koncepcji modułu do druku multimterial.

Przede wszystkim jest to niezwykle prosty mechanizm – możesz łatwo złożyć całe urządzenie w domu (lub zmodernizować poprzednią wersję), konserwacja jest bardzo prosta, ponieważ możesz szybko dostać się do wnętrza i usunąć wszelkie zanieczyszczenia itp. W tym celu ulepszyliśmy kilka części, dzięki czemu możesz teraz np. regulować nachylenie modułu w dwóch krokach, co zapewnia wygodniejszy dostęp. Jednak ogólnie rzecz biorąc, większość części została przeprojektowana i wzmocniona metalowymi elementami. Chcielibyśmy podziękować społeczności druku 3D za wskazanie nam właściwego kierunku dzięki cennym opiniom i modom użytkowników – sprawdź nasz wcześniejszy artykuł, aby dowiedzieć się więcej o zmianach sprzętowych!

Konstrukcja MMU3 pozwala również na bardzo szybką wymianę filamentu – średnio od 35 do 45 sekund w zależności od objętości czyszczenia ustawionych w PrusaSlicerze. Z łatwością może dokonać tysięcy zmian filamentu podczas pojedynczego druku wielomateriałowego, co odejmuje znaczną ilość czasu od całości drukowania, a jedynym szybszym rozwiązaniem jest zmieniarka narzędzi w XL.

Kolejną rzeczą, którą umożliwia MMU3, jest drukowanie wielomateriałowe z zarządzaniem odpadami. Zamiast cięcia i czyszczenia z dyszy nadmiernych ilości filamentu, MMU3 wykorzystuje kompaktową, częściowo pustą wieżę czyszczącą. Rozmiar wieży czyszczącej można dodatkowo zmniejszyć, korzystając z opcji czyszczenia na obiekcie lub na wypełnieniu, które usuwają resztki materiału z hotendu – w obu przypadkach nie musisz martwić się o kawałki plastiku piętrzące się obok drukarki.

Mimo, że urządzenie może wyglądać podobnie do poprzedniej wersji, wrażenia z użytkowania są zupełnie inne, również dzięki całkowicie przerobionemu firmware – postanowiliśmy podzielić się całym procesem tworzenia nowej wersji poniżej, na wypadek gdyby ktoś mi nie wierzył. 😉 Dzięki pełnej dwukierunkowej komunikacji między dwiema płytami, znacznie łatwiej jest konfigurować i uruchamiać wydruki wielomateriałowe. Kolorowy ekran dotykowy w MK3.5/MK4 zapewnia dodatkowe opcje, takie jak możliwość szybkiego przemapowania filamentów lub skonfigurowania funkcji SpoolJoin do wyczerpywania resztek filamentu z prawie pustych szpul.

Wreszcie, zdecydowaliśmy się zachować konstrukcję podobną do MMU2S, więc jeśli chcesz zmorernizować starszą wersję, jest to łatwe i tanie. Możesz oczywiście wgrać firmware MMU3 do swojego MMU2S, aby poprawić jego wydajność bez wymiany ani jednej części.

MMU3 do MK4

Teraz oczywiste pytanie brzmi: dlaczego wydanie MMU3 do MK4 zajęło więcej czasu, skoro inne wersje są dostępne od połowy 2023 roku?

Omówiliśmy to obszernie w naszych wpisach na blogu, więc teraz tylko streszczenie: mieliśmy w pełni działający MMU3 do MK4 gotowy do wysyłki około kwietnia 2023 roku i czekaliśmy na uwolnienie naszych mocy przerobowych – więc MMU3 został zaplanowany na czerwiec 2023 roku. Jednak gdy lato się zbliżyło, a temperatury zaczęły rosnąć, zauważyliśmy nagły spadek niezawodności (MK4 + MMU3). Dlaczego MK3S+ działała bez zarzutu, a MK4 nie? Przyczyna leży w różnicach między systemami wytłaczania i hotendami. Do tego momentu mieliśmy doskonale działającą kombinację i nagle wróciliśmy do punktu wyjścia.

Stworzyliśmy więc farmę testową i natychmiast rozpoczęliśmy opracowywanie rozwiązania. Jak już wcześniej wspomnieliśmy, w przypadku MMU wydruki mogą zajmować z łatwością ponad 30 godzin, co sprawia, że wszelkiego rodzaju testy są bardziej czasochłonne.

Przyczyna problemu kryła się w końcówkach filamentu – po wyciągnięciu filamentu z ekstrudera, końcówka musi być absolutnie idealna. Jednak w naszym przypadku rozładowane filamenty często miały na końcu długi, cienki kawałek plastiku, który powodował problemy w Nextruderze zaprojektowanym z bardzo ciasnymi tolerancjami. Opisaliśmy to obszernie w naszych poprzednich aktualizacjach (październik 2023 i styczeń 2024).

Skrajny przypadek tworzenia się nitek na końcówce filamentu

Ostatnią aktualizację zakończyliśmy stwierdzeniem, że większość problemów z MK4 jest spowodowana tym, że filament nie przechodzi płynnie przez ekstruder i do prowadnicy filamentu. To prowadzi mnie do…

Przekładka główna Nextrudera

Aby uzyskać wymagany poziom niezawodności częstego (roz)ładowywania filamentu, musieliśmy dostosować przekładkę główną Nextrudera [Main-plate] i dlatego jest ona również zawarta w pakiecie MMU3. Przeprojektowaliśmy również proces rozładowywania filamentu, dzięki czemu jest on bardziej wydajny i znacznie szybszy!

Gdy używasz MK4 w zwykły sposób i nawet zmieniasz filamenty kilka razy dziennie, przekładka nie wykazuje prawie żadnych oznak zużycia nawet po długim czasie. Jednak wielokolorowe wydruki mogą z łatwością wywoływać tysiące zmian filamentu podczas jednego wydruku – bez MMU osiągnięcie takiej liczby zmian filamentu zajęłoby prawdopodobnie wiele, wiele lat częstego drukowania. Przy tak wielu zmianach filamentu podczas wydruków wielomateriałowych, przekładka główna może wykazywać oznaki zużycia w zależności od intensywności korzystania z MMU.

Część, którą dołączamy do MMU, została wydrukowana przy użyciu technologii Multi Jet Fusion, aby zapewnić jej dłuższą żywotność. Nadal jednak musi być traktowana jako element eksploatacyjny, ponieważ z czasem ulegnie zużyciu. Drukarka śledzi zmiany filamentu i powiadomi użytkownika, gdy oczekiwana żywotność tej części dobiegnie końca lub gdy procedura ładowania filamentu stanie się zbyt zawodna z powodu nadmiernego zużycia. Zgodnie z naszymi wewnętrznymi testami, część z MJF wytrzymuje około 80 000 wymian filamentu, a następnie wymaga wymiany (wymiana zajmuje około 10 minut). Dokładnie przetestowaliśmy tę część w testach wewnętrznych i jeśli wystąpią problemy wcześniej niż oczekujemy, prawdopodobnie przyczyna leży gdzieś indziej. Prosimy o kontakt z naszym zespołem pomocy technicznej w celu uzyskania pomocy.

Krótkoterminowym rozwiązaniem jest wydrukowanie części z PETG – plik STL jest dostępny na Printables.com. Jej żywotność będzie jednak zauważalnie krótsza.

Droga do MMU3

Pod koniec 2021 r. / na początku 2022 r. nasz lider ds. firmware, David, zaczął tworzyć listę funkcji dla nowego firmware MMU2S. Początkowo jedynym celem było wyświetlanie odpowiednich komunikatów o stanie na ekranie drukarki, jeśli MMU napotka problem. Z czasem przerodziło się to w zupełnie nowy projekt, mający na celu dodanie pełnej dwukierunkowej komunikacji, odpowiednich komunikatów o stanie i wielu innych funkcji, które sprawią, że urządzenie będzie znacznie mniej podatne na problemy związane z montażem. Zdaliśmy sobie sprawę, że montaż MMU wymagał zbyt wiele cierpliwości, aby upewnić się, że wszystko jest PERFEKCYJNIE ustawione. Nigdy nie było to problemem w przypadku naszych drukarek 3D (jak wiele osób mówi w Internecie „zestaw montażowy po prostu działa”), więc sytuacja z MMU była nieco zaskakująca – a użytkownicy bardzo jasno wyrażali swoją frustrację.

Zwykle ludzie nie publikują w Internecie postów, typu „Wszystko jest w porządku”. W Internecie szuka się pomocy w rozwiązywaniu problemów. Gdy zaczęły pojawiać się pytania dotyczące MMU2 i prośby o pomoc, powstało poczucie, że MMU2S w ogóle nie działa. Jednak większość użytkowników nie miała większych problemów z drukowaniem wielomateriałowym. Ponadto, gdy zaczęły pojawiać się różne społecznościowe mody/poprawki, miały one różny stopień skuteczności – właśnie dlatego, że zbyt trudno było złożyć MMU z dużą precyzją, więc przyczyna problemu często znajdowała się w różnych miejscach. Potraktowaliśmy te uwagi bardzo poważnie. Ponadto rozesłaliśmy do wszystkich posiadaczy modułów MMU2S informacje o tym, jak mogą ulepszyć swoje moduły za pomocą nowego firmware i zaoferowaliśmy sposoby na zrekompensowanie problemów podczas montażu.

Firmware na ratunek

Dokładnie przeanalizowaliśmy sytuację, przeglądając posty użytkowników w mediach społecznościowych, filmy, recenzje, modyfikacje i oczywiście raporty pomocy technicznej. Początkowo chcieliśmy przerobić firmware, aby był bardziej przyjazny dla użytkownika, ponieważ urządzenie wykorzystywało prosty, ale nieco tajemniczy system pięciu diod LED do komunikacji z użytkownikiem. Była to jedna z rzeczy, które przyczyniły się do zamieszania w mediach społecznościowych. „O nie, moja pierwsza i trzecia dioda LED migają! Co to oznacza?” Sprawiło to, że radzenie sobie z typowymi problemami z drukowaniem stało się zbyt trudne. Bardziej sensowne byłoby, gdyby drukarka mogła powiedzieć „Coś blokuje obrót docisku, sprawdź następujące elementy:” zamiast migać diodami LED.

 

Nie trzeba dodawać, że firmware dla MMU2 zostało opracowane w niewielkim zespole wiele lat temu, a w ciągu ostatnich kilku lat w firmie wiele się zmieniło. David postanowił więc ulepszyć istniejącą bazę kodu, ale to, co początkowo wydawało się prostą aktualizacją firmware, okazało się zupełnie nowym projektem, który zakończył się wprowadzeniem MMU3. Zamiast ulepszać stary kod, poleciał on do kosza, a nowe firmware zostało napisane całkowicie od zera. Całkowite przerobienie kodu doprowadziło do ogromnej poprawy ogólnej wydajności – co nie zawsze ma miejsce przy tworzeniu oprogramowania. 😉

W ciągu dwóch miesięcy powstała propozycja zupełnie nowej architektury FW. Początkowo rozważaliśmy Arduino IDE, ale później zrezygnowaliśmy z tego rozwiązania, ponieważ nie pozwalało nam na wszystko, co zaplanowaliśmy.

Firmware zbudowane jest z trzech warstw:

  • HAL – Hardware Abstraction Layer – umożliwia dostęp do timerów, watchdogów, EEPROM, USART i innych
  • Moduły – abstrakcja komponentów jednostki – przyciski, czujnik. FINDA, Fsensor, docisk, diody LED, pełna obsługa silników krokowych, pamięć stała, protokoły, koło radełkowane, wybierak, komunikacja szeregowa, synchronizacja, USB CDC, wejście użytkownika.
  • Logika aplikacji – logika funkcji, takich jak odcinanie, wysuwanie filamentu, bazowanie, sprawdzanie poprawności HW, ładowanie filamentu, rozładowywanie i inne.

Jedną z rzeczy, które utrudniały działanie poprzedniego firmware (które miało swoje korzenie w 2017 roku) było to, że zostało ono napisane jako kod synchroniczny, co w zasadzie wykluczało wysłanie jakiejkolwiek aktualizacji do drukarki podczas wykonywania akcji przez MMU. Zanim moduł MMU mógł zareagować na jakiekolwiek nowe dane wejściowe lub napotkaną sytuację, musiał zakończyć pewien cykl. Co więcej, tak naprawdę nie wiedział, co dzieje się z drukarką. Otrzymywał jedynie polecenia, które były następnie wykonywane. W nowej architekturze już tak nie jest. Wszystko działa jako równoległa maszyna stanowa przez cały czas, a zarówno drukarka, jak i MMU stale komunikują się ze sobą, dzieląc się informacjami w czasie rzeczywistym. W ten sposób system może rozwiązać wiele sytuacji, które w przeciwnym razie powodowałyby komunikaty „MMU wymaga uwagi użytkownika”. Ładowanie filamentu nie powiodło się? Niech MMU spróbuje załadować go ponownie – automatycznie. Dobrze, teraz działa, kontynuujmy.

 

Wszystko to zostało wykonane na prostym układzie ATMega 32U4. Ponieważ uruchomienie wbudowanego systemu operacyjnego z wielozadaniowością nie jest opłacalne ze względu na ograniczone zasoby, musieliśmy stworzyć go sami. Cóż, nie jest to „prawdziwa” wielozadaniowość, to raczej inteligentna architektura, która zapewnia, że żaden komponent nie może blokować innych, dzięki czemu wszystko działa przez cały czas.

Testy jednostkowe i integracja

David i jego zespół spędzili miesiące rozwijając firmware tylko przy użyciu testów jednostkowych (testowanie tylko małych części kodu) i zawsze sprawdzali, czy avr-gcc może skompilować kod. Jedyne części testów fizycznych zostały wykonane przy częściowej implementacji komponentów HAL. Gdy rozwój był już na późniejszych etapach, zespół deweloperów w końcu załadował firmware na płytkę MMU2S – działało to pięknie, udowadniając, że podejście do rozwoju oparte na testach jednostkowych ma kluczowe zastosowanie.

Istotną częścią nowego firmware było zaimplementowanie odpowiednich komunikatów o błędach – oznaczało to również przygotowanie drugiej strony (drukarki) do komunikacji. Z dwoma różnymi gałęziami firmware (MK3S+ z płytą Einsy i 32-bitowa MK4 z płytą xBuddy), było trochę dodatkowej pracy do wykonania.

W końcu tutaj również używamy maszyn stanowych. Drukarka jest urządzeniem sterującym, a MMU tylko odpowiada na polecenia (ale tym razem może również „raportować”). Ma to sens również dlatego, że mocniejszy procesor w drukarce kontroluje komunikację, żądania i nie tylko. Powyżej tego protokołu komunikacyjnego znajduje się jedna dodatkowa warstwa, która łączy protokół z firmware Marlin. W tym miejscu chcieliśmy zachować API najwyższego poziomu, ale wszystko inne zostało wyrzucone i całkowicie przepisane.

Wymagało to niesamowitego nakładu pracy, ale ostatecznie było warto. Komunikacja między dwoma urządzeniami przebiega płynnie, a całe doświadczenie jest praktycznie bezproblemowe.

A potem zespół sprzętowy miał kilka pomysłów.

Poprawka tu, poprawka tam…

Wspomnieliśmy już, że modyfikacje wprowadzone przez społeczność były ważnym wyznacznikiem, który pomógł nam skupić się na kluczowych obszarach.

Wraz z rozpoczęciem prac nad nowym firmware, nasz zespół ds. rozwoju sprzętu przyjrzał się modułowi MMU i postanowił ulepszyć kilka części tu, kilka części tam – i ostatecznie przeprojektował większość komponentów z wyjątkiem elektroniki. Więcej szczegółów znajdziesz w poprzednim wpisie na blogu.

W międzyczasie zespół firmware postanowił dodać jeszcze jeden komponent do bazy kodu. Całkiem spory: obsługę rejestru. A dokładniej: parametryzację MMU w czasie działania, podobną do MODBUS. Podjęliśmy nawet próbę wykorzystania pełnego protokołu MODBUS, jednak ze względu na ograniczone zasoby MK3S+ zrezygnowaliśmy z tego na rzecz zmodyfikowanej wersji protokołu MMU. Dodaje on teraz 35 wpisów do rejestru (1-bajtowych i 2-bajtowych), niektóre są tylko do odczytu, inne do odczytu/zapisu, a niektóre są przechowywane trwale w pamięci EEPROM. Daje nam to całą masę nowych opcji, w tym nowe G-code M707 i M708 do odczytu/zapisu wpisów rejestru. Pozwala to na przykład skonfigurować prędkość ładowania filamentu przed każdą jego wymianą. Ponadto każda drukarka parametryzuje swoje MMU na starcie – co pozwala nam mieć tylko jeden firmware MMU dla wszystkich obsługiwanych modeli drukarek.

Więcej mocy nie zawsze znaczy lepiej

Kiedy MMU3 ładuje filament do ekstrudera, jest to dość prosta operacja. Docisk obraca się, wywierając nacisk na filament i dociskając go do kół radełkowanych. Koła radełkowane zaczynają się obracać, przepychając filament przez wybierak i rurkę PTFE do ekstrudera.

Nasz początkowy pomysł był taki, że potrzebujemy jak największego nacisku. Dlaczego nie? Musisz przepchnąć filament przez rurkę PTFE i jednocześnie nie chcesz, aby filament ślizgał się lub silnik gubił kroki. Ale w rzeczywistości tak nie jest. Ruch filamentu jest sprawdzany przez dwa czujniki filamentu (w MMU i w drukarce), więc nie ma znaczenia, czy silnik zgubi kilka kroków. Nie musi też pracować z pełną mocą.

Pomaga to uniknąć zgniatania filamentu, gdzie zbyt mocny napęd mógłby zetrzeć materiał, uniemożliwiając popchnięcie go do przodu przez radełka. Jeśli znasz Top Gear, prawdopodobnie kojarzysz Jeremy’ego Clarksona krzyczącego „POWAAHH!” podczas potężnego palenia gumy, które zwykle niemal kończyło się kolizją – tu jest podobnie. Nadmierna moc jest bezużyteczna, gdy koła nie mogą przenieść momentu obrotowego na drogę. Mniejszy prąd płynący do silnika oznacza, że jeśli filament gdzieś utknie, silnik nie zmieli materiału i nie spowoduje więcej problemów pół godziny później, gdy ta część filamentu dostanie się do ekstrudera. Gdy MMU przekroczy zadany zakres / długość kroku, i tak pokaże błąd. Ale kawałek filamentu może być ponownie użyty (nie wyrzucony).

Ponadto, w przeciwieństwie do drukarki, stare firmware MMU nie posiadało odpowiedniej dedykowanej logiki obsługi kroków i planowania. Sprawiało to, że moduł był bardziej hałaśliwy niż być powinien, a ponadto prawie niemożliwe było kontrolowanie przyspieszeń w inny sposób niż poprzez zmianę kodu. Z nowym firmware jest inaczej. Mamy w pełni funkcjonalny silnik obsługi kroków i planowania, który zarządza 3 osiami jednocześnie, w tym rampowaniem przyspieszenia. Pozwala nam to dynamicznie kontrolować prędkości i przyspieszenia wszystkich silników w czasie pracy. Ponadto zmieniliśmy sposób, w jaki sterowniki TMC2130 wykonują bazowanie (teraz mierzymy długość osi), co również pomaga uczynić urządzenie bardziej cichym i niezawodnym.

Za firmware MMU3 kryje się więcej rzeczy, ale są one jeszcze bardziej nerdowskie niż to, co właśnie objaśniłem. Może innym razem 🙂

Kolorowe wydruki łatwiej i z mniejszą ilością odpadów

To podsumowuje obecny stan MMU3. Jednostka jest dostępna dla wszystkich obsługiwanych modeli drukarek, działa wyjątkowo dobrze i pozwala osiągać naprawdę imponujące wyniki przy minimalnym wysiłku.

Jesteśmy w trakcie odkopywania się z zaległości w zamówieniach na moduł MMU3 szybciej niż się spodziewaliśmy, więc jeśli jeszcze nie wysłaliśmy Twojego zamówienia, wkrótce będzie w drodze. A jeśli już drukujesz przy użyciu wielu filamentów, podziel się z nami swoimi wydrukami! Nie możemy się doczekać, aby je zobaczyć!

Udanego drukowania!

 

Linki do modeli:

https://3dsets.com/product/model-7-buggy/

https://www.printables.com/pl/model/384371-the-frog-prince-multi-and-single-colour-fairytale-

https://www.printables.com/pl/model/748459-articulated-sea-turtle-singlecolor-and-multicolor

https://www.printables.com/pl/model/576954-chibi-wolverine

https://www.printables.com/pl/model/144657-mini-viking

https://www.printables.com/pl/model/379304-astronaut-sitting-on-moon

https://www.printables.com/pl/model/138600-cat-sculpt-with-mmu-painting

https://www.printables.com/pl/model/563626-lola-bunny-space-jam

https://cults3d.com/en/3d-model/art/kingfisher-mmu-three-versions