Stepper driver v3.3

From RepRap
Revision as of 05:17, 29 November 2014 by Glenn (talk | contribs) (catchg)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


image flickr:5239143959 img size="large"

++ Microstepping for great justice

[[f>image flickr:5226402913 size="small"]]

These new stepper drivers are capable of doing 1/8 stepping which means that instead of jerking from one position to the next, the stepper motor will gradually move between them. This results in lower vibrations, lower noise, and better precision. Your machine will be quieter, print better, and create world peace.

++ Highly configurable and tunable

[[f>image flickr:5241567357 size="small"]]

While this driver works great out of the box, we've added a bunch of configuration options to this board if you want to get into the nitty gritty of stepper driver operation. There is a dip switch selector to change the stepping mode between full, half, 1/4, and 1/8 step. The current control is also completely configurable with four potentiometers with large test points so that you can set the current, decay mode, and RC constants. With this you can tune the stepper driver to perfectly suit your stepper motor.

++ High power output

[[f>image flickr:5242186520 size="small"]]

The chip we're using is capable of handling up to 2.8A per phase, so you can easily control motors up to NEMA23 size. The provided power connector allows you to easily power it off a standard ATX power supply, but if you're feeling adventurous, the chip can handle up to 35V for the drive voltage. You'll have to wire up your own connector though.

++ Interfaces

+++ Interface

The interface is a standard 2x3 header with .100" pitch spacing. This makes it simple to wire up to your motherboard using ribbon cable, or to wire it up to your own custom circuit. The controls are very easy: step, direction, and enable.

||~ PIN ||~ NAME ||~ FUNCTION || || 1 || GND || This pin is connected to ground on the stepper driver. || || 2 || GND || This pin is connected to ground on the stepper driver. || || 3 || STEP || This is the input pin for the stepping signal. A high pulse on this pin will trigger the driver to take 1 step in the direction determined by the DIR pin. || || 4 || DIR || This pin is the input pin for the direction signal. A high value on this pin will set the motor direction to be forward, and a low value will set this to be reverse. || || 5 || ENABLE || This pin is the input pin for the enable signal. This pin is active low, which means a LOW value will enable it. This pin is pulled high with a 1K resistor. || || 6 || RESET || This pin is the input pin for the reset signal. This pin is active low, which means that a LOW value will reset the stepper driver. The full details on what a reset means are located in the A3977 datasheet, but essentially it resets the phase table to zero. This pin is pulled high with a 1K ohm resistor. ||

image flickr:5241567437

+++ Stepping Mode Configuration

The A3977 chip that this board is based around has a number of configurable options. One option of particular interest is the stepping mode configuration. This driver supports 4 different stepping modes: Full, Half, 1/4, and 1/8. In full mode, a 1.8 degree (200 step) motor will have exactly 200 steps per revolution. In 1/2 step, it will have 400 steps per revolution. At 1/4 it will have 800, and at 1/8 it will have 1600.

This higher step count results in smoother operation (and lower noise), and can sometimes result in higher precision. The downside is that you lose a bit of your torque. The torque loss is rather minor, so we prefer to use 1/8 step wherever possible.

Setting the stepping mode is as easy as toggling the DIP switches on the bottom left corner of the board. Up = ON, Down = OFF. MS1 is on the left and MS2 is on the right. The table below details which positions correspond to which mode.

||~ MODE ||~ MS1 ||~ MS2 || || Full || OFF || OFF || || Half || ON || OFF || || 1/4 || OFF || ON || || 1/8 || ON || ON ||

image flickr:5242162700

+++ Tuning Potentiometers

The A3977 also has a number of tunable parameters that are determined by either voltage or resistance. These parameters determine things like maximum current allowed, decay modes, and oscillator frequencies. If you intend to modify the settings, the A3977 datasheet is the authoritative reference. We'll attempt to summarize the settings below, but if you want formulas and such, you'll need to get your hands dirty with knowledge - datasheet style.

Each of the trimpots on the bottom of the board have a large test pad directly below them. Additionally, there is a large, GND test pad on the right side that is connected to ground. These are there so that you can precisely set the potentiometers while measuring their output with a multimeter.

    • REF**

This is perhaps the most commonly adjusted parameter. The voltage coming from the REF circuit determines how much current the A3977 allows to pass through each phase of its output. Turning this potentiometer up will increase the stepper power (torque, holding power) while increasing how hot it (and the driver) get. Decreasing this will likewise decrease the power and heat generation.

    • PFD**

This potentiometer controls the 'Percent Fast Decay'. What that means is that this potentiometer controls the current decay mode that the stepper driver will select when controlling the amount of current that passes through the motor. This can be a difficult concept to grasp, but most users will never need to touch this part.

    • RC1 / RC2**

These potentiometers set the R value in an RC (resistor/capacitor) circuit that is fed into the chip. This RC circuit determines the 'Fixed Off Time' which determines the chopping frequency used to control the current through the motor. It also factors into the 'Percent Fast Decay'. Most users will never need to adjust these settings.

image flickr:5241567579

+++ Output

The output is where the stepper motor driver is connected to the output. The driver is intended to drive a single, bipolar stepper motor. The outputs are labeled ABCD, and are broken into pairs AB and CD. AB and CD should each be connected to one phase of the stepper motor.

image flickr:5241567779

+++ Power

The board is powered using a standard, Molex power connector. This is the same connector that is found on any standard ATX power supply. The board only uses the +12V and GND connections, and internally generates its own +5V power. This allows advanced users to power the board with a higher voltage of their own if desired.

    • Pinout**

||~ PIN ||~ NAME ||~ FUNCTION || || 1 || N/C || This pin is not connected to anything. || || 2 || GND || This pin is connected to ground on the stepper driver. || || 3 || GND || This pin is connected to ground on the stepper driver. || || 4 || +12V || This pin is where +12V should be provided. ||

image flickr:5241567679

++ Compatibility

The Gen4 stepper is designed to be compatible with both the Gen3 and Gen4 motherboards. That is why we have included a 10-pin IDC connector with the stepper driver kit. If want to use the Gen4 stepper driver with the old Gen3 electronics, put a 10-pin IDC connector on a 6-pin IDC connector as shown.

This same cable will also work to control a Gen3 stepper driver with a Gen4 motherboard.

image flickr:5226884389 size="medium" image flickr:5227479680 size="medium"

++ Schematic

image flickr:5218752494 size="medium"

++ Partlist / BOM

iframe width="700" height="650" frameborder="0"

++ Source

[[f>image flickr:5241567219]]

The Stepper Motor Driver v2.3 is Open Source Hardware and is licensed under the GNU GPLv3.

    • Download**

++ History

The Stepper Motor Driver v3.3 is a derivative of the Stepper Motor Driver v2.3 which was originally designed by Zach Hoeken of MakerBot Industries.