Kalibracja drukarki 3D część 1: Konfiguracja Marlina

Cześć,
w tej części poradnika dowiesz się jaki wybrać firmware do swojej drukarki. Jest to jakby nie patrzeć najważniejsza część poradnika z całej serii, ponieważ od firmware’u zależy jak drukarka będzie pracować. Zapraszam zatem do zapoznania się z procesem wyboru i konfiguracji firmware’u. 

część 2.: Konfiguracja Stepsticków A4988
część 3.: Kalibracja ekstrudera i stołu
część4.: Konfiguracja Repetier-Host z silnkiem Slic3r

Aby nie pogubić się w naszym poradniku to podzielę go na części:

  1. Wprowadzenie, co to jest firmware ?
  2. Wybór firmware’u – Marlin czy Repetier  ?
  3. Instalacja środowiska Arduino
  4. Wstępna konfiguracja firmware
  5. Ustawienie microsteppingu oraz obliczanie ilości kroków na mm dla osi X, Y, Z
  6. Odblokowywanie dodatkowych peryferii drukarki
  7. Wgrywanie oprogramowania
  8. Podsumowanie

1. Wprowadzenie, co to jest firmware ?

Firmware jest to oprogramowanie pokładowe urządzenia, które ma dostęp do wszystkich peryferii urządzenia – w tym przypadku drukarki- dzięki czemu potrafi ono zarządzać urządzeniem w sposób sprawny tzn. taki do jakiego zostało ono zaprojektowane. Czyli w prostych słowach jest oprogramowanie drukarki, które steruje jego pracą.

2. Wybór firmware’u – Marlin czy Repetier  ?

Marlin oraz Repetier są to dwa rodzaje firmware’u, które w efekcie końcowym dadzą nam taki sam efekt- tzn. drukarka będzie działać. Zatem, który wybrać ? Większej różnicy nie ma. Tak na dobrą sprawę to Repetier bazuje na Marlinie zatem nie ma jakiejś wielkiej przepaści między tymi dwoma firmware’ami. Ze względu na to, że do swojej drukarki wgrałem Marlina i działa on bez zarzutów to przedstawię cały proces na Marlinie.
Firmware możemy pobrać repozytorium GitHub twórcy KLIK. Po prawej stronie znajduję się przycisk „Download ZIP”, klikamy, a następnie wybieramy miejsce na dysku gdzie ma się zapisać. Jak już się ściągnie to rozpakowujemy do folderu. Teraz przyszedł czas na środowisko Arduino.

3. Instalacja środowiska Arduino

Aby ten poradnik nie był za długi, a był zarazem czytelny to pokaże tylko skąd pobrać Arduino. Pobieramy środowisko Arduino ze strony producenta. Mamy do wyboru dwa typy dla Windowsa do pobrania. Wersję, którą się instaluję oraz wersję, którą tylko rozpakowujemy i gotowe. Nie ma to większego znaczenia. Następnie instalujemy sterowniki płytki, w moim przypadku jest to Arduino Mega. O tym jak je zainstalować możesz przeczytać w moim wcześniejszym wpisie. Należy pamiętać, że środowisko powinno być w wersji minimum 1.6.4

4.  Wstępna konfiguracja firmware

Jak już mamy zainstalowane środowisko to możemy przystąpić do konfiguracji firmware’u. W tym celu wchodzimy do ściągniętego folderu z marlinem i otwieramy plik o nazwie „Marlin.pde”. Po chwili uruchomi nam się w środowisku Arduino cały nasz program.
Aby nie tracić więcej czasu to klikamy na końcu listy strzałkę w dół i z listy poniżej wybieramy „boards.h.” Lista nie jest ułożona alfabetycznie, zatem proszę się nie sugerować że „boards.h” nie widnieje po literą „b”. Tutaj musimy wybrać typ elektroniki, który postanowiliśmy zakupić do drukarki, w moim przypadku jest to Ramps 1.4. Jedak ukazują się nam 4 wersje Ramps 1.4 i nasuwa się pytanie którą wybrać ? Z boku mamy do nich opis na których widnieją nazwy takie jak: Extruder0 Extruder1, Fan, Bed. Są to preferencje konfiguracji płytki. Płytka 34 i 36 posiada dołączone dwa ekstrudery oraz wiatrak do chłodzenia wydruku lub stół podgrzwany (Heated Bed). Natomiast płytka 33 i 35 posiada po jednym ekstruderze, stole oraz wiatraku. Zatem wybieram płytkę 33, ponieważ moja drukarka posiada jeden ekstruder, stół podgrzewany oraz wiatrak do chłodzenia druku (nie mylić z wiatrakiem do chłodzenia radiatora głowicy). Kopiuję nazwę tej płytki z pliku „boards.h”, a następnie ją wklejam w „Configuration.h” zamiast ultimaker:

 

board2.1
Wybór płytki
W nowszych wersjach Marlina lista płytek jest zaktualizowana, w związku z czym dla Ramps 1.4 można wybrać BOARD_RAMPS_14_EFD (lub w innej konfiguracji -> patrz klasę boards.h)

Następnie przechodzimy do zakładki „Configuration.h”. W tej zakładce znajduję się większość ustawień do skonfigurowania przez nas. Zatem przystępujemy do konfiguracji. Pierwsza wartość do konfiguracji to prędkość transmisji/połączenia z drukarki z komputerem. #define BAUDRATE ustawiamy na 250000 (tyle powinno być domyślnie, jak tyle nie ma to zmieniamy na 250000)

baud
Konfiguracja Baudrate

Następnie ustawiamy w jaki sposób ma być odczytywana temperatura. W moim przypadku są to termistory 100K EPCOS, zatem wybieram z listy numer 1 i wpisuję go #define TEMP_SENSOR_0 oraz #define TEMP_SENSOR_BED natomiast dla #define TEMP_SENSOR_1 ustawiam 0, ponieważ nie posiadam 2. ekstrudera. Zatem powinno to wyglądać tak:

termistor
Konfiguracja termistorów

 

  • kawał dobrej roboty! ja w niezbednik-3d.blogspot.com opisałem slic3r i jego podstawowe ustawienia, może się przyda ;)

    • Robię to dla wszystkich :D W planach mam opisać wszystko od A do Z czyli właśnie też ustawienia slicera :)

  • Adrian

    Mam problem z temperaturą. Po włączeniu pronterface, wyskakuje mi błąd o zbyt wysokiej temperaturze. Początkowo wskazywała na 476 stopni. Po zmianie termistorów w firmware, nastąpiły drobne zmiany, lecz nadal mam błędy, mianowicie:
    T:25.5/00 B:357.5 (tak nie powinno być)/00 T0: 25.5/00 @:0 B@:0
    W czym może być problem? Próbowałem poruszać kablami, nic się nie zmieniało.

    • Cześć,
      o ile temperatura głowicy wygląda ok, to temperatura stołu jest „lekko” za duża. Problemem jest tu termistor, który został źle zdefiniowany w firmwarze. Napisz jaki masz termistor to coś wymyślimy ;)

      • Adrian

        Ciężko będzie mi określić, jaki to termistor.
        Nie umiem znaleźć nigdzie dokładnego opisu danego termistora.. mam tylko zdjęcie. Jakby to nic nie wyjaśniało.. będę kombinował i szukał odpowiedzi u sprzedawcy

        • moim zdaniem ten termistor powinien być szklany, wtedy będzie lepszy odczyt temperatury. Jeżeli masz multimetr to ustaw na pomiar rezystancji (żeby był możliwy odczyt większy od ok. 100kohm) i wtedy będziemy mogli sprecyzować jaki to termistor

          • Adrian

            Jeżeli dobrze odczytałem, wartość skacze od +50 do +100

            Edit. Na stronie sprzedawcy (w instrukcji) znalazłem, że jest to Termistor NTC 100 kOhm. Nie wiem czy w czymś pomogłem, czy jest to standardowa informacja.. tyle wiem.

          • jeżeli termistor jest 100k to to powinieneś ustawić termistor nr 1 w firmwarze

          • Adrian

            Niestety nic to nie dało, nadal wskazuje zbyt dużą temperaturę. Sprawdze, czy nie jest to wina złego montażu, zdejmę, podmienię kable, od nowa przylutuję. Może to coś da…

          • podłącz wtyczkę termistora od głowicy do gniazda od termistora stołu. Jeżeli temperatura będzie ok to znaczy że termistor od stołu jest nie tak

          • Adrian

            Po jednej stronie (termistor od grzałki) – 499,5 (dlatego, że go nie ma zapewne)
            Druga (od stołu – po przełączeniu) – 26,4

            Tzn. że muszę wymienić termistor? Zakupić nowy?

          • Adrian

            Dokładniej – w chwili obecnej, wygląda to tak:

          • no to termistor do wymiany. Tylko kup w szklanej obudowie ;)

          • Adrian

            Na pewno :)
            Po zakupie i przetestowaniu, w razie dalszych problemów, zgłoszę się..
            widzę, że konkretna stronka, pomoc udzielana fachowo, co się ceni.

            Dziękuję! :)

          • Nie ma sprawy ;) Jak coś będzie nie tak to śmiało pisz ;) Dzięki za miłe słowo

          • Adrian

            Krótkie pytanie odchodzace od tematu termistorów. Sprawdzam właśnie u siebie wszystkie Endstopy. Po najechaniu na endstop X, wszystko się zatrzymuje. Po najechaniu na Y również. Natomiast gdy sprawdzam Z, słyszę wyraźne kliknięcie, co nie powstrzymuje drukarki, jedzie dalej w dół. W czym może być problem? Wszystkie endstopy są podłączone tak samo – NC/0 (dwa skrajne)

          • Sprawdź:
            1. czy w definiowaniu endstopów masz Z_MIN na false
            2. czy w kierunek homowania Z jest na -1 (krancówka na dole) albo 1 (krancowka na gorze)
            3. multimeterem, czy jak ją naciśniesz to się rozłącza
            4. czy do elektroniki jest podłączony pod gniazd Z_Min (jeżeli elektronika ma taką opcje)

          • Adrian

            Po sprawdzeniu endstopu zauważyłem, że w ogóle nie reaguje, zarówno z krańcówką na dole jak i na górze. Jest podpięta w Ramps’ie pod gniazdo Z, podobnie jak pozostałe (X i Y pod odpowiednie złącza), jednakże tylko to jedno nie reaguje. W Marlinie jest wszystko pod falsem, więc problemu chyba należy szukać w samym endstopie.. jakieś rady?

          • Sprawdź ją multimetrem. Jeżeli w normalnym stanie jest zwarta a po naciśnięciu się rozwiera to znaczy, że jest dobra, w przeciwnym wypadku do wymiany. Możesz ją spróbować też przelutować na NO/C i wtedy w marlinie na true

          • Adrian

            Po sprawdzeniu tego na NC/0 mam takie wyniki:
            Przy otwartym endstopie i przyłożeniu multimetra do obu nóżek, multimetr wskazuje mi jakieś tam wartości (0,1-0,2)
            Przy zamkniętym endstopie i przyłożeniu multimetra do tych samych nóżek, multimetr nic nie pokazuje

            Przy NO/0 pokazuje odwrotnie, przy zamknięciu piszczy (wskazuje wartość), przy otwartym milczy (i pokazuje 0)

          • No to krańcówka jest ok. Podeślij link do twojego Configuration.h to rzucę okiem ;)

          • Adrian

            Jak wygenerować taki link?

          • Miałem na myśli, żebyś zuploadował plik Configuration.h i dał link

          • Okej, w pliku Configuration.h jest wszystko ok. Zmień tylko na true te krańcówki których nie masz w swojej drukarce, tak żeby tylko te co masz były na false, a tych co nie masz zamontowanych to na true. Skoro w pliku jest wszystko ok to sprawdź czy na pewno pod Z- podłączyłeś krańcówkę:

          • Adrian

            Mam podpięte dobrze, więc.. może to wina złego przylutowania lub wpięcia pinów. Jutro sprawdzę i dam znać

  • Maciek Pruś

    Witam mam problem z elektroniką w nowej drukarce, jest to zestaw DIY. Początkowo po złożeniu, zaprogramowaniu osie X,Z były ok, nie działały za to grzałki (stół, extruder) dodatkowo os Y przejechała 2 razy a potem stanęła w miejscu. Okazało się że silnik „buczy”, nie obraca się, i jest zablokowany (na załączonej elektronice). Zamieniłem gniazda i okazało się że silnik był ok, a problem istniał dalej na podmienionym wejściu. Regulacja potencjometru nic nie dała, zamieniłem stepsticki i po tej czynności PC wogóle nie widzi elektroniki :( jakiś pomysł jak to rozwiązać??? z góry dzięki

    • Cześć,
      opisz proszę problem na naszym forum, bo tak będzie łatwiej odpowiadać, oraz podaj jaka to drukarka i jaka elektronika ;)

      • Maciek Pruś

        ok, szukam opcji rejestracja, wybiorę jakiś dział i postaram się opisać wszystko :)

  • Andrzej Galardziak

    Witam mam pytanie buduje swoja piersza drukarke i chcialbym zamontowac 2 extrudery +plus hotend typu cyklops aby miec jedna dysze i mozliwosc druku 2 kolorowego z tego samego materialu i mam pytanie jak to wszystko skonfigurowac w marlinie i czy nie bedzie to zbyt skaplikowane dla laika chodzi mi pozniej o przygotowanie druku 2 kolorowego w slicerze?