Maker Pro
Maker Pro

Wanted: A Very Accurate Timer

D

Dave Plowman (News)

Jan 1, 1970
0
I'm sitting here looking at my homebuilt digital clock that is counting
120 zero crosses of the AC line as its 1 second time base. Motorola
processor. Do you need the absolute accuracy or would counting
2,592,000 AC zero crosses do the trick?

In the UK, the mains frequency might well average out at 50 Hz over 24
hours, but that's not the same as being absolutely accurate over any 6
hour period. Can't see the US being any different.
 
N

NSM

Jan 1, 1970
0
Once you have this precision, you need some way to reliably use it.

I always get a chuckle out of "Star Trek". They've got massive
computers calculating precise timing, trajectories etc.
but they always initiate it with an imprecise verbal command, "ENGAGE".

Hard to take a show seriously where spacecraft make banking turns in space
and go "Whoosh" as they pass you. "Blake's 7" at least got that part right.

N
 
P

Peter Duck

Jan 1, 1970
0
In message <[email protected]>
In the UK, the mains frequency might well average out at 50 Hz over 24
hours, but that's not the same as being absolutely accurate over any 6
hour period.

I've a radio-controlled clock and a nominally-50Hz-driven one in the
same room.
There's only any point in synchronising them early in the morning: that
way, they'll agree again every morning, i.e. the 50HZ is carefully kept
to be *on average* true, but by evening, especially in winter, the
difference can be as much as 20 seconds.
Can't see the US being any different.

Nor can I ...
 
Thanks for all the responses.

I originally entertained something like this 2-1/2 years ago, but the
timer I needed, which was basically a racing watch, but with a large
bright red display, was not commercially available and proved too
complicated to build.

So I have to settle on just a simple timer for now, and worry about
getting something more complex later.

It is way too complicated to go into the details as far as why I need
this, but basically this will involve conducting experiments/tests on
the accuracy of human timing, and also the confirmation of certain
conclusions drawn from studying the code contained within the hardware
I'll be testing against.

1/60th of a second is important because it is specific to that hardware
and how it functions. It uses registers that change every 1/60th of a
second to make certain occurances "random". If one could react with an
accuracy of 1/60th of a second, then these occurances would follow a
predictable pattern. But of course that kind of timing is not humanly
possible with any kind of consistency.

Anyway, to simplify what I'm doing, this involves a huge number of
timed inputs(by a person) over the course of several hours. The timer
will be the reference.

If it is easier for me to get a set-up that involves frequent
resets/corrections to get the needed accuracy at any 60th of a second
over the course of several hours, then that is what I'll have to do.

P.S: The hardware itself is a videogame.

Darren Harris
Staten Island, New York.
 
R

Richard H.

Jan 1, 1970
0
1/60th of a second is important because it is specific to that hardware
and how it functions. It uses registers that change every 1/60th of a
second to make certain occurances "random". If one could react with an
accuracy of 1/60th of a second, then these occurances would follow a
predictable pattern. But of course that kind of timing is not humanly
possible with any kind of consistency.

Anyway, to simplify what I'm doing, this involves a huge number of
timed inputs(by a person) over the course of several hours. The timer
will be the reference.

If it is easier for me to get a set-up that involves frequent
resets/corrections to get the needed accuracy at any 60th of a second
over the course of several hours, then that is what I'll have to do.

P.S: The hardware itself is a videogame.

This strikes me as a very different definition of the problem from your
original post...

If your goal is to have an event 60 times per second with good accuracy,
that is trivial with most microcontrollers. Even a basic design could
get you 100,000 events per second with good accuracy.

But what you described in your original post was a requirement to finish
after 6 hours with a clock drift of no more than 1/60 second. That
problem is 21,600 times harder, and requires elaborate solutions.

i.e., it sounds like your requirement is for a timer that can:
a) trigger 60 times per second with "good" accuracy
b) count for 6 hours or more

In defining "good" accuracy, 1% equates to +/- 0.00017 secs margin per
60/sec event (between 0.01649 and 0.01683 seconds per event). These
timings aren't likely to vary much on one board (barring temerature
changes), but would vary in this range from one board to the next.

So, what degree of accuracy are you really needing?

Cheers,
Richard
 
Richard said:
This strikes me as a very different definition of the problem from your
original post...

How? In my original post I said the following: "It must to be accurate
to within 1/60th of a second over the course of 6 hours."
If your goal is to have an event 60 times per second with good accuracy,
that is trivial with most microcontrollers. Even a basic design could
get you 100,000 events per second with good accuracy.

But that is not my goal.
But what you described in your original post was a requirement to finish
after 6 hours with a clock drift of no more than 1/60 second. That
problem is 21,600 times harder, and requires elaborate solutions.

i.e., it sounds like your requirement is for a timer that can:
a) trigger 60 times per second with "good" accuracy
b) count for 6 hours or more

Still wrong. The timer will trigger nothing. All it needs is a display
so that I can see the seconds.(Though showing 1/60th of a second
intervals would be great, it's just not required for this project,
which I have had to simplify greatly).
In defining "good" accuracy, 1% equates to +/- 0.00017 secs margin per
60/sec event (between 0.01649 and 0.01683 seconds per event). These
timings aren't likely to vary much on one board (barring temerature
changes), but would vary in this range from one board to the next.

So, what degree of accuracy are you really needing?

1/60th of a second...

(ie: When the 2 hour, 53 minute, and 37 second point is reached, the
display should show it at exactly that time at an accuracy of 1/60th of
a second from when the clock started running).

Darren Harris
Staten Island, New York.
 
M

Mike Monett

Jan 1, 1970
0
[email protected]2.com wrote:

[...]
1/60th of a second...

(ie: When the 2 hour, 53 minute, and 37 second point is reached, the
display should show it at exactly that time at an accuracy of 1/60th of
a second from when the clock started running).

Darren Harris
Staten Island, New York.

You have no idea what your requirements mean. A drift of 1ppm in 6 hrs is
meaningless in a marathon or other race, when the wind can easily cause
1% change in performance.

So in Brooklanese -Fahgettaboutit!

Mike Monett
 
Mike said:
[email protected]2.com wrote:

[...]
1/60th of a second...

(ie: When the 2 hour, 53 minute, and 37 second point is reached, the
display should show it at exactly that time at an accuracy of 1/60th of
a second from when the clock started running).

Darren Harris
Staten Island, New York.

You have no idea what your requirements mean. A drift of 1ppm in 6 hrs is
meaningless in a marathon or other race, when the wind can easily cause
1% change in performance.

So in Brooklanese -Fahgettaboutit!

There is no wind involved here.

I've been trying not to get into the details, because details lead to
the request for more details, and this is just way to complex to get
into here. Not just as far as what I'm doing, but the timer I am
seeking is actually inadequate for all of the experiments I want to do.

Now if this is so difficult to understand, then the more complex timer
will be near impossible to explain.

For this project there will be 1,296,000 increments over the course of
6 hours. I just need the option of *visually* seeing on the timer's
display when each second increments beginning with the press of a start
button, and the accuracy must be 1/60th of a second at worst for any of
those 21,600 seconds after zero.(I'm assuming that the timer will have
to be plugged in an AC outlet).

Darren Harris
Staten Island, New York.
 
M

Mike Monett

Jan 1, 1970
0
[email protected]2.com wrote:

[...]
I've been trying not to get into the details, because details lead to
the request for more details, and this is just way to complex to get
into here. Not just as far as what I'm doing, but the timer I am
seeking is actually inadequate for all of the experiments I want to do.

Now if this is so difficult to understand, then the more complex timer
will be near impossible to explain.

I think you just lost the interest of anyone capable of helping you.
For this project there will be 1,296,000 increments over the course of
6 hours. I just need the option of *visually* seeing on the timer's
display when each second increments beginning with the press of a start
button, and the accuracy must be 1/60th of a second at worst for any of
those 21,600 seconds after zero.(I'm assuming that the timer will have
to be plugged in an AC outlet).

Darren Harris
Staten Island, New York.

The truth you seek is out there. Have fun:)

Mike Monett
 
Q

quietguy

Jan 1, 1970
0
Actually, since your application is only a video game, then perhaps it is
not accuracy that you need - rather precision, which is a very different
concept to accuracy.

Have a think about it and perhaps that will simplify your problem

David
 
NSM said:
Hard to take a show seriously where spacecraft make banking turns in space
and go "Whoosh" as they pass you. "Blake's 7" at least got that part right.

N

Well compensating for centrifugal force is plausible, and space is not
a complete vacuum. :)

Darren Harris
Staten Island, New York.
 
No. I'm sure that accuracy is definitely what is needed.
Have a think about it and perhaps that will simplify your problem

The problem is what it is. There is nothing that can be changed.

Obviously, even this simple version of a timer is not commercially
available, and not something that can be easily built.

Thanks.

Darren Harris
Staten Island, New York.
 
J

Jim Adney

Jan 1, 1970
0
It's about one part in 13 million, so, yes, this is pretty difficult.

Oops, I'm off by one decimal place; it's more like one part in 1.3
million. This can be done with a good crystal oscillator, but it's got
to be a pretty good one, and it has to be calibrated against a real
standard.

The question remains of why one would need this degree of accuracy in
a timing function.

-
 
J

James Waldby

Jan 1, 1970
0
....
I've been trying not to get into the details, because details lead to
the request for more details, and this is just way to complex to get
into here. Not just as far as what I'm doing, but the timer I am
seeking is actually inadequate for all of the experiments I want to do.

You will waste a lot less of everyone's time if you just go ahead
and explain what you want. If you happen to know. Of course if you
don't know what you want, you are less likely to get it.

Anyhow, AIUI you have a video game and you want to use a timer for
doing something related to this game ... perhaps you want to reverse
engineer it, perhaps crack some protection, perhaps set up a computer-
aided play device. Whatever. And you think that having a timer with
1/60 second accuracy displaying the current time throughout a six hour
period will help you do so. (It may be silly for you to think so, because
if you are just reading the time off the running display or pushing
buttons to record the time when stuff happens, you won't be able to do
either one with 1/60 second reaction times anyway.)

Note that the clock in the video game almost certainly will drift
around in a range at least 10 parts per million wide, which makes
your 1 ppm requirement superfluous. Instead, snoop the video game
clock and use a buffered copy of it to drive the counters in your timer.
This way your displayed time always is in sync with the video game time.
Now if this is so difficult to understand, then the more complex timer
will be near impossible to explain.

Perhaps your problem is that you don't know what you are doing.
Feel free to convince us otherwise.
For this project there will be 1,296,000 increments over the course of
6 hours. I just need the option of *visually* seeing on the timer's
display when each second increments beginning with the press of a start
button, and the accuracy must be 1/60th of a second at worst for any of
those 21,600 seconds after zero.

As several people have noted, you could use a TXCO (temperature
compensated crystal oscillator) or a crystal oven for adequate
performance. See eg $4 and $18 items
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526666127
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526612301

Note that you can get an inexpensive counter/timer on ebay, like
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526025102
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526108906
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526165454
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526085126
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526393893
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7525744632
The bench instruments probably have 7 to 10 digit stability
when warmed up and similar accuracy when in cal. Some of them
might make their timebases externally available and/or have
totalizer functions that would do the job for you. In any case,
if you build a TXCO you'll need a counter/timer to check it.
-jiw
 
R

Richard H.

Jan 1, 1970
0
I've been trying not to get into the details, because details lead to
the request for more details, and this is just way to complex to get
into here.

Darren,

You are correct that it takes details to provide a useful answer. Based
on the broad question originally asked, the URL I provided should have
met your needs. Perhaps if we understood why you didn't find what you
needed there, more accurate responses might be possible.

If you work with engineers much, you'll appreciate that people very
often ask for the wrong thing - by challenging questionable requirements
the true specs become known, often hugely affecting the complexity
involved. Here, you are asking for a degree of accuracy that is
difficult to achieve, but you say you won't actually be using it, which
sounds flawed. (Irrespective of the event frequency in the DUT, if you
are only capturing one-second granularity, more accuracy is wasted.)

... the timer I am
seeking is actually inadequate for all of the experiments I want to do.

Now if this is so difficult to understand, then the more complex timer
will be near impossible to explain.

So, you're wasting everyone's time (including yours) looking for a
solution that won't meet your needs? If you really want nanosecond
accuracy, we can guide you to a solution that'd give you that, but not
if you don't ask.

If you would be less defensive about the requirements and share more
about your desired goal, you might get help in meeting it - the volume
of responses here demonstrates folks' willingness to help. We don't
need you to divulge your experiment, but significant requirements would
be nice (budget, size, weight, power, connectivity, inputs, outputs,
skillset), along with some tolerance for validating the potentially
difficult specs.


All that said, have you considered the overly simple solution of
software on a PC? It may be difficult to get better than 18.2ms
resolution from the system clock, but that is very close to your stated
requirement, and an RTC clock card would be easy enough to add.

Then, use SNTP to frequently check an atomic source and factor the drift
into the local clock's readings. (Or ditch the local clock entirely and
just make an SNTP/Daytime query of an atomic clock at the time you want
a reading - the accuracy can be calc'd as good as 1/250 sec.) Plus,
this is easily extensible to integrate with an event log, rather than
using a manual process.

Of course, there's no knowing if this will meet your other unstated
requirements, so perhaps it was a waste of time to share this idea?

Richard
 
In said:
The problem is what it is. There is nothing that can be changed.

If, even with expert help, a problem appears to be hard or expensive to
solve, change the problem. Every engineer has done that at least one but
probably several times...
 
You will waste a lot less of everyone's time if you just go ahead
and explain what you want. If you happen to know. Of course if you
don't know what you want, you are less likely to get it.

I said in my very first post that I was looking for an electronic timer
that is accurate to within 1/60th of a second over the course of 6
hours. Then the thread turned into questions concerning my project and
assumptions as to why what I ask for wasn't logical.
Anyhow, AIUI you have a video game and you want to use a timer for
doing something related to this game ... perhaps you want to reverse
engineer it, perhaps crack some protection, perhaps set up a computer-
aided play device. Whatever. And you think that having a timer with
1/60 second accuracy displaying the current time throughout a six hour
period will help you do so. (It may be silly for you to think so, because
if you are just reading the time off the running display or pushing
buttons to record the time when stuff happens, you won't be able to do
either one with 1/60 second reaction times anyway.)

I did previously say: "But of course that kind of timing is not humanly

possible with any kind of consistency."
Note that the clock in the video game almost certainly will drift
around in a range at least 10 parts per million wide, which makes
your 1 ppm requirement superfluous. Instead, snoop the video game
clock and use a buffered copy of it to drive the counters in your timer.
This way your displayed time always is in sync with the video game time.

I'm aware of the consistency of the game hardware. And this project
can't involve tapping into the games clock.
Perhaps your problem is that you don't know what you are doing.
Feel free to convince us otherwise.

The problem is the criticizing of my needs and the suggestion of
alternatives by those unfamiliar with the project. The initial question
was simple, and I thank those who gave me their best answers.
As several people have noted, you could use a TXCO (temperature
compensated crystal oscillator) or a crystal oven for adequate
performance. See eg $4 and $18 items
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526666127
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526612301

Note that you can get an inexpensive counter/timer on ebay, like
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526025102
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526108906
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526165454
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526085126
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7526393893
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7525744632
The bench instruments probably have 7 to 10 digit stability
when warmed up and similar accuracy when in cal. Some of them
might make their timebases externally available and/or have
totalizer functions that would do the job for you. In any case,
if you build a TXCO you'll need a counter/timer to check it.
-jiw

I'm just looking for a timer to click off every second on it's display,
and with the accuracy I mentioned. I know nothing about how to build
anything, or about the features of the devices in those links.

Darren Harris
Staten Island, New York.
 
Richard said:
Darren,

You are correct that it takes details to provide a useful answer. Based
on the broad question originally asked, the URL I provided should have
met your needs. Perhaps if we understood why you didn't find what you
needed there, more accurate responses might be possible.


If you work with engineers much, you'll appreciate that people very
often ask for the wrong thing - by challenging questionable requirements
the true specs become known, often hugely affecting the complexity
involved. Here, you are asking for a degree of accuracy that is
difficult to achieve, but you say you won't actually be using it, which
sounds flawed. (Irrespective of the event frequency in the DUT, if you
are only capturing one-second granularity, more accuracy is wasted.)

I'm not asking for the wrong thing. The requirements are only
"questionable to someone not familiar to with what I am trying to do. I
never said that I will not be using the accuracy I am searching for.
And I think it has already been established that the kind of accurate
timer I need doesn't exist(or no one here knows of one).
So, you're wasting everyone's time (including yours) looking for a
solution that won't meet your needs? If you really want nanosecond
accuracy, we can guide you to a solution that'd give you that, but not
if you don't ask.

Who said that I'm looking for a solution that won't meet my needs?(And
I only need 1/60th of a second acccuracy).
If you would be less defensive about the requirements and share more
about your desired goal, you might get help in meeting it - the volume
of responses here demonstrates folks' willingness to help. We don't
need you to divulge your experiment, but significant requirements would
be nice (budget, size, weight, power, connectivity, inputs, outputs,
skillset), along with some tolerance for validating the potentially
difficult specs.

All this is unecessary info for a timer with a simple read-out. There
are no other rquirements than what I stated.
All that said, have you considered the overly simple solution of
software on a PC? It may be difficult to get better than 18.2ms
resolution from the system clock, but that is very close to your stated
requirement, and an RTC clock card would be easy enough to add.

Again, I need only 1/60th of a second accuracy, and the reference point
will be from "start".
Then, use SNTP to frequently check an atomic source and factor the drift
into the local clock's readings. (Or ditch the local clock entirely and
just make an SNTP/Daytime query of an atomic clock at the time you want
a reading - the accuracy can be calc'd as good as 1/250 sec.) Plus,
this is easily extensible to integrate with an event log, rather than
using a manual process.

Of course, there's no knowing if this will meet your other unstated
requirements, so perhaps it was a waste of time to share this idea?

Yeah. I guess I'll have to look elsewhere.

Thanks.

Darren Harris
Staten Island, New York.
 
If, even with expert help, a problem appears to be hard or expensive to
solve, change the problem. Every engineer has done that at least one but
probably several times...

I've already simplified the timer requirements so as to target part of
my "problem".

Darren Harris
Staten Island, New York.
 
Top