logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL?

raro 26 Mar 2020 17:48 14535 16
REKLAMA
  • #1 18562462
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Mam pytanie do zorientowanych w temacie kolegów.
    Czy można "zmusić" Shield CNC v.3 do działania z Arduino Mega 2560 z wgranym GRBL?
    Co prawda w sprzedający twierdzą, że MEGA 2560 jest kompatybilny z Shield CNC tak jak UNO ale to chyba nieprawda. Arduno UNO z GRBL bez problemów śmiga z Shield CNC, ale MEGA już nie! Z tego co udało mi się dowiedzieć to to, że odpowiednie pinout-y w obu płytkach nie są na tych w tych samych miejscach (szpilkach).
  • REKLAMA
  • #2 18563072
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1303
    Zobacz :

    Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL?
  • REKLAMA
  • #3 18563264
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Ok ale po włożeniu Shield-u CNC ze stepstic-ami i podłączeniu silników następuje ich zablokowanie. Chyba (raczej na pewno) pinout-y STEP i DIR są na innych szpilkach niż w UNO.
  • #4 18563811
    Konto nie istnieje
    Poziom 1  
  • #5 18563833
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1303
    Poprostu wgraj GRBL przeznaczonego na UNO do Mega i będzie działać z shieldem do UNO, a jak chcesz używać GRBL dedykowanego na Mega to musisz użyć shieldu do Mega, ale to chyba raczej jasne.

    Pozdr
  • REKLAMA
  • #6 18564132
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Dziękuję za zainteresowanie tematem i przesłane informacje.
    Sławek K. - niestety to tak nie działa. Wgrać grbl-a przeznaczonego dla UNO do MEGA się da, ale programy do sterowania urządzeniem np. UGS (Universal Gcode Platform) go nie "widzą".
    emarcus - potwierdziłeś moje obawy, że nie da się tego zrobić (połączyć MEGA z shield-em do Uno). Myślałem, że może da się coś zrobić programowo w configu (zmienić mapowanie).
    Wyjaśniam dlaczego "krążę" koło Mega jeśli działa mi urządzenie na Uno. Otóż zrobiłem sobie małą frezarkę CNC. Do sterowania używam Estlcam-a. Znalazłem opis wykonania dżojstika (Link) ale trzeba go podłączyć do Mega.
  • #7 18564173
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1303
    Otóż da się wgrać grbl na Uno do mega, screen poniżej :

    Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL?

    I w tym przypadku, działa shield dedykowany na Uno.

    Nie mniej, nie da się wykorzystać dodatkowych pinów z Mega bo w Uno jest max 20.
    Zatem nie zrobisz tego co chcesz, czyli dodać joya bo soft dedykowany na Uno tego nie obsłuży.

    Pozdr
  • #8 18564288
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Sławek K. - Tak da się do Mega wgrać grbl-a przeznaczonego dla Uno, ale jak pisałem wcześniej, programy do sterowania urządzeniami CNC go nie "widzą" - przynajmniej u mnie tak jest (chyba, że coś robię nie tak).
    Na Uno wszystko gra! Oczywiście w tej konfiguracji nie da się skorzystać z dżojstika.
    Czy sprawdzałeś "swoją teorię" w praktyce?

    Dodano po 9 [godziny] 18 [minuty]:

    Po wgraniu do MEGA grbl 1.1h w wersji dla UNO w GRBL Controller otrzymuję komunikat jak na załączonym skanie:
    Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL?
  • REKLAMA
  • #9 18580161
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Czekam jeszcze na jakąś pomocną wiadomość.
    Niestety nie znam się na tworzeniu kodów dla Arduino, ale mam pytanie dla zorientowanych w temacie. Czy nie ma możliwości przeprogramowania grbl-a w celu "przekierowania odpowiednich sygnałów na odpowiednie piny" (chyba W pliku cpu_map) tak żeby odpowiadało to tarczy CNC (Shield CNC V3).
    Mam nadzieję, że opisałem sprawę w sposób zrozumiały.
  • #10 18582130
    Konto nie istnieje
    Poziom 1  
  • #11 18582464
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    "emarcus" - dzięki za informacje.
    Wskazany wątek już wcześniej przeglądałem. Opisany jest tam ten sam problem co mój z drobnym wyjątkiem dotyczącym zastosowanego stepstica (ja używam A4988). Jak pisałem wcześniej nie za bardzo znam się na programowaniu i nie do końca rozumiem zamieszczone tam posty. Wydaje mi się, że najważniejszy jest tam post #12. Jeśli dobrze zrozumiałem wyjściem byłoby wykonanie nowe/własnej płytki tarczy (Shield) CNC z odpowiednio zmienionym rozmieszczeniem pinów STEP i DIR tak żeby pasowały do pinów w Arduino Mega 2560.

    Co do wykorzystania innego sterownika to posiadam RAMP 1.4 ale z jego wykorzystanie do mojego projektu jest troszkę kłopotliwe ze względu na to, że w zasadzie jest przeznaczony do drukarek 3D i w przypadku zastosowania do frezarki CNC trzeba byłoby troszkę pokombinować. Jednak najważniejsze jest to, że nie będzie współpracował z wykonanym dźojstikiem. Taką informację otrzymałem od autora programu Estkcam (ciężko od niego "wycisnąć" informacje - nie chce odpowiadać na emaile, a jak już odpowie to w kilku słowach). Jak zaczynałem budowę dźojskika byłem przekonany, że nie będzie żadnych problemów. Myślałem, że podmienię tylko UNO na MEGA i będzie OK. Arduino Mega 2560 kupiłem w Sklep Hurtownia Modelarskiej ABC-RC-Arduino-Modele RC-Drony i tam w opisie shieldu CNC V3 jest napisane, że jest on kompatybilny z Uno i Mega!!! To mnie wpędziło w kłopot. Frezarka na Uno działa bez problemu, ale nie wykorzystam zrobionego dźojstika.
    Załączniki:
    • Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL? Dźojstik.jpg (220.04 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #12 18588518
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Jeśli kogoś temat interesuje to informuję, że dokonałem postępu i "zmusiłem" shield CNC V.3 do "współpracy" z Arduino Mega 2560. Na razie sprawdziłem działanie silników osi X, Y, Z. DZIAŁAJĄ!
    Jak to zrobiłem? Korzystając z informacji pliku grbl (dla Mega 2560) cpu_map.h :
    // Define step pulse output pins. NOTE: All step bit pins must be on the same port.
      [code]#define STEP_DDR      DDRA
      #define STEP_PORT     PORTA
      #define STEP_PIN      PINA
      #define X_STEP_BIT    2 // MEGA2560 Digital Pin 24
      #define Y_STEP_BIT    3 // MEGA2560 Digital Pin 25
      #define Z_STEP_BIT    4 // MEGA2560 Digital Pin 26
      #define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits
    
      // Define step direction output pins. NOTE: All direction pins must be on the same port.
      #define DIRECTION_DDR     DDRC
      #define DIRECTION_PORT    PORTC
      #define DIRECTION_PIN     PINC
      #define X_DIRECTION_BIT   7 // MEGA2560 Digital Pin 30
      #define Y_DIRECTION_BIT   6 // MEGA2560 Digital Pin 31
      #define Z_DIRECTION_BIT   5 // MEGA2560 Digital Pin 32
      #define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits
    
      // Define stepper driver enable/disable output pin.
      #define STEPPERS_DISABLE_DDR   DDRB
      #define STEPPERS_DISABLE_PORT  PORTB
      #define STEPPERS_DISABLE_BIT   7 // MEGA2560 Digital Pin 13
      #define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)[/code]

    odpowiednio zmieniłem połączenia pinów STEP i DIR poszczególnych stepstick-ów A4988 oraz pinu ENABLE (zgodnie z powyższym).
    Stepstcki A4988 "spreparowałem" w sposób jak na Foto_1. Na Foto-2 przedstawiam testowe połączenia dla dwóch osi (X i Z).
    Teraz muszę jeszcze sprawdzić pozostałe połączenia: STOP, PROBE, regulacja obrotów wrzeciona. Myślę, że da się to zrobić. Końcowym sprawdzeniem będzie test mojego dżojstika.
    Załączniki:
    • Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL? Foto_2.jpg (197.97 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL? Foto_1.jpg (91.4 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #13 18742754
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Po dłuższej przerwie wracam do tematu.
    Zaprojektowałem własny "shield" i zamówiłem wykonanie płytki u chińczyków. Po miesiącu oczekiwania otrzymałem zamówione płytki. Wlutowałem elementy i próby wypadły pozytywnie. Mam tylko jedną wątpliwość. Otóż okazało się, że Mega 2560 z wgranym oprogramowaniem Estlcam nie dostarcza sygnału "Stepper Enable/Disable", który w przypadku wgranego oprogramowania GRBL jest na pinie 13. W tej sytuacji pin ENABLE sterownika A4988 będzie "wisiał w powietrzu" (będzie miał cały czas wymuszony poziom niski) i silnik będzie cały czas zasilany co wpłynie na większe grzanie się sterownika i silnika. Wystąpi tzw. moment trzymający.
    I tu mam pytanie do doświadczonych kolegów. Czy takie rozwiązanie jest prawidłowe?
    Załączniki:
    • Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL? Pinout Arduino Mega Estlcam.jpg (184.6 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL? Pinout Arduino Mega GRBL.jpg (105.53 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Arduino Mega 2560 i CNC Shield v.3 - Czy kompatybilne z GRBL? Shield.jpg (209.42 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #14 18742972
    Konto nie istnieje
    Poziom 1  
  • #15 18743072
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    Dzięki za informację.
    Jak zrozumiałem praca z brakiem zewnętrznego podłączenia do pinu EN jest prawidłowa. Czy tak?
    Sprawdziłem temperaturę radiatora na chipie A4988. W czasie "postoju" temperatura wynosiła ok. 55 - 60 st. C, w czasie pracy doszła do 72 st. C. Czy to nie jest za dużo?
  • #16 18743630
    Konto nie istnieje
    Poziom 1  
  • #17 18744210
    raro
    Poziom 12  
    Posty: 130
    Ocena: 36
    emarcus - Dziękuję za bardzo fachowe informacje. Nie bardzo tylko rozumiem jak mogę wykorzystać microstepping do obniżenia prądu silnika korzystając z tabeli 2 w Datasheets A4988.
    Sprawdzę jeszcze działanie całego układu (Mega 2560 + Shield) w zaprojektowanej obudowie, którą wyposażyłem w wentylator 4010 12V.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy kompatybilności Arduino Mega 2560 z CNC Shield v.3 przy użyciu GRBL. Użytkownicy zauważają, że pinout-y dla Mega i UNO różnią się, co powoduje problemy z działaniem silników. Sugerowane rozwiązania obejmują wgranie GRBL przeznaczonego dla UNO do Mega, jednak niektóre programy do sterowania, takie jak UGS, nie rozpoznają tej konfiguracji. Użytkownicy podkreślają, że konieczne może być dostosowanie pinów w pliku cpu_map.h lub stworzenie własnej płytki shield, aby zapewnić prawidłowe połączenia. W końcu, jeden z uczestników dyskusji z powodzeniem zmodyfikował shield, co pozwoliło na działanie silników osi X, Y, Z. Pojawiły się również pytania dotyczące zasilania silników i temperatury pracy sterowników A4988.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA