linuxcnc+ethercat drives the AKD servo motor it cannot be moved
08 Sep 2021 07:15 #219916
by wang
Replied by wang on topic linuxcnc+ethercat drives the AKD servo motor it cannot be moved
Can you talk about your formula in detail? Or provide me with a learning tutorial webpage, documentation or something.
Please Log in or Create an account to join the conversation.
08 Sep 2021 12:20 - 08 Sep 2021 12:20 #219934
by db1981
Replied by db1981 on topic linuxcnc+ethercat drives the AKD servo motor it cannot be moved
for this case there is not realy an formula.
halPin="pos" halType="float" scale="-0.000001" tells, that 1 increment send from the servo drive is equal to 0.000001 Machine Unit (mm or inch set in the ini file.)
halPin="poscommand" halType="float" scale="-1000000" tells, that 1000000 increments are equal to 1 Machine Unit (mm or inch set in the ini file)
so if you tell to move 3mm, the drive will get an command of 3000000 increments, in the case of 0.5mm the output is 500000.
In an system like yours when feedback and motor is on unit, poscommand scale should be the reciprocal of the feedback scale. Like you have set it.
To match the scaling factor to the mechanics, you have to know how the scaling in you servodrive is set, or if it is fix, how the resolution of the linearmotor is. (datasheet of the motor)
Example: Beckhoff linear , pole pair distance 24mm, beckhoff drive does 20bit increments per pair; 24mm = (2^20) 1048576 increments; 1inc = 0.000022888mm; feedback scale (pos) = 0.000022888; command scale = 43690.666667 (2^20 / 24)
halPin="pos" halType="float" scale="-0.000001" tells, that 1 increment send from the servo drive is equal to 0.000001 Machine Unit (mm or inch set in the ini file.)
halPin="poscommand" halType="float" scale="-1000000" tells, that 1000000 increments are equal to 1 Machine Unit (mm or inch set in the ini file)
so if you tell to move 3mm, the drive will get an command of 3000000 increments, in the case of 0.5mm the output is 500000.
In an system like yours when feedback and motor is on unit, poscommand scale should be the reciprocal of the feedback scale. Like you have set it.
To match the scaling factor to the mechanics, you have to know how the scaling in you servodrive is set, or if it is fix, how the resolution of the linearmotor is. (datasheet of the motor)
Example: Beckhoff linear , pole pair distance 24mm, beckhoff drive does 20bit increments per pair; 24mm = (2^20) 1048576 increments; 1inc = 0.000022888mm; feedback scale (pos) = 0.000022888; command scale = 43690.666667 (2^20 / 24)
Last edit: 08 Sep 2021 12:20 by db1981.
The following user(s) said Thank You: wang
Please Log in or Create an account to join the conversation.
09 Sep 2021 01:20 #220022
by wang
Replied by wang on topic linuxcnc+ethercat drives the AKD servo motor it cannot be moved
I probably understand what you mean. I think the linear motor should be adaptable in this way. I will go to understand what you said about the scale factor.
At the same time, I also have a rotating motor for the Z axis, which uses a ball screw. How should the rotating motor match?
At the same time, I also have a rotating motor for the Z axis, which uses a ball screw. How should the rotating motor match?
Please Log in or Create an account to join the conversation.
09 Sep 2021 09:53 #220046
by db1981
Replied by db1981 on topic linuxcnc+ethercat drives the AKD servo motor it cannot be moved
For this you also need to know resolution of the Drive/motor...
example:
The Drive has 65536 increments / per Motor Revolution,
Ballscrew pitch is 5mm -> 65536inc = 5mm ->
1mm = 13107.2 inc ->
feedback scale (pos) = 1 Machine Unit / 13107.2 inc = 0.000076229 mm/inc
command scale = 1 Machine Unit = 13107.2 increments
example:
The Drive has 65536 increments / per Motor Revolution,
Ballscrew pitch is 5mm -> 65536inc = 5mm ->
1mm = 13107.2 inc ->
feedback scale (pos) = 1 Machine Unit / 13107.2 inc = 0.000076229 mm/inc
command scale = 1 Machine Unit = 13107.2 increments
Please Log in or Create an account to join the conversation.
10 Sep 2021 05:56 #220106
by wang
Replied by wang on topic linuxcnc+ethercat drives the AKD servo motor it cannot be moved
Attachments:
Please Log in or Create an account to join the conversation.
10 Sep 2021 08:07 #220111
by db1981
Replied by db1981 on topic linuxcnc+ethercat drives the AKD servo motor it cannot be moved
you have to find this in the manual/datasheets of your Drive or Motor.
There have to be an chapter about resolution.
What kind of drives/Motors are this?
If you post datasheets or links . maybe i can help.
There have to be an chapter about resolution.
What kind of drives/Motors are this?
If you post datasheets or links . maybe i can help.
Please Log in or Create an account to join the conversation.
01 Dec 2021 08:50 #228099
by wang
I am currently controlling a five-axis machine tool and ran into this problem again. I found that I still have a lot of questions. My AC-axis drive is a BDHB servo drive from SERVOTRONLX.
This is my drive configuration interface
And motor units
I tried to input 131072 in the control interface (because I thought it should make it make a full circle), but then I tried to make the C axis make a full circle when the number 1310720 was reached.I don't understand why there is a 10 times difference?
Because the units of AC axis are all degrees when we write G code for processing, so I hope that the 1 that I send through PosCommd is 1 degree. You can control the A or C axis to rotate one degree.
Can you tell me how I should set this scale now? thanks
Replied by wang on topic linuxcnc+ethercat drives the AKD servo motor it cannot be moved
Under your guidance, I have mastered the scale calculation method of linear motors and roller screws. At the same time, I have successfully controlled the three-axis machine tool.For this you also need to know resolution of the Drive/motor...
example:
The Drive has 65536 increments / per Motor Revolution,
Ballscrew pitch is 5mm -> 65536inc = 5mm ->
1mm = 13107.2 inc ->
feedback scale (pos) = 1 Machine Unit / 13107.2 inc = 0.000076229 mm/inc
command scale = 1 Machine Unit = 13107.2 increments
I am currently controlling a five-axis machine tool and ran into this problem again. I found that I still have a lot of questions. My AC-axis drive is a BDHB servo drive from SERVOTRONLX.
This is my drive configuration interface
And motor units
I tried to input 131072 in the control interface (because I thought it should make it make a full circle), but then I tried to make the C axis make a full circle when the number 1310720 was reached.I don't understand why there is a 10 times difference?
Because the units of AC axis are all degrees when we write G code for processing, so I hope that the 1 that I send through PosCommd is 1 degree. You can control the A or C axis to rotate one degree.
Can you tell me how I should set this scale now? thanks
Attachments:
Please Log in or Create an account to join the conversation.
Time to create page: 0.141 seconds