Threading Index Varies With Speed

More
1 year 10 months ago #317506 by PCW
You mentioned that the 200 RPM plot is broken. Are you referring to the change of slope in the velocity before it starts oscillating?

No, I am referring to the fact that it never reaches a constant velocity but seems to only exponentially approach a constant velocity, I am ignoring the sawtooth velocity waveform,. You should be able to get rid of most of the sawtooth by using the interpolated encoder position (so the position is updated every ms rather than every encoder slot)

Please Log in or Create an account to join the conversation.

More
1 year 10 months ago #317507 by cmorley
Why do you think that spindle speed is uncoupled from spindle sync position?
look in tp.c at tpSyncPositionMode()

Now I don't understand the code completely but I think the general idea is to:
-accelerate (at max) the axis to match the calculated spindle speed for the requested units per revolution.
-when it is synced speed then maintain the sync.

With a fixed acceleration rate, a faster spindle will take longer to sync speed.

To have threads always match you would need to also sync position and probably with a longer section of out of spec threads. I see no indication of position tracking

So I think it's a feature not a bug.

Please Log in or Create an account to join the conversation.

More
1 year 10 months ago #317510 by cmorley
Well I now see there is pos_desired and pos_error but it looks like maybe a relative position.
relative to synced position?

Please Log in or Create an account to join the conversation.

More
1 year 10 months ago #317678 by 10K
This problem, and this forum thread, all started when I was getting gouging when making a 1"-8 thread. After analysis, I believe that the lathe was bogging down slightly when making later passes in the increasingly deep thread. I've confirmed that the position of the thread changes with speed. The slight decrease in speed made the cutter take a larger bite, which caused further bogging down and then an even larger bite. Eventually, the lathe reached stability and was able to speed up and quit gouging.

Today, I tried making the thread again. I kept thinking that the Monarch lathe motor is large (7HP), and should be able to power through the threading cuts. My lathe has a back gear (speed reduced, torque increased), which I have never used. I put the lathe in the back gear and tried the thread cut. The gouging stopped completely. So that problem is solved to my satisfaction.

The contributing problem, thread position varies with spindle speed, seems to be built in to the LinuxCNC code. Spindle speed should not be changed during the threading operation. I'm not convinced that replacing the Z stepper with a more powerful motor, which would allow me more acceleration, would change this behavior very much. I'm also not convinced that having more pulses per spindle revolution, either through making a new gear with more teeth or using software to synthesize more pulses, would make much difference.

Please let me know if my logic is flawed.



 

Please Log in or Create an account to join the conversation.

More
1 year 10 months ago - 1 year 10 months ago #317679 by PCW
Can you post a plot that contains the encoder velocity to determine
if LinuxCNC or the hardware is to blame?

The odd thing is that the 100 RPM plot looks to be as expected
but the 200 RPM plot is obviously broken. (the Z velocity never
reaches a steady state even though it's  obviously possible with
the acceleration constraints)

Also please use the interpolated position, the non-interpolated
position combined with the low resolution encoder makes
everything worse with it's large position steps. This is the intended
use case for interpolated position.
 
Last edit: 1 year 10 months ago by PCW.

Please Log in or Create an account to join the conversation.

More
1 year 10 months ago - 1 year 10 months ago #317685 by 10K
First, I looked at the interpolated and raw signals in HalScope. As expected, one had jaggies and one didn't. In my INI file, I changed:
net spindle-position encoder.0.position => spindle.0.revs
To:
net spindle-position encoder.0.position-interpolated => spindle.0.revs

I ran the threading program at 200 RPM:
 

Jaggies gone, plus initial slope change before threading now a straight line. However, there's a break in the velocity midway on the line that was not there before. Still have the odd saw-tooth velocity while threading. (Note: I was running the program without a tool, so no actual threading took place)

I thought this might have fixed the problem. So I made another 8TPI thread at 100 and 200 RPM. Alas, they did not overlay. Same problem. In case you're wondering, I could not find another piece of 1" stock, so I used a 1/2" rod.
 

PS. Looks like I need to resharpen the cutter! Easy to see in the closeup.

 
Last edit: 1 year 10 months ago by 10K. Reason: Added PS

Please Log in or Create an account to join the conversation.

Time to create page: 0.076 seconds
Powered by Kunena Forum