RepRapFirmware na SKR 1.1

Dzięki wysiłkom grupy teamgloomy możliwe jest uruchomienie świetnego oprogramowania drukarkowego RepRapFirmware na płytkach opartych o mikrokontrolery LPC176* oraz STM32F4*, zamiast wyłącznie na dedykowanych płytach Duet 2/Duet 3. Ma to swoje zalety - płyty takie jak SKR 1.1/1.3/1.4 są znacznie tańsze od Dueta 2, nie wspominając nawet o jeszcze kosztowniejszym Duecie 3. Kolejną zaletą, której nie uświadczymy w Duetach jest możliwość użycia dowolnych sterowników silników krokowych (StepSticków). Użyte w Duecie 2 WiFi/Ethernet TMC2660 to dobre układy, ale nie zapewniają tak cichej pracy jak choćby TMC2208/9. W niniejszym artykule przedstawię sposób podłączenia i uruchomienia RRF na płycie SKR 1.1. Dla nowszych wersji tej płyty jest to dość dobrze opisane, ale SKR 1.1 ma inny rozkład wyprowadzeń w złączach EXP1 i EXP2 niż jej młodsze siostry, dlatego też nie wystarczy podłączyć po prostu 1:1 wtyczek pomiędzy SKR a modułem WiFi. Ja użyłem modułu Mellow Fly WiFi, w wersji pierwszej. Obecnie na Aliexpress dostępna jest kolejna wersja tego modułu, która nie posiada dodatkowych złączy. Można wykorzystać także moduł BigTreeTech - sposób podłączenia i funkcjonalność jest analogiczna.

 

Instalację rozpoczniemy od przygotowania oprogramowania i jego konfiguracji. Wszystkie istotne informacje można znaleźć na wiki Teamgloomy. Najprościej jest cały proces zacząć od uruchomienia konfiguratora. Przeprowadzi nas on przez cały proces konfiguracji i na koniec wskaże linki do najnowszych wersji potrzebnych składników, które należy pobrać. Postaram się omówić pokrótce najważniejsze parametry, ale wszystko zależy tak na prawdę od tego, jaką drukarkę posiadasz i w co jest ona wyposażona.

1. Wybieramy "Custom Configuration"

2. Ustawienia ogólne drukarki - tu należy wybrać typ płyty głównej drukarki (w naszym przypadku SKR 1.1), wpisać jej nazwę, wybrać typ kinematyki i wpisać rozmiary pola roboczego. Jako, że do komunikacji z drukarką wykorzystamy moduł WiFi, to należy zaznaczyć także opcję "Run in standalone mode without SBC" (SBC - Single Board Computer, taki jak na przykład Raspberry Pi. Nie będziemy z niego korzystać).

3. W tym kroku definiujemy, do jakich pinów podłączone są krańcówki i grzałki. Zwykle standardowa konfiguracja jest dobra i nie trzeba tego zmieniać. Ja jednak pod wyjście drugiej grzałki podłączę wentylator hotendu, aby nie był włączony cały czas.

4. W sekcji silników wybieramy kierunek pracy silników krokowych, typ sterownika, liczbę kroków na milimetr, jerk, akcelerację i prąd. Akurat płyta SKR 1.1 obsługuje sterowniki wyłącznie w trybie Standalone, dlatego też ustawienia prądu w tym miejscu nie mają znaczenia. Prąd ustawia się w takim wypadku klasycznie za pomocą potencjometru. Jeśli nie wiemy, w którą stroną powinny się obracać dane silniki to bez obaw - można to zmienić po uruchomieniu drukarki.

5. Następnie ustawiamy krańcówki - ich typ oraz położenie (krańcówka w położeniu minimum lub maksimum danej osi. Jeśli mamy sondę do automatycznego poziomowania stołu to ustawiamy ją w tym miejscu.

6. W kolejnym kroku ustawiamy parametry grzałek i ich termistorów. Po naciśnięciu na jeden z parametrów termistorów pokazuje się dodatkowe okienko, w którym można wybrać jeden z predefiniowanych typów termistorów. Jeśli nie wiemy, jakie powinny być te parametry to najlepiej poszukać ich w internecie - ktoś już na pewno zmierzył się z tym problemem. No chyba że mamy bardzo nietypowy termistor, wtedy najszybciej jest wymienić go na coś popularniejszego. Nie są one drogie.

7. Następnie ustawiamy wentylatory. FAN0 to wentylator chłodzenia wydruku, sterowany z poziomu g-codu, zaś FAN1 to wentylator hotendu, który będzie załączał się po osiągnięciu temperatury wyższej niż 45 stopni. Polecam zmniejszyć trochę częstotliwość PWM ze standardowych 500Hz aby zmniejszyć nieprzyjemny hałas generowany przez wiatraki przy niższych prędkościach obrotowych.

8. W kolejnych dwóch ekranach (Tools i Compensation) ja zostawiam domyślne wartości, klikając po prostu "Next"

9. Jeśli mamy do dyspozycji jakiś wyświetlacz, to w tym miejscu można włączyć jego obsługę. Na chwilę obecną wyświetlacze graficzne 12864 nie są obsługiwane. Jeśli posiadamy wyświetlacz to należy wskazać piny odpowiedzialne za transmisję danych. Domyślne ustawienia wskazują na złącze TFT na płycie i nie trzeba ich zmieniać. Ja osobiście nie zamierzam używać ekranu, dlatego ostatecznie odznaczyłem "Enable support for PanelDue"

10. Przedostatnia zakładka dotyczy sieci. Włączamy sieć i ustawiamy odpowiednie piny, ewentualnie można ustawić jakieś hasło do interfejsu drukarki. Nazwy sieci i hasła nie trzeba na tym etapie wpisywać, można zrobić to później. Jeśli nie korzystamy z wyświetlacza, to można podłączyć moduł WiFi do złącza TFT, dzięki czemu będzie możliwa aktualizacja jego oprogramowania bezpośrednio z DWC (DuetWebControl), bez żadnych zmian sprzętowych, podpinania dodatkowych kabli czy innych działań. Konfiguracja pinów powinna być taka jak na screenie.

11. W ostatnim oknie zaznaczamy wszystkie opcje, aby "przy okazji" pobrać niezbędne składniki w najnowszych wersjach.

12. Po kliknięciu Finish pojawi się okno z linkami do pobrania plików. Wybieramy "Download configuration bundle as ZIP file". Pobieramy również RepRapFirmware, ESP8266 Firmware i Duet Web Control

13. Pobrane pliki należy umieścić na karcie pamięci. Pliki konfiguracyjne należy rozpakować do folderu "sys", tam też powinien trafić plik ESP8266 Firmware, którego nazwa powinna zostać zmieniona na "DuetWiFiServer.bin. RepRapFirmware kopiujemy do katalogu głównego karty, zmieniając jego nazwę na firmware.bin. Archiwum z Duet Web Control rozpakowujemy do folderu www. Oprócz tego należy utworzyć puste foldery: gcodes, macros i filaments.

14. Tak przygotowaną kartę pamięci wkładamy do slotu SD płyty i podłączamy zasilanie. Firmware wgrany zostanie automatycznie. Można podpiąć kabel USB do komputera i w dowolnym terminalu (np. YAT lub PuTTY) wydać komendę M115. W odpowiedzi oprogramowanie powinno przedstawić się na przykład tak:

FIRMWARE_NAME: RepRapFirmware for LPC176x based Boards FIRMWARE_VERSION: 3.2.2_2 ELECTRONICS: LPC176x FIRMWARE_DATE: 2021-02-19

Część software'ową mamy tym samym zakończoną. Kolejnym krokiem jest podłączenie modułu WiFi do płyty. W przypadku SKR 1.1 nie jest to takie proste i nie wystarczy podłączyć taśm pomiędzy złączami EXP1 i EXP2 płyty i modułu. Można wykorzystać żeńsko-żeńskie przewody prototypowe, jednak pewność takiego rozwiązania nie jest zbyt wysoka, jak i ewentualne odpięcie modułu będzie wymagało czasochłonnego poszukiwania odpowiednich połączeń.

Ja poszedłem o krok dalej i przygotowałem specjalną taśmę, która pasuje do obecnych złącz.

Rozkład połączeń przedstawia się następująco:

SKR ESP Funkcja
EXP1 - 1 EXP1 - 1 GND
EXP1 - 2 EXP1 - 2 +5V
EXP1 - 7 EXP2 - 6 0.18 - MOSI
EXP1 - 8 EXP2 - 8 0.16 - CS
EXP1 - 9 EXP1 - 9 1.30 - LPC_DATA_READY
EXP1 - 10 EXP1 - 10 2.11 - ESP_DATA_READY
EXP2 - 3 EXP2 - 3 1.31 - RST
EXP2 - 9 EXP2 - 9 0.17 - MISO
EXP2 - 10 EXP2 - 10 0.15 - SCLK

Numeracja pinów w złączu taśmowym przedstawia się następująco:

Oprócz tego pod złącze TFT podłączamy dodatkowe, czteropinowe złącze UART do aktualizacji firmware ESP. Na płytce WiFi kolejne piny są opisane, w złączu TFT występuje dokładnie taka sama kolejność. +5V to pierwszy pin od strony karty pamięci.

Po podłączeniu modułu i włączeniu zasilania, jeśli wszystko poszło jak trzeba to możemy wgrać/zaktualizować firmaware modułu ESP. W tym celu podłączamy kabel USB i za pomocą terminala wydajemy polecenie M997 S1. Po odczekaniu krótkiej chwili powinno zaktualizować się oprogramowanie w module ESP.

Teraz możemy podłączyć się do swojej sieci WiFi. W tym celu wydajemy trzy polecenia:

M552 S0

M587 S"ssid-sieci" P"hasło"

M552 S1

Uzupełniając oczywiście polecenia o właściwe SSID oraz hasło do sieci. Uwaga - dane te są wrażliwe na wielkość znaków. Jeśli wszystko poszło jak należy to w terminalu otrzymamy po chwili otrzymany adres IP. Aby się dostać do konsoli zarządzania drukarką wystarczy teraz odpalić przeglądarkę internetową i wpisać adres IP drukarki lub nazwa_drukarki.local