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.
|