[time-nuts] Building a mains frequency monitor

Tom Van Baak tvb at LeapSecond.com
Thu Apr 7 03:36:09 UTC 2016


Hi Jay,

Building a mains frequency monitor is a great way to expose yourself to almost everything about precise time & frequency and measurement -- for a few dollars. Working with quartz, rubidium, cesium simply moves the decimal place over a few digits.

Have a look at:

http://leapsecond.com/pages/mains/

http://leapsecond.com/pages/mains-cv/

It turns out that worrying about how to measure the exact zero-crossing of every 50/60 Hz cycle to the microsecond has little to no effect on any mid- to long-term analysis that you do. The low-level microsecond phase noise quickly averages away. You can see that here:

http://leapsecond.com/pages/mains/mains-adev-mdev-gnuplot-g4.png

The main thing you want to avoid is accidentally missing a cycle, or accidentally adding a cycle. But a glaring 16 ms gap is so easy to spot.

Some people go through elaborate electronics and filtering to avoid this. That's fine. Whatever works for you.

I use a picPET through a 5 VAC transformer with no filtering and just measure what shows up. Once in a great while, due to excessive noise, I see a stray pulse. But the cool thing about timestamping counters is that if a pulse shows up when you know it isn't expected you can just delete that data point in s/w and all is well. Similarly, if for whatever reason you miss a cycle, you just interpolate it in s/w. I get glitches like this at the rate of a few a year. There are about 2 billion 60 Hz cycles a year so this level of data repair is fine with me. Over the past 5 years the worst problem is city-wide power failures. But in those cases I just trade data with Hal Murray, who is in the same grid as me, but a different state.

So I think between the two of us we have a complete record of 60 Hz phase going back years. Check the time-nuts archives as this interesting subject of mains monitoring comes up a every year or two.

I logged data every cycle for a while. Then I switched to every second. Even that's more than enough.

Some people use transformers, or opto-isolators, or RC filters, or Schmitt triggers, or even 60 Hz PLL's. Just pick one that you think will work and play with it for a couple of days or weeks and see how you like it. I also run a wall-mount, synchronous motor, kitchen clock to keep me honest. You can see that, compared to a cesium clock, here:

http://leapsecond.com/pages/tec/mains-clock-ani.gif

/tvb

----- Original Message ----- 
From: "Jay Grizzard" <elfchief-timenuts at lupine.org>
To: <time-nuts at febo.com>
Sent: Wednesday, April 06, 2016 6:21 PM
Subject: [time-nuts] Building a mains frequency monitor


> Since it seems to be a week for new projects on time-nuts... ;)
> 
> So I've been wanting to set up a power line frequency monitor for a while,
> and now(ish) seemed to be a good time for me.
> 
> So initially, I was planning on doing a simple design that was posted here
> a couple of years back, which basically works out to:
> 
>  mains -> simple 9v ac/ac power brick -> dropping resistor -> picPET
> 
> I have a good 10MHz reference to feed the picPET, so this seems like it
> would make a good first shot. But, of course, I eventually want to do
> better than just a first shot. So, I have questions!
> 
> Q1: Assuming the schmitt trigger in the picPET triggers at a consistent
> point in the waveform, the frequency at any given cycle is easy to 
> calculate: 1.0 / (timestamp2 - timestamp1)    ...but, is there a better
> way? That method just feels... naive, for some reason.
> 
> Q2: What are the sources of noise in this design? Assuming the picPET is as
> accurate as my 10MHz reference is, I can think of a few potential places
> that phase noise could creep into the measurements:
>  - Whatever is in the power brick beyond the transformer (I don't think a step down transformer alone would add phase noise, right?)
>  - The dropping resistor will slowly change the amplitude of the waveform (and thus the point in the cycle that the schmitt trigger fires) due to thermal and aging effects, if we're measuring anything that's not the exact zero crossing
>  - The point at which the schmitt trigger in the picPET fires will change over time for the same reasons. Also potentially due to picPET input voltage, depending on how the comparitor is built
>  - Am I missing any?
> 
> Q3: The open-ended question: How do I improve on this? I suspect the main place for improvement will be in the trigger, but I'm not sure where to go with that.  Most designs I've seen involve a schmitt trigger, generally with reference voltages set by things like voltage dividers. This seems dubious at best, to me, since that means the reference voltage will be affected by the same effects I'm calling out above. Is there a *specific* design (rather than "make a zero crossing detector!" or something similarly vague) that someone can point me to, that would minimize this kind of trigger noise?
> 
> Q3.1: Is there a better way to get mains voltage down to something I can work more directly with? I saw at least one design that just used a couple of megaohm resistors inline -- does that introduce appreciably less phase noise than random AC/AC power brick?
> 
> I apologize if any of this is overly basic. I've actually read everything I could find both in the time-nuts archives and the internet at large about this kind of project, but I've still found myself left with the questions above.
> 
> I appreciate any comments / feedback / pointers!
> 
> -j
> _______________________________________________
> 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