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
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1766
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: 7
Posty: 7875
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
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1766
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
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2847
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.
Mam wyrypane na wszelkiej maści proroków ,mędrców i wszystkich którzy stawiają się ponad innymi ,i tak ich zjedzą robaki

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 7
Posty: 7875
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
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1766
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: 7
Posty: 7875
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
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1766
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.

Awatar użytkownika

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

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

#9

Post napisał: tuxcnc » 21 sie 2022, 21:23

Po raz kolejny potwierdziło się, że jak mówię że coś jest głupotą, to jest głupotą i nie warto tego sprawdzać...
Niestety, dałem się podpuścić koledze @drzasiek90 i pomyślałem, że może przesadzam, mam przecież trzy Espduino, cztery CNCshieldy, to zamiast kupować kolejnego Makerbase złożę sobie kanapkę do testów...
Strasznie głupi pomysł...
Pół dnia się pieprzyłem z konfiguracją.
Ciągle wywalało jakieś błędy, przyczyny domyślić się nie było szans, trzeba było pół internetu przewalić żeby wreszcie zrozumieć gdzie jest błąd...
Zacznijmy od tego, że na wklejonym w pierwszym poście obrazku jest błąd, IO18 to DIR a IO19 to STEP. Niby te sygnały idą na goldpiny i kabelkami można sobie połączyć prawidłowo, ale jak ktoś będzie chciał załatwić sprawę jumperami, to będzie lipa.
Następna sprawa, to można zapomnieć o debilnym pomyśle autorów CNCshield, żeby ułatwić życie kretynom i nadrukować nazwy sygnałów GRBL zamiast nazw pinów Arduino.
Już przy Arduino był cyrk z zamianą PWM z którymś z limitów, ale przy ESPduino to już w ogóle kaplica.
Na piny od włączania chłodziwa trafiają te wyprowadzenia ESP32, które mogą być tylko wejściami...
No dobra, a penis z napisami...
Ale to jeszcze nie koniec cyrku.
Jak mamy piny wyłącznie wejściowe, to warto wykorzystać je jako wejścia (limity, probe), bo do niczego innego ich nie użyjemy...
Tylko że te piny nie mają żadnych pullupów czy pulldownów, po prostu wyprowadzenia wiszą sobie na nieustalonym potencjale i trzeba dodać zewnętrzne rezystory...
Tutaj byłem o krok od wypadku, bo z rozpędu dałem pullup do +5V, a przecież układ jest 3.3V i po takim numerze zwariował. Na szczęście opornik który pierwszy wpadł mi w ręce miał 17k i dym nie poszedł... Po przełączeniu na 3,3V wszystko zadziałało jak powinno.
Tak jak pisałem wcześniej, Makerbase ma to wszystko na pokładzie, a ESPduino to będzie pajęczyna...
Karty SD przy czterech silnikach podłączyć się nie da, bo jest za mało pinów i albo rybka albo pipka...
Testów nie przeprowadziłem do końca, bo już miałem na dzisiaj dość, ale wejścia i PWM sprawdziłem, działają, reszta innym działa, to i mi zadziałać powinna...
Podsumowując, jak ktoś lubi się pieprzyć żeby "zaoszczędzić" kilka PLN, to będzie miał zabawę...

Kod: Zaznacz cały

name: "ESPDUINO_CNCshield"
board: "ESPDUINO_PROTONEER_V3"

kinematics:
  Cartesian:

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

axes:
  shared_stepper_disable_pin: gpio.12
  
  x:
    steps_per_mm: 8.250
    max_rate_mm_per_min: 4000
    acceleration_mm_per_sec2: 400
    max_travel_mm: 4000
    homing:
      cycle: 2
      mpos_mm: 550
      feed_mm_per_min: 500.000
      seek_mm_per_min: 2000.000
      positive_direction: true
    
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
# IO35 on "Resume" pin !!! Input only pin!!!
      limit_all_pin: gpio.35:low
# ---
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
# IO16, IO26 hardwired 
        direction_pin: gpio.16
        step_pin: gpio.26

  y:
    steps_per_mm: 8.250
    max_rate_mm_per_min: 4000
    acceleration_mm_per_sec2: 400
    max_travel_mm: 4000
    homing:
      cycle: 2
      mpos_mm: 550
      feed_mm_per_min: 500.000
      seek_mm_per_min: 2000.000
      positive_direction: true
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
# IO34 on "CooEN" pin !!! Input only pin !!!
      limit_all_pin: gpio.34:low
# ---      
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
# IO25, IO27 hardwired
        direction_pin: gpio.27
        step_pin: gpio.25
  z:
    steps_per_mm: 8.250
    max_rate_mm_per_min: 4000
    acceleration_mm_per_sec2: 400
    max_travel_mm: 4000
    homing:
      cycle: 1
      mpos_mm: 550
      feed_mm_per_min: 500.000
      seek_mm_per_min: 2000.000
      positive_direction: true
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
# IO36 on "SDA" pin !!! Input only pin !!!
      limit_all_pin: gpio.36:low
# ---
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
# IO14, IO17 hardwired
        direction_pin: gpio.14
        step_pin: gpio.17
  a:
    steps_per_mm: 8.250
    max_rate_mm_per_min: 4000
    acceleration_mm_per_sec2: 400
    max_travel_mm: 4000
    homing:
      cycle: 2
      mpos_mm: 550
      feed_mm_per_min: 500.000
      seek_mm_per_min: 2000.000
      positive_direction: true
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
# IO39 on "SCL" pin !!! Input only pin !!!
      limit_all_pin: gpio.39:low
# ---
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
# IO18, IO19 hardwired to "D12" and "D13" jumpers
        direction_pin: gpio.18
        step_pin: gpio.19
        
# !!! No SD Card - IO18 and IO19 used by A axis !!!
# !!! You can enable SD Card if disable A axis !!!

# spi:
#  miso_pin: gpio.19
#  mosi_pin: gpio.23
#  sck_pin: gpio.18

# sdcard:
#  cs_pin: gpio.5
#  card_detect_pin: NO_PIN

coolant:
# IO5 on "Y-","Y+" pin
  flood_pin: gpio.5
# IO13 on "X-","X+" pin
  mist_pin:  gpio.13
        
probe:
# IO0 on "E-STOP" pin
  pin: gpio.0:low
  
control:
  safety_door_pin: NO_PIN
  reset_pin: NO_PIN
  feed_hold_pin: NO_PIN
  cycle_start_pin: NO_PIN
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN

macros:
  startup_line0: 
  startup_line1: 
  macro0: 
  macro1: 
  macro2: 
  macro3:

start:
  must_home: false
  deactivate_parking: false
  check_limits: false

PWM:
  pwm_hz: 5000
  direction_pin: NO_PIN
# IO2 on "Abort" pin
  output_pin: gpio.2
# IO4 on "Hold" pin
  enable_pin: gpio.4
# ---  
  disable_with_s0: false
  s0_with_disable: true
  spinup_ms: 0
  spindown_ms: 0
  tool_num: 0
  speed_map: 0=0.000% 24000=100.000%

# IO0 on "E-STOP" pin
# IO2 on "Abort" pin
# IO4 on "Hold" pin
# IO18 on "SpnDir","D13" pin
# IO19 on "SpnEn","D12" pin
# IO34 on "CooEN" pin !!! Input only pin !!!
# IO35 on "Resume" pin !!! Input only pin !!!
# IO36 on "SDA" pin !!! Input only pin !!!
# IO39 on "SCL" pin !!! Input only pin !!!


Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1766
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

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

#10

Post napisał: drzasiek90 » 21 sie 2022, 22:08

tuxcnc pisze:
21 sie 2022, 21:23
Po raz kolejny potwierdziło się, że jak mówię że coś jest głupotą, to jest głupotą i nie warto tego sprawdzać...
Niestety, dałem się podpuścić koledze drzasiek90 i pomyślałem, że może przesadzam, mam przecież trzy Espduino, cztery CNCshieldy, to zamiast kupować kolejnego Makerbase złożę sobie kanapkę do testów...
Strasznie głupi pomysł...
Strasznie jesteś niekonsekwentny w tym co mówisz i robisz.
Przecież ja cie nie podpuszczałem, nie namawiałem. Skoro to zrobiłeś, to albo ci się wyjątkowo nudzi albo również chciałeś (tak jak ja) mieć zestaw szybko dostępny (co wcześniej niemiłosiernie krytykowałeś).
Mi w ubiegłym tygodniu płytka makerbase dotarła. będzie sobie leżeć do czasu budowy następnej maszyny, do której się będzie mogła nadać.
tuxcnc pisze:
21 sie 2022, 21:23
Pół dnia się pieprzyłem z konfiguracją.
Ciągle wywalało jakieś błędy, przyczyny domyślić się nie było szans, trzeba było pół internetu przewalić żeby wreszcie zrozumieć gdzie jest błąd...
Nie wiem jakie miałeś problemy. Moje jedyne problemy jakie z tym miałem, to na początku połapać się jak wgrać firmware do ESP i jak wgrać konfigurację. Jak już to znalazłem, reszta poszła bezproblemowo.
tuxcnc pisze:
21 sie 2022, 21:23
Zacznijmy od tego, że na wklejonym w pierwszym poście obrazku jest błąd, IO18 to DIR a IO19 to STEP. Niby te sygnały idą na goldpiny i kabelkami można sobie połączyć prawidłowo, ale jak ktoś będzie chciał załatwić sprawę jumperami, to będzie lipa.
Najpierw połączyłem na kabelkach na stole, potem narysowałem ten obrazek, którego schematem nazwać nie można a potem według tego obrazka połaczyłem już w skrzynce maszyny. Zadziałało od razu.
Nie chce mi się teraz sprawdzać kiedy zrobiłem błąd, ale jeśli tak jest to dziękuje za zwrócenie uwagi.
tuxcnc pisze:
21 sie 2022, 21:23
Ale to jeszcze nie koniec cyrku.
Jak mamy piny wyłącznie wejściowe, to warto wykorzystać je jako wejścia (limity, probe), bo do niczego innego ich nie użyjemy...
Tylko że te piny nie mają żadnych pullupów czy pulldownów, po prostu wyprowadzenia wiszą sobie na nieustalonym potencjale i trzeba dodać zewnętrzne rezystory...
Nie chce mi się teraz sprawdzać, czy piny które użyłem jako wejścia krańcówek to piny o których mówisz, ale te jako wejścia jak najbardziej mają podciągniecie do zasilania lub masy.

Kod: Zaznacz cały

limit_all_pin: gpio.23:low:pu
limit_all_pin: gpio.4:low:pu
limit_all_pin: gpio.5:low:pu
Fizycznie nie sprawdzałem, czy podciągnięcie jest ale krańcówki mam indukcyjne z wyjściem OD/OE i działają prawidłowo. Po restarcie oprogramowanie nie wyrzuca jakoby miało jakikolwiek problem z zapisem pu

ODPOWIEDZ Poprzedni tematNastępny temat

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