FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych

Autor tematu
drzasiek90
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 885
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#1

Post napisał: drzasiek90 » 30 lip 2022, 21:31

FluidNC - sterownik CNC oparty na GRBL i ESP32. Co to jest, nie będę się rozpisywał, bo już było więc można sobie poczytać:
fluidnc-t116108.html
https://github.com/bdring/FluidNC
Ja natomiast chciałbym opisać jak uruchomić to na płytce ESPDUINO i CNCShield V3.
Dlaczego na tym dziadostwie? Powodów może być kilka. ESPDUINO jest zgodne z arduino UNO a na tym zapewne pracuje wiele sprzętów. Ja również mam 2 maszyny na arduino UNO, teraz buduję trzecią więc dla mnie wygodniej rozpracować ten układ, bo potem łatwo będę mógł zrobić upgrade na pozostałych maszynach. To pierwszy powód. Drugi jest taki, że płytkę CNC Shield mam a ESPDUINO jest dostępne niedrogo na polskim portalu aukcyjnym, przychodzi na 2 dzień z fakturką a nie trzeba czekać na dostawę od Chińczyka. A 3 powód jest taki, że układ ten zbudowany w kanapkę jest po prostu mały i zgrabny i mi odpowiada. Nie będę usprawiedliwiał wyboru, bo z pewnością są lepsze wybory, dlatego "wszystkowiedzących" proszę o podarowanie sobie tematu, że ten wybór sprzętowy jest bez sensu.
Po co ten opis?
1. Może komuś się przyda, bo mimo, że są opisy to wcale wszystko nie było takie oczywiste i od razu mi się nie udało.
2. Bo za miesiąc zapomnę jak to robiłem i jak będę chciał następną maszynę, to będę rozgryzał od nowa. A tak to odgrzebię na forum.

Noto od początku.
Płytka kosztowała mnie 37 zł. zważywszy na to, że przyszła na drugi dzień i jest to cena z podatkiem VAT, uważam, że całkiem tanio. Co dalej? Kompilować? Raczej nie. Są dostępne skompilowane wersje dla bluetooth i wifi, ale tu też trzeba odpowiednie archiwum pobrać, bo w jednym brakuje plików. Pobrać należy stąd:
https://github.com/bdring/FluidNC/releases/tag/v3.4.5
jedno z archiwów, albo posx dla linuxa albo win64 dla windowsa. Ja wszystko robiłem na linuksie, dlatego opis będzie dla linuxa. Czy zadziała na windowsie? Pewnie tak, trzeba spróbować.
Po rozpakowaniu archiwum, trzeba wejść do katalogu. Znajdują się tam skrypty instalacyjne, ja wybrałem instalację wersji na bluetooth więc jest to skrypt install-bt.sh Trzeba go uruchomić w terminalu. Ale pewnie od razu nie zadziała, bo trzeba będzie doinstalować pythona, esptool i pewnie coś jeszcze czego na chwilę obecną nie pamiętam. Tu też były problemy, bo wersji esptool jest kilka i nie każda obsłuży ten skrypt. O ile dobrze pamiętam, ja instalowałem tak:
https://docs.espressif.com/projects/esp ... ation.html
Ale najpierw trzeba zainstalować python i Fluidterm, jest to opisane tutaj:
https://github.com/bdring/fluidterm/blob/main/README.md
Fluidterm służy później do wgrywania konfiguracji.
Po zainstalowaniu potrzebnych bibliotek, skrypt instalacyjny powinien wgrać soft do ESP32 a następnie uruchomić terminal (fluidterm) i zgłosi się grbl
Obrazek
Następnie należy przygotować i wgrać konfigurację (wszystkie ustawienia wprowadza się za pomocą pliku lub można wpisywać je komendami). Ja tym razem mam prostą maszynę, ma 4 silniki (2 na oś Y) i nic więcej, żadnego PWM, wrzeciona, chłodziwa itd. Ale przygotowałem konfigurację na wypadek, gdybym kiedyś to potrzebował i to wszystko jest tam wpisane. Moja konfiguracja:

Kod: Zaznacz cały

name: "my_ploter"
board: "ESP32 Dev Controller V4"

stepping:
  engine: RMT
  idle_ms: 255
  dir_delay_us: 1
  pulse_us: 2
  disable_delay_us: 0

axes:
  shared_stepper_disable_pin: gpio.12
  shared_stepper_reset_pin: NO_PIN

  x:
    steps_per_mm: 100
    max_rate_mm_per_min: 6000
    acceleration_mm_per_sec2: 200
    max_travel_mm: 900
    soft_limits: true
    homing:
      cycle: 2
      allow_single_axis: false
      positive_direction: true
      mpos_mm: 1.000
      seek_mm_per_min: 200.0
      feed_mm_per_min: 50.0
    motor0:
      limit_all_pin: gpio.13:low:pu
      stepstick:
        direction_pin: gpio.16
        step_pin: gpio.26
  y:
    steps_per_mm: 100
    max_rate_mm_per_min: 6000
    acceleration_mm_per_sec2: 200
    max_travel_mm: 900
    soft_limits: true
    homing:
      cycle: 2
      allow_single_axis: false
      positive_direction: true
      mpos_mm: 1.000
      seek_mm_per_min: 200.0
      feed_mm_per_min: 50.0
    motor0:
      limit_all_pin: gpio.5:low:pu
      stepstick:
        direction_pin: gpio.27
        step_pin: gpio.25
    motor1:
      limit_all_pin: gpio.4:low:pu
      stepstick:
        direction_pin: gpio.19
        step_pin: gpio.18
  z:
    steps_per_mm: 800
    max_rate_mm_per_min: 2000
    acceleration_mm_per_sec2: 25
    max_travel_mm: 1000
    soft_limits: true
    homing:
      cycle: 1
      allow_single_axis: false
      positive_direction: true
      mpos_mm: 1.000
      seek_mm_per_min: 200.0
      feed_mm_per_min: 50.0
    motor0:
      limit_all_pin: gpio.23:low:pu
      stepstick:
        direction_pin: gpio.14
        step_pin: gpio.17

coolant:
  flood_pin: gpio.33
  mist_pin:  NO_PIN

        
probe:
  pin: gpio.15:low:pu

PWM:
  pwm_hz: 5000
  output_pin: gpio.02
  enable_pin: gpio.32
  direction_pin: gpio.0
  disable_with_s0: false
  s0_with_disable: true
  spinup_ms: 0
  spindown_ms: 0
  tool_num: 0
  speed_map: 0=0% 10000=100%
Konfigurację należy zapisać w pliku z rozszerzeniem .yaml, czyli ja zapisałem my_ploter.yaml

Więcej o konfiguracji tutaj:
https://github.com/bdring/FluidNC/wiki/ ... tup#homing
https://github.com/bdring/FluidNC/wiki/ ... grbl_esp32
https://github.com/bdring/FluidNC/tree/ ... le_configs

Aby wgrać konfigurację, należy mając uruchomiony FluidTerm nacisnąć jednocześnie klawisz Ctrl i U, utworzy się okienko w którym trzeba wskazać plik:
Obrazek
A następnie potwierdzić nazwę
Obrazek
Urządzenie odpowie po zapisaniu pliku
Obrazek
W urządzeniu może być zapisanych wiele plików konfiguracyjnych i można je wybierać, które jest aktualnie używane.
Aby sprawdzić czy plik się wgrał oraz jakie są wgrane inne konfiguracje, należy wpisać w terminalu:
$LocalFS/List
Obrazek
Aby wybrać odpowiedni plik do użycia należy wpisać:
$Config/Filename=<yourfile.yaml>
czyli u mnie:
Obrazek
I zresetować płytkę (przyciskiem - wtedy nie odłączy się od terminala) ponieważ nowe ustawienie zastosowane zostanie dopiero po resecie. Aby sprawdzić jaka konfiguracja jest aktualnie używana, trzeba wpisać w terminal
$S
Obrazek
Można też wprowadzać ręcznie zmiany każdego parametru wpisują w terminal i następnie zapisać je do pliku, ale uważam, że edycja pliku na komputerze i wgranie do urządzenia jest wygodniejsze. Więcej o tym tutaj:
https://github.com/bdring/FluidNC/wiki/ ... onfiguring

Co do mojej konfiguracji, poniżej znajduje się schemat przypisania poszczególnych pinów do wyprowadzeń ESPDUINO
Obrazek
Niestety nie dało się wykorzystać pinów tak, aby wszystkie były wyprowadzone na płytkę CNC Shield, ponieważ piny IO34, IO35, IO36, IO39 nie są możliwe do wykorzystania w każdy sposób (nie rozgryzałem tego, wyrzucało błąd konfiguracji po uruchomieniu) dlatego użyłem inne dostępne piny.
A tu niżej schemat podłączenia tego na płytce CNC Shield
Obrazek

I na koniec jeszcze jeden problem jaki napotkałem. Otóż po podłączeniu płytki CNC Shield na ESPDUINO, ESP32 ciągle się resetował. Nawet podłączenie samej pustej płyty, bez sterowników, bez żadnego podpięcia. Metodą prób i błędów, doszedłem, że to podłączenie 5V z ESPDUINO do CNCSHIELD powoduje, że UC się resetuje. Ponieważ na pustej płycie jedyne co robi 5V to podciąga nogi EN sterowników do 5V (a te są podłączone do wyprowadzeń ESP32). Spróbowałem zmienić to podciągniecie do 3.3V ale również ten sam problem. Ostatecznie usunąłem rezystor podciągający. Nie wiem, czy to był wyjątkowy problem który zdarzył się tylko mi, czy to problem globalny ale na dziś nie chce mi się już szukać przyczyny. Na ten moment program działa, bazują się wszystkie osie i silniki i się kręcą. Nie sprawdzałem, czy działają sygnały PWM, SPINDLE, PROBE itd.



Awatar użytkownika

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

Re: FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#2

Post napisał: tuxcnc » 31 lip 2022, 06:47

drzasiek90 pisze:
30 lip 2022, 21:31
Płytka kosztowała mnie 37 zł. zważywszy na to, że przyszła na drugi dzień i jest to cena z podatkiem VAT, uważam, że całkiem tanio.
To naprawdę fascynujący problem, dlaczego tak wielu ludzi formalnie bogatych cierpi na obsesję odpisywania VAT i księgowania wszystkiego w koszty...
To już nie jest żadna przedsiębiorczość, tylko zwykłe dziadostwo i chorobliwa pazerność...
Zapewne kilku psychiatrów zrobi na tym doktoraty...
Natomiast tanio to jest kupić na Aliexpress Makerbase MKS32 za 85 PLN z wliczoną wysyłką, mieć świetnie wykonaną płytkę ze wszystkim co może być potrzebne, działającą od ręki i nie beczeć że się nie da udziadować kilku PLN na odpisaniu z podatku.
ESPduino+CNCshield to jeden wielki syf i absolutnie nikomu tego rozwiązania nie polecam.
Oprócz opisanych przez autora wątku problemów, jest jeszcze kilka nie mniej istotnych.
ESPduino ma mało pinów, więc w gotowych sterownikach część wyjść jest obsługiwana przez ekspander na rejestrze przesuwającym.
Na przykład w Makerbase Tinybee (ok. 110 PLN na Aliexpress) z jednego pinu ESP32 robi się AŻ DWADZIEŚCIA CZTERY piny wyjściowe :
Obrazek
Działa to bezproblemowo.
A tak w Tinybee wyglądają wejścia krańcówek:
Obrazek
Nikomu kto choć trochę zna się na elektronice nie trzeba tłumaczyć, czym to się rózni od podłączenia "anteny" do gołego pinu układu działającego z 3,3V...
Podsumowując, ESPduino+CNCshield samo z siebie nie działa, trzeba się nakombinować żeby zadziałało, a o możliwości jakiejkolwiek rozbudowy można zapomnieć....

Robienie takiego sterownika to skrajna głupota i nikomu tego nie polecam.

Natomiast co do samego FluidNC, to są nowe wersje, w których sporo poprawiono, więc 3.4.5 nie należy stosować.
Niestety autorzy przy okazji coś spieprzyli i to naprawdę może doprowadzić do szału.
Otóż plik index.html.gz jest teraz automatycznie ładowany do pamięci, co zapewne jest ukłonem w stronę kretynów którzy nie potrafią zrobić tego ręcznie. Pół biedy kiedy ktoś korzysta z wi-fi, ale przy Bluetooth jest zupełnie niepotrzebny, zajmuje prawie całą dostępną przestrzeń i uniemożliwia wgranie kilku różnych konfiguracji, chociaż układ raportuje wolne miejsce. Kończy się to tym, że choć absolutnie żaden błąd nie jest zgłaszany, to sterownik się uruchamia nieskonfigurowany, bo plik konfiguracji albo ma zero bajtów, albo jest ucięty przed końcem...
Jeśli ktoś używa BT, to index.html.gz może bezpiecznie usunąć, natomiast przy wi-fi trzeba po prostu mieć świadomość problemu i nie pchać do pamięci więcej niż się da.


Autor tematu
drzasiek90
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 885
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#3

Post napisał: drzasiek90 » 31 lip 2022, 08:53

tuxcnc pisze:
31 lip 2022, 06:47
To naprawdę fascynujący problem, dlaczego tak wielu ludzi formalnie bogatych cierpi na obsesję odpisywania VAT i księgowania wszystkiego w koszty...
Już cię kiedyś prosiłem, żebyś nie wypowiadał się na tematy o których bladego pojęcia nie masz.
Po to się koszty zbiera, aby zapłacić podatek taki jak się należy a nie większy. Czego tu nie rozumiesz? Moje dzieci już to nawet rozumieją po co tata faktury skrupulatnie składa. Naprawdę to takie trudne?
Co z tego, że tu 20 zł, tam 30 zł. Ale ja takich zakupów w miesiącu robię 50, 100 może więcej i już się nazbiera kwota która jest istotna.
Ty jak zwykle nie możesz się powstrzymać i musisz w każdym temacie swoje wymiociny wylać.


tristar0
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1909
Rejestracja: 21 sty 2020, 17:48
Lokalizacja: Toruń miasto Tadeusza R

Re: FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#4

Post napisał: tristar0 » 31 lip 2022, 09:31

drzasiek90 pisze:Ty jak zwykle nie możesz się powstrzymać i musisz w każdym temacie swoje wymiociny wylać.
Powinieneś już jakiś czas temu zauważyć że Tux nie może utrzymać zwieracza może to wiek albo przypadłość .jednak to prawda że nie ma człowieczek pojęcia o DG bo dla niego szczytem jest promocyjny paragon w biedronce . Abstrahując od tematu każdy kto myśli inaczej niż on jest bee . Taki tam syndrom Piotrusia pana.
Każdy ma prawo do życia w wolnym kraju !

Awatar użytkownika

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

Re: FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#5

Post napisał: tuxcnc » 31 lip 2022, 10:35

drzasiek90 pisze:
31 lip 2022, 08:53
Czego tu nie rozumiesz?
Ja rozumiem wszystko i to doskonale.
Ty natomiast nie rozumiesz na czym polega różnica pomiędzy biznesem a żałosnym dziadowaniem.
Kiedy się kupuje towar i odpisuje bo można odpisać, to jest biznes.
Kiedy zamiast towaru kupuje się gówno, bo gówno da się odpisać, to jest to żałosne dziadowanie.
EOT.


Autor tematu
drzasiek90
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 885
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#6

Post napisał: drzasiek90 » 31 lip 2022, 10:58

Przecież pisałem, że kupiłem tą płytkę, bo jest dostępna od ręki, mam inne maszyny pracujące na tym zestawie więc mi będzie łatwiej je później zmienić. A rozmiar zestawu także ma znaczenie bo do pozostałych maszyn większej płytki po prostu nie zmieszczę. A to, że towar jest dostępny z fakturą jest ważne ale nie najważniejsze.
Ty tego nie rozumiesz, bo się bawisz i to, że maszynę będziesz budował miesiąc czy rok nie ma znaczenia.
Dla mnie czas ma znaczenie i w ciągu tygodnia mam zbudowana maszynkę i zrobione sterowanie. Po czasie w jakim dotarłaby płytka która proponujesz moja maszyna już na siebie zarobi. Modernizacja pozostałych maszyn także jest istotna. W tym układzie po prostu maszynę wyłączę na 15 minut, wyciągnę Arduino Uno, wepne espduino i maszyna pracuje dalej. Unieruchomienie maszyny żeby przerobić sterowanie na inną płytkę to koszt i dodatkowa praca.
Zrozum, że jeśli tobie się wydaje że nie ma powodów to nie znaczy, że nie ma. To jedynie znaczy, że ty nie masz ale ty to nie cały świat. Twój mały świat zabawy to nie cały świat i dla niektórych są inne istotne kwestię o których ty pojęcia nie masz.
Przestań śmiecić w kolejnym temacie. To temat o fluidNC w nie o odliczaniu podatku i DG o której pojęcia nie masz.
Masz pisać, pisz na temat.

Awatar użytkownika

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

Re: FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#7

Post napisał: tuxcnc » 31 lip 2022, 11:30

drzasiek90 pisze:
31 lip 2022, 10:58
Dla mnie czas ma znaczenie i w ciągu tygodnia mam zbudowana maszynkę i zrobione sterowanie. Po czasie w jakim dotarłaby płytka która proponujesz moja maszyna już na siebie zarobi. Modernizacja pozostałych maszyn także jest istotna. W tym układzie po prostu maszynę wyłączę na 15 minut, wyciągnę Arduino Uno, wepne espduino i maszyna pracuje dalej. Unieruchomienie maszyny żeby przerobić sterowanie na inną płytkę to koszt i dodatkowa praca.
Wszedłeś w ślepą uliczkę, z niezrozumiałych powodów nie chcesz z niej wyjść i na siłę dorabiasz do tego ideologię...
Masz rację, dla mnie CNC to (przynajmniej na razie) tylko hobby, nawet złotówki na tym nie zarobiłem, a mam w tej chwili Makerbase DLC32 bez przydziału, Makerbase V2.0 bez przydziału i jakiś nieokreślony sterownik na 328p z CNC3018 wyłączonego z użytku z powodu wyszabrowania stołu do poważniejszych zadań...
Jeżeli ja, hobbysta, mogę mieć na półce trzy sterowniki, to Ty, biznesmen, możesz mieć siedem...
Natomiast jeśli chodzi o CNCshield, to kiedyś kupiłem kilka, bo były tanie, mam też kilka Arduino Uno i kilka ESPduino.
NIGDY nie zbudowałem na tym sterowania do ŻADNEJ maszyny, bo zawsze były jakieś problemy i na etapie testów się kończyło...
Po prostu szkoda zdrowia i czasu.


Autor tematu
drzasiek90
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 4
Posty: 885
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: FluidNC na ESPDUINO (WeMos D1 R32) i CNC Shield V3

#8

Post napisał: drzasiek90 » 31 lip 2022, 11:42

Żadna ślepa uliczka, napisałem wyraźnie dlaczego użyłem tej płytki. Nie będę się chwalił jakie ja mam płytki na półce bo to nie przedszkole, żeby się chwalić kto ma więcej.
To, że nie zbudowałeś żadnej maszyny na tym zestawie nie znaczy, że się nie da. Ja z problemami sobie poradziłem i mi maszyny na tym pracują wbrew temu co tobie się wydaje.
Jeśli coś u mnie działa i w dodatku jest tańsze, mniejsze i dostępne od ręki to nie przychodzi mi do głowy żaden logiczny powód dla którego miałbym twierdzić, że to jest bez sensu i koniecznie muszę użyć coś innego.
Jestem zadowolony z efektu swojej pracy i dzięki temu w ciągu pół godziny zrobię upgrade 2 innych maszyn, które mają cncshield.
Jeśli będę budował maszynę, która nie będzie potrzebna za tydzień i będę mógł się pobawić ja ty, wtedy będę mógł się zastanowić co sobie wybrać. Jak w grę wchodzi czas to robi się na tym co jest łatwo i szybko dostępne.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”