Hi all,
I’m using the Pololu High-Power Stepper Motor Driver 36v4 with an Arduino Leonardo and a bipolar NEMA 23 stepper motor (2.5 V, 2.8 A/phase, 200 steps/rev). The motor drives great, but I cannot get stall detection to trigger, no matter what I try.
My setup:
- Wiring: Matches Pololu’s reference diagram (https://a.pololu-files.com/picture/0J10564.600.jpg).
- Driver config:
- Microstepping: 1/16
- Decay mode: AutoMixed
- Current limit: 500 mA to 4 A tested
- STALL pin wired to Arduino pin 2, setup attachInterrupt on CHANGE
- Stepping: ~100 µs per microstep (~10 kHz), confirmed motor movement.
- Stall test: Grab motor shaft with pliers mid-motion. I can consitently trigger a stall.
- Results: FAULT stays high, readStatus() never shows any error / non-zero value.
Tried:
- Wide range of SDTHR, SDCNT, and VDIV values via SPI.
- Step periods from 100–500 µs.
- SMPLTH adjusted to ensure enough time between steps.
- Verified internal stall mode (EXSTALL = 0).
- Tried other decay modes, current settings, microstep resolutions.
Questions:
- Is this motor compatible with stall detection?
- Is my 100 µs step period too fast or slow?
- Is there a known good config for stall detection (SDTHR/VDIV) for NEMA 23s?
- Any suggestions to debug this further?
Everything else works beautifully — just need help getting stall detection to function.
Thanks in advance to the community for any help!