Steppers power supply
Mounting unipolar stepper on bipolar boards
What computer to control steppers ?
Stepper power and control boards
Circuit based on L6208
New : circuit based on L297/L298 (separated page)
Carrying - Transmissions (separated page)
Steppers power supply
A motor is not a resistor.
This is a winding which generate a magnetic field. this magnetic field move a magnet.
When a stepper runs, it generates a magnetic field which changes at every step, and establishing this field limit (or brake, in another manner) current.
Moreover, magnet moving go against magnetic field, so a higher difficulty for current to raise.
So for :
- Etablish current faster to it's nominal value during one step
- Maintain current to nominal value when motor runs fast
It is needed to increase voltage, but only when needed (motor running).
Indicated voltage, which is given when motor is stopped, increase significantly with motor speed, as long as we want to maintain reasonable torque.
What must remain constant is the current.
A good stepper control system adjust current continuously all along one step.
Depending speed required from motor, you must supply it with a voltage at least 4 times nominal value, and up to 20 times if you wish to run at 10 000 (ten thousand !) steps per second, which is more or less the maximum for most steppers.
Attention, this is only true if a current control system in installed. If the only current limiting system is a resistor in serie with the winding, you must be more prudent, and for example supply in 7V a 5V motor (see board manufacturer recommendations)
Typically a 5V stepper is supplied in 30-60V with a current control system based upon PWM (Chopper).
What's that ? PWM = Pulse Width Modulation.
This is a system that instead of modulating continuously voltage, which is easy but drive to make a lot of heat, cut current in thin time slices, without modifying voltage.
For example, if we supply 24V and if we made slices of 1/50000 second duration, spaced of 1/25000 second, we give our current during half time. If sufficiently fast, the motor will behave as if it was supplied in 12V.
A system as on boards based on L297/L298 measure current continuously (with a shunt resistor), and modulate the width of the impulsions according needs.
This is very interesting :
- It allows to get maximum performance from a stepper, either in speed or torque.
10000 steps per second give 3000 rpm on a motor of 200 step/revolution. At that speed, torque will be lower than half of the maximum for a unipolar stepper. A bipolar stepper will run at less speed, if we want to maintain a minimum torque.
Clearly, such speeds needs to use acceleration and deceleration ramps.
- As current is permanently controlled, you do not need a regulated power supply, you only needs a transformer, a rectifier and a big capacitor filter. Current control will adapt to the resulting variable voltage.
This is 2 to 3 times more economic than a regulated power supply, and very easy to do yourself, you can cable it 'on the fly'.
That time slicer PWM system, being very simple to make, is universal and is used in many applications.
If you wish to understand everything (or at least to try...)
www.bbastrodesigns.com/cot/steppermotors.html (Telescope control)
Performances of steppers
They depend from each motor, but find herebelow what i have found on the subject :
With PWM system, a unipolar stepper can more or less run to 10 000 steps/second (for steppers 200 step/revolution), but at this speed, torque is significantly reduced (about 50% of nominal torque)
A bipolar stepper can go up to 5000 steps per second.
Beware, at these speeds, stepper needs a lot of voltage (supply in 40-80 V a 5V stepper)
Curves torque/speed are indicated on manufacturers datasheets. All these curves are given for a 'Chopper' control system, which is another name of PWM control.
Problem is that Windows softwares have difficulties to send reliably steps at such speed, latency of Windows being very high, so you risk losing steps.
There are some means to solve the problem :
- Use interruptions internal to the PC, at my knowledge only Artsoft have done that and have solved the Windows latency problems
- Use a timer on board, which send interruptions to the processor.
- Store the signal in memory on board and smooth the sending to the steppers
- Another alternative is the use of intelligent board, which calculate movement from coordinates or directly from G-code.
Laurent Fouga have designed such a board (this is not the famous CNC3AX, but another board (CNC8AM), driven by a software which interpret G-code. This is a good solution, while not very economic.
- Use DOS or Real time Linux operating system.
As an example, a typical stepper which might be used on our amateur CNC, from MAE (Italian manufacturer, this is just for example, i don't know if we can supply it)
Note on this data sheet supply voltage (65 V)
To complete previous description, you can find on Gecko Drive manufacturer document many detailed informations about stepper working and installation.
Mounting an unipolar stepper on a bipolar board
Herebelow a compatibility list between unipolar, bipolar stepper and their dedicated boards :
See HERE to have complementary infos on steppers
Unipolar stepper 6 *can* work with a bipolar *board* (4 wires) .
Unipolar stepper 5 wires *cannot* work with a bipolar *board* bipolaire (4 wires) .
Bipolar stepper 4 wires *cannot* work with an unipolar *board* (6 wires)
Steppers 8 wires *can* work with an bipolar *board* (4 wires)
Steppers 8 wires *can* work with an unipolar *board* (6 wires)
When wired on bipolar board, 8 wires steppers can be wired with coils in parrallel or serial mode.
Parrallel mode give the best speed ability, but double the current.
Unipolar steppers types :
It is needed to give some restrictions on the run of a unipolar stepper (6/8 wires) with a bipolar board (4 wires).
Unipolar stepper 6 wires with service voltage S :
Bipolar board output AB CD
Classical wiring link :
Stepper torque will be largely improved (around 30%) . Working voltage will be doubled, coils being in serie(so voltage = 2*S) . Coil inductance is doubled, and the stepper will have difficulties to run fastly (say it's torque will drop with speed)
It does exist another wiring method, which consist of not using all the coils. It is not very satisfactory on intellectual viewpoint, but it does have some advantages.
Alternative wiring link :
Torque is decreased and became similar to unipolar working. Voltage is maintained. Ability to run fast is improved, but remains lower than the one given by a unipolar board. This is a compromise which depends from your needs (if static torque is more important than speed), and from your power supply. I have done some tests with a unipolar stepper 5V Nema34, a power supply 13.8V and a PWM board based upon L297/L298. In first wiring mode, torque drop with speed is very important, and the stepper didn't even arrived to work at the maximum speed of my step generator (4200 half-step/sec), instead of the bipolar steppers. Second wiring mode work better, but this is not very good. At the speed of 1000/1500 half-steps/sec, the torque don't seems better than the one of my 'small' Nema23 bipolar steppers (but they have 2.6V nominal voltage, so a voltage ratio supply/service much better)
I think this situation may be largely improved with a power supply 24/30V, but i did not have that under my hands. Situation will be even worse with a board without current control (with a resistor only to control current).
So, with a unipolar stepper, it is preferable to use a unipolar board, which may be, normally, of lower cost...
What computer to control steppers ?
One of the most frequent question concerns what kind of computer to use to control a CNC machine.
In fact your computer does have two functions :
. It is used to design parts and to organize cuts (can be done from an existing drawing)
. It control the machine from a file elaborated in previous phase.
These two functions can be done by the same computer, or by two separated computers.
If your CNC machine is a small machine used for model balsa cut, it can be in the same room as the design machine, in the 'office'.
But if your machine is large (as Otocoup machine), or is used to cut metal parts, it will be in a workshop, and you will have to separate design and machining.
Most probably, your design computer will operate under 'Windows' operating system, and will be relatively recent (less than 5 years).
In that case, for '2D' design, you will need at least a Pentium 100, and for '3D' design, at least a Pentium 350, or a much better machine (over 1 GHz) for your confort.
For machining computer the problem is different.
You can use a computer under operating system 'DOS', which will interpret a file, probably in 'G-code' or 'ISO code' format.
In that case, a very old computer can do the job. I personally use a 486DX50 (it is the minimum), and this computer does allow with 'TurboCNC' software, a maximum of 9000 steps per second. Working is very smooth. The drawback is there is no graphism at all. Cost : 20$ US. Others DOS software with graphism exists, but the cost is much bigger.
If you use a machine under 'Windows' Operating system, there is a problem.
Windows is not a 'real time' operating system, and it's answering timing is not guaranteed. Sometimes (say : multiple times per second), Windows monopolize computer resources to do internal operations, mainly display. That creates timing instabilities in the step flow needed to control a CNC router.
These Windows timing problems limits the step flow of the computer.
With the software Ninos CFAO (Design and machining, french), computer needs :
266 MHz to get 1 200 steps/second
1.3 GHz to get 8 000 steps/second
And the step flow will be less smooth than with my 486DX50 under DOS...
That problem can be solved on different manners :
By using an internal timer of the PC to generate 'interruptions'.
Real time PC clock can generate a maximum of 8192 interruptions per second. This is what is used by Master5 software from Artsoft . This program interpret G-Code and works with a smooth step flow up to the maximum speed (8 kHz). Cost : 100 $ US.
Minimum computer : Pentium 300 MHz
Though, it seems that the same programmer arrived to generate a sufficient amount of interruptions to drive at a good speed a PC under Windows, but only version 2000 and XP. The software is named Mach1 from Artsoft. Maximum speed : 25 000 steps/second. This software interpret G-Code and can import formats : DXF, HPGL, BMP, JPG. Cost : 150$ US .
Minimum computer : Pentium 500 MHz - 128 Mo memory.
It does exist boards with serial links instead of parallel links, but they needs special control command, which are not necessarily installed in the existing softwares.
Laurent Fouga have created an intelligent board (CNC8AM) which can, coupled with it's proprietary software, interpret G-code.
Solutions not yet used :
To have a timer on control board which generate interruptions on parallel port. These interruptions stops current processes, and executes a small program which send step if time is gone. This is the solution which exist on hotwire CNC boards, but this solution is not yet installed on router software, while having been requested many times. Such a system may allow 60 000 steps/second on a P200.
It might be possible to create control boards which will temporary store signals and a timing smoother will resend the signal to the steppers. With a microcontroller, it may not be too complicated, but the memory of microcontroller is very limited. Though i think this memory is sufficient to smooth the step flow, but not to manage accelerations.
Boards based upon L297/L298 and the one base upon L6208 works now since feb. 2003.
As expected radiator for the L298 is too small.
The board based upon L6208 needs a fan. With some airflow, it stay cool, maybe 50°C/60°C, but without, it goes over 100°C and made thermal disjunction if current is over 1.8 A.
For any reason, the stepper heat less with the board based on L6219 than with the other.
Please note advantage of the left board (based on L6208, not finished yet) over the right board (L297/L298), which is there is no radiator. And that double face board is compulsory, because top copper part is important part of the cooling.
Also, the radiator on L297/L298 is a bit too small for use at maximum current (2 Amps)
You can find here details of my stepper control board based upon L6208
Some professional boards photos:
Laurent Fouga CNC3AX (France)
Systrium MOTION 3XA (France)
Do Microstepping up to 1/8 step :
ITC Visual-CNC, see resellers. (Belgium)
Transmissions and carrying
See page Carrying