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 <[email protected]> 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 -- [email protected] > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there. _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
