GRBL - 2 silniki na oś i niezależne bazowanie

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych

Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 14
Posty: 1768
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#11

Post napisał: drzasiek90 » 19 sty 2021, 21:04

tuxcnc pisze:
19 sty 2021, 20:36
TOP67 pisze:
19 sty 2021, 20:22
Albo spróbuj
Wybacz, ale dzisiaj mi się po prostu nie chce.
Pamiętam natomiast długą dyskusję na temat tego debilizmu, że się nie da skompilować, bo się napisy na płytce nie będą zgadzały z sygnałami.
Najzwyczajniej trzeba skonfigurować shielda jako Protoneer v3.3 i nie przejmować się nadrukami.
Czy przypadkiem nie o to chodzi ?
Nie chodzi przypadkiem o to, że jedna z linii STEP lub DIR wykorzystana dla osi A to wyjście sprzętowego timera? Jeśli się ją wykorzysta, to nie ma czym generować PWM.

Dodane 1 minuta 23 sekundy:
TOP67 pisze:
19 sty 2021, 16:49
Z powyższego opisu wynika, że PWM zostanie wyłączone. Druga dostępna konfiguracja zachowuje PWM, ale ma A.STP i A.DIR na portach A3 i A4, więc wymagała by lutowania. Ale wszystko da się włączyć, odpowiednio zmieniając pliki konfiguracyjne.
Znajdę gdzieś opis jak to zrobić? To jest jakaś oficjalna możliwość czy po prostu trzeba zdrutować?



Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 2224
Rejestracja: 17 wrz 2018, 10:47
Lokalizacja: Wrocław
Kontakt:

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#12

Post napisał: TOP67 » 19 sty 2021, 21:16

drzasiek90 pisze:
19 sty 2021, 21:04
Nie chodzi przypadkiem o to, że jedna z linii STEP lub DIR wykorzystana dla osi A to wyjście sprzętowego timera? Jeśli się ją wykorzysta, to nie ma czym generować PWM.
Akurat nie, bo do tego są używane D12 i D13, a timer jest na D11. To jest raczej zachowawczość autora, który nie chciał mieć potem setek pytań. Sam napisał, że nie każdy by sobie z tym poradził.
drzasiek90 pisze:
19 sty 2021, 21:04
Znajdę gdzieś opis jak to zrobić? To jest jakaś oficjalna możliwość czy po prostu trzeba zdrutować?
Oficjalnie 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

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 7877
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#13

Post napisał: tuxcnc » 19 sty 2021, 21:26

drzasiek90 pisze:
19 sty 2021, 21:04
Nie chodzi przypadkiem o to, że jedna z linii STEP lub DIR wykorzystana dla osi A to wyjście sprzętowego timera? Jeśli się ją wykorzysta, to nie ma czym generować PWM.
Chodzi o to, że jak się projektuje urządzenie dla debili, to potem są problemy.
Jakiś kretyn projektując CNC-shield wpadł na cudowny pomysł, żeby wydrukować na płytce nazwy sygnałów GRBL zamiast nazw pinów Arduino. Chodziło o to, że debil nie jest w stanie przyporządkować do siebie dwóch nazw i kiedy musi np. podłączyć A-step do A3 to mu się mózg gotuje.
Konsekwencją tego pierwszego debilizmu jest drugi debilizm, że nie da się skompilować pewnych konfiguracji, bo się sygnały nie będą pokrywały z nadrukowanymi na płytce nazwami, chociaż technicznie jest to możliwe.
Natomiast na jakiejś mitycznej płytce Protoneer v3.3 (której nikt nie kupuje bo jest droga i trudno dostępna) są inne nadruki i jeśli ją się wybierze w configu to się skompilować da.
To tak w skrócie.


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 14
Posty: 1768
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#14

Post napisał: drzasiek90 » 19 sty 2021, 22:37

TOP67 pisze:
19 sty 2021, 21:16
Oficjalnie 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
Ok, ja mam cnc shield V3 i potrzebuję PWM do sterowania mocą lasera.
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?

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 2224
Rejestracja: 17 wrz 2018, 10:47
Lokalizacja: Wrocław
Kontakt:

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#15

Post napisał: TOP67 » 19 sty 2021, 22:45

drzasiek90 pisze:
19 sty 2021, 22:37
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?
Tak. I nawet nie trzeba lutować, można użyć kabelka prototypowego od arduino. Wszystkie porty są wyprowadzone na szpilki. A3 to CoolEn, A4 to SDA.


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 14
Posty: 1768
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#16

Post napisał: drzasiek90 » 19 sty 2021, 23:36

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:
Obrazek
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))
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.


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 14
Posty: 1768
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#17

Post napisał: drzasiek90 » 20 sty 2021, 20:55

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)

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 7877
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#18

Post napisał: tuxcnc » 20 sty 2021, 21:12

drzasiek90 pisze:
20 sty 2021, 20:55
krańcówkę Y2 podłączam pod X+
Ale w opisie GRBL jest :
New dual motor support feature for gantry CNC machines. An axis motor is efficiently mirrored to a dedicated set of step and direction pins (D12/D13 or A3/A4) with no detectable loss of performance. Primarily used to independently home both sides of a dual-motor gantry with a pair of limit switches (second shared with Z-axis limit pin). When the limit switches are setup correctly, Grbl will self-square the gantry (and stay square if $1=255 is programmed). Beware use at your own risk! Grbl is not responsible for any damage to any machines.
Wynika z tego że współdzieloną krańcówką jest Z, co by było logiczne, bo czasem X i Y bazuje się razem, a Z z zasady osobno.


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 14
Posty: 1768
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#19

Post napisał: drzasiek90 » 20 sty 2021, 21:35

Zasugerowałem się tym co pisał TOP67 oraz jest zapisane w pliku config:
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.
Na pinach opisanych na cnc shield v3 jako Z+ i Z- jest wyjście PWM.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 7877
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: GRBL - 2 silniki na oś i niezależne bazowanie

#20

Post napisał: tuxcnc » 20 sty 2021, 21:41

drzasiek90 pisze:
20 sty 2021, 21:35
Na pinach opisanych na cnc shield
Jak będziesz patrzył na te debilne napisy, to nigdy do niczego nie dojdziesz.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”