On Thu, 16 Sep 2010, Slavko Kocjancic wrote: > Date: Thu, 16 Sep 2010 09:50:00 +0200 > From: Slavko Kocjancic <esla...@gmail.com> > Reply-To: EMC developers <emc-developers@lists.sourceforge.net> > To: EMC developers <emc-developers@lists.sourceforge.net> > Subject: [Emc-developers] StepGen > > Hello.... > > I'm use EMC with 25uS base period. This came little coarse now as I get > stronger motors for my machine. So I look under the hood of emc how > works. Now I get confused how all thing works. > > If I understand correctly the stepgen (in base period) just make pulse > if needed but all the accelerations/deceleration are calculated in servo > period thread. Is that true?!?
Yes this is true for all EMCs Motion AFAIK > > If it's true then acceleration isn't smoth as we think. Assume Servo > thread at 1ms and base thread at 25us. > Let's assume we accelerate from 0 to 10000 step's /second Not as smooth as you might have thought but good enough, heres why: Say you have a fairly fast step motor driven system (20 IPS/S acceleration). Worst case error caused by velocity steps will be at a 20 IPS/S acceleration ramp. At a 1 mS servo thread, you will have .02 IPS steps in velocity. Peak error relative to "perfect" velocity ramp is +- .01 IPS. The average velocity error is +.005 IPS on the first 1/2 of the 1 mS velocity step and -.005 IPS on the second 1/2 (assuming a positive ramp). A .005 IPS velocity error applied for 1/2 ms results in only 2.5 millionths of an inch path deviation: basically irrelevant. This error can be easily reduced by running the Servo thread faster, the error is proportional to the inverse square of the Servo thread rate. > > When step rate is under 1000 the every step can have different length > and over 1000 steps the more steps in series have same length not > accelerating lineary. Near the end the motor got 10 steps at same length > and next 10 steps at little shorter time. > > San someone verify that this is true? And how that affect performance? > (acceleration curve not straight line but staircase one) I doubt that any effect on performance could be detected (its in the noise) > > Is mesa and pluto board done in same way? Yes, it would be trivial to add acceleration to the FPGA based stepgens (well maybe there could be space limitations in some) but there would be no practical benefit, and definate disadvantages, more drive overhead being one disadvantage. Only reason I could think of adding acceleration to the hardware would be for systems that cant handle 1 KHZ or greater servo rates. (maybe USB or serial) > > very thanks for answers. > > > p.s. > I forgot to write if that all is true (and mesa/Pluto works same) then > we can fit stepgen in some PIC or AVR mcu and leave base period on PC > empty (or set same as servo thread?) > > Slavko. > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers > Peter Wallace Mesa Electronics (\__/) (='.'=) This is Bunny. Copy and paste bunny into your (")_(") signature to help him gain world domination. ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers