So I'm thinking of making super precise clock...

by experimentalist on Sat Dec 08, 2012 3:12 pm

They sell these Rubidium Frequency Standard Oscillators (FE-5680A) on auction sites now from decommissioned cell phone towers.

I want to use one of these to make my own homemade Atomic Clock.
They produce a super stable 10Mhz sine wave (modifiable to a square wave)
From what I understand a clock made with one of these should be stable enough to only be off by about 1 second every 1000 years, or 1 millisecond per year.

My question is can say an Arduino Mega 2560 handle a 10Mhz signal on one of it's input pins? Or do I need a frequency divider (perhaps a PIC) first? I assume because the Arduino Mega 2560 has a 16Mhz clock speed it should be able to handle a 10mhz input as long as it doesn't exceed the current limitations of the input pins but perhaps I'm wrong, so I'm checking with you experts.

Haven't started yet, just thinking it through first. Developing a plan.

Thanks for help with my new project!

Edit: P.S. Here's a video of this (to me) exciting Rubidium Frequency Standard module: http://www.youtube.com/watch?v=I55uLRRvLCU
experimentalist
 
Posts: 11
Joined: Sun Aug 07, 2011 3:10 pm

Re: So I'm thinking of making super precise clock...

by neutron spin on Sat Dec 08, 2012 4:39 pm

There are many articles on how to build a clock using these standards. If all you need is the clock function, I would opt for making one using TTL logic. Not very hard to divide down to create a very accurate clock. You must first take the sine wave output from your device and create 10Mhz square wave then use some logic magic and soon a clock will appear! Quite simple actually. Instead of going to all that trouble why don't you use GPS to get accurate time tic such as: http://www.diyphysics.com/2012/02/19/d- ... ime-clock/

Another approach: http://www.diyphysics.com/2012/02/14/d- ... scillator/

Regards
neutron spin
 
Posts: 163
Joined: Sat Apr 03, 2010 5:11 pm

Re: So I'm thinking of making super precise clock...

by jarchie on Sat Dec 08, 2012 8:25 pm

Seems like a really cool project.

If you'd like to use an Arduino for this, I think you'd need a frequency divider. To drive the timers asynchronously with the 10 MHz signal is probably not possible. If I recall correctly the system clock (16 MHz) must be at least four times greater than the asynchronous signal.

But an ATmega microcontroller alone might be useful because you could wire in your own external system clock source...and 10 MHz is a perfectly reasonable system clock speed! So you could build your own circuit from scratch or use an existing design, like the Adafruit Ice Tube Clock. With the Ice Tube Clock, you could wire in your 10 MHz timing source instead of the included quartz crystal/caps, and modify the firmware/fuse settings accordingly.

So, as neutron spin mentioned, you'll need to process the square wave into a sine wave for use as an external clock source. Alternatively, you might be able to avoid the conversion to a square wave altogether: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=86886&start=0

Good luck and happy hacking!
--John <www.jarchie.com/email>
jarchie
 
Posts: 395
Joined: Sun Jun 24, 2012 1:16 pm
Location: Santa Cruz, California, United States

Re: So I'm thinking of making super precise clock...

by experimentalist on Sat Dec 08, 2012 10:05 pm

Thank you, you've both given me some new ideas and insight into what my options are. Some I hadn't thought of on my own. I read a page that talked about a small inexpensive PIC microcontroller that can easily convert a 10Mhz square wave into a 1hz square wave, and is even tolerant of sine wave input!

Can't wait to get started on this project so I can say I actually built my own genuine atomic clock! Is that passe' now? lol
experimentalist
 
Posts: 11
Joined: Sun Aug 07, 2011 3:10 pm

Re: So I'm thinking of making super precise clock...

by gee on Thu Dec 13, 2012 3:40 pm

You can remove the 16MHz crystal, replace it with a 1K resistor, and drive the XIN pin with the rubidium source through a 0.1uF capacitor. This means your AVR is now clocked at 10MHz instead of 16MHz, but it's probably the easiest way to do things.

I designed a GPS-calibrated a few years back, using an ATMega168 driven by a clipped-sine TCXO using the same method.

Only catch is, if your clock disappears your micro is dead - even ISP etc. won't work.
gee
 
Posts: 11
Joined: Fri May 22, 2009 9:21 am

Re: So I'm thinking of making super precise clock...

by westfw on Thu Dec 13, 2012 7:55 pm

Also, there are numerous single-chip solutions ("divide-by-10 counters" or similar) that will divide your 10Mhz single down to 1MHz or 100kHz or other frequency that is easily readable by an Arduino-class computer. (Um, 74hc390, for example. $0.60)
User avatar
westfw
 
Posts: 1373
Joined: Fri Apr 27, 2007 12:01 pm
Location: SF Bay area

Re: So I'm thinking of making super precise clock...

by experimentalist on Thu Dec 13, 2012 8:10 pm

gee wrote:You can remove the 16MHz crystal, replace it with a 1K resistor, and drive the XIN pin with the rubidium source through a 0.1uF capacitor. This means your AVR is now clocked at 10MHz instead of 16MHz, but it's probably the easiest way to do things.

I designed a GPS-calibrated a few years back, using an ATMega168 driven by a clipped-sine TCXO using the same method.

Only catch is, if your clock disappears your micro is dead - even ISP etc. won't work.


True that would be the easiest method. But like you said if the clock stops the time stops. Although I wonder now if I can use the Adafruit chronodot to keep the time when the clock is unplugged. I'm thinking of using a frequency divider and taking the 10Mhz signal down to 1hz using a PIC, hook that up to an input pin on the arduino and do a seconds++ for every logic high. This way I still have the arduino clock running and can run off of battery power with the chronodot, so all is not lost if the power goes out because the rubidium clock requires at least 11 watts to run. (32 watts max. when it's first turned on)


P.S. Wow they even have an 84Mhz Arduino now, based on the ARM processor. 54 IO pins but only 3.3V and can only accept 3.3V on the input pins as well. Still...this would be able to keep up with a 10Mhz clock!
experimentalist
 
Posts: 11
Joined: Sun Aug 07, 2011 3:10 pm