Computerized Odometers
If you make a trip to the
bike shop, you most likely won't find any cable driven odometers or
speedometers. Instead, you will find bicycle computers. Bicycles
with computers like these have a magnet attached to one of the
wheels, and a pickup that is attached to the frame. Once per
revolution of the wheel, the magnet passes by the pickup, generating
a voltage in the pickup. The computer counts these voltage spikes,
or pulses, and uses them to calculate the distance traveled.
If you have ever installed one of these bike computers, you know
that you have to program them with the circumference of the wheel.
The circumference is the distance traveled when the wheel makes one
full revolution. Each time the computer senses a pulse, it adds
another wheel circumference to the total distance and updates the
digital display.
Many modern cars use a system like this, too. Instead of a
magnetic pickup on a wheel, they use a toothed wheel mounted to the
output of the transmission and a magnetic sensor that counts the
pulses as each tooth of the wheel goes by. Some cars use a slotted
wheel and an optical pickup, like a computer mouse
does. Just like on the bicycle, the computer in the car knows how
much distance the car travels with each pulse, and uses this to
update the odometer reading.
One of the most interesting things about car odometers is how the
information is transmitted to the dashboard. Instead of a spinning
cable transmitting the distance signal, the distance (along with a
lot of other data) is transmitted over a single wire communications
bus from the engine control unit (ECU) to the dashboard. The
car is like a local area network with many different devices
connected to it. For instance, here are some of the devices that may
be connected to the computer network in your car:
- engine control unit (ECU)
- climate control system
- dashboard
- power seat controls
- radio
- anti-lock braking system
- airbag control module
- body control module (operates the interior lights, etc.)
- transmission control module
Many vehicles use a
standardized communication protocol, called SAE J1850, to enable all
of the different electronics modules to communicate with each other.
The engine control unit counts all of the pulses and keeps track
of the overall distance traveled by the car. This means that if
someone tries to "roll back" the odometer, the value stored
in the ECU will disagree. This value can be read using a diagnostic
computer, which all car-dealership service departments have.
Several times a second the ECU will send out a packet of
information consisting of a header and the data. The header is just
a number that identifies the packet as a distance reading, and the
data is a number corresponding to the distance traveled. The
instrument panel contains another computer that knows to look for
this particular packet; and whenever it sees one, it updates the
odometer with the new value. In cars with digital odometers, the
dashboard simply displays the new value. Cars with analog odometers
have a small stepper motor that turns the dials on the odometer.