Hello Guest it is April 26, 2024, 12:52:07 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - lthall

Pages: 1
1
Hi all,

I thought this would be a helpful post as it has been messing with my CNC quality, time, and my sanity.

I am doing large 3D carving of aircraft fuselages. My last job took approximately 20 hours on the machine to finish when it should have taken closer to 6 or 8. The reason for this was the machine was effectively running in "Exact Stop" mode because of my settings. The reason for this was my "CV Dist Tolerance" setting of 0.1mm combined with mildly conservative acceleration settings of 300mm/s/s.

The reason I set the "CV Dist Tolerance" to 0.1mm was because I wanted to ensure the surface tolerance would not be worse than 0.1mm and even this was larger than I would like. This resulted in the characteristic jerky start-stop-start motion and a very low average speed. The other annoying side effect is the delay where the tool slows to almost a stop causes a small indentation that is a lot of work to remove with the sandpaper afterwards.

My mistake was my understanding of "CV Dist Tolerance". I thought it was the maximum distance from the desired path that Mach3 would go to maximise the feed rate while limiting the acceleration to the requested values. This does not appear to be correct and I was alerted to this by the jerky motion on lines that differ by only a very small angle or the performance over large arcs made up of multiple lines.

This is the part of the explanation I missed when I read through the "Mach-3CVsettings V2.doc" : "This is the distance from the end of the line that it is cutting to where the arc starts rounding" The problem with using this definition is it results in a variable surface following tolerance. For very low angle corners the error is very small but for a 90 degree angel the error can be extremely large.

So my question was, how do I maintain feedrate and small errors and the answer is "Stop CV on angles". This variable drops back to "Exact Stop" mode if the angle is greater than this value from a straight line.

The surface tolerance can be calculated using this formulae:

error = dist/cosd((180-theta)/2) - dist*tand((180-theta)/2)

where dist is "CV Dist Tolerance" and theta is "Stop CV on angles".

So what this does is ensure that for small angles we use Constant Velocity mode where the maximum error will be small despite a large "CV Dist Tolerance". Then any time we approach a line segment with anything other than a small angle we drop back to "Exact Stop" mode.

My settings are 2.5mm for "CV Dist Tolerance" and 5 degrees for "Stop CV on angles". This results in fast smooth curves on my machine and a surface tolerance of almost 0.05mm and I am happy for the machien to come to a complete stop for any angles larger than 5 degrees.

I hope this helps as I wasted a lot of machining time before I sat down and worked this out.



Pages: 1