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