Controller board: ESP32 + 2x StepStick carrier (v0.4), FluidNC config
- KiCad project generated by pcb/tools (design, route, schematic, fab outputs). - v0.4 fixes the v0.3 review findings: low-dropout 3.3 V regulator, OR'd 5 V supply, polyfuse, USB ESD protection, input clamps, ceramic decoupling at the drivers, A4988/DRV8825 jumper, ground stitching. DRC/ERC clean. - v0.3 (as ordered) kept in pcb/archive/v0.3. - FluidNC config.yaml for the board; rho hard limit on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c498882bbb
commit
1400cc8afd
46 files changed
+226470
No files matched your search
@@ -0,0 +1,77 @@
|
||||
# FluidNC config for the SandTable Controller v0.3 (ESP32 + 2x DRV8825 at 1/32 step).
|
||||
# A starting point: not yet run on real hardware.
|
||||
#
|
||||
# Units
|
||||
# X = theta (arm angle) in DEGREES
|
||||
# 200 steps x 32 microsteps x (80T hub / 20T motor pulley) = 25600 steps per arm turn = 71.111 per degree
|
||||
# Y = rho (ball distance from the centre) in MM
|
||||
# 200 steps x 32 microsteps / (20T GT2 pulley = 40 mm per turn) = 160 steps per mm
|
||||
#
|
||||
# If an axis turns the wrong way, add :low to its direction_pin (for example gpio.19:low)
|
||||
# or flip one coil's plug.
|
||||
|
||||
board: SandTable Controller v0.3
|
||||
name: Sand Table
|
||||
|
||||
stepping:
|
||||
engine: RMT
|
||||
idle_ms: 255 # 255 = never switch the motors off, so the arm can't drift
|
||||
pulse_us: 4 # DRV8825 needs at least 1.9 us
|
||||
dir_delay_us: 2 # DRV8825 needs at least 0.65 us
|
||||
disable_delay_us: 0
|
||||
|
||||
axes:
|
||||
shared_stepper_disable_pin: gpio.13 # high = drivers off (a pull-up keeps them off during boot)
|
||||
|
||||
x: # theta, degrees
|
||||
steps_per_mm: 71.111
|
||||
max_rate_mm_per_min: 3600 # 10 arm turns per minute
|
||||
acceleration_mm_per_sec2: 120
|
||||
max_travel_mm: 360 # only sets how far $HX searches; theta is unlimited
|
||||
soft_limits: false
|
||||
homing:
|
||||
cycle: 0 # not part of $H. With a hall sensor fitted, home theta by hand with $HX
|
||||
positive_direction: true
|
||||
mpos_mm: 0
|
||||
feed_mm_per_min: 120
|
||||
seek_mm_per_min: 720
|
||||
settle_ms: 250
|
||||
seek_scaler: 1.1
|
||||
feed_scaler: 1.1
|
||||
motor0:
|
||||
limit_neg_pin: NO_PIN
|
||||
limit_pos_pin: NO_PIN
|
||||
limit_all_pin: gpio.35:low # HALL connector (active low, pulled up on the board)
|
||||
hard_limits: false
|
||||
pulloff_mm: 5
|
||||
stepstick:
|
||||
step_pin: gpio.18
|
||||
direction_pin: gpio.19
|
||||
disable_pin: NO_PIN
|
||||
|
||||
y: # rho, mm
|
||||
steps_per_mm: 160
|
||||
max_rate_mm_per_min: 1500
|
||||
acceleration_mm_per_sec2: 100
|
||||
max_travel_mm: 135
|
||||
soft_limits: false
|
||||
homing:
|
||||
cycle: 1 # $H homes rho
|
||||
positive_direction: false # the home switch is at the centre end of the arm
|
||||
mpos_mm: 3 # switch trips near rho 2 mm, then backs off 1 mm. Tune so Y0 is dead centre
|
||||
feed_mm_per_min: 100
|
||||
seek_mm_per_min: 600
|
||||
settle_ms: 250
|
||||
seek_scaler: 1.1
|
||||
feed_scaler: 1.1
|
||||
motor0:
|
||||
limit_neg_pin: gpio.34:low # HOME connector: switch COM to GND (pin 3), NO to signal (pin 2)
|
||||
limit_pos_pin: NO_PIN
|
||||
limit_all_pin: NO_PIN
|
||||
hard_limits: true # patterns stay 1 mm past the switch (rho_min_mm = 3), so a press
|
||||
# while drawing means lost steps: FluidNC stops at once by itself
|
||||
pulloff_mm: 1
|
||||
stepstick:
|
||||
step_pin: gpio.27
|
||||
direction_pin: gpio.14
|
||||
disable_pin: NO_PIN
|
||||
Reference in new issue
Block a user