A timer is a specialized type of clock. A timer can be used to control the sequence of an event or process. Whereas a stopwatch counts upwards from zero for measuring elapsed time, a timer counts down from a specified time interval, like an hourglass. Timers can be mechanical, electromechanical, electronic (quartz), or even software as most computers include digital timers of one kind or another.
Early mechanical timers used typical clockwork mechanisms, such as an escapement and spring to regulate their speed. Inaccurate, cheap mechanisms use a flat beater that spins against air resistance. Mechanical egg-timers are usually of this type.
More accurate mechanisms resemble small alarm clocks, with the chief advantage being that they require little battery/electrical power, and can be stored for long periods of time.
There are two types of electromechanical timers. A thermal type has a metal finger made of strips of two metals with different rates of thermal expansion sandwiched together; steel and bronze are common. An electric current flowing through this finger causes heating of the metals, one side expands less than the other, and an electrical contact on the end of the finger moves away from or towards an electrical switch contact.
Another type of electromechanical timer (a cam timer) uses a small synchronous AC motor turning a cam against a comb of switch contacts. The AC motor is turned at an accurate rate by the alternating current, which power companies carefully regulate. Gears slow this motor down to the desired rate, and turn the cam. The most common application of this timer now is in washers, driers and dishwashers. This type of timer often has a friction clutch between the gear train and the cam, so that the cam can be turned to reset the time.
Electromechanical timers survive in these applications because mechanical switch contacts are still less expensive than the semiconductor devices needed to control powerful lights, motors and heaters.
In the past these electromechanical timers were often combined with electrical relays to create electro-mechanical controllers. Electromechanical timers reached a high state of development in the 1950s and 60s because of their extensive use in aerospace and weapons systems. Programmable electromechanical timers controlled launch sequence events in early rockets and ballistic missiles.
Electronic timers can achieve higher precision than mechanical timers because they are quartz clocks with special electronics. Electronic timers can be analog (resembling a mechanical timer) or digital (uses a display much like a digital clock). Integrated circuits have made digital logic so inexpensive that an electronic timer is now less expensive than many mechanical and electromechanical timers. Individual timers are implemented as a simple single-chip computer system, similar to a watch. Watch technology is used in these devices.
However, most timers are now implemented in software. Modern controllers use a programmable logic controller rather than a box full of electromechanical parts. The logic is usually designed as if it were relays, using a special computer language called ladder logic. In PLCs, timers are usually simulated by the software built into the controller. Each timer is just an entry in a table maintained by the software.
Digital timers can also be used in safety device such as a Gas Timer.
Computer systems usually have at least one timer. These are typically digital counters that either increment or decrement at a fixed frequency, which is often configurable, and that interrupt the processor when reaching zero, or a counter with a sufficiently large word size that it will not reach its counter limit before the end of life of the system.
More sophisticated timers may have comparison logic to compare the timer value against a specific value, set by software, that triggers some action when the timer value matches the preset value. This might be used, for example, to measure events or generate pulse width modulated waveforms to control the speed of motors (using a class D digital electronic amplifier).
As the number of hardware timers in a computer system or processor is finite and limited, operating systems and embedded systems often use a single hardware timer to implement an extensible set of software timers. In this scenario, the hardware timer's interrupt service routine would handle house-keeping and management of as many software timers as are required, and the hardware timer would be set to expire when the next software timer is due to expire. At expiry, the interrupt routine would update the hardware timer to expire when the next software timer is due, and any actions would be triggered for the software timers that had just expired. Expired timers that are continuous would also be reset to a new expiry time based on their timer interval, and one-shot timers would be disabled or removed from the set of timers. While simple in concept, care must be taken with software timer implementation if issues such as timer drift and delayed interrupts is to be minimised.
|This page uses Creative Commons Licensed content from Wikipedia (view authors).|