I have been operating an Andi Sratus router with a Fanuc controller for a year and a half. When the machine makes a turn, a small fishtail occurs. This problem occurs at almost any angle, but is very apparent at 90 degrees or greater, leaving me with an unwanted corner. Can this problem lie in my CAM package or in the Fanuc controller?
I am no expert in Fanuc, but I would bet money that it is overrun, not the CAM package. That is to say, the controller is not decelerating sufficiently to change direction and stay on profile.
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.
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.