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.

Reply via email to