Hollow Clock 2

by shiura in Circuits > Clocks

17906 Views, 175 Favorites, 0 Comments

Hollow Clock 2

Hollow clock 2 : silent and smooth

3D printed clock using Arduino and hobby stepper motor.

  • Easy operation : super-easy time adjustment
  • Easy print : printable without supports (except optional cover.stl)
  • Easy assembly : gears can be set by just sliding in
  • Cheap : used stepper motor is very popular and cheap (around 3USD with amp circuitry)

Supplies

rear2.jpg
  • 28BYJ-48 5V stepper motor with ULN2003 motor driver amp board (3USD per unit)
  • Arduino nano or its compatible board (5USD per unit)
  • 4 tapping screws (2 x 6mm)

Print Parts

IMG_20210214_132243.jpg

Print parts using your 3D printer.

  • Print parts with supplied posture.
  • Support is not necessary (except optional rear cover, cover.stl)
  • Largest part measures 160mm x 160mm.
  • Remove debris and blobs around the parts well.

Soldering of Circuits

スライド1.jpeg
c1.jpg

Solder Arduino Nano and driver board of the stepper motor.

  1. Connect D4 - D7 ports of Arduino to the stepper motor driver.
  2. Connect 5V and GND to the power source port of the stepper motor driver.

Assembly

slide.jpg
gears.jpg

Please take a look at the movie at the top of this page.

Set gears to the body.

  • Reduction gear is set by just sliding in, using oblique axis guide.
  • Minute driving gear is held by the axis of stepper motor.
  • Hour driving gear is held by the minute gear axis.

Fix the motor with tapping screws.

  • Please use a spacer if your screw is longer than 6mm, or the screw will block the gears.
  • Check the smoothness of rotation using "stepper-test.ico".
  • Lubricate the gears and rotors if the clock does not work properly.

Flash Code

Flash program to an Arduino

Flash the code for the clock to the Arduino.

  • stepper-test.ino : test code that runs the clock very fast
  • arduino-code-for-hollow2-8phase.ino : clock code

Troubleshooting

If your motor runs to the wrong direction or generates noise with weak torque, please change the order of the numbers in code as

int port[4] = {7, 6, 5, 4};

to

int port[4] = {4, 5, 6, 7};

where the numbers are related to the pins of Arduino nano (D4 - D7).

Put Rotors

DSC_5579s.JPG
rear1.jpg

Put rotors on the body.

  • From front to back, minute rotor, hour rotor and index disc.
  • Paint hands for better visibility.

To adjust current time, simply just remove and set the rotors again.

(Optional) Rear Cover

IMG_20210303_021731.jpg

A STL file for the rear cover is supplied. It needs support to print. Fix it to the body with glue or tapping screw.

Downloads

(Optional) Tuning

If your clock gains or loses (too fast or slow), please change the value below in the source code.

#define MILLIS_PER_MIN 59913 // milliseconcs per a minute

Larger value makes the clock slower.

Some useful info can be found in the comments to this thing in Thingiverse