Mechanical Binary Clock

A mechanical binary clock—with a single electrical component, a common AC motor from a microwave.
In the contest Timekeepers
45
82
0
2851
updated June 26, 2021

Description

PDF

https://imgur.com/a/Mhg2LWT

(if anyone knows how to get a real gif here instead of a single frame, externally-hosted video, or other external link like this, please tell me)

Only one single part here isn't PLA—the synchronous AC motor powering it, one commonly used in microwaves to turn the plate. Since it's a synchronous motor, the actual ‘timekeeping’ here is done by the power company; the speed of the motor is dependent on the Hz of their signal coming into your house, not by the voltage. And you can plug it right into the wall. Though it does get rather warm…

 

Every moving part is on a pin of bare 1.75mm PLA filament, unprinted—smoother than you might think, even if you work with the stuff regularly. Just shove a bit of raw filament through the holes, trim it to around the right length, and do something to make it stay in place.

One option is leaving a little extra length the filament, and (carefully) using something hot to deform it and press it into the base, making a rivet out of it. It shouldn't be hot enough to melt the plastic, just enough to soften it—too hot and it might just melt off, rather than in. Options for this are a torch and a solid hammer head (torch the hammer, not the plastic!), a hot glue gun's tip, or maybe even the nozzle of the printer itself. This is most likely permanent if done well.

Depending on how your printer did the holes, a friction fit may be enough, and it'll be easy to pull it back out, but I wouldn't recommend this for anything but a fit test.

And, of course, you can just glue it—that's what I did for half of it.

But whichever option is taken, do test-fit first, and try settings like PrusaSlicer's XY Size Compensation, or Cura's Horizontal Expansion, if you can't get things spinning on your filament.

Also, since the filament comes on round spools, and it keeps its shape well, you can kind of slice just a little way through it (I did this with the clippers my printer came with), so it can be bent away from its natural curve to more closely approximate a straight line. This may be necessary if you want one single strand of filament to go through all five or six arms—the curve in my filament was strong enough to bend the whole top plate if I didn't. Don't want that.

 

For the arms, while I did use 4.5mm BBs (which I measured to be more like 4.36mm) as ball bearings (how did I never realize this before now?), this is unnecessary. If you don't have, or just don't want to use, metal BBs, be sure not to print the arms with sockets for them—and that makes this 100% printed, apart from the motor.

 

Exact alignment of the gears might matter. I'm not sure, I haven't tested enough. Just be sure they all fit together  while the cam cylinders are aligned to 0 (all arms down). Match to the full assembled model if unsure, or just keep track of the alignment through slicing and printing. In the future, I might add inconspicuous visual markers to the gears for alignment.

 

Setting the time

(edit 3)

I did not intentionally incorporate this into the design, but the frame is flimsy enough in one direction for the gears to slip if you try to turn the minutes or hours cam things backwards. Doesn't break anything, and it slips back into place afterwards—that's how you set the time without disassembling it.

Apart from that, maybe just plug it in when the time it's showing matches the real time.

 

Parts List

One each of:

  • camshaft_seconds.stl
  • camshaft_minutes.stl
  • camshaft_24hours.stl (or, near future, camshaft_12hours.stl)
  • base_seconds.stl
  • base_minutes.stl
  • base_hours.stl (updated 2021-06-30)
  • top_seconds.stl
  • top_minutes.stl (updated 2021-06-30)
  • top_hours.stl

Gears:

  • either bevel1_cutout.stl or bevel1.stl  (the latter has no cutout for the motor, bring your own shaft)
  • bevel2.stl
  • 3to1.stl
  • 2p5to1.stl
  • 2to1.stl
  • 3to1_hr.stl
  • 2to1_hr.stl
  • 1to1_hr.stl  ( EDIT [final]: Use final_hr.stl instead, 1to1 is wrong)

And finally, 17 of the arms—arm_socket.stl if you want to fit 4.5mm BBs into them, arm_no-socket.stl if you don't.

The gear files suffixed with _hr go between the minutes and hours sections. The other three [n]to[n] files are between seconds and minutes. bevel1 is attached to the motor, bevel2 is between that and the first cylinder.

For assembly, refer to assembly.stl, which has all the pieces together. The gears listed above are in order from the motor to the far (hours) end.

… I hope that's all the pieces.

 

I'd put all the OpenSCAD code here too, but I wouldn't want even someone I hated to have to read that mess. If there's substantial interest in it, though, I could maybe be convinced to clean it up and put it here.

 

Issues yet unresolved
  • I may have restricted myself too much by the size and shape of the BBs I wanted to use—the arms do not go up as far as intended. This could be (partially) worked around by carefully bending the arms after putting them on their hinge. Another workaround would be reducing the height of the display side's segments, but it's already pretty small… And yet another would be increasing the length of the arms, and with that, the distance of the display thing.
  • No detailed assembly instructions—I'm not even entirely sure how to put it together myself.
  • The motor gets rather warm… maybe synchronous AC motors actually meant for clocks wouldn't? But I can't afford to get one to test. The microwave motors are much cheaper. Maybe just add some insulative material.
    • (edit 3) The motor got hot when I was running it without the clock on it, but now that it's assembled and I've even left it running overnight, it's only getting a little warm. Maybe that's somehow because it has a little load now?
  • My mock model of the motor wasn't dimensioned totally correctly; at worst, the gear may skip sometimes, and at best, it's not meshed with the other bevel gear very well. But it still works as it is.
  • This is a 24-hour clock. It won't be too hard to modify the hours to read 12-hour with AM/PM, so I might be adding that soon.
  • Half way through this, I learned that cycloidal gears are considered better for clocks—I should look into those and see if I can fit them in instead of these involutes.

If anyone wanting to put one together has any questions, I don't mind.

 

Edits
  • 2021-06-26 02:00-07: Added STL with all gears on one plate, 125x133x29mm. Arranged by PrusaSlicer.
  • 2021-06-26 27:00-07: Almost fully assembled. Everything but the gears between minutes and hours, and it works well enough, though the gears do not like going backwards. Added almost-fully-assembled image. Added a gif too but it only used the first frame.
  • 2021-06-27 12:30-07: Fully assembled, appears to work as expected. Added section on setting the time, note about assembly, and an external link to a sped-up gif of it running.

Big Fix

(2021-06-30 11:00-07) Took me too long to realize that the hours were just off, then took me ‘til now to realize that it’s because the last gear in the chain has the wrong number of teeth on one side. Replace 1to1_hr with final_hr, and base_hr has been updated to position the new gear correctly. Might be close enough as it was, but if it's not, reprint the base.

Additionally, I somehow failed to notice the middle gear between minutes and hours intersecting one of the arms that holds it. I blame the transparency I told OpenSCAD to give it for making that hard to see. top_minutes has thus also been updated, though it might not need to be reprinted if you don't mind the gear not being straight. I'm not yet sure of the impact on functionality—I'm going to try it with the old base and top piece before reprinting.

Tags



Model origin

The author hasn't provided the model origin yet.

License


Highlighted models from creator

View more