Mel,
I see in your program you go to half step.
How difficult would it be to increase it 1/256th step?
I am trying to configure o stepper drive system
that would allow this. I am not sure about the coding tho.
DougB
Mel,
I see in your program you go to half step.
How difficult would it be to increase it 1/256th step?
I am trying to configure o stepper drive system
that would allow this. I am not sure about the coding tho.
DougB
oooohhhh.... let's think about this...
Do you really mean 1/256th of a single step... or do you mean there are 256 steps in a revolution and you mean 1/256th of a Revolution?
Most (though not all) stepper motors have four coils. We'll call them A, B, C and D. A step is when we rotate the shaft from one set of coils to the next... Let's also say that coil A is our starting sequence (it doesn't have to be, but for our example it is)...
A to B = A is energised, then de-energise A and energise B = 1st step
B to C = B is energised, then de-energise B and energise C = 2nd step
C to D = C is energised, then de-energise C and energise D = 3rd step
D to A = D is energised, then de-energise D and energise A = 4th step
the cycle now repeats from the top.
This is the conventional way a Stepper Motor rotates. Now the number of steps you have per revolution depends on your actual stepper motor. There's dozens and dozens of variants. Steppers are usually specified in a step angle (eg 1.8 Degrees per Step, or 7.5 Degrees per step), usually a figure divisible evenly into 360 (one rotation). So the 1.8 Degree stepper needs 200 steps for a revolution.
You can drive most Steppers in half-steps... like so...
A only is energised = 1st step
A to AB = B is additionally energised (A+B energised) = 1.5 step
B only is energised = 2nd step
B to BC = C is additionally energised (B+C energised) = 2.5th step
C only is energised = 3rd step
C to CD = D is additionally energised (C+D energised) = 3.5th step
D only is energised = 4th step
D to DA = A is additionally energised (D+A energised) = 4.5th step
the cycle repeats from the top
With this 'half-step' arrangement you now double the steps of your stepper making it twice as accurate. So if you had a Stepper that needed 200 steps per revolution (our 1.8 Degree Stepper above), you now can give it 400 half-steps to achieve the same result (which means we've an achieved an accuracy of 0.9 Degrees with our 1.8 Degree Stepper)
Naturally you can reverse the sequence from any point to drive backwards.
Now, can we take that 1.8 Degree step and achieve an accuracy of 1/256th of our 1.8 Degrees? - in other words 0.007 Degree micro-steps?... the answer is No. I've not seen a Stepper with such a complex coil phasing arrangement that it allows 256 micro-steps per individual step. But point me to a Datasheet if you know of one. Trust me, if it exists, we can drive it.
0.007degrees per microstep
http://www.indoor.flyer.co.uk/stepperdriver.htm
http://www.allmotion.com/EZHR17ENDescription.htm
Luciano
Very clever... using a standard four coil stepper too... must find out more how they've achieved this.
A tutorial.
By Douglas W. Jones
THE UNIVERSITY OF IOWA
Department of Computer Science
Control of Stepping Motors
http://www.cs.uiowa.edu/~jones/step/index.html
Chapter 5:
Microstepping of Stepping Motors
http://www.cs.uiowa.edu/~jones/step/micro.html
* * *
Luciano
You are trying to compare apples to oranges. Melanies code (or anybodys code) will only be able to get you to half step mode. That's the digital limit. Anybody who talks about microstepping is in reality using a stepper motor as a magnetic voice coil between steps. By varying the amount of current to one energized coil vs the other energized coil you can get the N-S poles of the rotor to line up anywhere between the two energized poles of the stator. This is analog circuitry which is often programmed using an 8-bit DAC and thats where the 256 number fits into the equation as a step size.
I agree with hansknec.
I apologize for my english but..... is the stepper driver that give to the motor the right sequence for microsteps.
Trickle is to reproduce a sine wave using a current sensor on the motor phase and an AtoD converter (high number of bit = high number of microsteps).
Usually these devices are inside dedicated drivers for microsteps.
See ALLEGRO A3972 for 1/16 steps.
regards
andrea
Bookmarks