Dual Step Motor Driver - KeirRice/PolarTable GitHub Wiki
Arduino Dual Step Motor Driver Shield
Dual polar stepper motor driver in an Arduino Shield form factor. It uses two A3967 chips to drive the motors.
Motors can be attached via the screw terminals or the JST 4-pin female sockets.
Step settings can be set from code or with the 4 jumpers.
The set of male headers A 0-3 provide a connection point with ground, power, and signal mapping onto the enable and sleep pins for each motor. This would be useful if you wanted to connect some sensors directly to the control the motors.
There are also breakouts for I2C and UART ports.
Details
- 4.75V to 15V input rating via on board DC barrel Jack
- ±750mA, 5-30V output rating
- Automatic current-decay mode detection/selection
- 3.3V or 5.0V logic supply voltage
- Mixed, fast and slow current-decay modes
- Full, Half, Quarter and Eighth stepping modes.
Pass through headers for UART and IIC communication protocol, but the board itself doesn't use them.
Arduino Socket definition
Pin | Description | Notes |
---|---|---|
D0 | UART_Rx | |
D1 | UART_Tx | |
D2 | X Step | |
D3 | X Direction | |
D4 | X MS1 setting | |
D5 | X MS2 setting | |
D6 | Y Step | |
D7 | Y Direction | |
D8 | Y MS1 setting | |
D9 | Y MS2 setting | |
D10 | - | |
D11 | - | |
D12 | - | |
D13 | - | |
A0 | ENY | Active-low |
A1 | SLEEPY | Active-low |
A2 | ENX | Active-low |
A3 | SLEEPX | Active-low |
A4 | IIC_SCL | |
A5 | IIC_SDA |
The board uses nearly all of the GPIO ports on the Arduino! Only D10 through D13 are free.
Enable
Enable Input (!ENABLE). This active-low input enables all of the outputs. Pull this HIGH
to turn off the holding current going out to the motors.
Sleep
Sleep Mode (!SLEEP). An active-low control input used to minimize power consumption when not in use.
This disables much of the internal circuitry including the outputs. Pull this HIGH
to for normal operation and startup of the device in the home position.