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: 1760
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

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

#21

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

tuxcnc pisze:
20 sty 2021, 21:41
Jak będziesz patrzył na te debilne napisy, to nigdy do niczego nie dojdziesz.
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.



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

#22

Post napisał: TOP67 » 20 sty 2021, 21:59

Faktycznie wygląda na to, że czynne są trzy porty do krańcówek i łączy się X, Y, Z + A

A zapis o grupowaniu na dwóch pinach był gdybaniem
It would best be implemented by sharing all limit switches
// on pins D9/D10 (as [X1,Z]/[X2,Y] or [X,Y2]/[Y1,Z])
Podłącz Y2 oraz Z do D12 czyli SpnEn

Awatar użytkownika

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

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

#23

Post napisał: tuxcnc » 20 sty 2021, 22:03

Kod: Zaznacz cały

 // NOTE: Dual axis limit is shared with the z-axis limit pin by default. Pin used must be on the same port
      // as other limit pins.
      #define DUAL_LIMIT_BIT    Z_LIMIT_BIT
      #define LIMIT_MASK        ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)|(1<<DUAL_LIMIT_BIT))
Czyli jeżeli nie namieszałeś, to wspólna jest krańcówka zetki.

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

#24

Post napisał: TOP67 » 20 sty 2021, 22:13

I zależnie od zdefiniowania PWM jest na D12 lub D11
#ifdef VARIABLE_SPINDLE // Z Limit pin and spindle enabled swapped to access hardware PWM on Pin 11.
#define Z_LIMIT_BIT 4 // Uno Digital Pin 12
#else
#define Z_LIMIT_BIT 3 // Uno Digital Pin 11
#endif
Ostatnio zmieniony 20 sty 2021, 22:14 przez TOP67, łącznie zmieniany 1 raz.

Awatar użytkownika

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

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

#25

Post napisał: tuxcnc » 20 sty 2021, 22:13

drzasiek90 pisze:
20 sty 2021, 21:55
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
Szlag mnie za chwilę trafi.
ARDUINO NIE MA PINÓW Z+ i Z- !!!!
Weź czymś wydrap te debilne napisy, albo wszystko będzie Ci się pieprzyć w nieskończoność !

Kod: Zaznacz cały

#ifdef VARIABLE_SPINDLE // Z Limit pin and spindle enabled swapped to access hardware PWM on Pin 11.
    #define Z_LIMIT_BIT>   4 // Uno Digital Pin 12
  #else
    #define Z_LIMIT_BIT    3  // Uno Digital Pin 11
  #endif
Grzebałeś tutaj ?
Masz krańcówkę Z na D12 ?
No to podłącz tam też krańcówkę Y2.


Darek05
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 182
Rejestracja: 06 wrz 2007, 23:18
Lokalizacja: Wodzisław Śl.

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

#26

Post napisał: Darek05 » 20 sty 2021, 22:25

tuxcnc pisze:
19 sty 2021, 21:26
......
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.
Sorki że się wtrącam nie wnosząc nic treściwego, ale muszę bo się uduszę :lol: - tuxcnc czytając twoje posty to słowo debil to jest chyba najczęściej z używanych, nie że bym był krytyczny wobec twoich wypowiedzi, po prostu już mnie brzuch boli z rechotu.
:D Pozdrawiam DAREK
O0O0O0O0O0O0O0O0O


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

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

#27

Post napisał: drzasiek90 » 20 sty 2021, 22:53

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

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
Dodane 6 minuty 40 sekundy:
tuxcnc pisze:
20 sty 2021, 22:13
Szlag mnie za chwilę trafi.
ARDUINO NIE MA PINÓW Z+ i Z- !!!!
Weź czymś wydrap te debilne napisy, albo wszystko będzie Ci się pieprzyć w nieskończoność !
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.

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

#28

Post napisał: TOP67 » 20 sty 2021, 22:59

drzasiek90 pisze:
20 sty 2021, 22:53
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.
Autorzy GRBL nie produkują płytek. To z nieznanych przyczyn Chińczycy sprzedają płytkę do GRBL 0.8, który nie przewidywał obsługi PWM i krańcówki były na kolejnych portach D9, 10, 11. Niestety PWM może być tylko na D11, stąd zamiana. Jest to napisane wprost w cytowanych fragmentach kodu.


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

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

#29

Post napisał: drzasiek90 » 20 sty 2021, 23:05

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.

Awatar użytkownika

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

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

#30

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

TOP67 pisze:
20 sty 2021, 22:59
To z nieznanych przyczyn Chińczycy sprzedają płytkę do GRBL 0.8, który nie przewidywał obsługi PWM i krańcówki były na kolejnych portach D9, 10, 11.
Tutaj akurat przyczyna jest znana, skopiowali płytkę Protoneer razem z napisami.
Obrazek

ODPOWIEDZ Poprzedni tematNastępny temat

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