# Microstepping

A

#### Andrea

Hi everybody!
I know that Microstepping is based simply on a sine/cosine function and I understand the meaning of a microstep, but isn't clear... how to get the sequence of this mode...
For example, the sequences are:
full step: 0101 1010 0101 1010
half step: 0101 0001 1001 1000 1010 0010 0110 0100
microstep: ???? (I don't have idea !)

Regards and thanks!

Andrea

A

#### Allan Dow

Hi Andrea

You might wish to look at the latest Circuit Cellar Magazine. It has a microstep controlloer in use for cosmic use. It offers an explanation on
microstepping.

Cheers
Allan Dow
Embedded Systems & Solutions

J

#### Johan Bengtsson P&L Automatik AB

well, first of all, you probably missed something in your description but that is probably just a small typing error.

I go into vertical mode......

first, full step driving both coils:
0 1 0 1
0 1 1 0
1 0 1 0
1 0 0 1
repeat

full step, driving only one coil:
0 1 0 0
0 0 0 1
1 0 0 0
0 0 1 0
repeat

half step, combines the above:
0 1 0 0
0 1 0 1
0 0 0 1
1 0 0 1
1 0 0 0
1 0 1 0
0 0 1 0
0 1 1 0
repeat

now, microstepping would be something more like this:
0.00 1.00 0.00 0.00
0.00 0.87 0.00 0.50
0.00 0.50 0.00 0.87
0.00 0.00 0.00 1.00
0.50 0.00 0.00 0.87
0.87 0.00 0.00 0.50
1.00 0.00 0.00 0.00
0.87 0.00 0.50 0.00
0.50 0.00 0.87 0.00
0.00 0.00 1.00 0.00
0.00 0.50 0.87 0.00
0.00 0.87 0.50 0.00
repeat
this can of course be done using any intermediate resolution but I think you get the general idea

/Johan Bengtsson

----------------------------------------
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------

A

#### Andrea

Thanks for your help, but is not clear for me yet!

First.. how did you get the sequence?
What resolution did you use? 1 microstep = full step/ 10 maybe?
How can I send that sequence to stepper... if generally stepper motor receive pulses (1 and 0s)

> now, microstepping would be something more like this:

> 0.00 1.00 0.00 0.00

> 0.00 0.87 0.00 0.50

> 0.00 0.50 0.00 0.87

> 0.00 0.00 0.00 1.00

> 0.50 0.00 0.00 0.87

> 0.87 0.00 0.00 0.50

> 1.00 0.00 0.00 0.00

> 0.87 0.00 0.50 0.00

> 0.50 0.00 0.87 0.00

> 0.00 0.00 1.00 0.00

> 0.00 0.50 0.87 0.00

> 0.00 0.87 0.50 0.00

> repeat

thanks!

andrea

C

#### Curt Wilson

Andrea:

Think of it this way:

In a stepper controller, you are setting the current of the two phases (we'll keep it to two phases now for simplicity -- the argument is broader) according to the equations:

Ia = Imax * sin Qe
Ib = Imax * cos Qe

where Qe is the electrical angle, and 360 degrees (electrical) of Qe is 4 full steps. The ideal functions may not be true sinusoids, but they are at least close.

The key issue is what your step size of Qe is. If you use 90-degree steps, the only values of Ia and Ib you can generate are -1, 0, and +1 times Imax. This is full stepping. You only need to be able to turn on full voltage and current in each phase in both directions, or to turn them off completely.

If you use 45-degree steps in Qe, you are half stepping. Most half-stepping implementations do not try to put in 0.707*Imax at the 45-degree points -- both phases still use +/-Imax and their effect balances out. This permits just a switching of current in the phases.

If you use smaller steps in Qe, you are mini-stepping or micro-stepping. Now you need to apportion current in the phases through some modulation scheme (usually PWM), not just switch current. Usually this means computation instead of switching logic, a sine lookup table, D/A converters, current sensing and closed-loop current control.

The number of microsteps per step is dependent on the size of your steps of Qe -- usually the size of your sine lookup table.

Compumotor, a microstepping pioneer, has some pretty good tutorial information, and I think most of it is available on-line.

Curt Wilson
Delta Tau Data Systems

S

#### Sarosero

Hi Curt...

> Compumotor, a microstepping pioneer, has some pretty good tutorial information, and I think most of it is available on-line.

Bye
Andrea

M

#### matt

The number of microsteps per step is a matter of choice, the upper limit being dictated by the smallest microstep size. Beyond a certain limit, the microstep becomes smaller than the motor errors and tolerances (and hence impractical). Your microstepping might be based on 1/4 steps, or on 1/100 steps, or whatever you wanted. Of course the switching rate goes up with number of microsteps, and the benefits top off, so there's no reason to do it beyond the motor's errors and
tolerances limits (variations in flux density, steps not exactly equal in size, etc all add up and create differences in the step size, and it's not practical to have microsteps smaller than these errors ,as they'd be below the noise floor ). When your microsteps become smooth enough to be a good sinewave , the stepper motor just becomes a synchronous motor.

C

#### Curt Wilson

Andrea:

Go to /www.compumotor.com/. If there are not web pages or downloadable files, order their "Virtual Classroom" CD-ROM.

Curt

G

#### Guy H. Looney

Andrea,

I'm a little confused as to why you're asking for the step sequence, but I'll explain what I think you're really asking.

First of all, the motor has nothing (well, almost nothing) to do w/ the type of stepping that you desire. Most stepper motors today are constructed w/ 2 pole pairs (A & B) and 50 "teeth". The "teeth" are actually magnets w/ predefined polarities. Oriental makes a 5
pole pair motor, but it operates on the same fundamental principals as the 2 pole motor.

The drive/amplifier is the device that determines the resolution or step size of the move. As previously mentioned Compumotor has a lot of good info on the theory, but as a "graduate" of their school (and also as a distributor) I'll give you a quick overview:

If you were to but the system in full step mode, you would energize each pole pair fully to begin with. As you want to move, you reverse the current in the phases to cause the the induced magetic field to repel the "teeth" that it was previously attracted to it. You would continue to do so to cause the motor to rotate. The
frequency of the current switching determines the speed. The direction is changed by switching the current in the opposite pattern. Full stepping in this scenario gives you 200 steps/rev. The reason is quite simple....50 "teeth" x 4 states (A+, A-, B+, B-) equals 200. The important thing to remember is that the motor is only seeing current & voltage. The drive/amplifier is the device that is doing the work. It's switching current based on the pulse train it is receiving.

Half stepping works the same way, except it's not full current through the windings at all times. Think of the switching device as something similar to a water valve. By controlling the amount of current that is going through the windings we can effectively induce a field that is at an intermediate point. This gives us 8 states instead of 4. 8 * 50 = 400 steps/rev.

Ministepping & Microstepping are accomplished in much the same way. The drive accomplishes its switching by using an "H-bridge" circuit:

|
|
----------------|---------------
| |
| |
/ \
/ \
| |
| A |
----------( ( ( ( ( (-----------
<------attem=
pt to draw an inductor
| |
| |
/ \
/ \
| |
| |
----------------|---------------
|
|

The switches have changed greatly over time. The advancements in microstepping are largely due to the fact that the switch technology has gotten better & better. If you're trying to build your
own stepper card, I'd be curious as to why. The technology for generic steppers is readily available off the shelf & the pricing isn't that bad ($100 -$1000 depending on the size & bells & whistles).

As far as the stepping sequence goes, I haven't tried to write it out, but if you applied my explanation to your question, you could

My 2 cents,

Guy

Guy H. Looney
Sales Engineer

Regan Controls, Inc.
475 Metroplex Dr.
Suite 212
Nashville, TN 37211
phone: (615) 333-1940
fax: (615) 333-1941
email: [email protected]
web: www.regancontrols.com

J

#### Johan Bengtsson

Sorry for the late reply, You might have understood it already from the other responses.

As the other responses say it is a sine wave.
I used 30 degrees steps (that is 30 electical degrees) it give you a microstep resolution 3 times the full step resolution, just as an example.

expanding the table below:

degr. sin cos U1 U2 U3 U4
0 0.00 1.00 0.00 1.00 0.00 0.00
30 0.50 0.87 0.00 0.87 0.00 0.50
60 0.87 0.50 0.00 0.50 0.00 0.87
90 1.00 0.00 0.00 0.00 0.00 1.00
120 0.87 -0.50 0.50 0.00 0.00 0.87
150 0.50 -0.87 0.87 0.00 0.00 0.50
180 0.00 -1.00 1.00 0.00 0.00 0.00
210 -0.50 -0.87 0.87 0.00 0.50 0.00
240 -0.87 -0.50 0.50 0.00 0.87 0.00
270 -1.00 0.00 0.00 0.00 1.00 0.00
300 -0.87 0.50 0.00 0.50 0.87 0.00
330 -0.50 0.87 0.00 0.87 0.50 0.00

360 degrees - a full turn = 0 degrees
the normal full steps are found at
0 - 90 - 180 - 270 degrees

You see it now?

/Johan Bengtsson

----------------------------------------