Unlimited rotary axis
14 Jul 2018 07:22 #114162
by jsskangas
Unlimited rotary axis was created by jsskangas
Hello
I have been now running some 5 axis work.
Mostly impellers, but some parts that are cut with helix motion around part.
This leads to running several turns like 60-200 turn around part.
When operation is finished I need to run back(rewinds) 200 turns to get back to C 0.0.
now rewind is mandatory cause I can not change kinematic mode to TCP:off, unless C0.0.
This frustrates me.
Is there any option to run in 360 modulo format, so that sign determines rotation direction or it uses closest path?
Axis would be limited to 0-360. degrees.
One option would be a reference command to run axis home.
some controllers use G28 U0. to command axis home and find reference.
This would be useful for unlimited rotary axis, it would find nearest home point and zero it self to that.
Any other ideas how to get rid of rotary rewind?
I have been now running some 5 axis work.
Mostly impellers, but some parts that are cut with helix motion around part.
This leads to running several turns like 60-200 turn around part.
When operation is finished I need to run back(rewinds) 200 turns to get back to C 0.0.
now rewind is mandatory cause I can not change kinematic mode to TCP:off, unless C0.0.
This frustrates me.
Is there any option to run in 360 modulo format, so that sign determines rotation direction or it uses closest path?
Axis would be limited to 0-360. degrees.
One option would be a reference command to run axis home.
some controllers use G28 U0. to command axis home and find reference.
This would be useful for unlimited rotary axis, it would find nearest home point and zero it self to that.
Any other ideas how to get rid of rotary rewind?
Please Log in or Create an account to join the conversation.
14 Jul 2018 17:56 #114172
by Grotius
Replied by Grotius on topic Unlimited rotary axis
Hi,
I know your problem. At the end of your proces, you can do a homing for your rotary axis to home switch and reset your value.
Then you are ready for the next round...
I know your problem. At the end of your proces, you can do a homing for your rotary axis to home switch and reset your value.
Then you are ready for the next round...
Please Log in or Create an account to join the conversation.
14 Jul 2018 18:58 #114173
by jsskangas
Replied by jsskangas on topic Unlimited rotary axis
So this is not possible at the moment?
Can i make PID loop zero at index pulse?
I have servos that i can program to give index pulse once per table rotation.
I know that many other suffers from this problem as well.
So let's try to solve this.
If not next best thing would be G-command to home single axis.
how much work this would need?
Can i make PID loop zero at index pulse?
I have servos that i can program to give index pulse once per table rotation.
I know that many other suffers from this problem as well.
So let's try to solve this.
If not next best thing would be G-command to home single axis.
how much work this would need?
Please Log in or Create an account to join the conversation.
14 Jul 2018 21:25 #114182
by dgarrett
Replied by dgarrett on topic Unlimited rotary axis
Method using g92,g10l20,g92.1 (for the c coordinate):
Ref:
www.linuxcnc.org/docs/html/gcode/g-code.html#gcode:g92
www.linuxcnc.org/docs/html/gcode/g-code.html#gcode:g92.1-g92.2
www.linuxcnc.org/docs/html/gcode/g-code.html#gcode:g10-l20
$ cat c_reset.ngc
o<c_reset> sub
g92 c 0 (get c value to #5216)
#<c_save> = #5216
#<c_new> = [#<c_save> mod 360]
;reset c such that -360 <= c <= 360
;comment-out the if1 block for: 0 <= c <= 360
o<if1> if [#<c_save> lt 0]
#<c_new> = [#<c_new> -360]
o<if1> endif
g92.1 (remove g92 offset)
g10l20p1 c #<c_new> (set new c value)
(debug, c original: #<c_save>)
(debug, c new: #<c_new>)
o<c_reset> endsub
Ref:
www.linuxcnc.org/docs/html/gcode/g-code.html#gcode:g92
www.linuxcnc.org/docs/html/gcode/g-code.html#gcode:g92.1-g92.2
www.linuxcnc.org/docs/html/gcode/g-code.html#gcode:g10-l20
Please Log in or Create an account to join the conversation.
14 Jul 2018 21:30 - 14 Jul 2018 21:39 #114184
by jsskangas
Replied by jsskangas on topic Unlimited rotary axis
Ok I need to investigate how this works with 5-axis kinematics.
This could work, but not best possible solution.
quick and dirty, I would say.
This could work, but not best possible solution.
quick and dirty, I would say.
Last edit: 14 Jul 2018 21:39 by jsskangas.
Please Log in or Create an account to join the conversation.
14 Jul 2018 23:36 #114189
by Badger
Replied by Badger on topic Unlimited rotary axis
G10 L20 P#5220 A[#5423 MOD 360]
Will eliminate all the multiples of 360 degrees. You then just have to "unwind" the remaining part of the rotation. I haven't run a complete project with this but it seems to work in my tests. Voodoo.
Will eliminate all the multiples of 360 degrees. You then just have to "unwind" the remaining part of the rotation. I haven't run a complete project with this but it seems to work in my tests. Voodoo.
Please Log in or Create an account to join the conversation.
15 Jul 2018 07:19 #114201
by jsskangas
Replied by jsskangas on topic Unlimited rotary axis
Yes.
This offsets zero point that is in use.
if you run another job with different zero point, lets say that you are finishing part in fixture, then this zero point has not this offset.
And your post tells to run C0. for this operation.
Or you close the machine and start next day, home your machine and and comman C0. in your next job.
Rotary will rewind to Cxxxxxxxx.xx ....
Like i said, quick and dirty.
Need better one.
This offsets zero point that is in use.
if you run another job with different zero point, lets say that you are finishing part in fixture, then this zero point has not this offset.
And your post tells to run C0. for this operation.
Or you close the machine and start next day, home your machine and and comman C0. in your next job.
Rotary will rewind to Cxxxxxxxx.xx ....
Like i said, quick and dirty.
Need better one.
Please Log in or Create an account to join the conversation.
16 Jul 2018 14:55 #114307
by andypugh
Replied by andypugh on topic Unlimited rotary axis
Does the WRAPPED_ROTARY INI file option do what you want?
linuxcnc.org/docs/2.7/html/config/ini-co...s__lt_num_gt_section
linuxcnc.org/docs/2.7/html/config/ini-co...s__lt_num_gt_section
Please Log in or Create an account to join the conversation.
16 Jul 2018 16:30 #114311
by jsskangas
Replied by jsskangas on topic Unlimited rotary axis
First thing i tried.
I did not notice any change in behavior.
My axis value still goes from 0 .... xxxxxxxxxxx.xxx
and f I type C0. it will rewind it back home.
0, 360, 720 are not same position as they should be.
I did not notice any change in behavior.
My axis value still goes from 0 .... xxxxxxxxxxx.xxx
and f I type C0. it will rewind it back home.
0, 360, 720 are not same position as they should be.
Please Log in or Create an account to join the conversation.
16 Jul 2018 17:40 #114319
by andypugh
Replied by andypugh on topic Unlimited rotary axis
If you enable WRAPPED_ROTARY the behaviour should be that G0 A810 will do 2.25 turns in the positive direction, and then G0 A-0 will do a quarter turn in the reverse direction.
You don't want 360 and 720 to be exactly the same, they should end up at the same angle, but you need to be able to program a multi-turn move still.
You don't want 360 and 720 to be exactly the same, they should end up at the same angle, but you need to be able to program a multi-turn move still.
Please Log in or Create an account to join the conversation.
Time to create page: 0.084 seconds