Hello everybody,
Bit of context: i've recently overhauled my CNC Router. Just moved to bigger rails on every axis, built a mineral casting (epoxy granite), to increase rigidity. It's not even a week since i've finished putting it together and i just started to machine some parts.
I had to stop the first program i ran as the first endmill ended up rubbing on the side of the part, melting the aluminum i was machining, thing that i found strange, as the part was only 15mm thick. On closer inspection i found that the part was shifted almost half a mm in the Y+ direction, which could have caused the endmill to rub on the finishing passes. Odd.
I've checked every screw on the Y axis and found none loose. I've checked whether the Y axis ballscrew bearing block nut could have been loose, thing that happened to me before, but again, everything is tight.
So i ran another part, different one this time, with a lot more travel along the Y axis. Result? The part was shifted over 2mm in the Y+ direction. On closer inspection i found out that the part presented a sort of stairstepping coinciding with the stepdowns in the roughing program, but each stepdown was shifted in the Y+ direction a bit, creating something like a real stair. Another strange thing is that this phenomenon only presented in the Y+ direction, another indication that the endmill was shifting right (Y+) on each stepdown.
Now, i've checked for backlash by pushing and pulling on the machine while measuring with an indicator for deflection. The machine was rock solid (i could move the machine by 0.01mm if i pushed with all of my strength, which for a DIY CNC is not bad i think).
I've than checked for backlash in the usual way, by setting an indicator at the end of travel, moving the axis over, than going back to zero. BINGO!
I found where my movement was going. Almost 0.2mm when moving the axis from 0 to 600mm and back, and this error was adding each time i've done 0-600-0.
I've checked the servo(the machine has IHS-60 integrated servos that i haven't retuned yet since the reassembly, i should), and it showed sporadic peaks of 15 pulse of "latency" or following error on the Y axis, usually it stayed between 3 and 7 though. Is this the problem? 15 pulses at 800 pulses/rev on a 5mm ballscrew results on a bit over 0.09mm of following error.
Now, following error refers only on a latency between what the controller thinks that the position is, and the real position.
Another thing that i've measured was the current draw from the motor, looking at the onboard current meter. It showed peaks of more than 17A, which for me is not real, or the unit of measure is not amps, as the servo is rated at 400W @ 48V and has an allowable peak of 15A, as for a parameter set inside of the motor controller.
And now i'm turning to this forum looking for ideas on what to check next. Tomorrow i will tear down the Y axis to check the motor coupler, but testing it, it didn't look like it was slipping at all.
Other simptoms that this might be something software/tuning related is that when E-stopping / disabling the machine, the X axis motors on the gantry move a bit, one in one direction and the other in the opposite direction. I should retune those too, but looking at the following error and the current draw they don't look like they are acting like springs, neither that they need retuning for high following error.
If anyone wants to look into this madness, i leave the link to the entire configuration of the machine.
github.com/EragonPower/LinuxCNCMachineConfiguration
Thanks to anyone in advance, even for only reading this post