Fishtail problems with CNC router
Before you get too far into the following controller test, let's eliminate the simplest possibilities first. Is this a new thing, or an always thing? Are you running at higher than usual (or previously run) feeds? Has the problem grown worse with time, or suddenly shown up?
I offer the following under the assumption that you have checked the code, and found nothing anomalous.
First, if it has grown worse very gradually, you may have worn or loose drive components, and correcting those will fix the issue.
Second, if it was sudden, run the profile dry, no tool, no dust collector, just the blank (or part), get the machine to run at 100% feed with no other noise in the shop (especially the vacuum pump if it is close). Now, listen. Are you hearing any ugly grindy noises? How about a thump? If you hear grindy noises, lockout the machine, and call your maintenance people - something bad happened. If you hear a thump, that might be one (or more) of several things. 1) Servo shock as the servos overshoot and try to settle back on profile at maximum power draw, 2) Bad or loose thrust bearings in one or more axis (depending upon the angle and orientation), or 3) Something mechanical that is loose and the accel/decel is causing it to hit something else. I have personally experienced your symptoms on a brand new machine. Fortunately, it was only a case of the ball screw nut retainer not properly torqued. So, assuming that you find no ugly grinding noises, and there is a thump, or a couple of thumps as it settles, let's check the next possible, then proceed to Theory....
Third, have you changed the controller's parameters? Tuning a CNC is not an easy task. Tuning is where the amplifier gains, position feed back loop and velocity or position error loops are “tuned” to provide the maximum acceleration and deceleration as well as maximum design speed while maintaining the desired accuracy in position and velocity. (A controller/servo guru will point out that they are effectively the same - velocity times time = displacement, etc...) The crux of the tuning parameters is that they are tuned to the given machine, and to a given MASS that has to be moved. Therefore, if you have changed the parameters of the machine, or have suffered a software mishap, your controller may be trying to run the machine with incorrect tuning parameters, which would also explain your problem. Ok, enough techno-babble...
Consider: If you put more weight on the machine that the “tuners” allowed for, you are simply overloading the machine. If this is a normal product for you, then get it re-tuned or have them reduce the accel/decel values to give the servos a chance to do their job. Personally, I think this possibility is like a penguin in the Sahara, not likely, but just possible enough to mention.
If you know how to view the look ahead parameters of your controller, then do so. If the feature is enabled, then let’s test the operation, if you do not know how to check it (For Fanuc, I do not know), let's try a couple of simple tests.
Theory: Controller fails to decel at corners.
To test this theory, I recommend breaking the tool path (in the cad package) a distance at least as long as the fishtail is before the offending corners. If you are using AlphaCAM, there is a function called "slow down for corners" and is found in the "Machine>Edit Machining" drop down. Run program and evaluate, if magnitude of problem changes, then controller is probably not decelerating at corners enough. This is the second or third easiest test, but may end up being your solution, should the test prove positive.
Another thing to try is to use the manual feed rate override to slow the machine down for the corners, or even better yet, just run a test program with a number of feed rates, start high, run the part, slow it down, run it again, and see at what point the profile cuts like it should. If it never gets good, then start looking at mechanical issues. If it does improve, the problem is likely in the contiguous execution, ie look ahead and decel for corners. I have been told that Fanuc controllers are typically configured in a minimal fashion. If you want more features, you pay someone to turn them on. Look ahead (or decel for corners) may be one of those.
The object of this exercise is to find out if the fishtails are feed rate dependant. If yes, feed rate control must be established at the corners. The first method is best if you cannot get the controller to automatically decel for corners, but here are three alternates. Most controllers I have seen have one or more of the following. Exact stop, which means the controller will not execute the next block of code until the current one is finished and the axis are actually exactly at the commanded end point. G9- decel at end of block - this code forces the axis to come to a controlled zero feed rate at the end of the block. Both of these commands are tough on tooling, but will provide near perfect profile, give or take a few burns. If you have high accel/decel, a G9 may be a tolerable approach. If you can control the accel and decel values, try setting them at 1/2 the current value, and see if that fixed it. If so, you will probably still need professional help to get the thing tuned properly, but you could be back to making parts right, right away.
On my Osai, I have a parameter called MDA or Maximum Deviation Angle, which is a threshold parameter. That means that I can set it at a value between 0 and 180 degrees, the controller will look at each move and following move, and determine if the angle between the two moves equals or exceeds the MDS. If yes, then causes a axis stop at end of move. If no, then applies a decel algorithm based on how close the angle is to the MDA. I have to think that Fanuc has a similar function, I just do not know what it is.
You can try turning on exact stops with a G61 before the start of the profile. This will cause the machine to dwell (I think 1/10th of a second) between each vertice. If the fishtail stops then the above comment was correct and the machine is probably not decelerating for a corner and if you were to slow down prior to the turn you would also have an issue starting up after the corner at full speed (too much torque too quickly). The code to turn off the G61 is G64 and that is typically a modal start up G code on the Fanuc.
Look at the drive pulleys on the X and Y axis. The aluminum pulleys are subject to wear. Also check the belt tightness. Also check the backlash with an indicator. Place the indicator on each axis and move it .001, .010 and .100. It should repeat within .001. If it's not mechanical, call Anderson tech support. You may need to have the servos tuned.
If you start in the middle of a program, make sure you single block through the header! You must read G08 P1 line. This is what Andi uses for the fast corner function enable.
I had the same exact thing happen on our Andi Stratus sup. Someone from Andi came out and fixed it. If I remember, it was a couple of things in the servo parameters, and was not any wear (machine was brand new, did it from day one).
Would you like to add information to this article?
Interested in writing or submitting an article?
Have a question about this article?
Have you reviewed the related Knowledge Base areas below?