Rotary table - automation

I'm just glad these newer microcontrollers are programmable in C (or Micropython, or ...). I spent a lot of time pushing assembly for older 8bit ones with limited fairly limited depth stack. A lot more painful than today's.

I got the Covid bivalent shot yesterday, plus a flu shot. Two in one day, and today I'm feeling it. So I decided to play with some CAD work on this.

I haven't had the opportunity to use the newer controllers with either C or micropython but I want to do something.

I need to get my flu shot, and the new bivalent covid booster. But I want to wait at least 3rd week of November so I'll be 4 months since my 4th shot. That should give me flu protection deeper into the winter too.

The key debounce rings a bell and is likely where I made changes
 
Thanks to @markba633csi's comment, I rechecked and this one is indeed 90 turns or 4 degrees per turn. Must have been thinking of the little 8" Shars rotary with the dividing plates. So I'll drop to a simpler setup with no intermediate shaft, 3:1 reduction. That will give me around 1.5 RPM at max torque, and about 7.8 RPM at max continuous torque. Not exactly a zippy table, but if I want faster I can always swap out pulleys. I figure I'll add a calculation to the code that is easily changed. Just have to be careful with rounding errors depending on how I implement the code. Ideally it will be an integer number of steps per complete table revolution.

I'm thinking about coding several things. Goal is to be able to index, turn to a location from a zero, and cut through an arc. Make the code re-usable for a dividing head or other similar device. (I have some CAD plans I started for a DIY dividing head w/ stepper or servo). Just trying to start a wish list here, this all won't happen in one pass but I find it's easier to design with all of the features in mind than have to throw out and rebuild, or hack on.
1) backlash warning - if you reverse you need to go forward again a certain distance before being considered "correct".
2) encoder input - measure a feed (x axis for example). Useful if you want to cut a spiral. This start to look like ELS functionality. May be a future expansion for gear hobbing.
3) feed rate reduction based on torque feedback. This only would work in arc cutting, but could be a user feedback for say spiral/encoder cutting.
 
Cool project! Interesting seeing people get into micro controllers here. I've been messing about quite a bit lately, mostly with the ESP32, though not really with machining related things.

Automatic table locks are something I'd add to the feature list. There tendancy for an RT to shift during a linear cut when unlocked is super high. Important if you're going to use for indexing.
 
Cool project! Interesting seeing people get into micro controllers here. I've been messing about quite a bit lately, mostly with the ESP32, though not really with machining related things.

Automatic table locks are something I'd add to the feature list. There tendancy for an RT to shift during a linear cut when unlocked is super high. Important if you're going to use for indexing.
I've thought about that, more of a mechanical issue than coding (which the above mostly reflects). The table has a screw down locking clamp but automating it would be challenging. Looking the leadscrew on most RT's doesn't solve the issue. But I could easily add a lock output for later/other use.
 
Last edited:
Don't RTs have some type of backlash adjustment? I thought maybe the worm was on eccentric bushings or some such arrangement to zero it out
Thanks for the tip about the smaller Shars table- 8" would be perfect for me if it's 40:1
 
Don't RTs have some type of backlash adjustment? I thought maybe the worm was on eccentric bushings or some such arrangement to zero it out
Thanks for the tip about the smaller Shars table- I'm going to check specs on some smaller units
Yes, on this one the worm leadscrew sits off center in the carrier sleeve/cylinder seen in the pictures on the first post. So you can tune the backlash down to quite a small amount. But similar to tightening gibs, there are challenges with getting too tight, and it takes very little backlash to create chatter in a rotary table. I hoping that will be one of the advantages of these larger tables, more mass in the rotary component to resist chatter.
 
Slow progress as I bounce around between projects. Got this painted. Stoned the bearing ring. Stefan Gotteswinter has a youtube video of scraping in a 8" rotary. Just don't see myself going to that level of precision. Worm does need a little more cleaning before reassembly.

With it being 90:1 on the table worm, I only need 3:1 or 4:1 on the stepper, so I modified the CAD layout a bit. With the offset in the stepper mount, the floating purple gear is in about the right place for where the worm handle ends up. Getting that to a more precise spec/layout will be needed.

Got my RPI 4 set up for Pico development. Opted to add a USB SSD drive as the boot drive, quite a bit faster than the RPI 4 on even a good SD card.
IMG_4902.JPGrt-assembly-image2.jpg
 
Got the RPI Pico setup, and got a stepper control PIO program written. I'm using PIO code, sending the clock period (step rate) and number of steps to the PIO through the built in FIFO, so the processor doesn't have to bit-bang that or deal with a a lot of interrupts. Using a 32-bit number for the clock period since that matches the fifo size, it works out that I can clock the stepper from about 20MHz down to about .005 Hz (one step every 200 seconds) without invoking the PIO frequency divider, with a ~50ns resolution on the period. Way overkill for driving any real stepper.

I'm not much for breadboarding these days, so I went ahead and designed a PCB board and currently have that being fabricated. I'm sure there will be some mods required once I work out any bugs. Board is 4" x 5.5.
pcb.png

This PCB will be multi-purpose, it has mounting for a 20x4 LCD, outputs for the stepper at 12V, 4 channels of optio-isolated triacs to switch 120VAC (think contactors), inputs for a user rotary encoder, a leadscrew encoder, circuitry to monitor 3-phase power, etc, etc. Another project on I'm dovetailing in with this one is to build a WIFI logger for my RPC, measure voltage and current with phase angle for each. Plan to mount it buried in a PVC electrical box connected to my 3Φ and set up a data logger on an RPI 4 to track my RPC performance under load.
 
Last edited:
Plodding along. Got the circuit boards back and one populated for testing/development. Time to hook up the stepper and fabricate a bracket for the rotary table (switching from electrical work to machining).
IMG_4923.JPGIMG_4930.JPG

Concurrently working on designing a version 2 board as I work out the bugs in this one. @WobblyHand convinced me to add a TFT touchscreen display amongst other revisions I'm making. Here's a 3D rendering of the design so far. Nice capability for an open source PCB design tool.


rotab_controller.jpg
 
The youtube channel Inheritance Machining has the theme of "side projects". The side projects spawned from this so far are to add a NAS to my network so that I can easily share files between my shop and house so that I can work on/view CAD/PCB projects on computers at either end. That spawned the project of hooking up security cameras at the shop, house, and 1300 ft away at the barns, mostly so we have remote "horse view" cameras, although some thought to security. While I was at it I put a WIFI node at the barns. To finish up that side project of upgrading the fiber between the house and shop to 10GB/s, as pushing several Terabytes through the NAS, mostly for backups, takes too long at 1Gb/s.

Another unrelated but more essential side project is to get the gas heater and wood burning stove set up in the shop. Mostly work installing the chimneys. I'm not a fan of working on roofs, especially that high where I can't use my tractor forks as a scaffold. So the final step in that will get hired out.
 
Back
Top