What kinds of error compensation are supported by linuxcnc

More
12 Jul 2021 02:31 #214351 by curran209
linuxcnc support location compensation?
it support one-way error compensation and reverse asymptotic error compensation?

Please Log in or Create an account to join the conversation.

More
12 Jul 2021 04:00 #214355 by cmorley
The following user(s) said Thank You: curran209

Please Log in or Create an account to join the conversation.

More
12 Jul 2021 07:05 #214365 by curran209
1.it support comp_file contain one-way error compensation and reverse asymptotic error compensation? i only find compute_screw_comp(), it looks like only support screw comp?
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.

More
13 Jul 2021 00:25 #214463 by andypugh
I don't know what you mean by "asymptotic" in this context (I do know what asymptotic means. I don't know what you mean by it)

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.
The following user(s) said Thank You: curran209

Please Log in or Create an account to join the conversation.

More
13 Jul 2021 06:28 #214492 by curran209
1.No longer need pay a attention to "asymptotic ", I got it wrong.
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.

More
13 Jul 2021 08:08 #214509 by andypugh

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.


4.the value in COMP_FILE needn't been modified when machine unit is mm or inch?

No, it works in the machine native units.

5.Can you talk about the algorithm of the linuxcnc error compensation?

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.
github.com/LinuxCNC/linuxcnc/blob/325caa...tion/control.c#L1755

Please Log in or Create an account to join the conversation.

More
19 Jul 2021 06:57 #215286 by curran209
1.Lead screw error compensation is a concept same as pitch error compensation?
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.

More
19 Jul 2021 07:39 #215291 by andypugh

1.Lead screw error compensation is a concept same as pitch error compensation?

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.

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.

More
20 Jul 2021 05:59 #215382 by curran209
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. 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.

More
20 Jul 2021 14:40 #215419 by andypugh

The content of screwcompX.dat is ok to all machine tools?

Probably not.

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.

Time to create page: 0.128 seconds
Powered by Kunena Forum