Steve Peterson has a design for a desk clock driven by a stepper motor. I am mostly interested in purely mechanical designs, but as I was impressed an earlier design of his, I decided to give it a go. As usual, here's some pictures and video:
The clock consists of a stepper motor driving a gear train to turn the seconds, minutes and hour hands. One of the arbors, called the "gear 5 arbor" and located at the top right, has two gears held together by friction. There is a spring clutch just behind the larger gear. This allows you to turn the knob at the back to adjust the time. The clock is driven by an Arduino Nano and a NEMA 17 motor. Normally a Nano would not have enough power to drive a NEMA 17, but in this case an uncommon type with a higher coil resistance and lower current requirements is used. There is an intermediate board designed and sold by Steve Peterson which simply connects five ports of the Nano to each coil of the motor. Each port is connected through a resistor, with values which are approximately in powers of two. The control program can then advance motor with 1/32 microstepping. The circuit has a passing resemblance to a resistor ladder DAC, though it is not quite the same. It's quiet and works well, with low power requirements and minimal circuitry.
A few places in the mechanical part of the clock rely on parts being a tight fit on their arbors. I'm not keen on this approach. With 3D printing, you have to undersize the hole and then hope to drill it out to a suitable diameter, then force the part into the right position. I found all of the parts were already too large for the arbors. The holes have a diameter of about 1.65mm and fit onto 1.5mm shafts. With some printers and filament, the hole might close up enough to make this work. For me it did not. I decided in the end to print the parts with a small transverse hole and hold them in place with M1.5x5 screws. One piece where I did this is the gear 5 insert that holds the spring for the clutch in place. It needed some care to avoid the screw interfering with the large gear at the back (gear 2, in the design). I also found that you have to be careful in attaching the knob on the back of arbor 5, used to adjust the time. If it drags on the back of the frame at all, this is enough to stop the minute and hours hands.
The stepper runs quite smoothly, but when it is attached to the gear train, there is noticeable judder. In testing, I started with just gear 2 and saw a lot of rebound on each step. It gets less as you put the rest of the gear train together. The following video illustrates:
I used Mika 3D silk PLA throughout. The gears are so-called rose gold, which is in fact a pale pink. The frame is silk black, which is more like a dark grey. I'm not all that pleased with the appearance. Either a darker black or a bright color would have made for better contrast on the numerals. Two of the parts (the stepper gear and the smaller gear on arbor 5) warped during printing, like this:
With the code as downloaded the clock was accurate to within 2 seconds over an hour. I am tuning it further by tweaking the parameters in the code.
And a small update
The first clock in this series, also by Steve Peterson, had been working quite well and accurately for several weeks until recently. It now occasionally stops and the pendulum swing is less than it used to be. I am intending to add a bit more weight to the weight shell, but also think I probably need to take it apart and check for anything that might have slipped out of alignment, particularly on the pendulum arbor.