> I'm going to have to build one of these. Assume you have some sort of > circuit that converts low-voltage AC from a transformer secondary to a > pulse train, start a timer, and count x amount of pulses?
Hi Ben, Any microcontroller will allow you to poll for or capture events. Many even have capture/timer capability in h/w. Using a continuously running multi-byte timer you just subtract the current time from the previous time to get time interval (period). The traditional method of starting or resetting a timer after each event is prone to accumulated timing errors. Making periodic snapshots of a continuous timer avoids this. Note that timer wrap-around is transparent for binary counters, as long as your timer won't wrap twice between events. For example, a 16-bit 1 MHz timer is more than sufficient for measuring 60 Hz events (since 16667 < 65536) with 1 us resolution. In pseudo-code: event() time_now = get_timer() interval = time_now - time_then time_then = time_now serial_output(interval) Now, there are subtle issues with how interrupts and timers work, depending on the microcontroller, but the basic idea of measuring the precise interval between moderately rapid events (like 50/60 Hz cycles) is simple. /tvb _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.