Step motor clock .... confused!

Thread Starter

xtal_01

Joined May 1, 2016
169
OK, I have now read a dozen posts on the subject and am still confused. I must be missing something.

I am thinking about a Arduino to control a step motor clock.

Most of it makes sense.

Problem .... 200 steps seems to be the typical step motor.

How do you get 60 steps (for 60 seconds or minutes) out of it??????

If I use 3 steps per second (or minute) I get 180 steps

If I use 4 steps per second (or minute), I get 240 steps.

Either way I get a large error on each revolution.

The only solution I came up with is step 3 then 3 then 4. This would give 10 steps per 3 seconds (or minutes) which equals 200 steps per rev.

This can't be the best way to do it though!

Can someone please explain what I need to do.

Thanks .... Mike
 

panic mode

Joined Oct 10, 2011
2,715
360deg / 200 steps = 1.8 deg/step

you could add gearing for example, with 3:1 reducer you get 600 steps per revolution. how does that sound?

another option is microstepping...
 
Last edited:

atferrari

Joined Jan 6, 2004
4,764
OK, I have now read a dozen posts on the subject and am still confused. I must be missing something.

I am thinking about a Arduino to control a step motor clock.

Most of it makes sense.

Problem .... 200 steps seems to be the typical step motor.

How do you get 60 steps (for 60 seconds or minutes) out of it??????

If I use 3 steps per second (or minute) I get 180 steps

If I use 4 steps per second (or minute), I get 240 steps.

Either way I get a large error on each revolution.

The only solution I came up with is step 3 then 3 then 4. This would give 10 steps per 3 seconds (or minutes) which equals 200 steps per rev.

This can't be the best way to do it though!

Can someone please explain what I need to do.

Thanks .... Mike
I suspect you are confusing the amount of steps in one revolution, steppers could make. That is a fixed number for a certain model.

Yes, 200 steps per revolution seems quite common like in printers.

Now, how fast you make it turn is about turns/sec or if you like, steps/sec.

Just prior starting to dig deeper, google jones steppers and read about critical speed.

If you never used steppers, just to grasp the most basic, learn how to make them turning using simple wires in a breadboard.
 

Thread Starter

xtal_01

Joined May 1, 2016
169
Thanks for all the advice!

I have been thinking about gearing.

I get the same problem with micro steps ... 200, 400, 800 per rev ... nothing that divides by 60.

I am just about to order a couple since I have never played with one.

Just the idea of figuring out how to move in 1 second (or 1 minute) jumps when the motor steps at 1.8 deg (or 0.9 or 0.45 ) does not make sense to me.

Maybe I am on completely the wrong track? Maybe some type of servo motor with an encoder would be better?????

All new to me and just trying to wrap my head around it.

Thanks .... Mike
 

MaxHeadRoom

Joined Jul 18, 2013
28,619
To implement a servo with encoder involves far more than a stepper, why not just implement suitable gearing between motor and clock? Presumably you would need it if using sec/min/hours indicators?.
Max.
 

DNA Robotics

Joined Jun 13, 2014
647
A 7.5 degree, 48 steps per revolution motor may do it.
ROB-10551

360 / 7.5 = 48 steps per revolution.

60 / 48 = 1.25
Each step is 1 1/4 second.

Step 4 times, every 5 seconds for the second hand.

Step 4 times, every 5 minutes for the minute hand.

48 / 12 = 4
1 step every 15 minutes for the hour hand.
 
Last edited:

Thread Starter

xtal_01

Joined May 1, 2016
169
Hey!

All great ideas.

Guess my next step it so get some parts and start wiring.

This is just a project I have had on my mind for a few years now.

My long term goal is to build a clock tower on the top of my workshop. I am a machinist so shafts, bearings and such ... as simple. I wanted to avoid a lot of gearing (though I don't mind a few if needed ... just don't want to go nuts).

After repairing a friends CNC plasma cutter, I got the idea of using step motors to drive the clock.

This I think would work great because I could make it auto correcting from a GPS signal. If it looses power, it would self set on start-up. Just seems a reasonable long term project.

Thanks .... Mike
 

AlbertHall

Joined Jun 4, 2014
12,345
I get the same problem with micro steps ... 200, 400, 800 per rev ... nothing that divides by 60.
From the link I posted earlier:
"There are a lot of different microstepping modes, with step lengths from 1⁄3-full-step down to 1⁄32-full-step—or even less."
So 1/3 would give you 600 steps.
 

Thread Starter

xtal_01

Joined May 1, 2016
169
Awwwwwwww!

I am off to work but I will take a good look tonight.

I thought microsteps were only in 1/2, 1/4 and 1/8

I completely missed in my reading there was 1/3 !!!!!!!!!!!

That is awesome!

Thanks so very much .... Mike
 

Thread Starter

xtal_01

Joined May 1, 2016
169
OK, I must be dumb as dirt.

I just looked for a half hour at step motor drives (I did read the information on the link).

All the drives I found say 1/2, 1/4. 1/8, .... steps. No 1/3 step drives!

Does anyone know of any that are relatively cheap?

Thanks so much again!

Mike
 

Thread Starter

xtal_01

Joined May 1, 2016
169
Sorry, should have been more specific.

I am looking at "packaged" drives. Unless it's a simple 555 circuit it is beyond my capability (I know you guys would laugh but I just built a missing pulse detector for a client to test a welder ... worked first try ... not too bad for a machinist who build industrial control panels). I would never attempt a surface mount chip or designing a complete circuit.

I see lots of drives from $10 to say $50.

This is just a toy I am playing with .... figure it is a good project to learn about Arduino's and step motors.

Thanks .... Mike
 

Flemo

Joined Oct 23, 2016
2
What you are trying to do with the 200 step mode stepper motor is quite simple as you are going to be sending your "Step" pulse from your Arduino at a given time based rate. What I would do if I was writing the code to step the stepper motor is to generate the high and the low output steps with equal duration at 0.01875 second intervals. This can be coded as;

int MotorSpeed = 18750;
digitalWrite(Step, HIGH); delayMicroseconds(MotorSpeed);
digitalWrite(Step, LOW); delayMicroseconds(MotorSpeed);

This way you will have a constant and smooth moving second hand on your clock as it would take 53.333 steps during each full second. You would also set the Mode Pins on the stepper driver chip so that you are using 1/16 step, this means that 1 full stepper motor revolution will require 3,200 steps to complete (16 x 200 step motor). you will not have to correct for any 1/60 division missalignment, you are going to drive the stepper at 3200 full pulses per minute which will give a smooth operation. You could try other mode resolutions but I reckon approx 50 steps per second would be very smooth and your stepper torque would be there as well. Lastly, I would buy the following demo board which is already built for tinkering;
DRV8886ATEVM EVAL BOARD, STEPPER MOTOR DRIVER
From memory it will cost about AUST $70 and when I started playing around with Steppers it was really easy to hook up to and performed very well. Element14 can supply this product (2752498) along with all the spec sheets and operation sheets you could ever need.

Good luck
 

crutschow

Joined Mar 14, 2008
34,285
Okay here's my latest thought on using a frequency divider circuit.
The simple circuit below uses one CD4029 IC counter and one CD4013 IC flip-flop to form a divide by 18 counter.
Thus a 60Hz clock pulse will give a 60/18 = 3.3333 Hz (steps per second) output as shown in the simulation below (bottom of small window).
That gives 200 counts in 60 seconds as desired for driving the second hand, no microstepping needed.
Dividing that by 60 will give the desired pulse frequency for the minute hand.
Dividing that by 12 will get the desired pulse frequency for the hour hand.

For this you will need a circuit to generate 60Hz pulses from the power line.
That could be done with an optocoupler for isolation, used as a zero-crossing detector.

upload_2018-6-6_23-29-4.png
 
Last edited:

John P

Joined Oct 14, 2008
2,025
This question has come up before, and I was interested enough to build a setup to do it. For that project, the motor was a 48 steps/rev type, so most moves had to be from one microstepped location to another. With 200/rev, you'd be doing 2 or 3 full steps as part of every move, but the technique would be similar. Here's a video of the motor in operation:
 

Thread Starter

xtal_01

Joined May 1, 2016
169
I learn soooo much from you guys.

Both these ideas might be something I want to try.

I've got some time this weekend so I want to get some "stuff" on order so I can get my hands into this.

I'm sure I will have a bunch more questions after I get some hands on experience.

Thanks so much again!
 
Top