On Apr 18, 2008, at 9:09 PM, Kirk Wallace wrote: > On Fri, 2008-04-18 at 22:13 -0500, Jon Elson wrote: > ... snip >> No, I think I got your point exactly, and I don't think steppers >> have a really good answer for this. You can't split a step, or >> tell it how long to take to get from one step to the next. When >> the step command is given, it goes "clunk", and depending on the >> dynamics of the motor, machine, etc. it will either fall a >> little short of the magnetic 'detent' or go past it. Given a >> good strong stepper moving at dead-slow speed, the magnetic >> detend is at maximum strength, and friction should be moderate, >> so it will almost certainly go past and then pull back. That is >> the nature of the beast! > > I read this at Wikipedia: > "A new development in stepper control is to incorporate a rotor > position > feedback (eg. an encoder or resolver), so that the commutation can be > made optimal for torque generation according to actual rotor position. > This turns the stepper motor into a high pole count brushless servo > motor, with exceptional low speed torque and position resolution. An > advance on this technique is to normally run the motor in open loop > mode, and only enter closed loop mode if the rotor position error > becomes too large -- this will allow the system to avoid hunting or > oscillating, a common servo problem."
Sorry, Kirk but well tuned servo systems don't oscillate or hunt. > >> Microstepping can smooth this out to some extent, by splitting >> steps, and portioning them out at some rate so as to interpolate >> the movement. But, it still can't make the magnetic detents >> inherent in the motor a whole lot finer, so you can maybe get >> reliable motion down to quarter steps or so, but soon friction >> takes over, and any attempt to move in smaller increments breaks >> up into stick-slip friction. In other words, as I understand >> it, in full steps, you get X torque. With half-steps, you get >> X/2 torque. With quarter steps, you get X/4 pulling the rotor >> into the "detent". and so on, because the size of the detent >> you are aiming at is getting smaller and smaller. (I'm not >> explaining this well, I'm not trying to say that the overall >> torque of the motor is going down, it certainly is not. What >> I'm trying to say is that as the movement increments get >> smaller, the torque developed to make those smaller angular >> movements gets smaller. Eventually, the motor doesn't move at >> all for one microstep, then it moves more than that on the next >> microstep.) >>>> ... > > Please correct me if I am wrong, because I am making some of this up. > With single stepping one stator winding acts on the rotor. The > rotor and > stator poles match well so there is a tight sweet spot. With half > stepping, some of the steps use one winding an others use two, so > their > torque is nearly twice as much except the rotor poles are trying to > compromise between two stator poles so there is a wider sweet spot > (?). > I would think micro-stepping is just like this, except you get to > try to > set where the compromise is. I don't know what quarter stepping is, > but > if it adds a third winding in the mix, I would think the sweet spot > would get wider, so even though the maximum torque is high, the > stiffness at the ideal position is probably not so good. > >>> I am thinking that micro-stepping is like high servo encoder >>> resolution >>> and is for dynamic control, not positional control. I would think >>> you >>> would want full or half steps to set your positional accuracy and >>> micro-stepping allows a means to work all the nasties while moving >>> between the steps. This is pure speculation on my part. >>> >> There is a difference, however. With microstepping, there is no >> sensing of position, so you don't know if the motor is out of >> position. With a servo, the gain of the control system forces >> it to respond even to VERY small errors. So, you can take a >> pretty ordinary DC motor, put a 10,000 cycle/rev encoder on it, >> (which gives 40,000 quadrature counts/rev) and actually MAKE it >> move one 40,000th of a turn! You could never do that with a >> microstepping drive. >> >> Jon > > But, I don't think you can tune a real servo system down to the > last few > encoder counts, or am I wrong? I think you will find servo systems reporting following errors at low speeds in the 1E-4 to 1E-5 range and 0.0005 to 0.001 at rapids. Dave > > -- > Kirk Wallace (California, USA > http://www.wallacecompany.com/machine_shop/ > Hardinge HNC/EMC CNC lathe, > Bridgeport mill conversion, doing XY now, > Zubal lathe conversion pending > Craftsman AA 109 restoration > Shizuoka ST-N/EMC CNC) > > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save > $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http:// > java.sun.com/javaone > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
