https://github.com/dzid26/StepperServo-hardware v0.4
This two-phase motor stepper control board has a unique set of features: closed-loop commutation, CANbus networking, and open-source. It is specifically suited for low-cost but robust robotics where interaction with the user and variable load is present (steering, pedal, robot arm actuators). It provides smooth, low-noise torque delivery and the ability to be overcome and reversed by an external torque. The controller is designed to not cause resistance when the motor is rotated externally and the control is disabled.
The controller board fits Nema17 and Nema23 bolt patterns and can be installed directly on the back of the motor and its height is only 8mm. Additionally, if Nema23 support is not necessary, the side tabs of the PCB can be broken off and PCB size reduced.
The heart of the controller is a magnetic sensor with a diametrical magnet attached to the stepper shaft under the board. The magnetic field penetrates the thin PCB composite and is measured by the angle sensor chip. To increase accuracy and to compensate for any magnet misalignments the control performs initial calibration by doing rotation back and forth. More information about that process is in the firmware section.
Low current consumption allows the controller to be always powered and continuously keep track of zero angle and multiples of full rotations.
Input/output characteristics:
- Supply voltage: 9-30V
- CANbus (compatible with both 3.3V and 5V)
- SWD Debug port (3.3V)
- Motor max output:
- 3.3A RMS driving current
- 3.3A peak (stall) current per phase (5s)
Functionality:
- The board can be used to drive one stepper motor
- High-precision position reading of a stepper motor
- The board can be broken apart and converted from Nema23 to Nema17 if space is a constrain
- Freewheeling with overvoltage protection
- CANbus transceiver with termination resistor (can be desoldered)
- Two function buttons and a reset button
- Debug port for flashing and configuration
- Reverse polarity and voltage spike protection
- Enable port with hardware interrupt capability (disabled by default)
- Expansion breakout pads for PWM/I2C/UART or an external sensor
- Jumper pads, e.g. for multi-motor identification
Sensing:
- Magnetic angle sensor
- Current sense (low-side),
- Motor driver voltage monitor
- Input voltage monitor
- MCU temperature
Size: Nema17 / Nema23
56mm x 40mm (+2.7) x 8mm (l/w/h) – see the picture
Connectors type:
- 4pin JST XH 2.5mm (Car, Debug, Motor – electronically protected against wrong insertion)
- 2pin terminal 2.5mm (Enable pin) – not provided – needs to be soldered manually
Firmware:
PCB will come flashed with the latest build of:
https://github.com/dzid26/StepperServoCAN/releases
Controller kit:
- 1x – PCB
- 1x ABS cover
- 1x – magnet (2mm height / 6mm diameter)
- 2x – ~40mm M3 bolts (Allen head)
- 1x Power or Debug cable – 100cm, (4pin JST on both sides, high-current)
Motor kit:
- 1x PCB
- 1x ABS cover
- 1x aligned and glued magnet
- 1x geared motor 42BYG 17HS4401S-PG5.18 (5.18 x [email protected])
- 1x trimmed and crimped 5cm motor cable (AWG 24 – 3.5A rating)
- 1x Power+CAN cable – 80cm, (4pin JST on one side, bare wire on the other)
- PCB installed with 2x 40mm M3 bolts and applied thermal paste.
- 2x leftover motor Philips M3 bolts.
The included cover is made of 3D-printed ABS plastic and bolted together with the PCB thru oversized brass inserts.
Warning:
This is an engineering development kit and is sold as-is without any warranties. While the product was designed with robustness and safety in mind, any accident or damage caused by this product is at the buyer’s own risk.
Note:
If you use PayPal, 5% of the payment is taken by them. The remaining is split 90% seller and 10% community.