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