Eelke Visser.nl

Welcome

Opel
Electronics:

Feedback on 8
character display:


Feedback on 10
character displays:

Any tacho
Electronics:
Feedback:

Compass
Electronics:

Miscellaneous

Author:



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:

14.jpg (78535 bytes)
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.

15.jpg (114396 bytes)
Click picture to enlarge. The green wire is hooked up to the low voltage side of the bobbin to measure the ignition pulses.

22.jpg (586001 bytes)
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:

Opeldisplayschematic.jpg (52784 bytes)
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:

16.jpg (72445 bytes)

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

17.jpg (67769 bytes)
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.

18.jpg (28913 bytes)
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.




footer.gif (959 bytes) Eelke Visser, 04 oktober, 2009
www.eelkevisser.nl