Home

CNC2-Elektronika

highlighted_1highlighted_1highlighted_1
Witajcie!
Minęło ponad miesiąc od dnia w którym ruszyła budowa mojej mini frezarki.
W tym okresie poświęciłem mnóstwo czasu  na projektowanie w programie do druku przestrzennego.
Montaż gotowych elementów, sprowadzaniu części oraz rozwiązywaniu bieżących problemów.
Jednym z nich było brak współpracy mojej drukarki 3 D z świeżo zakupionym filamentem.
Po iluś zapchaniach dyszy, kombinowaniu z temperaturami i innymi magicznymi sztuczkami skończyło by się na tym
że kilogram filamentu wylądował by w koszu na śmieci.
Ostatecznie, pewnego ranka wpadłem na pomysł żeby zmierzyć średnicę materiału.
Według opisu średnica powinna wynosić 1.75 mm a faktycznie była 1.65.
Niby niewielka różnica, ale po skorygowaniu w ustawieniach drukarki współpraca ruszyła co możecie podziwiać
na zdjęciach z pierwszej części budowy.
Mowa tu o elementach wykonanych z niebieskiego filamentu.
Między czasie gromadziłem materiały i edytowałem je na mojej stronie internetowej.
Ostatecznie proces budowy został zakończony przed świętami Bożego Narodzenia.
Po kilku dniach odpoczynku budowa ruszyła i na dzień dzisiejszy mogę pochwalić się wykonaniem i montażem
wyłączników krańcowych osi X.
Zacząłem od peryferiów ponieważ do obecnej chwili waham się czy zamontować elektronikę z starej frezarki czy może jednak zainstalować nowszą elektronikę bardziej nowoczesną i rozbudowaną o różne bajery opartą na Arduino mega
i wyświetlaczu LCD oraz enkoderze sterowniczym i porcie karty pamięci.
Kusi mnie ta wersja bardzo ponieważ jest to kolejne wyzwanie, tym bardziej że bardzo mało jest na ten temat informacji
w języku polskim a jednocześnie jest okazja żeby się czegoś nowego nauczyć.
Jednocześnie zdaję sobie sprawę że wersja elektroniki opartej na Arduino Uno i shielda CNC w zupełności wystarczy do obsługi mojej maszynki tym bardziej że przy procesie frezowania bardzo pomocny jest podłączony komputer na którym mamy podgląd
na żywo tego co dzieje się na na blacie roboczym.
Najbliższy czas poświęcę na stworzenie i montaż pozostałych wyłączników krańcowych osi Y i Z.
W odróżnieniu od poprzedniej wersji frezarki postanowiłem zamontować krańcówki na wszystkich wszystkich osiach pozycji
minimum i maksimum.
Moja decyzja spowodowana jest zabezpieczeniem konstrukcji maszyny przed przypadkowym przekroczeniem domyślnych
pozycji ruchomych elementów typu głowica i blat roboczy.
Trzeba pamiętać o tym że teraz napędem jest śruba trapezowa a nie gumowy pasek zębaty.
Ostatecznie postanowiłem zamontować elektronikę opartą o Arduino Mega oraz rozszerzenie shield CNC 1,4 z wgranym zmodifikowanym oprogramowaniem Marlin-CNC MILL v1.
Zobaczymy co z tego wyjdzie.
Aby tego dokonać zakupiłem zestaw Ramps 1.4. Do tego odpowiednią obudowę którą wyszukałem w internecie.
mega+shield

Zanim zamontujemy elektronikę w obudowie oraz na konstrukcji frezarki, możemy wstępnie skonfigurować
 i zainstalować w pamięci Arduino mega oprogramowanie Marlin-CNC Millv1.

Ja tego dokonałem w następujący sposób:
Pobieramy Marlina. Możemy wyszukać go w sieci internetowej ewentualnie pobrać wersję którą znalazłem w sieci z tego linku:
Następnie podłączamy Arduino Mega do komputera uruchamiamy program Arduino IDE wybieramy w ustawieniach
płytkę „Arduino mega 2560, ustawiamy port pod jaki komputer podłączył Arduino.
Niezbędna jest biblioteka „U8glib.h którą wyszukujemy w menadżerze bibliotek i ładujemy do systemu.
Otwieramy plik z softem do CNC. Właściwie wystarczyło by załadować soft do pamięci płytki ponieważ został zmodyfikowany
pod nasze urządzenie.
Zanim tego dokonamy możemy zmienić ustawienia języka menu które będzie się wyświetlało na ekranie panela sterującego.
Żeby tego dokonać, otwieramy zakładkę w Marlinie „Configuration.h w jego treści odnajdujemy
linię „LCD Language i poprzez zmianę końcówki definicji języka możemy ustawić według opisu dowolny język
z pośród dostępnych.
Np: #define LCD_LANGUAGE en – uzyskujemy język angielski a poprzez wybranie dodatku  (pl ) uzyskamy język polski.
W zależności od tego jakich użyliśmy endstopów może być potrzebna zmiana w ustawieniach .
Dokonujemy tego również w katalogu „Configuration.h z tym że wyszukujemy tym razem
sekwencję „Endstop Settings
W zależności od tego jakich użyliśmy wyłączników krańcowych, mechanicznych czy też elektronicznych możemy ustawienia
dopasować do własnych potrzeb.
Jeżeli wyszukamy sekwencję: #define CUSTOM_MACHINE_NAME "Machine", możemy zmienić nazwę sprzętu
jaka będzie się wyświetlała na wyświetlaczu.
Z pomocą Arduino IDE poddajemy soft konwersji i ładujemy do pamięci Arduino Mega.
Po prawidłowym załadowaniu na wyświetlaczu ujrzymy najpierw logo a następnie panel obsługi frezarki.
Teraz zaczyna się największa jazda związana z montażem osprzętu na zbudowanej ramie.
Montujemy Obudowę elektroniki, samą elektronikę, endstopy.
Podłączamy silniki i pozostały osprzęt do shielda arduino mega według poniższego schematu:
Schematic_Shel1,4_2021-01-22

Zworki wpinamy w zależności od efektu jaki chcemy uzyskać związany z pracą silników krokowych według tabeli:

M0

M1

M2

Tryb pracy

off

off

off

Pełny krok

on

off

off

1/2 kroku

off

on

off

1/4 kroku

on

on

off

1/8 kroku

on

on

on

1/16 kroku



Ja w mojej maszynie założyłem po trzy zworki na każdy silnik.
Moduł sterownika wkładamy w podstawkę tak by pin opisany „Enable znalazł się w gnieździe na płycie sterownika
oznaczonego „EN.
Potencjometr służy do regulacji prądu jakim będą zasilane silniki.
 Na początek warto ustawić wartość 0,6 volta mierząc między GND a suwakiem potencjometru danego drivera zamontowanego w podstawce na płycie sterownika.
W sprzedaży można spotkać wiele rodzai sterowników które różnią się budową i parametrami.

W naszym wypadku powinny wystarczyć podstawowa wesja A4988 popularnie zwany Zielonym.
Driver_zielonyDriver_czerwonyParametry:
Napięcie zasilania silnika: 8 V - 35 V
Prąd: maks. 1 A na cewkę
Napięcie zasilania części logicznej: 3 V - 5,5 V
Ewentualnie możemy użyć modułu tak zwanego Czerwonego o tych samych parametrach.
Podczas podłączenia silników może wystąpić problem związany z identyfikacją przewodów wychodzących z silnika.
Z napędu wychodzą przeważnie cztery przewody które są wyprowadzeniami dwóch uzwojeń silnika.
Teraz jak ustalić które przewody są od którego?
Jest łatwy sposób. Rozwieramy wszystkie cztery przewody, kręcimy wałkiem silnika. Powinien obracać się bez żadnego oporu. Następnie zwieramy dwa z czterech przewodów i kręcimy wałkiem silnika. Jeżeli wyczujemy wyraźny opór
to znaczy że znaleźliśmy jedno z dwóch uzwojeń. Jeżeli nie to rozwieramy przewody i łączymy z kolejnym.
Tym prostu sposobem odnajdujemy właściwe wyprowadzenia uzwojeń i je podłączamy do wyjść na silniki sterownika.
W przypadku gdyby okazało się że silniki pracują w odwrotnym kierunku wystarczy wtyczkę
od danej osi obrócić o 180 stopni.
endstop-mechaniczny-1a-125v-reprap-cnc-druk-3dJako „end stopy wykorzystałem mikro wyłączniki. Musimy wykorzystać styk NO który wpinamy
na złącze minus oraz S każdej osi minimum. Są niezbędne jeżeli na pokładzie arduino mamy Marlina.
Ja dodatkowo zamontowałem na pozycjach max osi XY. Moja decyzja spowodowana
jest zabezpieczeniem konstrukcji maszyny przed przypadkowym przekroczeniem domyślnych pozycji ruchomych elementów typu głowica i blat roboczy.
Trzeba pamiętać o tym że teraz napędem jest śruba trapezowa a nie gumowy pasek zębaty.
W takim przypadku musimy w programie Marlin w zakładce „Configuration.h w sekwencji „END stop Setings aktywować  Wyswietlaczkomendy dotyczące Osi XY max.
Z wyświetlaczem jest prosta sprawa, wystarczy dołączone przewody taśmowe
 podłączyć do złączy EXP 1 i 2 na płycie wyświetlacza i shielda.
Zamiana przewodów spowoduje że wyświetlacz nie będzie działał.
W programie Marlin w ustawieniach LCD możemy dokonać zmian dotyczących pracy enkodera i zachowania kursora na ekranie.
Wejścia zasilania płyty możemy zewrzeć mostkami zgodnie z polaryzacją i zasilić
np. z niepotrzebnego zasilacza od laptopa.
Jak widać na schemacie na shielda musimy napięcie w zakresie od 12 do 30 V
i wydajności
prądowej 10 A. Te warunki spokojnie spełnia wspomniany zasilacz. W klasycznych przeważnie na wyjściu mamy 19 V oraz 6 A.
SilnikCNCWidziałem konstrukcje gdzie do zasilania został wykorzystany zasilacz od niepotrzebnego Peceta.
Jeżeli wszystko podłączyliśmy prawidłowo i zasilimy Arduino oraz sterownik wyświetlacz powinien się rozświetlić błękitnym światłem oraz powinno nas przywitać logo startowe
a następnie dane dotyczące naszej maszyny.
Używając pokrętła enkodera możemy dotrzeć do opcji sterujących osiami frezarki oraz ustawieniami parametrów.
Z praktyki przekonałem się że potrzebne będzie korygowanie ustawień w Marlinie i panelu sterowniczym.
Ale jak wszystko dopracujemy to wystarczy włożyć
do czytnika kartę pamięci z gcodem, wypozycjonować frez
i uruchomić frezowanie.
W związku z powyższym trzeba też wspomnieć o napędzie frezu.
W moim CNC wykorzystałem popularny silnik prądu stałego pracujący  w przedziale napięciowym od 12 do 36 V
rozwijającym obroty nawet do 10 tysięcy.UchwytER
Na wałku o średnicy 5 mm zamontowałem   uchwyt ER11 wyposażony w komplet szczęk na frezy od 1 do 7 mm.
Silnik możemy zasilić z zasilacz poprzez zewnętrzny regulator obrotów lub możemy wykorzystać złącze D9 na płycie shielda.
Takie rozwiązanie pozwoli nam na płynną regulację obrotów z panela sterowniczego funkcją „Temperatura spindle lub za pomocą programu
do obsługi frezarki z komputera.
Podczas prób okazało się że drugie rozwiązanie
ma pewną wadę. Otóż, tranzystor który obsługuje wyjście D9 pomimo tego że ma sporą wydajność
prądową oddaje sporo ciepła które podczas dłuższej eksploatacji może doprowadzić do uszkodzenia tego elementu.
Naturalne przeciwdziałanie takiej sytuacji skłania nas do przykręcenia do tranzystora jakiegoś radiatora.
Niestety upakowanie elementów na płytce uniemożliwia przykręcenie jakiegoś rozsądnego radiatora.
Wpadłem na pomysł że wylutuje tranzystor zamocuje
go na radiatorze  przymocowanym do zewnętrznej części obudowy elektroniki.
Jak pomyślałem tak zrobiłem. Jednak okazało się że jest to bardzo trudna operacja przynajmniej w przypadku użycia
mojej tzw. stacji lutowniczej.
Tranzystor trzymał się rękami i nogami płytki tak mocno że proces ten zakończył się uszkodzeniem uparciucha.
Można kupić taki element za 5 zł plus przesyłka ale ja zakupiłem nowego shielda i z pomocą profesjonalisty
z odpowiednim sprzętem tranzystor został wydobyty na zewnątrz i zamocowany i podłączony za pomocą przewodów zgodnie
z planem.
Biorąc pod uwagę wydzielanie ciepła przez stepery zamontowałem na obudowie wentylatorek chłodzący wnętrze obudowy
oraz wykonałem otwory wentylacyjne.
Silnik wentylatora można zasilić z wyjścia D8 dzięki czemu będzie sterowany przez elektronikę frezarki.
Na obudowę wyprowadziłem również złącze do którego podłączyłem zasilacz.
Podczas testów przekonałem się że cała mordęga jaka była związana ze zdobyciem i przystosowaniem firmware Marlin
do mojej maszynki opłaciła się.
Praktycznie stała się niezależnym urządzeniem nie potrzebującym do prawidłowego działania pracującego i sterującego
nim komputera.
Moja frezarka docelowo będzie ulokowana w pomieszczeniu w którym nie koniecznie powinien znaleźć się komputer.
Chodzi o pył z obrabianych elementów który wciska się wszędzie mimo wyciągu.
Frezarka w takiej konfiguracji potrzebuje tylko karty pamięci z zapisanym w domowych pieleszach Gcodem.
Resztę czynności wykonujemy z poziomu panela sterowniczego CNC
W związku z tym elektronika do tego przeznaczona znalazła swoje miejsce w nowo zaprojektowanej i wydrukowanej
na drukarce 3D obudowie.
Projektując ja starałem się stworzyć funkcjonalne i estetyczne opakowanie.
Znalazło się w niej miejsce na wyświetlacz, otwór przez który wkładamy kartę pamięci, otwory na oś enkodera
oraz przyciski zatrzymania awaryjnego oraz resetu.
Cały komplet został przymocowany do przedniej części ramy frezarki co daje dobry dostęp do pokrętła regulacyjnego.
Kilka obrazków przedstawiających ukończoną frezarkę CNC.
Na pierwszym obrazie możemy zobaczyć wnętrze obudowy elektroniki sterującej.
Następnie frezarka w widoku od tyłu oraz od przodu.Na filmie CNC wycina w sklejce 6 mm kwadrat testowy.Obudowa_elektroniki

Tyl_CNC

PrawaCNC