Kirk Wallace wrote:

> 
> Whatever it is, it looks like I have it too. I ran the long version four
> times with #4=0.050 without any problems. Then before shutting down for
> the night, I ran one part at #4=0.083333. At the start of the thread the
> Z would aggressively move then almost come to a stop in the middle of
> the pass, then surge again and nearly stop at the end of the pass. I let
> the thread loop go for a five or six more passes. Each pass followed the
> previous with a slight variation. I know I should do some HALscope
> captures, but I haven't used HALscope for a while so I need to plan out
> what I need to do. I am running 6.06 with all of the automatic updates
> as of today. I can get into more detail later. My lathe configuration is
> here:
> http://www.wallacecompany.com/cnc_lathe/HNC/ 
> 

Calculate the Z axis speed needed for your thread (pitch * spindle RPM). 
  If it is more than half of your Z axis maximum, you could have 
problems when running some versions of EMC2.

The problem has to do with how EMC starts moving the Z axis when the 
index pulse arrives.  A good analogy to understand the problem is the 
handoff in a relay race.

Imagine one runner going full speed with the baton - that is the 
spindle, and the baton is where you want the thread to start.  A second 
runner is standing at the start line - that is the cutting tool.  The 
starting line is the index pulse.

If the second runner doesn't start moving until the first runner crosses 
the starting line, he is going to immediately fall behind the runner 
with the baton.  He'll have to run a lot faster to catch up, and it will 
  take him a long time to do it.  If the first runner is already running 
full out, the poor second runner may never catch up.

That is basically how EMC2 used to do lathe threading.  The axis can 
only start moving when an index pulse arrives - aka, when the first 
runner crosses the line.  If the first runner isn't going to fast, the 
second one can catch up to the baton, and all is well.  But for coarse 
threads at high speed, it may take a very long time to catch up.

Real runners solve this problem easily - the second runner can see the 
first one coming, and he starts running _before_ the first runner 
arrives at the starting line.  If he times it right, he will be up to 
full speed just as the first runner catches up to him.

EMC doesn't really have this luxury.  It can't see the index pulse 
before it happens, so it can't start early.

Recently (I'm not sure exactly when), cradek made an improvement.  He 
added an offset.  This is stretching the analogy a bit, but imagine that 
instead of carrying the baton in his hand, the first runner is dragging 
it behind him on a long string.  If the string is the right length, then 
the second runner can start running just as the first one passes, and by 
the time he reaches full speed, the baton at the end of the string will 
be right next to him, ready to grab.

The trick is knowing how long the string needs to be.  The faster the 
runner (or spindle) is moving, the longer the string.  I believe cradek 
calculates the offset (string length) based on the spindle speed 
immediately before the threading pass starts.  This is fine if the speed 
is constant from one pass to the next (minor speed changes during the 
cut are fine, EMC compensages for that).  But if you were decide to 
double the spindle speed for a final pass, in order to get a really nice 
surface finish, the string would be twice as long - meaning the final 
pass wouldn't line up with the previous one.

We don't have a good solution to that problem yet.  However, I think 
cradek's improved code is in the 2.3.0 beta version of EMC.  I'm pretty 
sure it is NOT in any 2.2.x version.  Someone who is experiencing this 
problem should give it a try with the 2.3 beta version.

Regards,

John Kasunich



------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to