Znaleziono 14 wyników
Wróć do „GRBL - 2 silniki na oś i niezależne bazowanie”
- 12 mar 2021, 08:53
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Problem rozwiązany, Wymiana płytki arduino uno na nową pomogła. Czemu? Nie wiem.
- 08 mar 2021, 20:07
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
No więc ploter już gotowy (albo dopiero) i co prawda nie laser a nóż wleczony (koncepcja się zmieniła) ale działa całkiem dobrze. Mam jednak problem, nie wiem czy z cnc shield czy ze sterownikami. Otóż pojawiały mi się niekiedy na silnikach chwilowe momenty wyłączenia, tzn maszyna stoi i nagle któryś silnik puszcza i za około sekundę znowu zaczyna trzymać (tak jakby się resetował). Jednak nie jest to reset grbl tylko jednego sterownika. Wymieniłem wszystkie sterowniki (Stepstick A4988) i problem niby ustał jednak czasem pojawia się taki efekt. Czy to się zdarza komuś jeszcze czy po prostu muszę coś szukać indywidualnie u siebie? Wydaje mi się, że za dużo zabawek pracuje na grbl aby to był problem globalny, jednak nie mam pomysłu jaka może być przyczyna. Maszyny buduję nie od dziś, elektroniką zajmuję się również od dawna i nie zrobiłem tego na odwal się. Wszystkie przewody ułożone, spięte, do CNC Shield nie wpinane a przylutowane (ponieważ zauważyłem, że jak ruszam kablami to potrafiło tracić kontakt) Jedyne połączenia rozłączne to adruino <->cnc shield oraz CNC shield <-> sterowniki.
- 21 sty 2021, 08:31
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Szczerze mówiąc to nic nie wybrałem, ponieważ decyzja o przygotowaniu takiego plotera trochę mi weszła w paradę i chciałem pójść po najniższej linii oporu. Kupiłem gotową ramę z silnikami i płytkami, dopiero później zacząłem się zastanawiać jak to podłączyć. Początkowo chciałem zrobić to na LinuxCNC, ale skoro płytka Arduino z CNC Shield była w zestawie, gdzieś tam widziałem że jest fajny program Laser GRBL więc postanowiłem spróbować.TOP67 pisze: ↑20 sty 2021, 23:24Ciesz się, że nie wybrałeś wersji do Arduino Nano. Tam dodatkowo zaminili sygnały STP i DIR we wszystkich osiach oraz podciągnęli jumpery od mikrokroku do masy zamiast +5V.
Gdybyś jednak wybrał konfigurację odpowiednią do swojej płytki, to napisy by się zgadzały. Tylko nie było by PWM.
Tym bardziej, że żona pracuje na Windowsie więc tutaj nie trzeba będzie dodatkowego komputera, dodatkowego programu CAM. Kupiłem ESP8266 (co też będzie dla mnie nowością) i spróbuje to jeszcze połączyć bezprzewodowo bo maszyna będzie stała w odległym od komputera miejscu pracowni więc jeden plątający się kabel mniej jeśli się uda.
- 20 sty 2021, 23:05
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Wiem że autorzy GRBL nie produkują płytek, natomiast nie do końca wiedziałem skąd wynikają te zmiany bo nie śledzę tematu GRBL.
Może kiedyś będę miał czas się tym pobawić i zobaczyć jak to jest zrobione.
Tymczasem do tej pory GRBL znałem tylko z nazwy, Arduino omijałem szerokim łukiem.
Faktycznie oznaczenia na płytce nieco mylą, natomiast ze względu na moje minimalne zainteresowanie GRBL nie go końca zorientowałem się gdzie szukać tych informacji co jest na którym pinie w aktualnej konfiguracji.
Dzięki za pomoc i naprowadzenie.
Może kiedyś będę miał czas się tym pobawić i zobaczyć jak to jest zrobione.
Tymczasem do tej pory GRBL znałem tylko z nazwy, Arduino omijałem szerokim łukiem.
Faktycznie oznaczenia na płytce nieco mylą, natomiast ze względu na moje minimalne zainteresowanie GRBL nie go końca zorientowałem się gdzie szukać tych informacji co jest na którym pinie w aktualnej konfiguracji.
Dzięki za pomoc i naprowadzenie.
- 20 sty 2021, 22:53
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Ok, wygląda na to że działa.
Zabrakło mi informacji, że limit Z podłączony jest do D12.
Zrobię podsumowanie, może komuś się przyda za jakiś czas.
Założenie jest takie:
Ploter 2 osie (X i Y), 2 silniki na osi Y, niezależne bazowanie silników aby zachować geometrię, sterowanie PWM do lasera.
Sprzęt:
Arduino UNO oraz CNC-Shield V3.
Konieczne działania sprzętowe:
Zamontować sterowniki do gniazd: X, Y oraz A
Na płytce CNC Shield należy połączyć wyjścia A3/A4 Arduino UNO (czyli CoolEn i SDA na CNC Shield V3) do wejść STEP i DIR sterownika silnika A za pomocą przewodów wpiętych na listwy kołkowe (rysunek poniżej)
Silnik X podłączyć do gniazda silnika X.
Silnik Y1 podłączyć do gniazda silnika Y.
Silnik Y2 podłączyć do gniazda silnika A.
Krańcówkę silnika X podłączyć do pinu D9 arduino UNO czyli do pinów X+ lib X- na cnc shield v3.
Krańcówkę silnika Y1 podłączyć do pinu D10 arduino UNO czyli do pinów Y+ lib Y- na cnc shield v3.
Krańcówkę silnika Y2 podłączyć do pinu D12 arduino UNO czyli do pinu SpnEn na cnc shield v3.
Wyjscie PWM podłączyć do pinu D11 Arduino UNO czyli do pinów Z_ lub Z- na cnc shield v3.
Poniżej schemat obrazkowy:
Zmiany w programie:
W pliku config:
Należy odkomentować lub wpisać następujące definicje:
Dodane 6 minuty 40 sekundy:
We fragmencie który zacytowałeś napisałem, że piny opisane Z+ i Z- na płyty CNC Shield V3 podłączone są do pinu D11 arduino. Czy to jest nieprawda?
Jeśli masz się flustrować to po prostu nie czytaj i nie pisz.
Generalnie całe to Arduino i CNC Schield to dość spory syf, bo skoro coś się opisuje na płytce to taką funkcję powinno mieć. Natomiast jeśli coś jest zmienne to nie powinno posiadać stałego opisu. Nie rozumiem jaki autorzy grbl maja problem, aby dla płytki CNC Shield trzymać się jej opisów. Chyba, że po prostu niektóre piny muszą być zamienione bo sprzętowo nie mogą zrealizować jakiejś funkcji. Nie analizowałem tego kodu.
Zabrakło mi informacji, że limit Z podłączony jest do D12.
Zrobię podsumowanie, może komuś się przyda za jakiś czas.
Założenie jest takie:
Ploter 2 osie (X i Y), 2 silniki na osi Y, niezależne bazowanie silników aby zachować geometrię, sterowanie PWM do lasera.
Sprzęt:
Arduino UNO oraz CNC-Shield V3.
Konieczne działania sprzętowe:
Zamontować sterowniki do gniazd: X, Y oraz A
Na płytce CNC Shield należy połączyć wyjścia A3/A4 Arduino UNO (czyli CoolEn i SDA na CNC Shield V3) do wejść STEP i DIR sterownika silnika A za pomocą przewodów wpiętych na listwy kołkowe (rysunek poniżej)

Silnik X podłączyć do gniazda silnika X.
Silnik Y1 podłączyć do gniazda silnika Y.
Silnik Y2 podłączyć do gniazda silnika A.
Krańcówkę silnika X podłączyć do pinu D9 arduino UNO czyli do pinów X+ lib X- na cnc shield v3.
Krańcówkę silnika Y1 podłączyć do pinu D10 arduino UNO czyli do pinów Y+ lib Y- na cnc shield v3.
Krańcówkę silnika Y2 podłączyć do pinu D12 arduino UNO czyli do pinu SpnEn na cnc shield v3.
Wyjscie PWM podłączyć do pinu D11 Arduino UNO czyli do pinów Z_ lub Z- na cnc shield v3.
Poniżej schemat obrazkowy:

Zmiany w programie:
W pliku config:
Należy odkomentować lub wpisać następujące definicje:
Kod: Zaznacz cały
#define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))
#define ENABLE_DUAL_AXIS
#define DUAL_AXIS_SELECT Y_AXIS
#define DUAL_AXIS_CONFIG_PROTONEER_V3_51
Nie napisałem nigdzie, że Z+ i Z- to piny płytki arduino. Jeśli tak, to wskaż gdzie, może przez przypadek, może niefortunny zapis.
We fragmencie który zacytowałeś napisałem, że piny opisane Z+ i Z- na płyty CNC Shield V3 podłączone są do pinu D11 arduino. Czy to jest nieprawda?
Jeśli masz się flustrować to po prostu nie czytaj i nie pisz.
Generalnie całe to Arduino i CNC Schield to dość spory syf, bo skoro coś się opisuje na płytce to taką funkcję powinno mieć. Natomiast jeśli coś jest zmienne to nie powinno posiadać stałego opisu. Nie rozumiem jaki autorzy grbl maja problem, aby dla płytki CNC Shield trzymać się jej opisów. Chyba, że po prostu niektóre piny muszą być zamienione bo sprzętowo nie mogą zrealizować jakiejś funkcji. Nie analizowałem tego kodu.
- 20 sty 2021, 21:55
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Przecież napisałem tylko co jest na tych pinach, aby wiadomo było o które piny chodzi. Na płytce Z+ i Z- są połączone razem i podłączone do pin D11 płyty arduino a na tym wyjściu jest sygnał PWM więc nie może tam być krańcówka.
Wejścia X oraz Y krańcówek działają i nawet pasują do opisów. Są podłączone do pinów D9 i D10 płyty arduino.
Nie sugeruję się opisami tylko piszę co gdzie jest.
- 20 sty 2021, 21:35
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Zasugerowałem się tym co pisał TOP67 oraz jest zapisane w pliku config:
Na pinach opisanych na cnc shield v3 jako Z+ i Z- jest wyjście PWM.It would best be implemented by sharing all limit switches
// on pins D9/D10 (as [X1,Z]/[X2,Y] or [X,Y2]/[Y1,Z]), home each axis independently, and
// updating lots of code to ensure everything is running correctly.
- 20 sty 2021, 20:55
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Coś mam kłopot z tym bazowaniem.
Krańcówkę X podłączam pod X-, krańcówkę Y1 podłączam pod Y+, krańcówkę Y2 podłączam pod X+
Oś X bazuje się dobrze.
Podczas bazowania osi Y kręcą obydwa silniki osi Y jednak nie reaguje na krańcówkę podpiętą do X+. Reakcja jest tylko na krańcówkę Y+, po czym się wyłącza bo jak widać zadziała zabezpieczenie zdefiniowane:
#define DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0 // Float (percent)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0 // Float (mm)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5 // Float (mm)
Krańcówkę X podłączam pod X-, krańcówkę Y1 podłączam pod Y+, krańcówkę Y2 podłączam pod X+
Oś X bazuje się dobrze.
Podczas bazowania osi Y kręcą obydwa silniki osi Y jednak nie reaguje na krańcówkę podpiętą do X+. Reakcja jest tylko na krańcówkę Y+, po czym się wyłącza bo jak widać zadziała zabezpieczenie zdefiniowane:
#define DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0 // Float (percent)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0 // Float (mm)
#define DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5 // Float (mm)
- 19 sty 2021, 23:36
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Coś pominąłem bo nie kręci drugim silnikiem Y.
Podsumuję co zrobiłem.
Na CNC Shield podłączyłem stepsticki na gniazdo X, Y,A oraz podłączyłem do nich silniki.
Połączyłem przewodami CoolEn(A3) do A.DIR oraz SDA(A4) do A.STEP, jak na rysunku:
W pliku config ustawiłem następujące opcje:
Skompilowałem, wgrałem.
Silnik X kręci, silnik Y kręci, drugi silnik nie kręci.
Dodane 10 minuty 8 sekundy:
Ok, fałszywy alarm. Nie działało bo uszkodził się stepstick w międzyczasie. Po podmianie silniki kręcą.
Jutro spróbuję bazowanie i sprawdzę czy działa PWM.
Dzięki za pomoc, udało się uruchomić bez zagłębiania się w program jak to działa bo chwilowo nie mam na to czasu.
Podsumuję co zrobiłem.
Na CNC Shield podłączyłem stepsticki na gniazdo X, Y,A oraz podłączyłem do nich silniki.
Połączyłem przewodami CoolEn(A3) do A.DIR oraz SDA(A4) do A.STEP, jak na rysunku:

W pliku config ustawiłem następujące opcje:
Kod: Zaznacz cały
#define ENABLE_DUAL_AXIS
#define DUAL_AXIS_SELECT Y_AXIS
#define DUAL_AXIS_CONFIG_PROTONEER_V3_51
#define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))
Silnik X kręci, silnik Y kręci, drugi silnik nie kręci.
Dodane 10 minuty 8 sekundy:
Ok, fałszywy alarm. Nie działało bo uszkodził się stepstick w międzyczasie. Po podmianie silniki kręcą.
Jutro spróbuję bazowanie i sprawdzę czy działa PWM.
Dzięki za pomoc, udało się uruchomić bez zagłębiania się w program jak to działa bo chwilowo nie mam na to czasu.
- 19 sty 2021, 22:37
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: GRBL - 2 silniki na oś i niezależne bazowanie
- Odpowiedzi: 33
- Odsłony: 4172
Re: GRBL - 2 silniki na oś i niezależne bazowanie
Ok, ja mam cnc shield V3 i potrzebuję PWM do sterowania mocą lasera.TOP67 pisze: ↑19 sty 2021, 21:16Oficjalnie są dwie konfiguracje.
Dla płytki CNC Shield V3 bez PWM, ale ze sterowaniem na D12 i D13, które są wyprowadzona na zworki. Aby włączyć PWM trzeba by trochę pozmieniać w trzech plikach.
Dla Protoneer v3.3 z PWM, ale ze sterowaniem na A3 i A4. Zworek trzeba by połączyć kynarem wejścia stepsticka z portami A3 i A4 lub zmienić przypisania w cpumap.h
Jaki jest najszybszy i najprostszy aby uruchomić sterowanie osią sklonowaną i mieć wyjście PWM?
Dodane 3 minuty 12 sekundy:
Czy wystarczy że skompiluję z opcją:
#define DUAL_AXIS_CONFIG_PROTONEER_V3_51
i podłączę piny A4 oraz A3 do do STEP i DIR sterownika A?