Interrupt Driven Rotary Table controller

Help Support HMEM:

jdurnya

Member
Joined
Sep 7, 2018
Messages
20
Reaction score
4
Location
New Jersey USA
thanks for the details ! any slop in that ? any chance of taking some close ups of the stepper mechanical connection to the indexer ? maybe i can fab one up using one of my manual hardinge ones..

thanks !
Joe
 

curtistdc

Member
Joined
Dec 28, 2015
Messages
11
Reaction score
0
thanks for the details ! any slop in that ? any chance of taking some close ups of the stepper mechanical connection to the indexer ? maybe i can fab one up using one of my manual hardinge ones..

thanks !
Joe
I will take some pictures of the mount on it I have two more that don't have motors on them I will get some pics for you. If I remember correctly hardinge made them for Haas I think
 

reloader

Member
Joined
Mar 12, 2021
Messages
19
Reaction score
3
Location
Germany
Hello,

as I told in my short introduction, I built an arduino rotary stepper with the version "rotary 11" of rodw.
The LCD Key shield worked just from the start, but my stepper did not run.
Later, I changed the Dir and Step pins to the positions 2 and 3. That seems to work.
But now, every run starts with a frequency burst and ends with a frequency burst.
After setting down the motor frequency, the stepper seems to work correct. I noticed, that the program did not work fine, when I run divisions like 7.
Going deeper into the program, i changed the step pin in the step correction.

But there was a remaining problem, that the stepper runs quick and slows down after a while.
So it was time to use my oscilloscope to test my construction.
First step was to test the arduino. Everything was ok. Then I tested the driver.
The leadshine digital driver switches between different microstep settings. This seems to be the main problem.

But also the arduino output changes frequency from 1000 Hz to approx. 650 Hz after some time.

So I will have a deeper look at the driver problems first.


best regards

Edgar
 

rodw

Well-Known Member
Joined
Dec 2, 2012
Messages
1,143
Reaction score
340
reloader, be sure you are using the version in post #103 and make the change in post #107. The code is robust and enough people have used it to know its bug free now.
You may be getting interference from the serial port data re the burst. I can't quite remember which pins it uses.
In my experience, steppers loose steps when they get hot. What voltage are you running them at?
The Leadshine probably does step morphing so at constant velocity it will reduce the microstepping to the motor to maximise torque. In fact, I would expect it would do that for sure.

I never checked the Arduino frequency but I would be surprised if it was not constant unless it had a flaky crystal on board. The doc say "nearly perfect accuracy compared to software timers" see khoih-prog/TimerInterrupt
 

stragenmitsuko

Well-Known Member
Joined
Jan 19, 2016
Messages
295
Reaction score
108
I can confirm that the code runs flawlessly . I use an old A3977 based stepper driver .
It's a 1/16 single chip driver . Not the best driver n the world , but for this application
it is more then enough .
I've used it many times over the past year without even a glitch .

I also use the leadshines digital drive DM556 on my experimental cnc , machIII parallel port .
As far as I can tell they're not morping drives .

Pat
 

reloader

Member
Joined
Mar 12, 2021
Messages
19
Reaction score
3
Location
Germany
Hello Rod,

thank you very much for your quick answer. Yes, I use the program from # 103, but I did not make the changes from #107.

As I read before, the Digital pins 0 and 1 are influenced by the usb dta transfer.

I checked the output of the arduino with my cheap digital LCD oscilloscope and it has the nice feature to measure the frequency of the signal.
So I could see the change in frequency . But this effect dissapeared after an arduino reset.

I also made some mistakes with the driver settings, because I did not see, that there was a additional switch for halve and full current on the digital driver.

I will have a closer look at my construction tomorrow.

best regards

Edgar
 

reloader

Member
Joined
Mar 12, 2021
Messages
19
Reaction score
3
Location
Germany
Hello,

I thougt about a new strategy to solve my problems.
I will install the originial rotary 11 again with the driver pins 1 and 2.
Then I will search, where this pins are on my strange AZ delivery LCD shield. It seems soo ,that the locations of pin 1 and 2 are complete different to other LCD shields. I hope, this will work for me.

best regards

Edgar
 

reloader

Member
Joined
Mar 12, 2021
Messages
19
Reaction score
3
Location
Germany
Hello,

i must say, that I am a little bit helpless. I installed the origin rotary 11, checked that the changes in the LCD library were done.
Then set the Dir pin with the LCD shield at 2 and the step pin at 1.
But the step pin 1 was not saved!
Now I have the funny situation, that Dir Pin is 2 and step Pin is 2 and the stepper still runs!
and the arduino still plays the frequency change modus.


best regards

Edgar
 

reloader

Member
Joined
Mar 12, 2021
Messages
19
Reaction score
3
Location
Germany
Hello,

attached you will find some photos of my 7 division run.
You can see the first, the 5th, the 7th and the 9th division.

Please have a look at the frequency. The signal comes direct from the step Pin.
Any help is wellcome.

best regards

Edgar



rotary 11.jpg
Rotary 11_1.jpg
rotary 11_2.jpg
Rotary 11_3.jpg
 

reloader

Member
Joined
Mar 12, 2021
Messages
19
Reaction score
3
Location
Germany
Hello Rod,

I do not understand, what you mean with the changes in post#107?

If I delete a comment, the program will not be changed. How does the arduino knows, what LCD shield is used? I could not see this in the program.

Today I loaded the older version rotary 10.
Also with this version, I could not change the step pin to 1. So I think, that the LCD library does not fit 100% to my LCD shield.

You may know, that your program is very complex for an arduino beginner.
I had big problems to understand why a rotation needs 1296000 seconds!

You defined minutes in a circle, comment this as second for a circle, but I think, you mean arc seconds of a full circle.

best regards

Edgar
 
Top