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.
