What’s the best way to set up a continuous rotation for an axis?
-
Hi everyone,
I´m new here and try to set up a new kinematics.
For that reason my axis have to be in a “(continuous-) rotation-mode” which means that all angles must be in 0..360° (-> Angle%360).
From my transformation I got values from between 0° and 360° (or +-180°).
If I will do a move from 0° to 350° the axis should not move +350°, instead the axis should take the “short” path with -10°.I enable in my kinematics class the function “IsContinuousRotationAxis(){… return = true;}”.
In my opinion this should solve this problem but it don’t.
Did I something wrong, or do I miss a setting?Thanks in advance, Best Peter
Duet 3 Firmware (RepRapFirmware: v3.01-dev; RRFLibraries: dev; CoreNG: dev; FreeRTOS: master; DuetWiFiSocketServer: master)
-
It sounds like some work is being done for this for version 3.2
https://forum.duet3d.com/topic/16788/u-axis-without-limit/12?_=1592935944738
-
@Phaedrux Thanks for that respone.
-
@pgoellner It worked when I played around with it.
When IsContinuousRotationAxis() returns true the firmware should always find the closest direction to rotate to reach the goal.
It has to be a G0 move for it to do this.
-
is there a way to set "speed" for continuousRotationAxis (start/stop) or at least multiple of 360 degrees (I need it to turn e.g. 20 turns)
-
@arhi It's supposed to be used with polar/arm printers, if you move 360 degrees you end up at the same place.
M92 sets steps/deg in this case and not steps/mm. For example a 0.9deg stepper with 16 microstepping and a 20:1 gearbox will be 16*20/0.9 = 355.556 steps/deg
-
@bondus said in What’s the best way to set up a continuous rotation for an axis?:
@arhi It's supposed to be used with polar/arm printers
Yes, but I'm thinking about multi axes cnc and want to turn a thread for e.g.
I can do it as ton of small moves but maybe a single multiturn move?
Or, I'm thinking about 3D scanner where I need to do 5-6 rotations of the table,
or, I'm thinking about "presenter" with rotating base + pan and tilt
or ..There'a a million reasons one would like to have a precise continuous rotation of one axis
-
@arhi If you do not return true from IsContinuousRotationAxis() that is exactly what you get. You can still rotate multiple rotations, it only affects the automatic wrapping.
-
ah, perfect, thanks
-
-