Tachometer for Opel Display
Now, I knew how the Opel display can be
interfaced it
was time to do something useful with it. So, I wanted to use the
display as a
tachometer. A microcontroller (PIC16F84) was used to
measure the time
between two ignition pulses. The signal for the ignition pulses
was taken from the low
voltage side of the bobbin. (Look out, can still be a 100V or
so.)
The time was measured in microseconds. Due to interrupt latency
and serving multiple
interrupts at the same time, the measurement is not accurate at 1
us. I wanted to update
the display every quarter of a second. To reduce errors I
measure during an interval of
about 0.25 seconds. In this interval the time is measured from
the first to the last
pulse, and the amount of pulses is counted. The
number_of_pulses_measured is counted from
zero. The formula used to calculate the rpm is:
RPM = 30000000 * number_of_pulses_measured /
time_from_first_to_last_pulse
The 30000000 is actually 30 * 1000000. The 1000000 is because
the time is in measured
microseconds. I want to show the amount of revolutions per
minute (RPM).
Therefore, I have
to multiply the frequency (=1/time) with 60. However, a 4
cylinder 4 stroke engine ignites
twice a revolution so I get 60/2=30. Putting it all together
gives the formula. This
number is put on the display. The first experiments looked like
this:

The Opel runs idle at about 930 RPM. At the time I took this
photo the engine was still
cold and was throttled up a little by the motor management
system.

Click picture to enlarge. The green wire is hooked up to the low
voltage side of the bobbin to measure the ignition
pulses.

Click picture to enlarge. The green dot shows where I picked up
the signal. The green circle shows the original
tachometer (TT=toerenteller), which my car does not
have. The next picture shows
the schematic I used:

Click picture to enlarge. Well the design is quite strait
forward. The bobbin is connected to pin 1 of the HDR_2
connector with the green wire I installed. A series resistor and
two diodes clamp the
signal between 0 and 12V. If you clamp the bobbin signal right
away without the resistor
your engine will not start. Yes, I tested that :-))
Next a RC filter is used
to clean the signal. before it is put into the PIC. If you think
that connecting a 12V
signal to the (5V) PIC gives trouble, then you are wrong. Indeed
the signal is 12V but the
PIC has internal clamping diodes to the 0 and 5V, which limits
the voltage seen by the
PIC.
The lines SDA, SCL and MRQ are connected by a couple of diodes
to the PIC. The diodes make
sure that the PIC can only pull the data lines low or let them
float. There are pull up
resistors located in the Opel display.
The PIC gets its power by a 5 volt voltage regulator which is
connected to the switched
12V. And it runs at 4 MHz, which makes the duration of one
instruction 1 microsecond.
The software can be found here: DispV07.zip.
It includes the all the source files and a assembled ".hex" file
which
can be programmed in the PIC16F84 right away. Set the options in
your
programmer such that the Crystal Oscillator (XT) and the Power
Up timer
are on. The Watchdog should be off. Code protection does not
matter, but
I prefer Code protection to be Off, to allow verification of the
chip.
The software is published under the GPL License so you
can do whatever you want with it except sell it. If you
redistribute it you have to
provide the (altered) source too. I still use the old PIC16F84
and not the newer
PIC16F84A, the differences are neglectable.
The 12 pin connector is described as follows:
Pin # |
Name |
Description |
1 |
Permanent 12V |
Always on 12V, keeps the clock running. |
2 |
Not connected (Temperature) |
Temperature for TID |
3 |
Ground 0V |
Ground connected to the chassis |
4 |
Not connected (Temperature) |
Temperature for TID |
5 |
Accessories |
12V when the key is on accessories. The display goes
on. |
6 |
Headlights |
12V when headlights are on. |
7 |
Dashboard illumination |
Signal for the strength of the dashboard lights |
8 |
Car-radio on |
The Radio is on. The date will disappear and make
space for
the RDS signal |
9 |
SCL |
Serial Clock |
10 |
MRQ |
Master Request or something... |
11 |
SDA |
Serial data from the radio |
12 |
Not connected (Speed) |
Speed signal for displays with temperature readout.
(TID) |
The 12 pin connector with the name "Car" Is connected to the
connector that
normally connects to the display. The connector with the name
"Opel Display" is
connected by a 1 to 1 cable to the display. Like this:

After the first experiments were successful, I made a small WCB
(Wired Circuit Board).

A close up of the WCB showing the wiring. The green wire comes
from the bobbin. The gray
flat cable goes to the display. The colored wires with
protection around it come from the
car and were previously connected to the display.

Another close up.

Building in the tachometer neatly in the dashboard gives the
above
result!
If you decide to build this project too, please let me know
what you experience.
|