First Tests on the LongMill Rotary Axis Add-on

We’re excited to share our development progress with adding a rotary axis on the LongMill CNC. Here we’re doing some initial testing using an off-the-shelf rotary axis that we plan on making the final product around.

For more details about the project and a survey to help us with development, please check out our website at Everything you need to know about 4th/Rotary axis on the LongMill (so far) | Sienci Labs

1 Like

I assembled a Rotary 4th axis that looks almost identical to yours here. My ShapeOKO 3 didn’t have the driver ports to control it, so I ended up swapping out the controller for a Teensy/GRBL-HAL replacement with 5 independent Stepper Driver ports - XYYZA is now my config. This setup also gives me limit switch capability on all 5 axes too, so my rotary has a proximity zero sensor - Nice.
I rely on the 2 Y steppers to hold the gantry ‘rigid’ during rotary work, and only XZA axes are actually moving. Some advice I read said the Y axes need physical locking to resist the cutting forces, but so far that has not proven necessary in my use.
I align the headstock and tailstock using an aluminium rail bolted down to the machine bed, and the underside of the headstock and tailstock have a channel milled in to a tight fit onto this rail - keeping them both exactly, or near enough, aligned.

gSender copes perfectly with 4-axis GRBL being sent, and I have macros to zero and return to zero on the Rotary axis. If you are introducing rotary, the prospect of having a DRO for the rotary is really exciting - I tried to help UGS add this, but struggled (my coding ability, their lack of energy). Then I found gSender and it is, in my opinion, a far better sender - never looked back

I have Vectric VCarve Pro and Fusion 360 Basic licences, but to date have only used Vectric for the Rotary work - with Neil Ferreri’s post-processor that supports the axis translation to ‘A’ (for rotary) this setup works really well - I just have to remember to swap post-processor back and forth… The visualiser in gSender makes a fair job of displaying rotary GRBL, certainly good enough to recognise shapes, orientations and sizes

Do you mind elaborating on a limit switch for the rotary axis?

It is a standard proximity switch from the ShapeOKO maintenance pack, that I hooked up to the A-Axis limit port on the Teensy4.1/GrblHal controller board. On the large pulley (on the chuck) I drilled and tapped a M3 and fitted a cap-head hex bolt to give a clear reference position. The proximity switch is then positioned on the body of the chuck (again, 2x M3 tapped and hex bolts) to only, but reliably, pick up the pulley cap-head as it approaches.
Nothing too clever, but I do have the advantage of the 5th ‘channel’ on the controller PCB to make it easy.

Ignore the blue encircled sensor above the proximity sensor, it is unrelated (a temperature probe so I can compare ambient versus spindle coolant temp)

Ok, I follow what you are doing.
Thanks for sharing!

Silly question time: what happens when you reach (or pass) 360, does this not set off the sensor like a far side proximity alert?

@spcnc Yes, the sensor will trigger upon each rotation. However…

  • Vectric Rotary GRBL output is ‘within 1 rotation’, so will not cause more than 360deg (it comes from how they have implemented rotary within their UI/Flat to Rotary translator. As the cap-head screw is ‘wide’ in terms of angular detection (maybe 2-3deg arc of detection), as the axis rotates to 358deg it may well trigger, however… that depends on Soft Limits
  • If the Sender (in my case, gSender) has soft limits switched on for that axis, then it might stop the machine believing a limit has been reached. If I recall this is set on per channel, using the bit 1+2+4+8 = setting byte logic common to many GRBL config settings. This is in the firmware in the machine controller PCB, not within gSender.
  • The controller PCB senses these proximity sensors/limit switches differently for ‘home calibration’ versus Soft Limit detection, so I still get full calibration on all 4 axes
    In my setup, I have (if I recall correctly) Soft Limits switched on for X, Y and Z, but not A (Rotary)
1 Like