Open Source Stepper Motor Controller Problem Statement

See also Stepper Motor.

=Problem Statement=

To date, there is no open source variant of the respected Gecko G540 stepper motor controller. Smaller ones are available for RepRap, but is there an open source option that could be used on a larger device such as the Torch Table Build? The problem statement involves driving the cost of these stepper controllers down to about $10 or so per axis by the ability to mill them on a bootstrapping CNC Circuit Mill. Thus, the problem statement is threefold:


 * 1) What is the best bootstrapping CNC circuit mill available that could produce not only the stepper motor controller but also the microcontroller (Arduino equivalent)?
 * 2) What is the best open source stepper controller that can be used, and can it be adapted to higher voltage power supplies that would allow sufficient power to drive a torch table?
 * 3) If the above is not possible, then we move on to an Open Source Stepper Motor Controller designed from the ground up

See Stepper Motor on Wikipedia for a high level description and a nice animation of how one works. A Tutorial on Control of Stepping Motors.

=Requirements=

The stepper motor being considered is the Xylotex Nema 23 Double Stack/Double Shaft Bipolar Stepper Motor. See.

Specifications are:

=Possible Solutions=

A possible solution is to use an existing open source driver option and a CNC mill to build them.:


 * 1) http://reprap.org/wiki/StepperMotor#Stepper_drivers
 * 2) Mantis Machine 9 - appears to have a boot-strappable stepper controller and microcontroller design that could be made on this $100 mill. Good points - $20 spindle; $100 for everything. Modify this to metal for stability, and this would make a great universal bootstrapping circuit mill to last a lifetime.
 * 3) SnapLock appears to be a robust bootstrapping mill, but cost is $600
 * 4) MyDIYCNC - $580 for complete kit
 * 5) RepRap Prusa Mendel - simplified version of RepRap Mendel. What's the cost for just circuit milling?
 * 6) News - Open Capitalist Controller is making a custom version of their open source controller, capable of handling 3.5A and 40V power, as a CNC circuit-millable version, design files to be provided by May 1, 2011
 * 7) Dr Iguana's open source stepper driver - this is an open source microprocessor controller using a dsPic microcontroller. Check out the video - it is FAST!!!  All source code, schematics, gerber files & BOM are available at the same link.

KitsRUs

 * 1) KitsRUs | Kit 94 Digital Rotary Control of a Unipolar Stepper Motor
 * 2) | Picture of PCB
 * 3) | encoder.zip Kit 94 source code 2K
 * 4) | ecw1j.pdf Kit 94 Bourn Grey Switch encoder Data Sheet
 * 5) KitsRUs Kit 109 Unipolar Stepper Motor Driver Kit
 * 6) Drives any 5, 6 or 8 lead unipolar stepper motor. Based on the UCN5804 IC. All features of this IC (direction, on/off, pins 9 & 10) are brought out to SPDT PCB-mounted switches. Pulses from a 555 setup as an astable oscillator are used to rough position the motor. Switch to manual single-step mode for final positioning using a tact switch. 4 LED's give visual indication that step has been made. Three run modes supported. Full explanation
 * 7) KitsRUs Kit 113
 * 8) March 14, 2005. Kits 113 158 179. Peter Simmonds has developed a visual basic program with source code which can interface a PC running windows to the stepper motor kits K113, K158 and K179 via the parallel port. It uses a high speed timer component RSTimer. Both the source code and RSTimer are available for free at here.  Two Stepper Motors Driven from a PC. Connects to the PC parallel port & will drive two stepper motors up to max. 3A each. All contained in an RS232, extended D-shell case. Software will accept 4 inputs from external switches. Software will also single step motors. Three run modes supported. All components supplied except the stepper motors.  This kit uses a Grey switch aka bit switch, to single step a unipolar stepper motor in either direction. Uses a PIC 16C54 plus UCN5804 stepper driver IC. PCB is 4 in square, single sided.
 * 9) KitsRUs Kit 158, Bi-polar Stepper Motor Driver kit
 * 10) March 14, 2005. Kits 113 158 179. Peter Simmonds has developed a visual basic program with source code which can interface PC running windows to the stepper motor kits K113, K158 and K179 via the parallel port. It uses a high speed timer componentRSTimer. Both the source code and RSTimer are available for free at here
 * 11) KitsRUs Kit 187 Stepper Motor Drive
 * 12) The Stepper Motor Chopper Driver is a Bipolar Stepper Motor Drive with easily adjustable current control up to 2A, based on the SGS-Thompson L297 and L298 stepper motor controller and driver IC’s. Stepper motors are rated by current and and not by voltage.  A chopper driver because it is  switching on and off current allows a set current to be fed to the coils and not be dependent on the voltage of the power supply.  The Chopper Driver also allows for the use of higher voltage power supplies (up to 36V) to overcome the effects of the inductance of the coils giving better performance and a higher top speed.

Electronics 123
Toll Free: 1-888-549-3749 (USA & Canada) Tel: (330) 482-9944 Fax: (330) 266-7307 Web: http://www.electronics123.com

General customer support questions: E-mail: general@electronics123.com Technical product questions/support: E-mail: support@electronics123.com Address: Physical: 102 East Park Ave, Columbiana, OH 44408-1353, USA. Mailing: PO Box 21, Columbiana, OH 44408-0021, USA.

EasyDriver Stepper Motor Driver

 * A3967 microstepping driver
 * MS1 and MS2 pins broken out to change microstepping resolution to full, half, quarter and eighth steps (defaults to eighth)
 * Compatible with 4, 6, and 8 wire stepper motors of any voltage
 * Adjustable current control from 150mA/phase to 750mA/phase
 * Power supply range from 7V to 30V. The higher the voltage, the higher the torque at high speeds

Here is a simple motor controller for $14.25 at Electronics 123. Fully assembled, no less.

The EasyDriver is a simple to use stepper motor driver, compatible with anything that can output a digital 0 to 5V pulse (or 0 to 3.3V pulse if you solder SJ2 closed on the EasyDriver). EasyDriver requires a 7V to 30V supply to power the motor and can power any voltage of stepper motor. The EasyDriver has an on board voltage regulator for the digital interface that can be set to 5V or 3.3V. Connect a 4-wire stepper motor and a microcontroller and you've got precision motor control! EasyDriver drives bi-polar motors, and motors wired as bi-polar. I.e. 4,6, or 8 wire stepper motors. On this version (v4.4) we fixed the silk error on the min/max adjustment.

This is the newest version of EasyDriver V4 co-designed with Brian Schmalz. It provides much more flexibility and control over your stepper motor, when compared to older versions. The microstep select (MS1 and MS2) pins of the A3967 are broken out allowing adjustments to the microstepping resolution. The sleep and enable pins are also broken out for further control.

Advanced Microsystems, Inc.
Adr:  29 River Road Suite B, Essex Junction, VT 05452 TEL:  603-882-1447 Email: Sales@StepControl.com Web:

AM IBC-400

.5A at 40 volts, non-inductive RS-422 serial interface 

SMC-40 Controller IC

http://www.ams2000.com/docs/DataSheets/smc40ds.pdf http://www.ams2000.com/docs/TechManuals/smc40hwma.pdf http://www.ams2000.com/docs/TechManuals/smc40swma.pdf

Alzanti
Telephone:   	+44 (0) 8707 700700, (UK)    08707 700700 Fax No:  	+44 (0) 8707 700699, (UK)    08707 700699 E-mail:  	Alzanti Sales, sales@mclennan.co.uk Web:

PVP152 - Single Axis Stepper Controller, with integral 1 Amp per phase bipolar drive; "Stand Alone" & "Computer" modes, up to 15 axes may be "daisy chained" from one RS232 port. Format is 160 x 100 Eurocard with DIN41612 connector. 

Arrick Robotics
Arrick Robotics 10768 Technology Dr. CR2335 Tyler, TX 75707 USA

Phone: 903.566.4700 Fax: 903.566.4709 Email: info@robotics.com Web:

Motion control systems, robotics, etc.

C4 Controller
C4 is an intelligent motion controller that sends pulses to one or two MD2 drivers (4 motors). C4 accepts short, simple commands from the host via an RS232 serial port and handles all of the timing functions needed to coordinate and control motors.

Any host with an RS-232 port (or USB with the provided converter) can talk to C4. Normally the host is a PC, but it can also be a Mac or even a small microcontroller like a Basic Stamp.

Multiple C4's can be controlled by a single host, either by daisy-chaining the serial port, or by using multiple USB ports and converters.

C4 does not drive stepper motors directly, that is the job of the MD2 driver.

Learn about C4's simple, powerful command structure in the User Guide.

MD2 Controller
The MD2 contains the power supply and drive circuitry for 2 stepper motors. The MD2 must receive real-time control pulses from an intelligent controller such as C4 to operate.

The MD2 driver has been available for many years and in the past software was provided that turned a PC and its parallel printer port into a controller. Modern Windows operating systems and the demise of the printer port now require use of a separate controller such as C4, but that has many advantages including smoother motion and relieving the PC for other tasks.

Simple Step, Ltd
Phone: 1-973-948-2938 Fax: 1-973-948-0182 Adr: 12 West Owassa Turnpike, Newton, New Jersey 07860 Web:

SSCB
Price: $165


 * 30 MHz Microprocessor Controller.
 * User Programmable Baud Rates (9600, 19.2K, 38.4K, 57.6K (default), 115.2K).
 * Multiple boards on a single serial port and the ability to intermix Simple Step board types on the network
 * On Board network address switch select on every board.
 * Choice of the Simple Step® Network RS232 or RS422/RS485 communications.
 * Network address switch select on every unit.
 * Option Connector for later add-on or custom boards.
 * Two (2) User Controlled Open Collector Output Lines (1-20 ma and 1-500ma).
 * Three (3) User Controlled Input Lines.
 * Software Programmable Home Sensor Check.
 * Diode protected Home Sensor.
 * On Board 5 volt Switcher and Power LED.
 * Heatsink Mounted to the PC Board.
 * Small Board Size 3.57"x 2.9" x 1.3" (with heat sink)
 * Large Dynamic Velocity range (from 1 step per second to 15,000 steps per second) per motor.
 * User Programmable Motor Power Settings (Full,1/4,OFF)
 * Synchronous Motor Movements with ALL Boards on the network (Up to 40 motors on 1 serial line)!
 * Limit Switch Input.
 * Optical Motor Home input.
 * EMI (radiated) filtering on all boards to allow FCC and CE approvals.
 * Prescaler installed on all units.
 * User programmable advanced acceleration and deceleration settings based on User Programmable Start Velocity, End Velocity and Slope.
 * User Programmable Half and Full step control.
 * Bipolar Stepper motor drive.
 * Single 7.0 - 46.0VDC operation.
 * Up to 2 amp/phase, switching mode current controlled motor phase outputs (Hardware adjusted).
 * Up to 65534 steps of motion (27.30625 feet with a user mechanical resolution of 0.005 inches per step).
 * Decimal or Hexadecimal ASCII numeric values can be used.
 * 400 Character IEEPROM buffer for all non-EEPROM versions.
 * Jog control for each axis.
 * Simple ASCII command set allowing use of standard PC communications packages.
 * SSWin Program FREE with each purchase. (Windows 95/98/NT/2000/XP/Vista)
 * Optional Internal 2K, 4K, 8K and 16K of User Programmable on board EEPROM (Flash).
 * Programming language for EEPROM with decision branches based on User Input States (used with above Option).
 * Optional 32 bit movement (2,147,483,647 steps).
 * Optional RTOS (Real-Time Operating System).

SSXYQE
Price: $340.00


 * 30 MHz Microprocessor Controllers.
 * User Programmable Baud Rates (9600, 19.2K, 38.4K, 57.6K (default), 115.2K).
 * Multiple boards on a single serial port and the ability to intermix Simple Step board types on the network
 * On Board network address switch select on every board.
 * Choice of the Simple Step® Network RS232 or RS422/RS485 communications.
 * Option Connector for later add-on or custom boards.
 * Two (2) User Controlled Open Collector Output Lines (1- 20 ma and 1-500ma).
 * Two (2) User Controlled Input Lines.
 * Software Programmable Home Sensor Check.
 * Diode protected Home Sensor.
 * On Board 5 volt Switcher and Power LED.
 * Heatsink Mounted to the PC Board.
 * Small Board Size 5.3" x 4.2" x 1.3" (with heat sink)
 * Large Dynamic Velocity range (from 1 steps per second to 15,000 steps per second with motors <= 5 mH per phase) per motor.
 * User Programmable Motor Power Settings (Full,1/4,OFF)
 * Synchronous Motor Movements with ALL Boards on the network (Up to 40 motors on 1 serial line)!
 * Limit Switch Input (per axis).
 * Optical Motor Home input (per axis).
 * EMI (radiated) filtering on all boards to allow FCC and CE approvals.
 * User programmable advanced acceleration and deceleration settings based on User Programmable Start Velocity, End Velocity and Slope.
 * User Programmable Half and Full step control (per axis).
 * Two (2) Bipolar Stepper motor drives.
 * Single 7.0 - 46.0VDC operation.
 * Up to 2 amp/phase, switching mode current controlled motor phase outputs (Hardware adjusted per axis).
 * Up to 65534 steps of motion (27.30625 feet with a user mechanical resolution of 0.005 inches per step).
 * Counting speeds up to 15,000 steps per second (each channel).
 * 2 Quadrature Encoders per board.
 * User programmable counting directions.
 * Counting from -2,147,483,648 to +2,147,483,647 steps.
 * User programmable x1 or x4 counting modes.
 * Simple ASCII command set allowing use of standard PC communications packages.
 * SSWin Program FREE with each purchase. (Windows 95/98/NT/2000/XP/Vista)
 * Optional Internal 2K, 4K, 8K and 16K of User Programmable on board EEPROM (Flash).
 * Programming language for EEPROM with decision branches based on User Input States (used with above Option).
 * Optional 32 bit movement (2,147,483,647 steps).
 * Optional RTOS (Real-Time Operating System).

SSXYZ
Price: $384.00


 * 30 MHz Microprocessor Controller.
 * User Programmable Baud Rates (9600, 19.2K, 38.4K, 57.6K (default), 115.2K).
 * Multiple boards on a single serial port and the ability to intermix Simple Step board types on the network
 * On Board network address switch select on every board.
 * Choice of the Simple Step® Network RS232 or RS422/RS485 communications.
 * Option Connector for later add-on or custom boards.
 * Two (2) User Controlled Open Collector Output Lines (1-20 ma and 1-500ma).
 * Two (2) User Controlled Input Lines.
 * Software Programmable Home Sensor Check.
 * Diode protected Home Sensor.
 * On Board 5 volt Switcher and Power LED.
 * Heatsink Mounted to the PC Board.
 * Small Board Size 6.00" x 4.14" x 1.2" (with heat sink).
 * Large Dynamic Velocity range (from 1 step per second to 15,000 steps per second) per motor.
 * User Programmable Motor Power Settings (Full,1/4,OFF)
 * Synchronous Motor Movements with ALL Boards on the network (Up to 40 motors on 1 serial line)!
 * Limit Switch Input.
 * Optical Motor Home input.
 * EMI (radiated) filtering on all boards to allow FCC and CE approvals.
 * Prescaler installed on all units.
 * User programmable advanced acceleration and deceleration settings based on User Programmable Start Velocity, End Velocity and Slope.
 * User Programmable Half and Full step control.
 * Bipolar Stepper motor drive.
 * Single 7.0 - 46.0VDC operation.
 * Up to 2 amp/phase, switching mode current controlled motor phase outputs (Hardware adjusted).
 * Up to 65534 steps of motion (27.30625 feet with a user mechanical resolution of 0.005 inches per step).
 * Decimal or Hexadecimal ASCII numeric values can be used.
 * 400 Character IEEPROM buffer for all non-EEPROM versions.
 * Jog control for each axis.
 * Simple ASCII command set allowing use of standard PC communications packages.
 * SSWin Program FREE with each purchase. (Windows 95/98/NT/2000/XP/Vista)
 * Optional Internal 2K, 4K, 8K and 16K of User Programmable on board EEPROM (Flash).
 * Programming language for EEPROM with decision branches based on User Input States (used with above Option).
 * Optional 32 bit movement (2,147,483,647 steps).
 * Optional RTOS (Real-Time Operating System).

High Current Products

 * SSMicro77, Price: $237.00
 * SSXYMicro77, Price: $371.00
 * SSXYZMicro77, Price: $466.00

Net Motion, Inc.
Adr: 4160 Technology Drive Fremont, CA 94538 Tel: 510-578-2808 Fax: 510-743-4130 E-Mail: sales@netmotion.com Web: http://www.netmotion.com/

ACE-SDX Advanced single axis microstep Driver


 * 12 to 48 VDC voltage input
 * 100mA to 3.0A current setting
 * 2-500 microstep
 * 800K maximum pulse rate support
 * Opto-isolated differential Pulse/Dir (CW/CCW) inputs
 * Opto-isolated driver enable input
 * Opto-isolated over-temperature alarm output
 * Software Configurable