Arduino Rotary Table for Dummies

Home Model Engine Machinist Forum

Help Support Home Model Engine Machinist Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Really appreciate your trouble to provide this information. Great work.
 
howdy folks , I finally have the parts in hand to get my build of this project going , thank you all for your hard work to get me to this point !!. I'm not sure where to start, with the link in post 145 , or the one in post 149 .
thanks in advance
animal
 
I know I am butting in a bit but I was wondering if any has used one of these from Grizzly T1191

upload_2018-6-21_17-11-28.jpeg
 
their pretty proud of that puppy .I have a old 4th axis from a MAXNC that I will be putting this project on hopefully . It's paid for already has the stepper & motor mount so I'm part way there already
animal
 
Thanks for making all this nice and clear ( just right for dummies :)).
I have kinda question if you can help me to understand.
Just for example: I have rotary table with total ratio 1000 pulses per one revolution and I need to divide circle say, for easiest, on 3 equal segments how this code deal with such task?
Many thanks in advance
Ilia
 
Thanks for making all this nice and clear ( just right for dummies :)).
I have kinda question if you can help me to understand.
Just for example: I have rotary table with total ratio 1000 pulses per one revolution and I need to divide circle say, for easiest, on 3 equal segments how this code deal with such task?
Many thanks in advance
Ilia

It simple if have 90 tooth worn and 1,000 pulses This make to a full turn of table is 90,000 pulses
So 3 segment needs 30,000 pulses

So small may have 72 tooth worn or 72,000 1/3 = 26,000 pluses

Hope helps
Dave
 
Hello Dave
Thank you for swift reply, I my phrase my question wrong , what I'm trying to establish is how adruino code handle odd numbers of devisions. 1000 pulses per revolution ( meaning rotary table revolutions, including steeper motor and gearbox - 1000 pulses give 1 revolution of the table. is hypothetical ).
other way of saying would adruino code employ math with floating point of division or some other way to compensate accumulating errors ?
Kind regards
Ilia
 
There has been much discussion of this in the past. I think what they settled on was error accumulation, i.e. keeping track of the error and adding/subtracting a step as required to maintain orientation. In your example, I'd guess first movement would be 333 steps, second 334 and third 333. So one revolution is exactly 1000 pulses and each graduation is off by no more than 1/3 of a pulse. I do think the resolution is quite bit higher than that though, with gear reductions and micro-stepping, but even so an error rate of in the region of 0.4/1000 is pretty reasonable.
 
Jmccrack

One thing that becomes very important with rotary tables is table size and in that regard 4" is extremely small. Based on manual table experiences i would look for something bigger. The only people that should consider a table that small are users that know for absolute certainty that they will be able to setup all potential work properly. You also need to consider machine size as you cant go much bigger on a Sherline. On a Taig or the smaller Sieg mills id think long and hard about going larger. On an X3 or larger id most certainly consider a 6" rotary table (greater than 4").

The reason comes down to table area and ease of setup. Consider a 2" flywheel would leave you about an inch on each side for clamping. That may be fine but i hope that you see that you don't need to be making very large things before the table becomes very cramped. Sometimes there are easy ways around the size limit sometimes not.

By the way the electronic drive does give you the advantage of being able to drive the table easily with a large overhanging auxiliary table. The problem here is rigidity quickly going out the window on a small rotary table with a large auxiliary table.

In any event i just wanted to point out that 4" rotary tables are very small and that they should fit your best estimate of your needs.
I know I am butting in a bit but I was wondering if any has used one of these from Grizzly T1191
 
Thank you Dave.
All clear now. I was trying to understand code ( sketch ) before getting in to building hardware :)) Would be interesting to get in touch with author of this code or see the link to discussion how it was developed, if such exist .
Many thanks
Ilia
 
You want to look at counters
I works like a DRO but it rotary minor
Simple to program using the scaling on the counter .

I have use for coil / cut to lenth machine
It would cut 300" blank steel part to 1/64"
This is found foot food to steel manufacturing

Dave
Thank you Dave.
All clear now. I was trying to understand code ( sketch ) before getting in to building hardware :)) Would be interesting to get in touch with author of this code or see the link to discussion how it was developed, if such exist .
Many thanks
Ilia
 
Hello friends! I really liked this project, it works perfectly! I would like to add a relay contact output, in the button option (*) I'm totally newbie, I request help from you! Thank you!
 
which one did you use , the one from post 145 or the one from post 149 ?
tks
animal
 
Hi guys!
Great project!
I've been following the topic for a long time, and I've finally started doing it myself.
Basically, your project has taken.
driver:2dm860
Engine:nema 34

and faced the problem. It is necessary to make a smooth start of the engine.
Do not tell the command to adjust the speed?
 
so ive tried reading thru this and im more lost and confused than when i started.
im pretty sure im having the end problem of 1200 steps per rotation.
i changed the ine change line 'for(int i = 0; i < tm; i++)' to 'for(int i = 0; i < 1200; i++)' but...
my problems are compounded by the driver im using requiring an extra wire for enable.
i had it all figured out and moving, but in the process of trying to fix the numbers i have lost the working sketch for movement.
the scrolling is killing my wrist and the constant walking in and out from pc to shop is pissing my wife off, frustrated to the point im about to cry :p

china 4th axis from ebay, all the info i can get is....
Angle: 0.3 degrees / step
Reduction ratio: 6:1 (Synchronous belt deceleration mode)
Stepper motor: 2 phase nema23 stepper motor

tb6600 driver, uses enable, pulse and direction signals.
i have enable set to pin 12. enable low or high seems to do something but im not exactly sure how to use it.
if someone who actually understands this code could look at it and tell me what i did wrong i would be so happy.
i currently have it to where it hums when i try to move it, when i put in 360 degrees it says steps 1080
 

Attachments

  • Arduino_Rotary_Table_Control_2018.zip
    2.2 KB · Views: 770
The original code only works when. Multiplier=(TableRatio *StepsperRevolution)/360 results in an integer number. In your code multiplier=1200/360 which is equal to 3.33... this gets truncated to 3.

When in use the program determines how many degrees you want to move and then multiplies that by the variable Multiplier to get the steps required. In your case a full revolution of 360 degrees calculates to 1080.

There are other versions of the code posted to this thread that fix this issue.
I’m currently travelling but can provide further info when I get home in a couple of days.

Cheers
John
 
Back
Top