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ć...

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.