Jump to content

Banner.jpg.b89429c566825f6ab32bcafbada449c9.jpg

DIY Moon Phase Dial


Gina

Recommended Posts

Thanks Chris :)  I think that's the gear part finished.  I have a couple of acrylic sheets on order - ETA Wednesday.  I plan to have one behind the hands which will support the gear unit and have the dial and numbers and another in front to keep the dust out.  Then there will be a square frame and plywood back.  The moon globe will be "out in the open" with the shaft fed through the frame/case.  Next to design and print the hands, dial and numbers, and also modify my Arduino sketch to provide the appropriate stepper drive.

Edited by Gina
Link to comment
Share on other sites

Hands designed, printed and fitted.  I have guessed at the size of the hands and won't know if they're right until I get the dial and numbers printed and attached to the clock face.  This photo shows the clock mechanism propped up against the wall near where it will be going - it will replace the digital clock.

post-13131-0-16261700-1449566819_thumb.j

Edited by Gina
  • Like 5
Link to comment
Share on other sites

I'm now looking at what type of dial to use.  I think Arabic numerals look best for a modern clock but Roman numerals can be printed with two connecting rings in one piece so much easier.  This size dial I can print on my Titan printer with its 300mm square print bed.  I used Arabic numerals for my previous clock design but getting them in the exactly right position on the acrylic sheet was difficult.

Here are three images - two of my previous clock and the other a screenshot of a Roman numeral dial in the Repetier Host 3D printer software.

post-13131-0-42529500-1449606068_thumb.jpost-13131-0-11016700-1449605905_thumb.jpost-13131-0-40334900-1449605998.jpg

Edited by Gina
Link to comment
Share on other sites

I now have one of the acrylic sheets for the clock front.  I ordered two but they only sent one so I'll be onto the supplier via ebay.  The plan is to use one sheet with holes in to take the shafts for the hands and the mountings for the gearing plus the numbers and dial.  The other sheet will provide the outer glass to keep the dust out.  I'm currently printing the brackets that attach the gear axles to the inner acrylic sheet.

Link to comment
Share on other sites

Sitting on the settee and looking at the moon clock (perched on top of the book shelves) by electric light I'm thinking the moon could do with a light inside.  Either that or a light shining onto it.

  • Like 1
Link to comment
Share on other sites

Thank you Jim :)  Yes, I was thinking of a white LED inside.  Don't know about fluorescence - I've got fluorescent yellow filament but not white or transparent.

Link to comment
Share on other sites

It's looking great. I like the led inside idea. It will make the white side brighter and more even-toned. You may have to block light to the black half as it may be partly transparent.

Edited by tekkydave
  • Like 1
Link to comment
Share on other sites

Thank you Sara, Jim and Dave :)

Yes, I'm making a dial with Arabic numerals in MS Sans Serif font - 30mm high and 4mm deep in black.  Screenshot of dial in SketchUp below.  I'm about to print it.

I'm going to add a bright white LED inside the white side of the moon globe.  I may reprint the globe as the two parts are glued together.  I can easily put an opaque bit behind the LED if needed.  In any case the globe halves have a flat part on the division (bottom as printed).

post-13131-0-06340300-1450087637_thumb.j

Link to comment
Share on other sites

I've set up the clock pretty much level on the table and placed the numbers on the acrylic sheet to see how they look.  I thought they might be a bit on the big side but I think they'r alright.  Not sure if the hands are a bit too long but I'm "nit picking" of course :D  The numbers are only roughly positioned - I hope to do much better for the finished thing.

post-13131-0-20559100-1450107432_thumb.j

  • Like 6
Link to comment
Share on other sites

Thank you Sara :)  The cable will be hidden.  I shall make a box to take the electronics which I'm hoping will blend in with the background.  Or I might have a back and put the works behind that.

Link to comment
Share on other sites

I have now carefully glued the numbers to the acrylic sheet (solvent welded with acetone) so they aren't going anywhere - nor can they be moved so if anyone thinks any of them are wrongly positioned - tough!! :D

Here are two photos of the clock perched on top of the book shelves, one by room lighting and the other with flash.

post-13131-0-33131700-1450111682_thumb.jpost-13131-0-20249200-1450111685_thumb.j

  • Like 5
Link to comment
Share on other sites

I think that leaves just two main things to make - the case and the electronics.  I think I'll use varnished plywood for the case - I have some 6mm left over from building my observatory.  I'll probably use plywood for the back as well but I might paint the inside or cover it with a star field print. 

The electronics will consist of an Arduino Nano with stepper driver module to drive the stepper motor that drives the clock.  I'll try a simple sketch to start with just using the Arduino built in clock but I also have one with RTC and radio time data receiver for absolute time accuracy which I haven't coded for as yet.  The clock needs 128 steps each second and as I posted earlier I'm going to send a burst of steps on the second using interrupt.  Here's the sketch :-

// Arduino test sketch v01 for moon clock - 2015-12-14// Code included to turn stepper off between ticks// Timing uses timer interrupt (Timer1)//#include <TimerOne.h>int motorPins[] = {8, 9, 10, 11};  // motor pins for the stepperint stepSize = 128;  // how many motor steps correspond to one secondint count = 0;int mask = 0; //  binary mask for motor pins to select phase//void setup() {  for (count = 0; count < 4; count++) {    pinMode(motorPins[count], OUTPUT);  // set the motor pins for output  }  Timer1.initialize(1000000); // set a timer of length 1,000,000 microseconds (1 sec)   Timer1.attachInterrupt( timerIsr ); // attach the interrupt service routine here}//void moveForward() {  //  move one stepper motor phase forwards  if ((mask == 0) || (mask == 1)) {    mask = 16;  // set/reset phase mask  10000  }  mask>>=1;  // binary shift phase mask one position right  1000, 0100, 0010, 0001                                        for (count = 3; count >= 0; count--) {    digitalWrite(motorPins[count], mask>>count&0x01);  //   }  delay(200);}//void moveBackward() {  //  move one stepper motor phase backwards - for use later for time correction  if ((mask == 0) || (mask == 1)) {    mask = 16;  }  mask>>=1;  for (count = 3; count >= 0; count--) {    digitalWrite(motorPins[3 - count], mask>>count&0x01);  }}//void timerIsr() {  //  Ths was previously the loop - now called by the interrupt  int c = 0;  for (c = 0; c < stepSize; c++) {    moveForward();  }//  Disable all motor pins to turn current off //  mask is not touched and phase shift continues where it left off on next tick  for (count = 3; count >= 0; count--) {    digitalWrite(motorPins[count], 0);    } }//void loop(){  // Main code loop  // TODO: Put regular (non-ISR) logic here}// End
Edited by Gina
Link to comment
Share on other sites

Apart from actually running the clock I will need some way of setting the time.  A common way is a slipping clutch to the minute hand drive so that the hand can be turned by hand to set the time but I haven't incorporated said slipping clutch.  Radio controlled clocks sense the position of the hands, turning them fast until they read 12 o'clock and then turning fast again for the appropriate amount.  The seconds are not set by the radio control.  Other electrnic clocks have a fast forward and fast reverse buttons.  I think initailly I shall go for the latter method.

To see how fast the clock can be advanced (forward or reverse) a calculation is in order.  The gearing to the seconds shaft is 16:30 and I have found these stepper motors can turn at a revolution in ten seconds so time advance would be at about 20s to turn the seconds shaft one revolution or 60s.  Oh dear - that's sloooowww :(  Hmm...  I don't think that's an option :(

Right then...  looks like the simple method of the slipping clutch may be the answer.  If I were using the stepper motor to drive the minutes rather than the seconds then fast forward or reverse would have been an option but I decided on having a stepper driven sweep second hand for this clock so it seems I have forfeited this option.  Not to worry - just a change of design :D

Edited by Gina
Link to comment
Share on other sites

Thanks Alan :)  It might be if I had a way to set the time to start with :D  Ha Ha ...  New design of minute wheel needed to include a slipping clutch.  I'm working on that now :D

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.