Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

Dyskusje o programowaniu mikroprocesorów.

Autor tematu
adamo000
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 03 gru 2019, 18:21

Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#1

Post napisał: adamo000 » 19 sie 2021, 10:56

Hej Wam.
Jestem w trakcie powiększania pola roboczego do chińskiego lasera K40.
Zmontowałem wszystko i próbuję uruchomić elektronikę. Chcę przejść z Nano M2 na CNC Shield z racji na lepsze możliwości i oprorgamowanie.
Silniki działają i poruszają się zgodnie z kierunkiem, jakim im zadałem. Problemem jest bazowanie i brak jego działania. Po wciśnięciu home, płytka jakby zawiesza się na chwilę a później resetuje i dostaję komunikat:

Kod: Zaznacz cały

ALARM: 8 - Homing fail. Cycle failed to clear limit switch when pulling off. Try increasing pull-off setting or check wiring.
Mój konfig:
- Klon Arduino Uno
- Klon CNC Shield v3.00
- GRBL 1.1h
- Krańcówki połączone jako NC (zostało po starej konfiguracji z Nano M2)

Konfig GRBL:

Kod: Zaznacz cały

$0=10
 $1=255
 $2=0
 $3=1
 $4=0
 $5=0
 $6=0
 $10=16
 $11=0.010
 $12=0.002
 $13=0
 $20=0
 $21=0
 $22=1
 $23=3
 $24=100.000
 $25=750.000
 $26=100
 $27=30.000
 $30=1000
 $31=0
 $32=1
 $100=80.000
 $101=80.000
 $102=34.000
 $110=1500.000
 $111=1500.000
 $112=300.000
 $120=300.000
 $121=300.000
 $122=30.000
 $130=600.000
 $131=300.000
 $132=300.000
Zmiana wielkości $27 z 1.0 na 30.0 również nie pomogła. Wyczytałem, że $5 powinno mieć wartość 1 dla krańcówek w NC ale to też nie rozwiązało problemu.

Jak sądzicie, co może być przyczyna takiego stanu rzeczy?
Jeżeli temat się powtórzył, proszę o podowiedź gdzie znajdę podobne rozważania.

Adam.

EDIT: Krańcówki podłączone są do X- i Y- wg opisu na CNC Shield.
EDIT2: Bazuję do lewego górnego rogu.



Awatar użytkownika

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

Re: Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#2

Post napisał: tuxcnc » 19 sie 2021, 14:32

adamo000 pisze:
19 sie 2021, 10:56
chińskiego lasera K40.
Problemem może być brak osi Z.
Jeżeli masz GRBL skompilowany standardowo, to będzie próbował zbazować najpierw oś Z...


Autor tematu
adamo000
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 03 gru 2019, 18:21

Re: Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#3

Post napisał: adamo000 » 20 sie 2021, 09:44

Zakomentowałęm:

Kod: Zaznacz cały

//#define HOMING_CYCLE_0 (1<<Z_AXIS)
//#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))
i ustawiłem

Kod: Zaznacz cały

#define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))
lecz to wiele nie dało. Maszyna nie drgnęła by cokolwiek zrobić podczas bazowania.
Może to być winda samego CNC Shield?


drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1767
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#4

Post napisał: drzasiek90 » 20 sie 2021, 10:17

Odłącz krańcówki od cnc_shield i spróbuj czy silniki ruszą na bazowanie.


OlmerPL
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 165
Rejestracja: 29 gru 2016, 19:50
Lokalizacja: Trójmiasto

Re: Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#5

Post napisał: OlmerPL » 20 sie 2021, 10:28

Miałem podobny problem kiedy bawiłem się bazowaniem i wyszło że jedna z krańcówek była skopana. Cały czas się otwierała/zamykała pod wpływem byle sił, np. jak odłożyłem na blat przez co były momenty że nic się nie ruszyło bo krańcówka zadziałała już na starcie. Może masz coś nie tak z połączeniem? Po prostu z miernikiem sprawdził bym ciągłość połączeń bo może coś nie styka gdzieś, czy przewód do płytki, na płytce połączenie, a może krańcówka?


Autor tematu
adamo000
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 03 gru 2019, 18:21

Re: Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#6

Post napisał: adamo000 » 20 sie 2021, 13:01

drzasiek90 pisze:
20 sie 2021, 10:17
Odłącz krańcówki od cnc_shield i spróbuj czy silniki ruszą na bazowanie.
Niestety, nic się nie wydarzyło po odłączeniu krańcówek. Tak jak silniki kręcą podczas zadawania ruchu, tak nic się nie dzieje po wciśnięciu przycisku bazowania.
OlmerPL pisze:
20 sie 2021, 10:28
Miałem podobny problem kiedy bawiłem się bazowaniem i wyszło że jedna z krańcówek była skopana. [...] Może masz coś nie tak z połączeniem? Po prostu z miernikiem sprawdził bym ciągłość połączeń bo może coś nie styka gdzieś, czy przewód do płytki, na płytce połączenie, a może krańcówka?
Ciągłość jest - sprawdzane multimetrem i przy $10=19 (status GRBL dla bazowania) przy wciśnięciu jednej, drugiej, i obu naraz dostaję zwrot, że są wciśnięte więc to nie to.

Gdy mam $5=0
Otrzymuję komunikat

Kod: Zaznacz cały

ALARM: 8 - Homing fail. Cycle failed to clear limit switch when pulling off. Try increasing pull-off setting or check wiring.
A gdy jest $5=1

Kod: Zaznacz cały

 ALARM: 9 - Homing fail. Could not find limit switch within search distance. Defined as 1.5 * max_travel on search and 5 * pulloff on locate phases.
Więc problem wciąż występuje.


Autor tematu
adamo000
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 03 gru 2019, 18:21

Re: Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#7

Post napisał: adamo000 » 25 sie 2021, 12:11

Po kilku dniach przerwy sprawdziłem działanie krańcówek i mam następujący komunikat po wprowadzeniu trybu debugowania z użyciem $10=19.

Kod: Zaznacz cały

<Alarm|MPos:0.000,0.000,0.000|Bf:15,127|FS:0,0|Pn:Z>
Wygląda jakby Pn:Z oznaczał ciągle załączoną krańcówkę Z (której nie mam).

Czy pomimo wyłączonej osi z w config.h może to być problem braku bazowania?

Obecny config.h

Kod: Zaznacz cały

// NOTE: Defaults are set for a traditional 3-axis CNC machine. Z-axis first to clear, followed by X & Y.
//#define HOMING_CYCLE_0 (1<<Z_AXIS)                // REQUIRED: First move Z to clear workspace.
//#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))  // OPTIONAL: Then move X,Y at the same time.
// #define HOMING_CYCLE_2                         // OPTIONAL: Uncomment and add axes mask to enable

// NOTE: The following are two examples to setup homing for 2-axis machines.
//#define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))  // NOT COMPATIBLE WITH COREXY: Homes both X-Y in one cycle. 

#define HOMING_CYCLE_0 (1<<X_AXIS)  // COREXY COMPATIBLE: First home X
#define HOMING_CYCLE_1 (1<<Y_AXIS)  // COREXY COMPATIBLE: Then home Y
Próbowałem dojść jak ją wyłączyć z pomocą tego tematu: grbl-2-silniki-na-os-i-niezalezne-bazow ... 09940.html
Ale niestety za dużo jest tam namieszane i nie jestem w stanie tego ogarnąć.

Awatar użytkownika

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

Re: Uno + Shield + GRBL - problem z bazowaniem osi XY (brak reakcji)

#8

Post napisał: tuxcnc » 25 sie 2021, 15:21

No i kolejny temat z serii "wszystkim działa a mi nie chce, czyli potrzebny jasnowidz"...
Czy to tak trudno zrozumieć, że prawdopodobieństwo rozwiązania problemu maleje wykładniczo względem ilości zmiennych?
W opisywanym przypadku zepsute może być wszystko, więc przyczynę można znaleźć wyłącznie poprzez losowanie.
Natomiast postępowanie metodyczne polega na kolejnym eliminowaniu możliwych przyczyn. Zacząć trzeba od któregoś końca, albo od krańcówek, albo od kodu.

Poniżej przykład metodycznego postępowania.
Gołe Arduino zaprogramowane GRBL i podłączone do komputera z programem UGS :
Obrazek
Jak widać (pomimo że obrazek jest statyczny) kontroler odpowiada na komendy, a po wydaniu polecenia $H licznik osi Z zmienia wskazania.
Wynika stąd że program działa (przynajmniej w tym fragmencie kodu) a jako pierwsza bazowana jest oś Z.
Może zbyt wiele z tego wywnioskować się nie da, ale coś już ustalone mamy, możemy kolejno sprawdzać czy wystawiane są sygnały STEP/DIR na odpowiednich pinach i jak kontroler zareaguje na zwarcie wejścia HOME_Z.
I tak dalej...

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Arduino, Raspberry pi i inne systemy mikroprocesorowe”