Znaleziono 11 wyników

autor: TOP67
20 sty 2021, 23:24
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

tuxcnc pisze:
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
Tylko dlaczego nie skopiowali wersji 3.51?

Dodane 3 minuty 19 sekundy:
drzasiek90 pisze:
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.
Ciesz 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.
autor: TOP67
20 sty 2021, 22:59
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

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: TOP67
20 sty 2021, 22:13
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

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
autor: TOP67
20 sty 2021, 21:59
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

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
autor: TOP67
19 sty 2021, 22:45
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

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: TOP67
19 sty 2021, 21:16
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

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
autor: TOP67
19 sty 2021, 21:02
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

tuxcnc pisze:
19 sty 2021, 20:36
Najzwyczajniej trzeba skonfigurować shielda jako Protoneer v3.3 i nie przejmować się nadrukami.
Czy przypadkiem nie o to chodzi ?
Nie do końca, bo wtedy sterowanie czwartym silnikiem, będzie na A3 i A4. A na CNC Shield v3.0 są wyprowadzone D12 i D13.

Trzeba więcej pozmieniać, ale się da.
autor: TOP67
19 sty 2021, 20:22
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

tuxcnc pisze:
19 sty 2021, 20:01
TOP67 pisze:
19 sty 2021, 16:49
Z powyższego opisu wynika, że PWM zostanie wyłączone.
Chyba już kiedyś o tym dyskutowaliśmy, że ten opis jest debilny, bo nie chodzi o same sygnały, tylko o nadruk na płytce shielda ...
To przeczytaj ze zrozumieniem co tam jest napisane. Nie ma to nic wspólnego z napisami. Po wybraniu tej płytki dla DUAL_AXIS, PWM musi być wyłączone, bo SpnEn zostanie przeniesione na port A3.

Albo spróbuj to skompilować

Kod: Zaznacz cały

  #if defined(DUAL_AXIS_CONFIG_CNC_SHIELD_CLONE) && defined(VARIABLE_SPINDLE)
    #error "VARIABLE_SPINDLE not supported with DUAL_AXIS_CNC_SHIELD_CLONE."
autor: TOP67
19 sty 2021, 16:49
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

drzasiek90 pisze:
19 sty 2021, 12:21
Ok, rozumiem. Myślałem, że czwarty sterownik nie ma połączenia z mikrokontrolerem i można jedynie zworkami skopiować sterowanie z któregokolwiek innego.
Można zworkami podłączyć pod oś X, Y,Z lub pod D12 i D13, które po włączeniu DUAL_AXIS obsługują czwartą oś (często nazywaną A).
drzasiek90 pisze:
19 sty 2021, 12:21
rozumiem że można zgrupować krańcówki ale nie rozumiem stwierdzenia, że są dwa porty które obsługują pozostałe 2.

Na CNC Shield mamy wejścia (X+ X- Y+ Y- Z+ Z-).
Na schemacie widzę, że wejścia + i - są połączone, co jest ok. Nigdy maszyna nie będzie jednocześnie na krańcówce + i -, jedyny minus to brak rozróżnienia na którą krańcówkę najechał ale po co to komu, przecież widać :)
Natomiast nie wiem gdzie podłączyć krańcówkę drugiego silnika sklonowanej osi.

Załóżmy, że klonuję silnik Y.
Popraw mnie jeśli źle zrozumiałem.
W grbl w pliku config.c odkomentuję linie:

Kod: Zaznacz cały

 #define ENABLE_DUAL_AXIS
oraz

Kod: Zaznacz cały

#define DUAL_AXIS_SELECT  Y_AXIS
A więc,
Silnik X podłączam pod stepscick X i krańcówkę X podłączam pod X+ lub X-, bez znaczenia.
Silnik Y1 podłączam pod stepstick Y i krańcówkę Y2 podłączam pod Y+ lub Y-.
Silnik Y2 podłączam pod stepstick A a krańcówkę Y2 pod? Tu jest to czego nie zrozumiałem ;) Pod X+ lub X-?
Jeśli klonujesz oś Y, to krańcówki grupuje się tak [X,Y2] - do wejścia X+ lub X- /[Y1,Z] do Y+ lub Y-
Pin opisany jako Z jest wyjściem PWM do sterowania wrzecionem od GRBL 0.9

// NOTE: Arduino CNC Shield Clone (Originally Protoneer v3.0) has A.STP and A.DIR wired to D12 and D13, respectively. With the limit pins and stepper enable pin on this same port, the spindle enable pin had to be moved and spindle direction pin deleted. The spindle enable pin now resides on A3, replacing coolant enable. Coolant enable is bumped over to pin A4. Spindle enable is used far more and this pin setup helps facilitate users to integrate this feature without arguably too much work. Variable spindle (i.e. laser mode) does NOT work with this shield as configured. While variable spindle technically can work with this shield, it requires too many changes for most user setups to accomodate. 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.

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.
autor: TOP67
19 sty 2021, 11:32
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

Nie. Oś Z pozostaje niezmienna. Trzeba odróżnić DUAl_AXIS od 2_AXIS
CNC Shield v3 ma 4 gniazda na stepsticki, więc można podłączyć 4 silniki. Ten czwarty może być zworkami zmostkowany z dowolną osią, ale wtedy bazowanie jest wspólne. Albo programowo podpięty pod oś X lub Y i mieć osobne bazowanie.
Ponieważ Arduino ma ograniczoną ilość portów, a potrzeba kolejnych do obsługi czwartego silnika, trzeba było zrezygnować z niektórych funkcji, jak obsługa chłodzenia. Jeden (a w zasadzie dwa) porty zaoszczędzono grupując krańcowki. Są tylko dwa porty, dla każdego silnika z podwójnej osi, które obsługują również pozostałe dwie. Ponieważ bazowanie odbywa się dla każdej osi osobno, nie jest to problemem.

Wróć do „GRBL - 2 silniki na oś i niezależne bazowanie”