or
Stepper motors are not really designed for smooth rotation. They are designed to make position and speed control very easy. You can always find a smoother drive system by using a gear train or other method of reduction.
The reason is that the stepper has a finite number of positions that it can come to rest in. Most stepper motors can stop in one of 200 positions per revolution. If you directly connect the output shaft to your telescope, mill, lathe, or whatever, the stepper will "jump" from one position to the next where each position is 1/200th of a complete rotation.
"Micro stepping" controllers, like the Linistepper increase that number of positions, by "creating" new positions between the original ones. They do this by turning on the coils in the motor in combinations and at less than full power. These new positions help the stepper stop at up to 18 times more positions or 3600 positions per revolution when starting with a standard 200 step/revolution motor. The only concern is that these new positions are not as accurate as the originals, so you can't depend on them for accurate positioning and they may produce motion that is not totally even from one step to the next. And the motor is still stopping at each position.
Next, the Linistepper improves on other micro stepping controllers by making
the transition from one position to the next smoother via the linear,
analog circuitry on the board. This causes the change from one position to
the next to be gradual rather than immediate. The concerns here are that
the smoothing has to be "tuned" to match the
electrical and mechanical characteristics of the system; the component values
that would smooth out one motor might not have any effect at all on another.
Details are on the Linistepper tuning page.
http://www.piclist.com/io/stepper/linistep/lini_tun.htm
Another issue is that this tuning has to be set appropriately for the speed of rotation and the mass of the load even given the same motor. In other words, if you turn the motor slower than the linear smoothing is tuned for, you will still have the effect of starting and stopping from one position to the next, although the acceleration and deceleration will be less jerky. If you tune it for slow motion and then try to turn the motor quickly, you may miss steps and cause the motor to shake, backtrack or do other "interesting" things.
So: How smooth depend on many variables. Perhaps we will be able to present a test case at some future date, but at this point all I can say is that the Linistepper will provide "smoother" operation than another controller and that it will get even smoother when it is tuned correctly.
You will have smoother operation with a normal motor and a drive train, or with a stepper and a drive train. The advantage of the stepper over the normal motor is that you can avoid the need for a speed or position sensing system and just depend on the stepper to turn one step for each pulse. That lowers the cost of the system.
The drive train will be more susceptible to errors as the ratio of reduction it provides is increased. To maintain accuracy with large reduction requires more precision in the components. The smoother you can turn the stepper, the less reduction you need to provide the same smoothness of motion at the load. You can get smother motion from a stepper with the linistepper than with other stepper controllers and that will allow you to still use a stepper to avoid the need for feedback, and use a less complex and therefore cheaper and more accurate drive system.
You will get "more" for "less" but how much more? How much of an advantage is hard to say. 18 time better over a standard (non-microstepping) controller. How much more than that depends on the tuning of the linear components to the motor, the drive system, the mass of the load and the speed of operation. Probably the phase of the moon as well. <GRIN> You can see the sort of difference linear smoothing makes on the wave forms under the heading "here are the actual waveforms" on the page http://www.piclist.com/techref/io/stepper/linistep/lini_wks.htm
3 current levels, 1200 steps, without linear ramping. |
9 current levels, 3600 steps, with linear ramping! |
If I were building a system with a goal of maximum "smoothness", I would try a modular approach. Using a very simple, low cost toothed belt and sprocket system to provide maybe 8 to 1 reduction and a standard stepper with the linistepper in 18th over mode without linear smoothing. Try it and then if you need or want more, spend the time on the tuning or increase the reduction of the drive train.
Just to make sure this is also clear: When you move from standard stepping or microstepping into linear operation, the "waste" or heat load at the controller will increase and the temperature of the motor will decrease. The motor is not wasteing power by makeing sudden transitions. The controller is wasteing power by dropping the edges of the transitions into the resistors. Even in "chopping" stepper controllers the heat is expended at the motor in eddy currents and other electro-magnetic effects. So... just encase you missed it on any of the other pages here: You need big heatsinks on the linistepper controller, and the motor will run cool.
If you do decide to try with the Linistepper, I would really love to hear how it goes and would be more than happy to offer more assistance in return for what we might learn from your experience. A picture of the stars showing an exposure with the controller in standard 3600 step / revolution micro stepping mode and another with tuning enabled should demonstrate what advantage there is to be gained. But building the drive and telescope is beyond my ability, so I will have to depend on your input.
Source code to generate a constant very accurate pulse stream to move an equatorial mount at eactly the right speed has been written for cfeena
For some information on telescope construction and mirrors see:
Interested:
Comments:
Questions:
How slow can you go? How about 1 revolution per _day_ for a solar clock (goes round once per 24 hours). The instantaneous accuracy is not important, so the microsteps can be of slightly different sizes, only that the total number is exactly one revolution. I tried my Linistepper on no load and it works fine at this slow rate, but I have yet to try it with a load.
James Newton of Massmind replies: Slower is easier. Shouldn't be a problem at all.
Hello, first of all I would like to say "GREAT JOB" !
This controller is really nice and thought me a lot !
But still... where can I find an explanation to the circuit. For example what for transisotrs Q5 - Q8 are?
I'm trying to to put DAC between uC and transistors Q1-Q4, is there explained the method of microstepping? I know R18-R29 sets the microstep value, but if I wanted to use 8-bit DAC. Is it possible in this circuit?
thank you :)
George
James Newton of Massmind replies: See the How it Works page.