[time-nuts] Got 60HZ?

Bob Camp lists at rtty.us
Thu Dec 9 12:47:50 UTC 2010


Hi

Another simple approach:

Run a PIC off of it's internal R/C clock 
Divide to both 60 Hz with a divider that will do M, M-N, M+N where N is 1,2,3,4,5 and covers the expected tolerance of the clock
Divide the 60 Hz to 1 Hz
Compare the 1 Hz to a pps output
Based on the 1 Hz being early / late, update N for the next second. 

It actually takes less time to code it than to explain it like this.

If the built in clock is good to ~ 0.1 % on a second to second basis, your clock will be far more accurate than the eye can detect. 

Lots of ways to do it.

Bob


On Dec 9, 2010, at 3:47 AM, francesco messineo wrote:

> Hello,
> 
> On Thu, Dec 9, 2010 at 5:13 AM, Michael Poulos <poulosmd at gmail.com> wrote:
>> Recently I bought a Efratom Ru frequency standard from eBay and a frequency
>> divider chip that makes 1MHZ,100KHZ,25KHZ,10KHZ,100HZ and a 1HZ output.
>> Today I thought of a way to make a nice 60HZ so you can use a mains-powered
>> clock for the display (using amplifier and transformer wired "backwards").
>> But, now you'll need 60HZ. A European has it easy with 50HZ as you use a
>> BASIC Stamp or Arduino to divide the 100HZ output. But for 60HZ I came up
>> with a solution:
>> 
>> You set up the Arduino to take the 10KHZ from the divider chip and program
>> it to count off 83 pulses to flip an output. But wait! Unless you add a
>> "leap count" every 3 flips of the output, it'll run fast. Assume at the
>> start the Arduino output starts high then turns low:
>> 
>> (83+83+84+83+83+84)*20 = 10,000 pulses = one second
>> H__L__H__L__H__L
>> 
>> Every output cycle and a half the voltage swing is a little over 1 percent
>> longer because of the leap count. This means that the distortion adds a
>> slight inaccuracy, not enough to upset New Year's revelers. But if you want
>> a better 60HZ, try using the 100KHZ:
>> 
>> (833+833+834+833+833+834)*20 = one second
>> 
>> You see where this is going with leap counts. The ultimate of course is one
>> really good Arduino and (after a hex inverter to amplify it) take the
>> straight 10MHZ and apply this leap count technique:
>> 
>> (83333+83333+83334+83333+83333+83334)*20 = one really accurately made 60HZ =
>> one nice second, just the thing for a Nixie clock. :)
>> 
>> Now, what is a good hex inverter to take the 10 million HZ of my rubidiom
>> movement to feed a frequency divider chip (and later Arduino)? It needs to
>> take the .5 of a volt sinewaIe and squarewave it and in a normal 14 pin DIP
>> (breadboardable) package.
> 
> 
> if you are not afraid of a little microcontroller programming, why not
> use a software DDS approach like this:
> 
> 
> http://www.myplace.nu/avr/minidds/index.htm
> 
> it can output a nice sine wave at 60 Hz (or whatever) from say a 10
> MHz clock really easily and the frequency is also easily tunable in
> software.
> 
> I built several similar low frequency (audio range) software DDS using
> AVR and other microcontrollers.
> I usually add a one or two stage active low pass filter after the R/2R
> network. I also used to build the R/2R network out of selected 1% 10K
> resistors, final resistor match is usually good to 0.1% tolerance, but
> in some boards I just put 5% parts.
> Software is basicly an adder and you use the highest byte as a pointer
> to the ram or rom waveform samples, once you understand how it works,
> it's really easy to adapt to your needs. Usually the waveform you
> obtain has a DC offset, but that's easily solved too.
> 
> Hope it helps.
> 
> Frank   IZ8DWF
> 
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.





More information about the Time-nuts_lists.febo.com mailing list