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

5. Ustawienie microsteppingu oraz obliczanie ilości kroków na mm dla osi X, Y, Z

Zanim przystąpimy do dalszej konfiguracji to musimy poznać kolejny ciekawy termin o nazwie microstepping. Można by się długo się rozpisywać o tym co to jest, ale byłby to żargon mocno techniczny. Zatem w skrócie. Microstepping (mikro kroki silnika) jest to funkcja w sterowniku silnika krokowego, która „dzieli” impuls wysyłany do silnika. Pozwala to na dokładniejszą pracę silnika oraz na jego ładniejszą kulturę pracy. Mamy do dyspozycji microstepping w trybie:

  • pełnym czyli wysyłany jest jeden cały impuls, który spowoduje jeden pełny krok
  • pół kroku – impuls „dzielony” jest na 2 czyli sterownik wysyła 2 impulsy powodujące jeden pełny krok
  • 1/4 kroku – podział impulsu na 4 impulsy
  • 1/8 kroku – podział impulsu na 8 impulsy
  • 1/16 kroku – podział impulsu na 16 impulsów

Im większy podział tym dokładność obrotu silnika jest lepsza jednak tutaj teoria zderza się z praktyką. Może być tak że silnik nie podoła podziałowi w efekcie czego „zgubi krok”. Oznacza to, w przypadku drukarek, że głowica fizycznie nie dojedzie do danego punktu ponieważ, silnik zgubi jeden krok albo więcej przez co nie zostanie on wykonany, przez co otrzymamy przesunięty wydruk. Dlatego przy microsteppingu trzeba poeksperymentować. Przy silnikach używanych, z demontażu podział 1/8 powinien działać w 90% przypadków zatem taki na start podział można ustawić.
Teraz jak teorię mamy za sobą to możemy przejść do obliczeń ilości kroków aby silnik dokonał przesunięcia o 1mm. Wzory dla przesuwu osi X i Y, Z oraz ekstrudera wyrażają się następująco:

wzor na xy
Wzór na X i Y
wzor na z
Wzór na Z

 

wzor na ext
Wzór na Ekstruder

Będąc nadal w zakładce „Configuration.h” zjeżdżamy w dół do odnalezienia takiej linijki:

przeliczanie krokow
Konfiguracja kroków

Formuła wpisywanie kroków prezentuje się następująco:

#define DEFAULT_AXIS_STEPS_PER_UNIT   {X,Y,Z,E}

  • Dane, które wykorzystamy do obliczeń:
  • Ilość kroków silnika (w moim przypadku to 200)
  • Ustawienie mikrokroku (do obliczeń wpisujemy ilość impulsów z microsteppingu, dla 1/8 wpisujemy 8)
  • Skok paska zębatego (dla MXL skok wynosi 2.032mm a dla GT2 2mm)
  • Ilość zębów zębatki
  • Skok gwintu śruby (dla śruby M8 skok wynosi 1,25mm)
  • Przełożenie na zębatkach (stosunek ilości zębów dużego koła do małego, u mnie to jest 47/9)

Po wykonaniu obliczeń otrzymałe takie dane:
dla X i Y=  39.37
dla Z nie dzielimy licznika i mianownika, tylko otrzymane dane zapisujemy w ten sposób licznik / mianownik czyli : 1600/1.25
dla Ekstrudera= 442.7

Teraz musimy wpisać te dane do formuły. Jeżeli wartość kroków wyszła nam z ułamkiem to zapisujemy przy pomocy kropki, a nie przecinka.
Wpisane wartości powinny przyjąć taką formę:

przeliczone
Przeliczone dane

Drukarka została poprawnie skalibrowana, na ten moment można by już przejść do dalszej części kalibracji, ale warto wspomnieć w tym momencie, że drukarki możemy podłączać różne peryferia takie jak wyświetlacz i czytnik kart SD co uczni naszą drukarkę samodzielną. W kolejnym punkcie przedstawię sposób konfiguracji właśnie wyświetlacza i czytnika kart.

  • 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 :)