Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Kalibracja drukarki 3D część 1: Konfiguracja Marlina
#1
Żarówka 
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 wpisieNależ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:

 

[Obrazek: board2.1.png]


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)

[Obrazek: baud.png]

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:

[Obrazek: termistor.png]

Teraz dochodzimy do momentu, gdzie większość początkujących osób ma problem. Są to ustawienia endstopów, czyli przycisków, które wyznaczają nam długość danych osi. Problem wynika z błędnej interpretacji początków i końców oś. Na zdjęciu poniżej przestawiono poprawny układ początków i końców oś:

[Obrazek: fetch.png]


Teraz zjeżdzamy w programie aż znajdziemy taki fragment kodu jak zaznaczony:

[Obrazek: enstop1.png]

Kolejna kwestia do poruszenia to przyciski mechaniczne. Posiadają one 3 wyprowadzenia. Są to:

  • NC (Normally Connected, czyli w stanie spoczynku zwiera on przycisk dając nam 1 logiczną)
  • NO (Normally Open, czyli w stanie spoczynku nie zwiera przycisku co daje 0 logiczne)
  • C (Common, czyli wspólna nóżka dla wyżej wymienionych wyprowadzeń)
Zasada tutaj jest taka, jeżeli do elektroniki sterującej podłączamy przycisk krańcowy nóżkami C-NO to wtedy sygnał, który trafia musi być odwrócony, natomiast jeżeli C-NC to sygnał nie jest odwracany. Czyli dla przycisku w konfiguracji C-NO zostawiamy w programie wartość "true", natomiast jeżeli przycisk mamy C-NC to w programie zmieniamy tą wartość na "false".
Przy pomocy rysunku przedstawiającego początki i końce osi ustawiamy nasze endstopy. W mojej konfiguracji wygląda to następująco:



[Obrazek: endstop2.png]

 

Okej, teraz musimy ustalić kierunek w którym będzie odbywać się zerowanie osi. Zjeżdzamy troszkę niżej i jeżeli przycisk w drukarce jest po stronie maksymalnej osi to wpisujemy 1, a jak po minimalnej to -1. Jeżeli przy zerowaniu osi, silnik porusza się w stronę odwrotną do kierunku, w którym powinien to możemy w programie odwrócić jego ruch zmieniając wartość z "true" na "false" albo na odwrót.

[Obrazek: endstop4.png]


Warto również pamiętać o ustawieniu maksymalnej długości oś, aby drukarka nie chciała przesuwać osi dalej niż w rzeczywistości może. Aby tego dokonać to musimy zjechać troszkę niżej i odnajdujemy taki kod jak na zdjęciu poniżej i następnie wpisujemy w rubrykach MAX, maksymalne długości danych osi. Ten krok jednak trzeba zostawić na koniec, ponieważ dopiero po uruchomieniu drukarki będziemy wiedzieć o ile milimetrów możemy się przesuwać w danej osi. Dlatego warto o tej opcji pamiętać.

[Obrazek: endstop3.png]


Jak już mamy podstawowe dane skonfigurowane to możemy przystąpić do dalszej konfiguracji.


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:


Wzór na X i Y:

[Obrazek: wzor-na-xy.png]

 

Wzór na Z: 

[Obrazek: wzor-na-z.png]
 

Wzór na Ekstruder:
 
[Obrazek: wzor-na-ext.png]

Szybki sposób na przeliczenie kroków dla X Y Z (Klik)

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


[Obrazek: przeliczanie-krokow.png]


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ę:


[Obrazek: przeliczone.png]
 

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.

6. Odblokowywanie dodatkowych peryferii drukarki
 
[Obrazek: 800px-SmartAdapter.JPG]
źródło: http://reprap.org/wiki/RepRapDiscount_Smart_Controller

 
W tej części poradnika chciałbym się skupić na odblokowaniu RepRap Discount Smart Controller. Odblokowanie go jest bardzo proste.
      W zakładce "configuration.h" klikamy Ctrl+F albo Command+F dla Mac i wyszukujemy frazę:
 #define REPRAP_DISCOUNT_SMART_CONTROLLER oraz #define NEWPANEL następnie z początku linijki usuwamy //
Następnie przechodzimy do zakładki "pins.h" i wyszukujemy frazę: #define RAMPS_V_1_3 i też usuwamy // z początku linijki:

[Obrazek: lcd12.png]
[Obrazek: lcd3.png]

W tym momencie nasza drukarka jest już w pełni samodzielna, nie musimy już jej podłączać do komputera, co podnosi ryzyko przerwania druku w momencie zawieszenie się komputera, oraz sama jakość elementów będzie o wiele lepsza. Teraz pozostało wgrać nasz program do elektroniki.

7. Wgrywanie oprogramowania
 
      Aby wgrać przygotowane przez nas oprogramowanie do drukarki to musimy teraz w środowisku Arduino wybrać port COM naszej elektroniki oraz typ elektronikiŻeby dowiedzieć się pod jakim portem COM znajduje się nasza elektronika to wchodzimy w Start > Urządzenia i drukarki i na samym dole powinno być nasze Arduino MEGA2560, a obok napisany port COM, w moim przypadku jest to port COM4:

[Obrazek: arduino.png]

Następnie wchodzimy w środowisku Arduino, Narzędzia > Port i wybieram ten, pod którym znajduję się nasza elektronika. Następnie wybieramy typ elektroniki. Narzędzia > Płytka > Arduino Mega or Mega 2560


[Obrazek: ustawienia.png]


Po ustawieniu tych dwóch rzeczy klikamy "Wgraj" (3). Po około dwóch minutach powinien nam się ukazać komunikat:

[Obrazek: wgrane.png]

Od tego momentu możemy podłączyć arduino do RAMPS i zacząć drukować, ale jest pewne ale... Te wydruku nie będą dobre, ponieważ teraz musimy skonfigurować nasz sprzęt, ponieważ na ten moment mamy jedynie oprogramowanie gotowe.
>> Nie pomagam na PW. Od tego jest forum Uśmiech >> Koniecznie sprawdź: Jak dodawać załączniki

1 problem = 1 wątek
Odpowiedz
#2
Dzień dobry, czy mogę poprosić obardziej szczegółowe wyjaśnienia dlaczego po dodaniu/odblokowaniu RepRap Discount Smart Controller "sama jakość elementów będzie o wiele lepsza" ?
Odpowiedz
#3
(03-01-2018, 16:58)PiotrJ napisał(a): Dzień dobry, czy mogę poprosić obardziej szczegółowe wyjaśnienia dlaczego po dodaniu/odblokowaniu RepRap Discount Smart Controller "sama jakość elementów będzie o wiele lepsza" ?

W odniesieniu do zdania przed cytatu- RepRap Discount Smart Controller, posiada wbudowany czytnik kart SD, przez co czasu oczekiwania na Gcode jest skrócony do minimum w porównaniu z drukiem z komputera przez USB. Nie mniej jednak, technologia poszła "lekko" do przodu przez co różnica w druku przez USB oraz z karty SD jest pomijalna.  Oczko
>> Nie pomagam na PW. Od tego jest forum Uśmiech >> Koniecznie sprawdź: Jak dodawać załączniki

1 problem = 1 wątek
Odpowiedz


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Żarówka Kalibracja drukarki 3D część 2: Ustawienie prądu Stepsticka A4988 feriar 5 2,231 17-09-2017, 17:01
Ostatni post: kornik50
  Kalibracja przepływu filamentu complex_eb 15 3,652 06-12-2016, 19:06
Ostatni post: feriar
  punkt zerowy drukarki konik960 1 1,342 05-12-2016, 19:26
Ostatni post: feriar
Żarówka Kalibracja drukarki 3D część 4: Konfigurowanie slicera (Repetier-Host i Slicer) feriar 2 3,376 18-01-2016, 19:24
Ostatni post: feriar
Żarówka Kalibracja drukarki 3D część 3: Kalibracja extrudera oraz stołu feriar 4 3,098 18-01-2016, 15:06
Ostatni post: Artu

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości