Hi all,
I recently built a small rotary axis for my milling machine (I will call it B-Axis later). To see how it works, I tried to machine a simple rectangular workpiece with a ball cutter. This way I can check if the synchronization with the other axes works and if the dynamic of the rotary axis is sufficient.
First of all, I am using Mach4 build 4300, my CAM outputs the G-code with G93 (inverse time feed). However, I could see some strange behavior in the process. For a better understanding, I have recorded a short video:
https://youtu.be/vHKHx5cV_AQIn the first scene I set a high acceleration of the rotary axis. You can see that the rotation becomes very slow when the cutter is perpendicular to the surface (or the direction of the vertical Z-axis changes).
That's a bit weird. In my opinion, the rotation speed should be highest at these Points B = 0 deg or B = -180 deg. I have created a diagram (see attachment) directly from the G-code, which shows the angle of rotation as a function of time. The highest slope is at B = 0 deg and B = -180 deg
I noticed that this behavior can be influenced by the acceleration of the rotation axis. As an example, I set a very low acceleration in the second scene. As expected, the movement is significantly slower overall. But more importantly, the rotary axis overshoots a few degrees. You can even see this clearly on the workpiece.
Could someone explain to me why this is happening? The G-code looks OK to me. As an example, I have attached a snippet for the first rotation. Later only axial shifting is done.
The position change in Z-axis is very small at B = 0 and B = -180 deg. So there is not a command for the Z-axis in each line. Could this be a problem?
Thank you!