Stepper motor or servo for analog clock?

Stupid newbie question here.

I'm trying to make an astronomical clock. I won't go into the boring details, but it will be the functional equivalent of an analog clock with hands. Except one hand will spin 360 degrees in 24 hours, one hand will spin 360 degrees in 23.93446 hours (one sidereal day) and one hand will spin 360 degrees in 24.8411 hours (one lunar tidal day)

I intend to use an Arduino to drive motors, one for each hand. My question is whether the motors should be stepper motors or 360 sail servos. I've never done this before, and need some advice.

Stepper motors would be easy to drive at appropriate rates. The problem is setting the hands. Either the user will have to set the hands manually (crude) or if the Arduino is to set the hands, I will have to rig some kind of optical sensor on each hand so the Ardunio can move each hand to a known zero position first (stepper motors cannot sense rotor position).

Servos know their rotation. With servos, I would have the Arduino calculate the appropriate rotation for each servo every "tick" and tell each servo to go to its rotation. While standard servos only have a rotation over 180 degrees, apparently there are "sail" servos that can rotate over 360 degrees (some for more than that). Of course, when the rotation goes from 360 degrees to 1 degree, the servo will probably spin backwards for 359 degrees, but there is no avoiding that.

So, have I made any unwarranted assumptions? Which would be the better motor to use?

The second question is how to interface more than 2 motors to an Arduino. I assume I can use a Micro Maestro 6-Channel USB Servo Controller to control three servos, not sure how to control three steppers.

I understand why a digital readout would make my life so much easier. Alas, for this project, it won't work. Has to be analog. You see, I'm trying to make a clock like this: http://en.wikipedia.org/wiki/File:Schema_Orloj_pragueorlojhzenilc.jpg The sidereal "hand" is that off-center gold ring with all the zodiac signs on it. The 24 hour hand is the gold bar from the center with the hand at the far end, and the little tiny sun-disc midway. The lunar tidal hand is the bar with the black sphere midway.

So servos are not suitable. Pity, but that's why I was asking.

Yes, I had seen an article about hacking a cheap kitchen clock with an ardunio. So in that case I would not need a motor shield? Just six free Arduino pins and one AA battery for each kitchen clock?

I had noticed that Steve Gallagher used stepper motors and IR sensors for his clock. http://www.flickr.com/photos/seangallagher/3202245313/in/set-72157604323095889/ http://www.negspace.com/wordpress/category/celestia/

Wow, that WWVB NIST Radio Time Receiver Kit looks perfect! Or the RTC chip. They also supply the date, which the clock will need.

Except for one thing I'll have to check on. I have the sinking feeling I'll have to blow big bucks on a GPS chip. You see, I think the blasted clock has to know what longitude it is currently at. If so, I either need a GPS chip, or some easy way for the user to enter the longitude (via USB by a computer, or by buttons and a digital display.

Now, since I'm going to be using hefty steppers, what is the easiest way to drive three stepper motors?

Yeah, those stepper motors look like they'd be perfect!

I used to be pretty good with a soldering iron, but it's been a while. I'm sure it will all come back. Having said that, the convenience of ready-build drivers is for me worth the extra money due to lack of spare time. For budget, I'd like to keep it under $200 if at all possible. May not be possible but it would be nice.

This is not intended to be a mobile device. But I'd like it to be able to adapt if I have to, you know, move to another state or something. Or if I sell these things the customer might be anywhere.

It is not the time zone that I'm worried about. This thing does not display clock time, instead it displays local solar time or "sundial" time. This means 12:00 noon is when the sun is at its highest altitude.

This depends upon the clock's longitude. Which is a number between about -180.000 and +180.000, depending on how few decimal point places I decide I can get away with. Anyway, the point is that is probably impractical to set with a rotary switch. I'm probably have to either go expensive with GPS, or require a computer with USB connection.

Of course the real nightmare is going to be the gearing. I'll probably have to make something like this. http://www.themagicclock.com/build-log/movement

Dang, these guys had a GPS for $30! Would have to do some more digging, see it if puts out NMEA sentences with location info 1x/second or something. Didn't see anything in the user manual about it.

http://dealspl.us/product/insignia-ns-nav01-portable-gps-navigation-4-3in-w-text-to-speech1

You might find some information or inspiration from this project: http://techref.massmind.org/techref/io/stepper/linistep/LiniClock/index.htm

It uses a PIC, but perhaps the code could be converted.

Thanks! Those are interesting links.

The part I found most interesting was the technique the Liniclock used to set the time.