Driver boards for 5-wire steppers

Hi,

Has anyone seen cheap driver boards for 5-wire steppers such as these: Stepper Motors - Closed Loop Stepper Motor, 2-Phase Stepper Motor and 5-Phase Stepper Motor Products The driver boards produced by the manufacturer are almost $200 a shot, so I'm wondering if there are alternatives.

Thanks!

You need 5 half or full H-bridges for such a motor (or 2.5 microstepping chopper drivers!), otherwise
the same principles apply, sequence the coils using a lookup table (or for microstepping use
analog current control from 5-phase sinusoid. Assuming a 10 wire motor.

If its 5-wire then you really have a brushless servo motor and its should have hall sensors? Certainly
you can't just use standard chopper drivers on a 5-wire 5-phase stepper as each end of the windings are not
separately brought out, but it is possible to drive them like a sensorless 5-phase brushless motor using
5 half-H-bridges.

Thanks. It sounds like if I want microstepping it might work out better for me to simply buy their driver board.

I think that 2x an l298 board will also do the trick. One l298 board is designed to power a 4-wire stepper, so you would actually need 1/4 of an l298 extra, for the 5th wire. Adding one fll l298 means you have 3 unused outputs.

Wire it as follows:
chip 1 output 1: wire 1
chip 1 output 2: wire 2
chip 1 output 3: wire 3
chip 1 output 4: wire 4
chip 2 output 1: wire 5

The chip 1 inputs 1 to 4 and chip 2 input 1 should go to 5 of your Arduino outputs. All enable pins can be wired together to one Arduino output.

Raacambell,
5 wire steppers are usually unipolar, the center taps are connected together internally. They are connected to power and N-channed mosfets are used to connect the proper coils to ground inn the right sequence.
Here is an example from Arduino.cc http://arduino.cc/en/Tutorial/StepperUnipolar
Lots of other examples on the web. If it is a low current stepper, BJT's will even work.
Here is a great page to learn about steppers: Jones on Stepping Motors
I also have some that can be hooked up as bi-polar, just leaving the center taps unconnected.
TomJ

Tom,

These motors look a little more unusual since they are 5-lead bipolar motors (http://www.orientalmotor.com/technology/articles/article-new-pentagon-bipolar-driver.html). They claim to have no loss of positioning accuracy as micro-step resolution is increased.

I was after finer resolution without micro-step positioning errors. Geared steppers are an option but unless you pay a lot they will have significant backlash. These 5 motors should add resolution (1000 full steps per rev) without backlash and are well under $100 each. The only issue what they're charging for the driver boards. Perhaps there's another option I've missed, though?

oriental motor has also these types

http://www.orientalmotor.com/technology/articles/article-5-phase-driver-technology.html

MarkT:
You need 5 half or full H-bridges for such a motor (or 2.5 microstepping chopper drivers!), otherwise
the same principles apply, sequence the coils using a lookup table (or for microstepping use
analog current control from 5-phase sinusoid. Assuming a 10 wire motor.

If its 5-wire then you really have a brushless servo motor and its should have hall sensors? Certainly
you can't just use standard chopper drivers on a 5-wire 5-phase stepper as each end of the windings are not
separately brought out, but it is possible to drive them like a sensorless 5-phase brushless motor using
5 half-H-bridges.

Hi every one
I've tried to replicate L297-driven-L298 scheme for my 5 phase oriental motor pentagon stepper motor, but I've find
L297 only use for 4 wire motors, hence I've decide to use an atmega16 for controlling the stepper motor, I've tied 4 L298
input together as well as 4 output to control each winding with single L298 (2+2 amper for each winding), I've tied currents
sense A & B for the another input to my microcontroller. My plan is following the oriental motor full step pattern table
to energize the winding, in each step I read analogue input of currents sense related to its L298 phase and chopped whether is
exceed from MAX Currents in the loop, then go to next step such as following code

if(FullHalfStep==FullStep)
 {
 switch(step_num)
 {
 case 0:phase(phase_B,Hz);
   phase(phase_E,Hz);
   phase(phase_A,High);   
   phase(phase_C,Low);
   phase(phase_D,Low);   
   
   for(i=0;i<Chopping_on_time_us;i++)
   {
 current=read_phase_current(phase_C); 
 current*=2;
 //print_number(current);
 if(current>=Max_Current_mA) 
 {
 phase(phase_A,Hz); 
 //uart_puts("|\n");
 //print_number(current);
 }
 else if(current<=Min_Current_mA)  
 {
 //print_number(current);
 phase(phase_A,High);
 //uart_puts(" H\n");
 }
   }   
     
   phase(phase_C,Hz);
   phase(phase_D,Hz);
   //_delay_us(Chopping_off_time_us);   
   while(read_phase_current(phase_A)>Chopping_off_Current);
   phase(phase_A,Hz);
   
 break;
 
 case 1:phase(phase_C,Hz);
   phase(phase_E,Hz);
   phase(phase_A,High);
   phase(phase_B,High);   
   phase(phase_D,Low);   
                      .....................

according to reference 5 phase pentagon stepper motor can run as fast as 3000 RPM with excellent power but I cant
reach any performance as claimed, still with theoretical 4 A L298 channel, its get hot and RPM not very hight, I've change the following parameters
but not good success

Chopping_on_time_us
Chopping_off_Current
Max_Current_mA
Min_Current_mA

I've uploaded codes and schematic of my driver if helpful
any comment and help is really appreciated

5Phase-L298.zip (584 KB)

You won't get high performance from a voltage-driven stepper, you
need chopper drivers.

They claim 4000rpm at 162V DC bus - clearly using some sort of chopper
drive...

Hi Mark

Can you be more specific about what you called "voltage-driven stepper", I used shunt resistor and chop the current about the specific current , I would be so thank you if you look my code and schematic

Voltage driven means you apply a voltage source to the windings, current driven means
you apply a current source to the windings... A chopper circuit is an approximation to
a current source.

Thanks Mark , but still don't get it because in my schematic ,constantly read the current of each L298 and in software part I've chopped every current beyond defined MAX , kindly look at my program and schematic and let me know what's wrong in current chopping concept

really appreciated

Chopping is too fast to do in software on an Arduino, needs implementing
in hardware.

Thanks Mark for your reply , I've post the problem on other forum and one expert says

Performance will be very poor unless your power supply voltage is high enough (around 35-40v). The chopping frequency should be around 20khz., and your code must be fast enough, or the current will very quickly exceed the set value

some other says chopping rate must very between 20-50 kHz, kindly be more specific how hardware implementing could affect the chopping performance

BR

@Mkeyno, you sent me a PM asking me to look at this Thread and I am happy to do so.

However I know nothing about using L298s for driving stepper motors or about 5-wire stepper motors.

Personally, I would use a a bipolar motor and a specialized stepper driver. See stepper motor basics

But those drivers are not suitable for 5-wire stepper motors.

...R

Chopping is fast. You need circuitry to measure the instantaneous current in the windings
and switch as it passes one threshold, then switch back when it passes another
threshold, and in timescales of 1us for switching, 10 to 100us for the whole cycle. This
is done in hardware, not software, using comparators, flip-flops, opamps, MOSFET drivers
and MOSFET H-bridges.

The input to the chopper is the threshold current value, typically as a control voltage,
normally derived from a sine-table lookup and microstepping phase counter.

For a 5-phase motor you will need at least 5 sets of circuitry, or alternatively (and more likely)
use a bang-bang approach and a state machine to do the switching globally
from the output of 5 comparators, rather than treating each phase independantly.

I’ve decide to switch from H bright to half bright with array of MOSFET, hence below is the schematic of what I suppose to be work with following assumption
To initiate the lower array just use the gate TC4420, there won’t be problem to turn on by micro
To initiate the higher array use isolated auxiliary voltage with optocoupler
Use opamp for chopping the current whereas voltage of shunt higher than potentiometer voltage (output = 0)
To initiate the high array output of opamp and micro command must be in high state
Pulse and direction control have implemented in software code
Any comet for following schematic is really appreciated

If those are standard opto couplers they will be sluggish. Its an awefully complex
way to drive things - just use two FAN7388's as your MOSFET drivers perhaps? No
need for isolating transformers for driving these things, high-low driver chips to 200V
and higher are stock parts.