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

Reply via email to