Hi Fr. tom, Thank you for taking the time to post such a long reply. I am familiar with microstepping and have read the "Jones" chapters thoroughly. I know I need non-linear DAC to get quarter steps that will give good linear machine travel. I have some good linear CC drivers that do whole/half steps, but will need some re-engineering to give me good quarter stepping. I was hoping someone could point me in the direction of a simple one-chip solution so I can control it from simple digital port and get perfect non-linear DAC in quarter or eighth stepping. The chips I seem to find on the net are not really suitable, most of the bipolar output driver chips have stupid voltage drops like 4v at 1amp, I am used to transitor stages with 0.4v at 1 amp. And even then they need a second chip to do the DAC stuff. If the worst comes to the worst I will update my linear CC drivers to have four separate current levels, not just two, and be done with it. I just thought there were some new whiz-bang chips that would do everything I need. I have never used microstepping before, normally half-steps have been all I needed. :o) -Roman Thomas McGahee wrote: > > Roman, > Not really sure if what you want is a tutorial on > microstepping, but if so, I will attempt an > explanation. > > In microstepping you are really using a form of pulse width modulation. > The usual sequencing used to achieve half-stepping is: > > A AB B BC C CD D DA ... A AB etc.... > Now imagine the following sequence: > > A A+.5B AB .5A+B B B+.5C BC .5B+C C C+.5D etc.... > The above sequence yields quarter steps. > > A A+.25B A+.5B A+.75B AB .75A+B .5A+B .25A+B B B+.25C .... > The above sequence yields eighth steps. > > It is easy to expand the concept to 16 or 32 or 64 or 128 or 256 > microsteps per step. > > OK, so how do you get something like .25A? Simple. You pulse- > width modulate with a 25% duty cycle. For .5A use a > 50% duty cycle. > > You should realize that microstepping has reduced torque, and the > accuracy is not 100%, but it is still a useful technique. > > The technique is easiest to implement with binary units such as > 1 2 4 8 16 32 64 128, but you CAN implement a number such as > 40 if you wanted to. > > Generally when you are moving long distances you would move in > half steps whenever possible, and use microsteps at the beginning and > end of the move to get the position correct. That is for straight > line motion. If you are drawing curves, then you might want to stay in > microstep mode the entire travel time. Note that you must go slower > when microstepping. This is due to the reduced torque, and also to the > fact that when moving in microstep mode you cannot move faster > than the rate at which you can smoothly move from one pulse-width > modulated value to the next. Think of motion as being directly > related to the diferences in PHASE. You should never attempt > to move faster than the rate at which you can smoothly adjust the > pulse width modulation. > > Think of a PWM table that goes from one microstep to the next. To > move from one point to another with the physical stepper motor > you must smoothly traverse this table without skipping any > steps. And remember that some microsteps require things like > A+.25B You must "linger" at this point long enough to produce > at least one 25% pulse. You should only move on to the next > "position" at the exact end of the previous PWM period. > > So in practice the PWM period has an influence on the practical > speed that can be obtained. > > Use microstepping only where it is appropriate. > > If you want a quickie look at what the effects of microstepping > are, then energize the winding of a stepper with, say, > +5 volts. Now apply a variable 0-5 volts to the winding. > You will see that the stepper motor will micro-move through > the half-step distance. (Use a reasonable supply that can > give the necessary current!). Try gluing a paper clip > that has been straightened out to the flat part of the shaft. > This will act as a pointer, and because it is long, it will > be much easier to see the micro-movement. Plot the rotary > positions at 0, 1, 2, 3, 4, and 5 volts. You will see > that it is not perfectly linear, but close enough to be useful. > > If you look carefully at the microstepping sequence you will > notice that it can be "folded" into two parts: A part that > is at a fixed voltage, and a part that has a partial voltage. > If you look carefully at just the variable sequence you will > see that it goes: 0 .25 .5 .75 1 .75 .5 .25 0 .25 .5 > etc. So think of the total sequence like this: > > A with B going from 0 to 100% > B with A going from 100% to 0 > B with C going from 0 to 100% > C with B going from 100% to 0 > C with D going from 0 to 100% > D with C going from 100% to 0 > D with A going from 0 to 100% > A with D going from 100% to 0 and then it repeats. > > I hope you "see" what I am getting at. By looking at the > waveforms in this light it is not too difficult to come > up with a circuit and software that makes this sequence > happen. Just remember, don't jump more than one step > in the sequence at a time, otherwise you will get a very > jumpy response. > > Fr. Tom McGahee > -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.