f m wrote:

>Rob, 
>
>Let me clarify a bit. The application is for a coil
>winder on a non round form. The form will be directly
>attached to the motor shaft. I need to velocity
>modulate the speed of the A axis as it goes around
>corners in order to help maintain constant tension.
>The test setup I'm using is a stepper motor with a
>piece of tape on it to indicate position. There is no
>actual machine yet, I wanted to make sure this motion
>is possible before building anything. The only
>physical limiting factor at present is the motor
>inertia itself.  
>  
>
Sounds like a cool application :)

>The problem is not that the hardware is loosing steps,
>but that EMC is causing following errors. The upper 
>limit on how fast the A axis can turn should be the
>maximum rate the steps can be generated. In
>stepconfig, I can get the motor to move reliably at
>2400 deg/sec. This equates to 144000 deg/min in the
>units EMC uses. Anything faster than about 25000
>deg/min will cause EMC following errors. This is about
>6X slower than stepconfig will spin the motor. I've
>tried setting the microstepping on the drive to
>different values so that there are a different number
>of steps per degree, but I still run into the same
>wall around 25000 deg/min. This implies that the
>problem is not in generating the steps, but somewhere
>deeper in EMC. This happens in both the G1 command, as
>well as manual jogging. They both cause following
>errors at about the same speed. Is it possible that
>numbers bigger than this are overflowing? 
>  
>
Stepconf sets up the fast thread based on your max velocity settings, 
within limits.  Your BASE_PERIOD is probably too high to generate steps 
fast enough for 144000 deg/min.  at 2400 degrees/second * 13.888888888 
steps/degree means you need 33333 steps/second.  To generate that, you 
need 66666 interrupts per second, or one every 15000 ns.  You can try 
setting BASE_PERIOD to 150000, but note that this can cause your PC to 
lock up.  You might want to try 20000 first, then go down to 15000 in 
steps of 1000, making sure that the user interface doesn't seem too slow 
at any point.  The UI gets sluggish when the realtime tasks are taking a 
large percentage of CPU time, so that's a good indication that you're 
close to a lockup.  (the PC locks up when there isn't enough time to run 
the interrupt routine before the next interrupt comes in)

Following errors with software step generation always point to a 
configuration error.  In this case, you need to either reduce the max 
velocity or increase the frequency (decrease the period) of the fast 
thread, so the step generator can make enough steps per second to get to 
the velocity you're asking for.

- Steve


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to