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

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych
Awatar użytkownika

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

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

#11

Post napisał: tuxcnc » 21 sie 2022, 22:46

drzasiek90 pisze:
21 sie 2022, 22:08

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
Piny tylko wejściowe to GPIO 34, 35, 36 i 39.
Coś jeszcze jest namieszane z GPIO 0 i 2, ale nie bardzo kumam o co chodzi, bo jest to wyjątkowo lakonicznie opisane.
https://www.espressif.com/sites/default ... eet_en.pdf strona 8 i 9.
Nie miałeś problemów z konfiguracją, bo nie potrzebowałeś wszystkich dostępnych pinów.
W mojej konfiguracji jak nie podłączysz krańcówek, to będą czytane jako zadziałane, czyli LOW, zwarcie do masy nie zmienia stanu, dopiero po dodaniu zewnętrznych pullupów zaczyna to działać normalnie.




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

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

#12

Post napisał: drzasiek90 » 22 sie 2022, 07:53

tuxcnc pisze:
21 sie 2022, 22:46
Piny tylko wejściowe to GPIO 34, 35, 36 i 39.
Tak patrzę na mój rysunek i widzę, że ich nie użyłem. Mam krótką pamięć więc nie przypomnę sobie dlaczego, ale bardzo możliwe, że właśnie przez to, że zapis pu pd nie przeszedł i wyrzucało błąd. Ponieważ nie miałem czasu na dochodzenie czemu, użyłem innych pinów jako wejściowe.

Widzę, że mam naprawdę krótką pamięć bo nawet coś wspomniałem o tych pinach e pierwszym poście a już do dziś o tym zdążyłem zapomnieć.
tuxcnc pisze:
21 sie 2022, 22:46
Coś jeszcze jest namieszane z GPIO 0 i 2, ale nie bardzo kumam o co chodzi, bo jest to wyjątkowo lakonicznie opisane.
Też coś kojarzę, ale...
Tu nie espduino jest problemem lecz CNC shield.
Gdyby zaprojektować własny shield dla espduino na pewno dałoby się wszystko mądrze z espduino wyprowadzić. Dla pojedynczych sztuk dla siebie się to nie opłaca ani czasowo ani finansowo, szybciej i taniej połączyć kilka drutów.

O właśnie przypomniał mi się problem jaki z tym miałem, nawet to opisywałem w pierwszym poście. Czy ty nie miałeś problemu z tym rezystorem pociągającym EN sterowników?

Awatar użytkownika

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

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

#13

Post napisał: tuxcnc » 22 sie 2022, 16:51

drzasiek90 pisze:
22 sie 2022, 07:53
Czy ty nie miałeś problemu z tym rezystorem pociągającym EN sterowników?
Nie miałem, bo uwierzyłem na słowo w to co w internecie jest napisane, a wszędzie jest żeby go wylutować, bo układ działać nie będzie.
ESP32 nie toleruje napięcia wyższego od 3,9 V na żadnym pinie. Nawet jeśli układ się nie spali, to mogą dziać się cuda.
Pisałem o tym, że wczoraj przez pomyłkę dałem pullupa do 5 V. Cyrk był taki, że GPIO 39 i 36 zaczęły działać razem, to znaczy że na przykład dałeś opornik tylko do GPIO36, oba piny zmieniały stan na wysoki, a jak zwarłeś tylko GPIO39 do masy, to oba szły na stan niski... Oczywiście z 3,3 V takich jaj nie ma.
Dlatego wierzę na słowo, że opornik R1 jako podpięty do +5V należy bezwzględnie usunąć i nie sprawdzać co będzie jak zostanie...

Wracając do mojego boju z wiatrakami...
Wstyd się przyznać, ale wczoraj się pomyliłem, nie wiem jak piny liczyłem, ale GPIO0 nie wchodzi na CNCshield i nie ma go na pinie "E-STOP", po prostu złącze jest krótsze. Oczywiście GPIO 0, 15, 32, 33 można sobie wyprowadzić bezpośrednio z ESPduino i użyć, ale to jest tak jakby poza tematem. Na CNCshield tych sygnałów NIE MA.
Z uwagi na powyższe zmieniłem plik konfiguracyjny i zamiast PWM_enable_pin dałem na GPIO4 PROBE.

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:
# IO4 on "Hold" pin
  pin: gpio.4:low:pu
  
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: NO_PIN
# ---  
  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%

# 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 !!!


Jak już było mówione, opornik R1 trzeba usunąć, natomiast dodać należy cztery oporniki ~10k pomiędzy GPIO 34, 35, 36, 39 a 3,3 V. Przydałyby się jeszcze diody Shottky zabezpieczające przed przepięciami i kondensatory zwierające szumy, ale pajęczyna by się zrobiła niesamowita, więc same oporniki muszą wystarczyć...
Obrazek
Ponad dodanymi opornikami, w połowie wysokości płytki, widać miejsce po usuniętym R1.
Sprawdziłem wejścia, są na tych pinach co opisałem w pliku konfiguracyjnym w komentarzach i działają.

Na tym na razie koniec testów, bo się okazało że nie mam dwunastu jumperów. Znaczy się gdzieś pewnie mam, ale teraz nie znajdę...

Podsumowując, jak zrobiłem to pewnie użyję, ale podtrzymuję opinię, że gra nie warta świeczki.


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

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

#14

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

Zważywszy na to:
tuxcnc pisze:
31 lip 2022, 06:47
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.
to sam sobie przeczysz, dalej męcząc tą płytką :)

Awatar użytkownika

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

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

#15

Post napisał: tuxcnc » 23 sie 2022, 20:33

drzasiek90 pisze:
22 sie 2022, 21:41
sam sobie przeczysz, dalej męcząc tą płytką :)
W przeciwieństwie do większości ludzi udzielających się w necie, ja z zasady sprawdzam to co piszę.
Dlatego miałem pewien dyskomfort, że się tak arbitralnie wypowiedziałem nie zadając sobie trudu, żeby to zweryfikować.
Do tego zacząłeś się zaklinać, że działa Ci świetnie i absolutnie żadnych problemów nie miałeś, więc miałem jeszcze większą motywację.
No i na koniec, to faktycznie mam trzy płytki ESPduino i cztery CNCshield V3. Kupiłem kiedyś bo tanie były, ale leżały nieużywane...
Straconego czasu nie żałuję, bo zdobyłem wiedzę i doświadczenie, a te podobno są bezcenne...
Podam Ci przykład.
Szukając informacji trafiłem na pewną stronę, na której dokładnie opisano konfigurację ESPduino z CNCshield, co prawda dla Grbl_Esp32, ale to niewielka różnica, bo projekt inny ale autor ten sam.
Ale teraz, kiedy w kodzie widzę:

Kod: Zaznacz cały

#define COOLANT_FLOOD_PIN 	GPIO_NUM_34  // Uno A3
#define COOLANT_MIST_PIN   	GPIO_NUM_36// Uno A4
to już wiem że pisał to kretyn, partacz, druciarz i leń, bo to zadziałać nie ma prawa, a wielu ludzi straci cenne godziny swego życia żeby dojść przyczyny, bo się pajacowi nie chciało sprawdzić czy to da się uruchomić...
Internet zalewa fala takiego szamba, ludzie publikują kod pisany z pamięci, nawet z ewidentnymi literówkami w rodzaju kropki zamiast przecinka, na których każdy kompilator się wywali...
Ja za takie partactwo kazałbym palce łamać, może by się nauczyli brać odpowiedzialność za to co publikują.
Oczywiście pomyłka może się zdarzyć każdemu, nie myli się tylko ten kto nic nie robi, ale co innego się pomylić i poprawić, a co innego napisać bzdury i tak zostawić...
I to dlatego zdecydowałem się trochę z tą kanapką powalczyć.
Natomiast pozostaję przy opinii, że jak ktoś chce mieć szybko, tanio i dobrze, to niech kupi Makerbase.


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

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

#16

Post napisał: drzasiek90 » 23 sie 2022, 20:45

tuxcnc pisze:
23 sie 2022, 20:33
Do tego zacząłeś się zaklinać, że działa Ci świetnie i absolutnie żadnych problemów nie miałeś, więc miałem jeszcze większą motywację.
Absolutnie się nie zaklinałem. Nie mówiłem, że działa świetnie, nie pisałem też że nie było absolutnie żadnych problemów. Nawet opisałem jakie miałem problemy.
Napisałem, że zrobiłem, opisałem jak (żeby za chwilę nie musieć odpamiętywać bo pamięć mam krótką), powiedziałem ze mi działa.
Nie zachwalałem, wręcz przeciwnie.
drzasiek90 pisze:
30 lip 2022, 21:31
Nie będę usprawiedliwiał wyboru, bo z pewnością są lepsze wybory
Natomiast fakt jest taki, że jak się pokona pewne początkowe trudności to zestaw ten działa.
Czy warto, czy nie warto, każdy musi ocenić sam.

ODPOWIEDZ Poprzedni tematNastępny temat

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