I suspect we have given a ton of approaches and whatever was attempting to be done is lost in the thread someplace. Lots of options these days
On Mon, Mar 21, 2011 at 10:00 AM, Greg Broburg <[email protected]> wrote: > Another method would be to make a little drive > circuit for the stepper and just divide the 100 nS > down to 1 pps. Just observe the drive pulse to the > clock and duplicate it. It seems to me it is under > a mS and battery Voltage for the amplitude. > > Greg > > > On 3/21/2011 5:44 AM, Bob Camp wrote: > >> Hi >> >> Since you are starting with a 100 ns pulse train as an input, you can >> bracket any period you need inside a 100 ns window. Put another way, your >> error will always be less than 100 ns. >> >> In this case you would either be off by 33.3 ns or 66.6 ns. A mechanical >> clock is not going to notice jitter in the sub microsecond region. Put out >> the periods in a 2:1 ratio and you have a 60 Hz signal that the clock will >> be quite happy with. >> >> Generating the divides and switching between them should work pretty well >> with a fairly small CPLD. >> >> Bob >> >> >> On Mar 20, 2011, at 11:51 PM, Flemming Larsen wrote: >> >> You could also take the simple approach and divide the 10 MHz signal into >>> a signal with a more convenient period, say 1 mS. >>> >>> If you then take the 1 mS and feed it into a simple flip-flop and set or >>> reset this at any interval that falls closest to 1/60 second, you should >>> have an output with a reasonable close to a 50-50 duty cycle, but at EXACTLY >>> 60 Hz. >>> >>> According to my old-school math, if you decode the 1 mS counts intervals >>> using whole counts, 8, 17, 25, 33, 42, 50, then keep repeating this you >>> should come up with a 60 Hz signal at something that resembles a square >>> wave. If you need something closer to a square wave output, you could >>> start >>> with a 10 KHz signal, divide that signal by any convenient number, then >>> decode the counts 83, 167, 250, etc. >>> >>> Somebody else can do the math, but this should produce a 60 Hz signal >>> with >>> a close enough to a 50-50 duty cycle to keep a motor running at the right >>> speed. >>> >>> -- Flemming Larsen, KB6ADS/OZ6OI, Berkeley, CA, USA >>> >>> Disclaimer: This method has not been tested, and is not endorsed by any >>> rocket scientist. Use with caution, and always be sure to wear proper >>> eye-protection. >>> --- Den søn 20/3/11 skrev WB6BNQ<[email protected]>: >>> >>> Fra: WB6BNQ<[email protected]> >>>> Emne: Re: [time-nuts] 50/60 Hz clocks >>>> Til: "Discussion of precise time and frequency measurement"< >>>> [email protected]> >>>> Dato: søndag 20. marts 2011 19.40 >>>> Paul, >>>> >>>> Even the low end regular DDS, like the 9831, using a 10 MHz >>>> striaght through clock >>>> will produce a frequency >>>> of 60.0004568696022 Hz >>>> or 50.0003807246685 Hz as an >>>> output. Simple (ok, perhaps not) amplification after >>>> that will get the clock >>>> drive needed. Just because some of Analog Devices' >>>> more unique products sound >>>> neet, they do not always perform as well as the simpler >>>> parts. >>>> >>>> While not easy to find, here is a tool on the A/D site that >>>> allows for design >>>> simulation of the DDS clock functions. You can even >>>> see a tabular table of the >>>> spur generation. In the above simulation case they >>>> are quite low. >>>> >>>> http://designtools.analog.com/dtDDSWeb/dtDDSMain.aspx >>>> >>>> >>>> Bill....WB6BNQ >>>> >>>> >>>> paul swed wrote: >>>> >>>> Speaking of dds the ad5932 can do this also 10 MC in >>>>> >>>> and 60.20069122 out >>>> >>>>> Change 1 bit and you get 59.6046448 it would be quite >>>>> >>>> easy to bounce back >>>> >>>>> and fourth between the two frequencies like the power >>>>> >>>> company does over >>>> >>>>> time. Thats a small 16 pin chip for a few $. Plus a >>>>> >>>> small pic to make it do >>>> >>>>> what you might want. >>>>> It could also use any number of other ref clock >>>>> >>>> frequencies1, 5, 15, 20, 50 >>>> >>>>> MC and even ones that aren't sensible to drive the >>>>> >>>> chip. >>>> >>>>> You can take the square wave out or a true sine wave >>>>> >>>> or a triangle if >>>> >>>>> needed. >>>>> Regards >>>>> Paul >>>>> WB8TSL >>>>> >>>>> On Sun, Mar 20, 2011 at 7:22 PM, Magnus Danielson >>>>> >>>> < >>>> >>>>> [email protected]> >>>>> >>>> wrote: >>>> >>>>> On 03/21/2011 12:10 AM, Hal Murray wrote: >>>>>> >>>>>> If the plan is to drive a mechanical >>>>>>> >>>>>> clock, I assume long term stability >>>> >>>>> is >>>>>>>> more important than phase noise. Many >>>>>>>> >>>>>>> small microcontrollers (I use >>>> >>>>> 8051's >>>>>>>> from Silabs) have a built-in PLL that can >>>>>>>> >>>>>>> be set to run at 15 MHz from an >>>> >>>>> external 10 MHz reference (applied to the >>>>>>>> >>>>>>> external oscillator input), and >>>> >>>>> use the program space to implement a >>>>>>>> >>>>>>> divider that will give you exactly >>>> >>>>> 60 >>>>>>>> Hz. That is a one chip solution. The >>>>>>>> >>>>>>> processor will accept the sinewave >>>> >>>>> from >>>>>>>> the reference oscillator without extra >>>>>>>> >>>>>>> shaping circuit. >>>> >>>>> In case your favorite chip doesn't have a >>>>>>> >>>>>> PLL... You can run directly >>>> >>>>> from a >>>>>>> 10 MHz clock as long as you can tolerate a >>>>>>> >>>>>> bit more phase noise and/or >>>> >>>>> spurs. >>>>>>> The software just gets a bit more >>>>>>> >>>>>> complicated. Instead of dividing by N, >>>> >>>>> it >>>>>>> has to mix delays of N and N+1 in the right >>>>>>> >>>>>> ratio. >>>> >>>>> You can also do it with a DDS in a >>>>>>> >>>>>> FPGA. The trick is to use a decimal >>>> >>>>> adder >>>>>>> rather than a binary adder. 60/10000000 >>>>>>> >>>>>> in binary isn't a clean fraction >>>> >>>>> so >>>>>>> the clock will drift slightly. >>>>>>> >>>>>>> >>>>>>> [This should be simple, but I'm not sure I've >>>>>>> >>>>>> got it right.] >>>> >>>>> On the other hand, if you use a 64 bit binary >>>>>>> >>>>>> adder, that's 16*2^30*2^30 >>>> >>>>> or >>>>>>> 16*1E9*1E9 or 16E18. Call it >>>>>>> >>>>>> 1E19. We are clocking at 10E7 Hz, so (worst >>>> >>>>> case) the counter will be off by a full cycle >>>>>>> >>>>>> every 1E12 seconds. >>>> >>>>> There are 3E9 seconds per century. So >>>>>>> >>>>>> after a century, the clock would be >>>> >>>>> off by 3E-3 cycles or 50 microseconds. >>>>>>> >>>>>>> On the other hand, it would not be difficult to >>>>>> >>>>> make a DDS which hit >>>> >>>>> 60/10000000 exactly. Reducing it by 20 on each >>>>>> >>>>> side you get 3/500000 so a 19 >>>> >>>>> bit accumulator (mod 500000) incrementing with 3 >>>>>> >>>>> on every 100 ns period >>>> >>>>> would do it. A LUT for sine would be possible. >>>>>> >>>>> Playing a few tricks with the >>>> >>>>> LUT table (realizing that the LUT would be walked >>>>>> >>>>> through three times with >>>> >>>>> three different start-alignments) converts it >>>>>> >>>>> into a LUT of the same size >>>> >>>>> and a increment by one or decrement by one >>>>>> >>>>> counter modulus 500000. A >>>> >>>>> decrement by one counter allows wrap-around >>>>>> >>>>> loading with 499999 easy. CPLD >>>> >>>>> or CMOS/TTL implementations would be trivial for >>>>>> >>>>> the counter. The LUT will >>>> >>>>> be large... >>>>>> >>>>>> Cheers, >>>>>> Magnus >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> 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. >>>>> >>>> >>>> _______________________________________________ >>>> 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. >>> >> >> _______________________________________________ >> 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. > _______________________________________________ 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.
