Originally Posted by mmjpotter If an encoder is being used to control the speed of the motor, then I agree with you, it should be connected to the rear shaft of the motor with zero backlash. I use a tacho for this purpose. |
Usually the encoders are used as feedback both to the speed loop and the position loop. Since it seems you do your own driver software this may not be true. Are you using separate feedbacks?
The motors on any axis with backlash are continuously hunting for position but this is under controlled and stable conditions and is not detrimental to the machine’s mechanics or electronics, it is NOT unstable violent motor oscillation. |
Is this because you set the PID parameters to "calm it down"? If so, does it not then gouge your part on pocketing square corners? (Sudden setpoint changes)
Or can you use feedforward to avoid it?
. My source code is in ‘C’ and the real time interrupt routine is 80x86 assembly code . I don’t know if these will compile for Linux. |
Not without a lot of rewriting in the RT part. The principles seems quite similar to the old DOS way of "stealing interrupts" though. I don't have any experience in RTAI other than browsing docs and code. My RT experience is with OS9/68K.
But Linux have one big advantage over DOS, it's on the rise and not dying. So I try to forget DOS. And I prefer having my fingernails pulled over doing 80
assembly!
Anyway I suggest you look at EMC. The source is open if you want to do something odd. And if you made a system that can make parts using your own code, you might find it a nice environment to focus on what you do best and benefit from the work of others with a different background.