[time-nuts] Simple AC mains zero-cross detector

Chuck Harris cfharris at erols.com
Sun Dec 21 11:04:09 EST 2014

Hi Charles,

I have a question about the accuracy of your scheme, given
transient effects.

Transformers, such as are in wall warts, etc..., are wound
in a way that is pretty good for 50Hz/60Hz operation, but have
had nothing intentionally done to normalize operation at any
other frequency.  Nor have they had anything done to improve
the fidelity of the signal they pass.

Typically, they are running very near the edge where the
core is entering saturation, not because it is a good thing,
but rather because it minimizes the amount of copper and iron,
and the physical size necessary, for a given amount of power
output.... The trade off being efficiency... a little more
heat is generated, and that is the customer's problem to deal
with, not the manufacturer's... but I digress.

In the 99 and 44/100 th's percent of the usage of a
transformer coupled ZCD, the positive and negative zero
crossings are going to come chugging along predictably about
every 8.3 milliseconds.  And, the degree which their arrival
is unpredictably 8.3333... milliseconds, is what I believe to
be the the realm of the grid-nut.

One facet of that unpredictability is what I am interested in,
for the purposes of this post:

Suppose, that one of the grid-nut persuasion is interested in
the timing of the occasional crash transient where somewhere
during the course of a cycle, an unintentional zero crossing
occurs due to a transient that drags the grid voltage through

With an opto isolator protected ZCD, the transient will be
propagated to the logic side by way of the usual speed of
light, and will remain true to the fixed delay introduced by
the optoisolator ZCD... The optoisolated ZCD has no ability to
affect where the crossings occur, or for the most part, how
often the crossings occur; it will faithfully register and
send the glitch along to the logic side for measurement.

A transformer isolated ZCD, is different in this regard, however.

Because of the nature of transformers, a transformer isolated ZCD
will propagate every of the various frequencies it passes, with
a different delay.

What this means, is that as long as the zero crossings keep
chugging along at a nominally 60Hz rate, you will have your
touted sub-microsecond timing accuracy; but, introduce one crash
transient that causes a significantly early zero crossing,
and you will be introducing frequency components other than 60Hz,
and will cause the crash transient's time-of-occurrence to be
misrepresented, and will also cause the subsequent zero
crossing's time-of-occurrence to be misrepresented... all due
to the  transformer's inability to induce all frequencies with
the same speed.

This same uncertainty will occur even if the so called crash
transient does not pull the sine wave all the way to zero,
but only wounds it a little.


-Chuck Harris

More information about the time-nuts mailing list