GRBL i dwa silniki na oś

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC
Awatar użytkownika

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

Re: GRBL i dwa silniki na oś

#11

Post napisał: tuxcnc » 17 cze 2020, 05:40

TOP67 pisze:
16 cze 2020, 23:50
Żadną zworką nie da się zamienić D11 i D12. Te zworki służą tylko do konfigurowania czwartego stepsticka.
Czyli jednak są zworki ?
Da się zamiast jumperów użyć kabelków od arduino :
Obrazek
NICZEGO nie trzeba ani ciąć, ani lutować.



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 i dwa silniki na oś

#12

Post napisał: TOP67 » 17 cze 2020, 08:07

tuxcnc pisze:
17 cze 2020, 05:40
Czyli jednak są zworki ?
Da się zamiast jumperów użyć kabelków od arduino :
Przecież oczywiste jest, że na płytce są zworki, chociażby do ustawienia mikrokroku. Ale nie ma żadnej możliwości zamiany sygnału D11 i D12. Ani kabelkiem, ani zworkami. Bez tego porty będą źle opisane, co może się kiedyś zemścić. Dla mnie sytuacja w której podłączam silnik zamiast krańcówki jest niekomfortowa, ale komuś może to nie przeszkadzać.
Przy włączeniu DUAL AXIS kolejne porty zostają zamienione, ale niekoniecznie są one używane (CoolEn i SpnDir). Wtedy już zupełnie można się pogubić. I właśnie takim kabelkiem można to w dużej mierze naprawić, podciągając inne porty do sterowania czwartego stepsticka.

Wszystko zależy od tego, które wejścia i wyjścia są potrzebne. Jeśli wrzeciono nie jest sterowane z płytki przez PWM, to można tak przekompilować GRBL, żeby wszystkie złącza były właściwie opisane.
Jeśli PWM jest potrzebne, to musi ono być na porcie D11, który jest połączony ze złączem opisanym Z+ i Z-

Jest jeszcze możliwość naniesienia nowych napisów na płytkę.

Awatar użytkownika

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

Re: GRBL i dwa silniki na oś

#13

Post napisał: tuxcnc » 17 cze 2020, 15:00

TOP67 pisze:
17 cze 2020, 08:07
można tak przekompilować GRBL, żeby wszystkie złącza były właściwie opisane.
Zasadniczo NIE można.
Nie wdając się w szczegóły, GRBL nie operuje na pinach, tylko na portach, więc nie da się dowolnie poprzestawiać sygnałów. Nawiasem mówiąc, gdyby można było, toby to autorzy zrobili zamiast siać zamęt.
Jest jeszcze ciekawiej, bo wpadłem na dość fajny pomysł, żeby wywalić sygnały osi Z, której w laserze nie mam, a dodatkową oś przypisać do trzeciego sterownika na płytce CNC Shield V4. No i NIE DA SIĘ. Pinów StepZ i DirZ nie da się ani przenieść ani usunąć, bo się program nie skompiluje.
Ale zasadniczo zupełnie nie o to chodzi, tylko o kretyńskie wpisy w configu, które wprowadzają ludzi w błąd.
Kiedyś istniała jakaś płytka CNC Shield V3, na której połączenia były zrobione na stałe albo jakieś piny Arduino nie były wyprowadzone (nie widzę sensu robić w tej sprawie dochodzenia), ale teraz pod tą nazwą jest powszechnie dostępny chiński sterownik zgodny z Protoner V3.1, czyli ten na którym jest wszystko i wszystko działa.
A opisów nie ma sensu przedrukowywać, bo one zależą WYŁĄCZNIE od wgranego softu. Kto komu zabroni wgrać inną wersję firmware i podłączyć do czegoś innego ?

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 i dwa silniki na oś

#14

Post napisał: TOP67 » 17 cze 2020, 16:33

tuxcnc pisze:
17 cze 2020, 15:00
TOP67 pisze:
17 cze 2020, 08:07
można tak przekompilować GRBL, żeby wszystkie złącza były właściwie opisane.
Zasadniczo NIE można.
Zasadniczo można. W cpu_map.h można do każdego zadania zdefiniować inny port, ale wszystkie osie są zdefiniowane w jednym rejestrze. Największym ograniczeniem jest PWM, który ma dedykowane wyjścia, zależne od wybranego timera.

Dodane 27 minuty 19 sekundy:
tuxcnc pisze:
17 cze 2020, 15:00
Jest jeszcze ciekawiej, bo wpadłem na dość fajny pomysł, żeby wywalić sygnały osi Z, której w laserze nie mam, a dodatkową oś przypisać do trzeciego sterownika na płytce CNC Shield V4. No i NIE DA SIĘ. Pinów StepZ i DirZ nie da się ani przenieść ani usunąć, bo się program nie skompiluje.
Zamieniałem je między sobą, ale w ramach jednego rejestru. Trzeba by pogrzebać w innych plikach. Na pewno da się DUAL_AXIS podpiąć pod inny port, bo ma własną definicję STEP_PORT_DUAL.


gohu
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 1
Posty: 38
Rejestracja: 02 sty 2016, 17:39
Lokalizacja: Jawor/Lubin

Re: GRBL i dwa silniki na oś

#15

Post napisał: gohu » 17 cze 2020, 16:54

a nie lepiej zamiast kombinować jak koń pod górkę wywalić gównianego shielda kupić jakieś 4 sterowniki TB , podłączyć dwa na jednej osi równolegle tylko obrócić sygnał na jednym z dwóch silników? ja tak posiadam ( niestety nie przeszedłem na Linux CNC) Faktycznie podczas odpalenia widać delikatny skok jednego z silników który za chwile podczas ruchu i tak się zsynchronizuje z drugim.

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 i dwa silniki na oś

#16

Post napisał: TOP67 » 17 cze 2020, 17:33

Ale podłączyć do czego? Do GRBL?
Takie coś, jak proponujesz robi się zworkami, bez kompilowania. Przekompilowanie jest potrzebna, żeby mieć czwarty sterownik sterowany z niezależnego portu.

Awatar użytkownika

gothye
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 134
Rejestracja: 15 kwie 2009, 15:18
Lokalizacja: Płock

Re: GRBL i dwa silniki na oś

#17

Post napisał: gothye » 17 cze 2020, 17:38

w cpu_map jest :

#define STEP_DDR_DUAL DDRC
#define STEP_PORT_DUAL PORTC
#define DUAL_STEP_BIT 4 // Uno Digital Pin 12
#define STEP_MASK_DUAL ((1<<DUAL_STEP_BIT))
#define DIRECTION_DDR_DUAL DDRB
#define DIRECTION_PORT_DUAL PORTB
#define DUAL_DIRECTION_BIT 5 // Uno Digital Pin 13
#define DIRECTION_MASK_DUAL ((1<<DUAL_DIRECTION_BIT))

możesz dać na samum końcu tego pliku :

#ifdefine STEP_DDR_DUAL
#undef STEP_DDR_DUAL
#undef DUAL_STEP_BIT
#undef STEP_MASK_DUAL
#undef DIRECTION_DDR_DUAL
#undef DIRECTION_PORT_DUAL
#undef DUAL_DIRECTION_BIT 5
#undef DIRECTION_MASK_DUAL
#endif

a potem :

twój port i PIN

#define STEP_DDR_DUAL DDRD
#define STEP_PORT_DUAL PORTD

#define DUAL_STEP_BIT 4 // nr pinu STEP
#define STEP_MASK_DUAL ((1<<DUAL_STEP_BIT))
#define DIRECTION_DDR_DUAL DDRD
#define DIRECTION_PORT_DUAL PORTD
#define DUAL_DIRECTION_BIT 5 (nr pinu do DIR jaki chcesz dać
#define DIRECTION_MASK_DUAL ((1<<DUAL_DIRECTION_BIT))
aby kompilator nie wyrzucał błedów przy komplilacji ;)

nie sprawdzałem ale powinno śmigać ,

to tak na szybko z programowania w C

Awatar użytkownika

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

Re: GRBL i dwa silniki na oś

#18

Post napisał: tuxcnc » 17 cze 2020, 18:01

gothye pisze:
17 cze 2020, 17:38
nie sprawdzałem ale powinno śmigać
Ale CO powinno śmigać ?

Awatar użytkownika

gothye
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 134
Rejestracja: 15 kwie 2009, 15:18
Lokalizacja: Płock

Re: GRBL i dwa silniki na oś

#19

Post napisał: gothye » 18 cze 2020, 06:07

tuxcnc pisze:
17 cze 2020, 18:01
gothye pisze:
17 cze 2020, 17:38
nie sprawdzałem ale powinno śmigać
Ale CO powinno śmigać ?
TOP67 pisze:
17 cze 2020, 16:33


Zamieniałem je między sobą, ale w ramach jednego rejestru. Trzeba by pogrzebać w innych plikach. Na pewno da się DUAL_AXIS podpiąć pod inny port, bo ma własną definicję STEP_PORT_DUAL.

Do zmiany STEP_PORT_DUAL na inny port w AVT

Awatar użytkownika

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

Re: GRBL i dwa silniki na oś

#20

Post napisał: tuxcnc » 18 cze 2020, 06:30

gothye pisze:
18 cze 2020, 06:07
Do zmiany STEP_PORT_DUAL na inny port w AVT
Naprawiasz to, co nie jest zepsute.
Dual port faktycznie można zadeklarować dowolnie wszędzie, ale zwykle kończy się to tym, że coś innego przestaje działać, i to tu jest problem.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”