I think you should Google a bit on backlash and Machinekit / Linuxcnc http://www.machinekit.io/docs/config/ini_config/#axis_-num-section-a-id-sub-axis-section-a Please see the Backlash section. I’ve also seen some topics on the linuxcnc forums.
Personally I’d fix the backlash :) 5 mm seems excessive to me and it seems you are trying to solve a problem at the wrong spot. > On 23 Jul 2019, at 15:53, Edgardo Gho <[email protected]> wrote: > > Hello, > I have setup a Raspberry PI running machine kit to drive a mill (X,Y,Z axis). > Each axis has a stepper motor coupled to a really bad screw. > On X and Y there is a linear scale (5 microns pulses) which I read using a > modified Encoder Hal component. > I setup up the HAL with one encoder for X, one for Y. The encoder position > (in machine units) is feed into Motion (Axis.0 and Axis.1) though one of the > feedbacks, and its also feed into a PID (one per axis). > The PID inputs are in position units but the output is on velocity which goes > into Stepgen configured as velocity to drive the steppers (the stepper have a > driver which receives pulse+direction). > > All of this setup works great IF I move axis independently.. meaning.. if I > move X +5mm several times, the PID makes sure it reaches the point. > The Screws have a lot of backlash, so if I would move X back -5mm on open > loop it does not move back 5mm (because of the backlash) but using the PID > and the encoder it compensates perfectly and it reaches the point with no > issues. > Same with Y axis. > > The problem I have is when both Axis have to move at the same time, and one > of the axis encourters backlash. Imagine doing half a circle.. one of the > axis will move at constant speed but the other will reach a 0 speed point and > reverse rotation at half of the moment. > WHile the second axis reverses, there is backlash, but the other axis > continue going forward so circle gets distorted. > > I tried reducing increasing the resolution of the arc (doing lots of small > arc movements) and adjusting errors.. but what I need is for one axis to stop > while the other compensates for backslash. > I tried adding G61 for exact stop but this had no effect on the backlash. > > Any clues on how can I force the Trajectory planner to compensate for > backlash using the encoders? > > Best Regards, > Edgardo > -- > website: http://www.machinekit.io blog: http://blog.machinekit.io github: > https://github.com/machinekit > --- > You received this message because you are subscribed to the Google Groups > "Machinekit" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/machinekit/1db75010-6f2b-4f6f-90c0-4183d2e0b52e%40googlegroups.com. -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/7BC694E7-BC9C-4AE6-B2B0-2ED0692A9CA6%40basdebruijn.com.
