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

Sterowanie silnikami krokowymi przy pomocy Arduino CNC Shield

Soku123 16 Lut 2024 09:05 1371 11
  • #1 20963822
    Soku123
    Poziom 3  
    Posty: 23
    Witam wszystkich. Mam pewien problem.

    Nie jestem w stanie sterować silnikami krokowymi za pomocą Arduino Uno wraz z shieldem CNC.

    A więc od początku.
    Osoba trzymająca tarczę CNC podłączoną do Arduino Uno z podłączonymi przewodami i sterownikami silników krokowych. Zrzut ekranu interfejsu Arduino IDE z pustym szkicem kodu. Widok menu programu Arduino IDE na ekranie komputera. Zrzut ekranu z oprogramowaniem XLoader i menedżerem plików. Zrzut ekranu narzędzia do wgrywania oprogramowania układowego z opcjami konfiguracji portu i stylu maszyny. Zrzut ekranu programu OpenBuilds CONTROL z logiem aktualizacji i portów USB. Zrzut ekranu oprogramowania OpenBuilds CONTROL pokazujący panel sterowania maszyną z podłączonym Arduino. Zrzut ekranu z komunikatami błędów Grbl w programie do sterowania CNC. Ekran z komunikatami błędów GRBL podczas sterowania CNC. Zrzut ekranu z oprogramowania CNC z widocznym komunikatem błędu Grbl. Zrzut ekranu z oprogramowaniem do sterowania CNC z komunikatami błędów dotyczącymi firmware. Stepper motor Usongshine trzymany w ręce, czarnego koloru z przewodami. Silnik krokowy z podłączonymi kablami, leżący na biurku

    Po kolei na zdjęciach pokazane są kroki.

    Co robię źle, może to jest wada samej elektroniki? Silniki, jak nacisnę „ruch osi przykładowo X”, co najwyżej delikatnie drżą, po czym już się nie ruszają.

    Miał ktoś taki problem?
  • #2 20963836
    ArturAVS
    Moderator
    Posty: 26232
    Pomógł: 2297
    Ocena: 7776
    Po pierwsze, program OpenBuilds CONTROL wyrzuca Ci błąd krańcówek. Po drugie, prąd sterowników jest odpowiednio dobrany do silników? Na początek proponuję wgrać Arduino GRBL i odpowiednio go skonfigurować. Wtedy przeprowadzić próby.

    Obejrzyj;


  • #3 20964581
    kaczakat
    Poziom 34  
    Posty: 1748
    Pomógł: 317
    Ocena: 230
    Na początek polecam programik Lightshot, klikasz skrót klawiszy, wskazujesz myszą zakres ekranu do skopiowania i na Elektrodzie możesz to wkleić wprost z pamięci, (CTR+V), można też zapisać do pliku:
    Zrzut ekranu okna informacji o programie Lightshot.
    Potem wybierz konkretny silnik, wgraj najprostszy przykład, który ustawia kierunek, pozwala na ruch i wystukuje rytm ruchu. Drgania sugerują, że masz pomieszane kable do silnika, możesz to określić multimetrem, lub sprawdzając po kolei różne kombinacje podłączenia, nie ma ich znowu tak wiele dla 4 przewodów.
    Przykład znajdziesz tutaj: https://www.makerguides.com/a4988-stepper-motor-driver-arduino-tutorial/. Jak będziesz miał pewność, że silnik i shield działa, to możesz posprawdzać co w tym programie jeszcze trzeba poustawiać by to działało, zablokować krańcówki, wyłączniki awaryjne, itp.
    Pomogłem? Kup mi kawę.
  • #4 20964661
    Soku123
    Poziom 3  
    Posty: 23
    >>20963836

    Niestety nie działa, zrobiłem wszystko krok po kroku. Dalej wyskakują te same errory.

    Dodano po 3 [minuty]:

    >>20964581

    Dziękuję za link. Przewód u mnie wygląda tak, czyli inaczej niż jest pokazane Zbliżenie na silnik krokowy z podłączonymi przewodami.

    Dodano po 43 [minuty]:

    EDIT.

    Po wielu próbach jeden z silników bez powodu zaczął działać, po czym ponownie przestał.

    Jak ustawić na potencjometrach odpowiednią wartość? Metodą prób i błędów? Czy mogę w jakiś sposób to zmierzyć?
  • #6 20964973
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    Napisz w terminalu $X i daj enter.
    Musisz zmostkować estop z GND aby skasować ten błąd.

    Pozdr
  • #7 20967698
    Soku123
    Poziom 3  
    Posty: 23
    Zrobiłem wszystko co znalazłem w Internecie, dalej nie działa. Silniki nie reagują na polecenia ruchu, z wyjątkiem 2 chwilowych "ożywień", które jak szybko przyszły tak szybko się skończyły. Na screenie z konsoli widać, że ciągle łączy się i odłącza cały sterownik, dobrze wnioskuję? Może być wina samej elektroniki?

    Takie błędy się pojawiają. Zrzut ekranu z konsoli pokazujący błędy łączności sterownika Grbl. Komunikat błędu Grbl: brakujące przesunięcie IJK dla łuku. Komunikat Grbl Alarm informujący o wyzwoleniu twardego limitu. Komunikat błędu Grbl z alarmem o przekroczeniu limitu ruchu maszyny. Zrzut ekranu z błędem Grbl dotyczącym nieprawidłowego formatu wartości numerycznej. Komunikat błędu Grbl na ekranie.
  • #8 20968193
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    Masz po prostu nie skonfigurowany grbl.

    Pozdr
  • #9 20968365
    Soku123
    Poziom 3  
    Posty: 23
    Masz na myśli plik .hex?
    Nakierujesz mnie gdzie go szukać?
    Testowałem parę dostępnych w internecie, ale na żadnym nie było zmian. Te pliki, które są podawane w poradnikach zazwyczaj są już nie dostępne do pobrania
  • #10 20968433
    Slawek K.
    Poziom 35  
    Posty: 3020
    Pomógł: 259
    Ocena: 1301
    Podłączasz się programem, np Universal Gcode Sender i w terminalu poprzez polecenia z $ ustawiasz wszystko. Poszukaj np. na YT, znajdziesz bez problemu.

    Pozdr
  • #11 20969167
    Soku123
    Poziom 3  
    Posty: 23

    Dziękuję za odpowiedź.

    Znalazłem nowy plik .hex, na yt, który rzeczywiście trochę lepiej działa.

    Sprawa aktualnie wygląda tak:
    1. Co jakiś czas, po którymś z kolei kliknięciu przycisku "X+", który ma zmusić silnik do działania, sam silnik robi delikatny ruch, mniejszy niż wskazany.
    2. Wyregulowałem potencjometr.
    3. Zasilaczem do silnika jest stary zasilacz komputerowy, ale w pełni sprawny. Teraz pytanie. Podłączyłem +12V, tak jak jest na CNC shield, silniki są na 3,7V bodajże. Czy to może mieć wpływ? Mogę podłączyć mniejsze napięcie skoro minimalne wg. cnc shield to 12V?
    4. Jest to płytka Arduino Uno, oczywiście fake z Chin. Jak mi się wydaje to cała reszta na Allegro jest taka sama. Czy same stepsticki mogą być uszkodzone, albo ogólnie cała płytka? Może szukać innych sterowników?
    5. Aktualnie działam w programie UGS, a nie OpenBuilds.
    6. Ciągle mam wrażenie, że wejście na USB w płytce jest uszkodzone, co jakiś czas wyrzuca mi na komputerze błąd, że jest skok napięcia w USB. Mogę jakoś zweryfikować czy wszystko jest sprawne?

    Z góry przepraszam, że zadaję pewnie głupie pytania, ale jest to kolejna dziedzina, którą chciałbym liznąć, jednocześnie fajnie opisać problem, którym jak zakładam nie tylko u mnie występuje. Niech korzystają kolejne pokolenia ;D

    Jest sens kupować coś takiego? Będzie to prostsze w obsłudze i bardziej niezawodne? https://allegro.pl/oferta/sterownik-plyta-glowna-cnc-usb-mach3-4-osie-100khz-12045701937
  • #12 20971240
    zlychnet
    Poziom 9  
    Posty: 72
    Ocena: 7

    Odnośnie punktu 6. Może z wejściem USB jest wszystko w porządku, tylko jest różnica napięcia pomiędzy masami komputera, do którego masz podłączone Arduino, a zasilaczem komputerowym, z którego zasilasz silniki. Jeżeli posiadasz multimetr, to możesz zmierzyć, czy występuje różnica. Nie wiem, jak masz to połączone i z czego korzystasz, dlatego nie polecam wspólnego połączenia mas. Poczytaj o tym aspekcie.

    Odnośnie punktu 4. Ja też mam klony z Chin i próbowałem na kilku, i działa u mnie Grbl, kiedy wysyłam na niego komendy z Ugs. Ale to rzeczy nieporównywalne. Jak w żarcie o informatyków: "dziwne, u mnie działa". Same sterowniki mogą być uszkodzone. Choć jeżeli silnik czasami samoistnie ożywa, to zakładam, że nie one są przyczyną. Silniki krokowe do działania potrzebują naprzemiennych impulsów, więc skoro zadziałały, to sterownik raczej podaje impulsy. Chyba, że obserwowane i opisane przez ciebie działanie to po prostu pojedynczy impuls na cewce. Jeżeli dochodzi do obrotu silnika, powiedzmy o kilkadziesiąt stopni, to możesz założyć wstępnie, że sterowniki są sprawne. A przynajmniej ten jeden spięty z obracającym się silnikiem.

    I tak jak napisał Sławek, musisz skonfigurować Grbl. Czyli podać wymiary pola roboczego, znaczy jak daleko mają się przesuwać osie, z jaką prędkością i przyśpieszeniem, ile kroków silnika na milimetr przesunięcia i tak dalej.

Podsumowanie tematu

✨ Użytkownik ma problem z kontrolowaniem silników krokowych za pomocą Arduino Uno i shielda CNC. W odpowiedziach zasugerowano, aby sprawdzić konfigurację GRBL oraz poprawność podłączenia silników. Wskazano na możliwość błędów w połączeniach kablowych oraz konieczność ustawienia odpowiedniego prądu na driverach. Użytkownik zauważył sporadyczne działanie silników, co może sugerować problemy z elektroniką lub zasilaniem. Wskazano również na różnice napięcia między masami, co może wpływać na stabilność połączenia USB. Użytkownik testował różne pliki .hex i programy do komunikacji, ale nadal napotyka trudności w pełnym uruchomieniu systemu.
Wygenerowane przez model językowy.
REKLAMA