Home

Budowa mini frezarki 2 - regulacja

highlighted_1highlighted_1highlighted_1
W tym dziale zbiorę w jedną całość wszystkie czynności jakie są niezbędne do prawidłowego działania
mojej frezarki CNC. Wszelkich zmian w ustawieniach marlina jakie tu opisuję dokonujemy za pomocą programu
„Arduino IDE w zakładce „Configuration.h.
Opiszę tylko linie programu w których dokonałem zmian lub te które mogą nam się przydać do dostosowania urządzenia do własnych upodobań.
Wiersze o których mowa możemy wyszukać w programie przy pomocy opcji „Edytuj/szukaj.
Na początek możemy zmienić szybkość transmisji z 115200 na 25000.

#define BAUDRATE 115200

Jeżeli korzystamy z płyty RepRap 1.4 to ustawiamy typ:

#define MOTHERBOARD BOARD_RAMPS_14_EFF

W tym wierszu możemy ustalić nazwę urządzenia jaka pojawi się na wyświetlaczu:

#define CUSTOM_MACHINE_NAME "CNC"

Definiowanie czy zostało użyte złącze min czy max dla krańcówki:
W mojej maszynie wszystkie krańcówki są aktywne.
Jeżeli mają być nieaktywne wystarczy je wyłączyć podwójnym ukośnikiem 

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

Ustawienie programowych rezystorów podciągających:
PULLUP stosuje się, gdy pin sygnałowy jest zwierany przez krańcówkę do masy, a PULLDOWN gdy pin sygnałowy
jest zwierany do napięcia zasilającego.

 #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
  #define ENDSTOPPULLUP_ZMIN_PROBE

Definicja wyboru styku, NC lub NO:
false - przełącznik typu NC
true - przełącznik typu NO

#define X_MIN_ENDSTOP_INVERTING true
#define Y_MIN_ENDSTOP_INVERTING true
#define Z_MIN_ENDSTOP_INVERTING true
#define X_MAX_ENDSTOP_INVERTING false
#define Y_MAX_ENDSTOP_INVERTING true
#define Z_MAX_ENDSTOP_INVERTING true
#define Z_MIN_PROBE_ENDSTOP_INVERTING false

Definiowanie narożnika Home:
Przez zmianę parametru -1 lub 1 wybieramy odpowiedni dla nas narożnik.
wartość -1 oznacza bazowanie w pozycji minimalnej, a 1 - w pozycji maksymalnej.
Domyślnie jest to lewy dolny narożnik stołu.

#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1

Kierunek obrotu osi:
Kierunek obrotu osi, zmiana z false na true lub na odwrót powoduje zmianę kierunku obrotu silnika danej osi:

#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false

Ustawienie ilości kroków silnika Nema 17 dla poszczególnych osi:
Domyślne ustawienia to:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }

Wartości w nawiasie {} oddzielone przecinkami oznaczają wartości przypisywane kolejno osiom X, Y, Z, E.
Wartości mogą się zmieniać w zależności od typu silnik i użytego przeniesienia napędu (śruba, pasek, zębatki itp.).
Możemy je obliczyć przy pomocy internetowego kalkulatora z tego linku:
https://blog.prusaprinters.org/pl/kalkulator-reprap_3416/
W mojej maszynie zostały użyte wartości: {400, 400, 400, 500}

Tymi komendami ustalamy kolejno – prędkość maksymalną:

#define DEFAULT_MAX_FEEDRATE          { 5000, 5000, 5000, 25 }

oraz maksymalne przyspieszenie:

 #define DEFAULT_MAX_ACCELERATION      { 500, 500, 200, 10000 }

Wartości przeze mnie podane są wartościami domyślnymi które można zmienić w zależności od możliwości naszego sprzętu.

Opcja zrywu:
Opcja ta jest wykorzystywana w przypadku zmiany kierunku ruchu głowicy frezującej w celu  osiągnięcia łagodnego przejścia frezu z jednego kierunku w inny.
Początkowy wzrost prędkości - podczas przyspieszania od prędkości 0mm/s do maksymalnej.
Opcję tą włączamy poprzez zdjęcie komentarza (//) przed instrukcjami.

#define DEFAULT_XJERK                 5.0
#define DEFAULT_YJERK                 5.0
#define DEFAULT_ZJERK                  0.4
#define DEFAULT_EJERK                  5.0

W przypadku gdy nie jest włączona używana jest funkcja „Junction deviation domyślnie dla wszystkich
osi oprócz osi E

#define DEFAULT_XJERK 10.0

Rozruch.

Powyżej podałem większość instrukcji jaka może przydać się do uruchomienia frezarki.
Więc przełużmy tą teorię na praktykę i w końcu uruchommy nasze urządzenie.
Więc zaczynamy.
Jeżeli śledzi liście moje teksty i jednocześnie budowaliście swoje urządzenia to w obecnej chwili powinniście mieć zbudowaną ramę frezarki z zamontowaną elektroniką, wyłącznikami krańcowymi. Powinno być zainstalowane silnik wrzeciona oraz silniki krokowe wszystkich osi.
Przydałby się również zamontowany i podłączony panel sterowniczy.
Chociaż na początku można się bez niego obyć i sterować frezarką z komputera.
Przyszedł moment na podanie zasilania. Załączam! I nic się nie dzieje.
Okazuje się że podając napięcie na płytkę shielda nie zasilamy jednocześnie Arduino mega.
Wydawać by się mogło że skoro na styki zasilające płytki ze sterownikami zasilamy również moduł Arduino.
Nic bardziej mylnego.
W związku z tym na płytkę Mega podałem zasilanie przez złącze USB z ładowarki od telefonu, włączamy i ufff ruszyła.
W pierwszej kolejności sprawdzamy czy silniki pracują w odpowiednią stronę, jeżeli nie to obracamy wtyczkę zasilająco silnik danej osi o 180, stopni lub zmieniamy ustawienia w programie Marlin i ładujemy ponownie do pamięci elektroniki.
Trzeba pamiętać że jeżeli dokonujemy jakiś zmian w sofcie i chcemy zobaczyć tego wyniki to musimy ponownie załadować oprogramowanie do pamięci Arduino.
Zmiany również możemy dokonywać w ustawieniach na panelu sterowniczym i zapisać je w pamięci eeprom.
Kolejnym krokiem jest sprawdzenie poprawności działania wyłączników krańcowych minimum.
W tym celu wybieramy ruch osi w kierunku pozycji minimum, Jest to przeważnie dolny lewy róg, no chyba że zdecydujemy inaczej.
W czasie pracy naciskamy lub wyzwalamy stepsticka i czy zatrzymuje silnik krokowy osi. Jeżeli nie to musimy dokonać zmian
w ustawieniach tym razem dotyczących wyłączników. Podczas tych testów warto trzymać palec na wyłączniku awaryjnym żeby w razie konieczności zatrzymać pracę frezarki.
Teraz przyszła kolej na ustalenie czy wpisaliśmy prawidłową wartość jeżeli chodzi o liczbę kroków na milimetr przesuwu na poszczególnych osiach.
Jest to jeden z najważniejszych parametrów dotyczących konfiguracji Marlina, od niego zależy precyzja z jaką będzie
w przyszłości pracowała frezarka.
Wartość tą jak wcześniej wspomniałem możemy obliczyć przy pomocy kalkulatora internetowego.
Można też przyczepić do blatu jakąś skalę lub użyć suwmiarki i metodą prób i błędów ustalić tą wartość.
Pamiętajmy jak będziemy robili pomiary że im większe odległości będziemy kazali przesunąć się wrzecionu tym bardziej dokładny będzie pomiar.
Na koniec możemy skalibrować sobie przyspieszenia maksymalne prędkości i inne parametry tego typu.
Te wartości zależą od sprzętu jakim dysponujecie.
Pozostało nam sprawdzić czy wrzeciono kręci się w odpowiednią stronę i czy mamy regulację obrotów.
Jako finał przydało by się w końcu coś wyfrezować.
Ja narysowałem sobie kwadrat o bokach 20 na 20 mm z pustym środkiem o wymiarach 10 na 10 mm.
Po ukończeniu frezowania dokonałem pomiarów gotowego elementu które w pełni mnie satysfakcjonowały.
Oczywiście w tych kilku zdaniach nie da się zawrzeć całego procesu uruchomienia frezarki.
Czeka was sporo prób i zmian konfiguracji. Ale ostatecznie osiągniecie sukces.

Podsumowanie

Przyszedł czas na podsumowanie.
Zacznę od strony technicznej. Na etapie projektowania oceniałem że koszty jakie poniosę w związku z budową powinny zamknąć się kwotą około 200 zł. Planowałem wykorzystać części z mojej starej mini frezarki
W trakcie budowy postanowiłem że zastosuje jednak solidniejsze komponenty co spowodowało że musiałem zakupić grubsze wałki łożyska co jak się okazało jest okupione dużo wyższymi cenami. Znacznie koszty podniosła również wartość przesyłek jakie zapłaciłem a które nie mają nic wspólnego z wartością sprzętu.
Odrobinę obniżyłem koszty poprzez wykonanie wielu elementów w własnym zakresie w technologii 3 D.
Ostatecznie oceniam że koszt budowy zamknął się w kwocie około 500 zł.
Teraz porównując do podobnych urządzeń które można kupić w internecie a których wartość jest wyceniana na grubo ponad 1000 zł to moje koszty wydają się bardzo niskie.
Oczywiście nikt nie wyceni mojego czasu jaki poświęciłem na projektowanie, wydruk elementów
oraz montaż elementów.
Ale również nikt nie policzy wartości wiedzy i doświadczenia jakiego przy okazji pozyskałem.
Na zakończenie nasuwa się pytanie czy było warto?
Myślę że tak, zbudowałem maszynę która będzie za mnie wykonywała prace o wiele bardziej precyzyjnie i powtarzalnie.
Pozyskałem sporo wiedzy zwłaszcza że postanowiłem iść trudniejszą drogą to jest wykorzystać jako firmware Marlina który głównie jest wykorzystywany w drukarkach 3 D i na którego temat w odniesieniu do frezarek bardzo mało się pisze zwłaszcza w języku polskim.
Nie Spodziewałem się takiego zainteresowania ze strony domowych konstruktorów którzy zajmują się też amatorską elektroniką i technologią 3 D.
Przy okazji wzbudziłem w moim otoczeniu jakiejś zainteresowanie co też jest dla mnie ogromnym zyskiem.
Na zakończenie tego podsumowania pragnę donieść że to na pewno jeszcze nie jest koniec tematu. Jak siebie znam na pewno moja mini frezarka doczeka się jakiś zmian i modyfikacji o czym na pewno opowiem na łamach mojej stronki.
Moje najbliższe plany dotyczą zdobycia i opanowania oprogramowania wspierającego frezowanie które będzie wspierało Marlina.
Pragnę też stworzyć bazę podstawowych narzędzi jaka będzie można wykorzystać w sprzęcie tego kalibru.
Chodzi mi po głowie też pomysł żeby wykorzystać waszą wiedzę i doświadczenie w tym temacie aby dotarło
to do większego grona konstruktorów i fanów technologii małego 3 D.

Pozdrawiam.