So I'd need more information about the machine to guide you.
I find it confusing too as you said you had the DRO correct at one time.
Lets start a bit back -
Are you using the drive in analog mode (+-10 volt input)?
if in analog mode, does the drive analog input control torque or speed (speed is usual)
What Mesa cards are you using?
pick an axis:
-What is the thread TPI or lead of the lead screw?
-is there any gearing/belt drive, if so what is the ratio?
Anything else you think may be pertinent to set the scaling of one axis.
Hi Chris thanks for being patient and I appreciate your help.
I'm using Mesa 5i25/7i77 Pack and go the the 2.8 buster preemmpt iso.
The servo drives are +-10v analogue. The model I have are DKC11.1-040-7-FW
If you don't mind have a look in the attached PDF section 4-25.
I have X3. wire 1 and 2 connected to 7i77 AOUT and GND.
The Z and Y are the easiest to work with and I uncoupled them from the lead screws.
The Z axis is direct drive 5mm lead screw pitch
The Y axis is 24-60 teeth belt drive, motor to lead screw. The lead screw is a four start thread 25mm pitch
The x axis is rack and pinion. Rack 30 teeth in 200mm. Pinion 20 teeth. The motor drives this through a planetary gear (I will see if I can work out the reduction now). Edited 10:1 ratio
Note: this manual also cover the model with the stepper module.
It does not matter to linuxcnc how many poles the motor has, only the motor drive might care.
i am assuming you are making a metric based machine.
so taking Z axis:
I think you said the encoder has 8000 counts per revolution.
Its direct drive with a 5mm pitch. (meaning 1 turn moves the axis 5mm)
So to get 1mm of axis movement you need to turn the screw 1/5 or .20 of a turn.
so that means the encoder will also only turn 1/5 of it's 8000 counts as well.
so the Z scale should be set to: 8000 X .2 = 1600 counts.
This tells linuxcnc that when the encoder moves 1600 counts the axis has moved 1mm.
You can confirm this is right by moving the axis 1mm and looking at the encoder counts - it should be very close to 1600 (depending on how accurate you measure the 1mm of travel)
Probably easiest by moving the axis by hand with the power to the motor off or use pncconf's open loop test to move the axis slowly.
Once you have the scaling right the DRO in linuxcnc should be right too.
The other axes are similar - you measure or calculate how many encoder counts are in 1mm of movement and use that as the scale.
After confirming the raw encoder counst and working out the correct encoder scale I was able to play with more confidence this morning.
A little bit of googling had the PID numbers go from 50 down to around 4 for P and FF1 was 10 down to 0.03 (a lot different from Pncconf). From here I was able to jog the 3 axis around smoothly and accurately.
I still have a couple more question though:
The servo motors still drift when the drives are enabled via a manual push button on the console and of course they stop when I hit F2 on Linuxcnc. Will tuning the motors properly stop this or should I be looking elsewhere?
The Y and Z motors are exactly the same except the Z has a brake. Should these motors have the same PID tune or is this where the black magic kicks in?