What kinds of error compensation are supported by linuxcnc
- curran209
- Offline
- Senior Member
- Posts: 56
- Thank you received: 0
it support one-way error compensation and reverse asymptotic error compensation?
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
- Posts: 7778
- Thank you received: 2075
Please Log in or Create an account to join the conversation.
- curran209
- Offline
- Senior Member
- Posts: 56
- Thank you received: 0
2.can you tell me the theory and treating processes of location error compensation?
3. i find the linuxcnc-master\configs\sim\screwcompX.dat only has 11 nominal value, is it enough? can i add my value in it?
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23170
- Thank you received: 4860
LinuxCNC can use two values in the compensation table, this is to deal with backlash. (and that can only ever work up to a point)
The mapping file can have 256 entries. That seems a low limit, I very much doubt that it is indexed by an 8-bit value. But it is still enough to improve a cyclic variation in a 1m 5mm pitch screw.
Please Log in or Create an account to join the conversation.
- curran209
- Offline
- Senior Member
- Posts: 56
- Thank you received: 0
2.Lead screw error compensation is a concept same as pitch error compensation?
I find it in "compute_screw_comp()' is responsible for calculating backlash and
lead screw error compensation."
3. Linuxcnc has only "compute_screw_comp()" to do error compensation? We use linear servo motor and rotary servo motor in one machine tool, the error compensation is enough? COMP_FILE screwcompX.dat is enough and needn't been modify.
4.the value in COMP_FILE needn't been modified when machine unit is mm or inch?
5.Can you talk about the algorithm of the linuxcnc error compensation?
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23170
- Thank you received: 4860
3. Linuxcnc has only "compute_screw_comp()" to do error compensation? We use linear servo motor and rotary servo motor in one machine tool, the error compensation is enough?
I would expect a linear motor to have its own linear encoder. If you don't trust that, what do you trust?
But, if you have a bad encoder, then the existing "screw" comp should be able to compensate.
No, it works in the machine native units.4.the value in COMP_FILE needn't been modified when machine unit is mm or inch?
It looks like linear interpolation. The comp file is used to make a table of trim and slope values, and that is applied to the commanded position.5.Can you talk about the algorithm of the linuxcnc error compensation?
github.com/LinuxCNC/linuxcnc/blob/325caa...tion/control.c#L1755
Please Log in or Create an account to join the conversation.
- curran209
- Offline
- Senior Member
- Posts: 56
- Thank you received: 0
I find this sentence in linuxcnc soure code,"/* 'compute_screw_comp()' is responsible for calculating backlash and
lead screw error compensation. "
2.what's the meaning of machine native units? i find "LINEAR_UNITS = inch" in servo_sim.ini,need it to be modify?
[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = inch
3.Can you tell me the algorithm of the linuxcnc error compensation? Where has the linker that teaching the algorithm? Can you tell me the computational expression that looks like it in the paper?
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23170
- Thank you received: 4860
Yes. There can be separate compensation values for each direction of travel, so it can compensate for both backlash and error. In effect there can be a compensation table for both faces of the leadscrew.1.Lead screw error compensation is a concept same as pitch error compensation?
2.what's the meaning of machine native units? i find "LINEAR_UNITS = inch" in servo_sim.ini,need it to be modify?
You can configure the machine to use either unit system. The tool table and backlash comp will always be in the machine base units, as will the max and min axis travels etc.
3.Can you tell me the algorithm of the linuxcnc error compensation? Where has the linker that teaching the algorithm? Can you tell me the computational expression that looks like it in the paper?
The code that does the compensation was linked to in my previous message. It seems that each value in the compensation file is converted into a slope and offset table at load-time to save computation time later.
Please Log in or Create an account to join the conversation.
- curran209
- Offline
- Senior Member
- Posts: 56
- Thank you received: 0
According some papers, Reverse clearance compensation table(I think it is screwcompX.dat in Linuxcnc) need been modify according with the different machine. We use linear servo motor and rotary servo motor in one Laser machine, the content in screwcompX.dat is ok? Need it been modify?
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23170
- Thank you received: 4860
Probably not.The content of screwcompX.dat is ok to all machine tools?
According some papers, Reverse clearance compensation table(I think it is screwcompX.dat in Linuxcnc) need been modify according with the different machine.
It will need different numbers for every machine, obviously. So I don't understand the question.
We use linear servo motor and rotary servo motor in one Laser machine, the content in screwcompX.dat is ok? Need it been modify?
Don't you trust the encoder on the linear servo? What do you trust?
Please Log in or Create an account to join the conversation.