Silicon ChipSpeedo Corrector - Performance Electronics for Cars SILICON CHIP
  1. Outer Front Cover
  2. Feature: Publisher's Notes & Disclaimer
  3. Feature: Introduction
  4. Contents
  5. Feature: Understanding Engine Management by Julian Edgar & John Clarke
  6. Feature: Advanced Engine Management by Julian Edgar & John Clarke
  7. Feature: Other Electronic Systems by Julian Edgar & John Clarke
  8. Feature: Modifying Car Electronic Systems by Julian Edgar & John Clarke
  9. Feature: DIY Electronic Modification by Julian Edgar & John Clarke
  10. Feature: Building Project Kits by Julian Edgar & John Clarke
  11. Feature: Using A Multimeter by Julian Edgar & John Clarke
  12. Project: Smart Mixture Meter by Julian Edgar & John Clarke
  13. Project: Duty Cycle Meter by Julian Edgar & John Clarke
  14. Project: High Temperature Digital Thermometer by Julian Edgar & John Clarke
  15. Project: Versatile Auto Timer by Julian Edgar & John Clarke
  16. Project: Simple Voltage Switch by Julian Edgar & John Clarke
  17. Project: Temperature Switch by Julian Edgar & John Clarke
  18. Project: Frequency Switch by Julian Edgar & John Clarke
  19. Project: Delta Throttle Timer by Julian Edgar & John Clarke
  20. Project: Digital Pulse Adjuster by Julian Edgar & John Clarke
  21. Project: LCD Hand Controller by Julian Edgar & John Clarke
  22. Project: Peak-Hold Injector Adaptor by Julian Edgar & John Clarke
  23. Project: Digital Fuel Adjuster by Julian Edgar & John Clarke
  24. Project: Speedo Corrector by Julian Edgar & John Clarke
  25. Project: Independent Electronic Boost Controller by Julian Edgar & John Clarke
  26. Project: Nitrous Fuel Controller by Julian Edgar & John Clarke
  27. Project: Intelligent Turbo Timer by Julian Edgar & John Clarke
  28. Feature: Resistor & Capacitor Codes

This is only a preview of the Performance Electronics for Cars issue of Silicon Chip.

You can view 38 of the 160 pages in the full issue, including the advertisments.

For full access, purchase the issue for $20.00.

Items relevant to "Smart Mixture Meter":
  • PIC16F84(A)-04/P programmed for the Fuel Mixture Display [AIRFUEL.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F84 firmware and source code for the Fuel Mixture Display [AIRFUEL.HEX] (Software, Free)
  • Fuel Mixture Display PCB patterns (PDF download) [05109001/2] (Free)
  • Fuel Mixture Display panel artwork (PDF download) (Free)
Items relevant to "Duty Cycle Meter":
  • PIC16F84A-20(I)/P programmed for the Duty Cycle Meter [dutycycl.hex] (Programmed Microcontroller, AUD $10.00)
  • Firmware (HEX) files and source code for the Duty Cycle Meter [dutycycl.hex] (Software, Free)
  • Duty Cycle Meter PCB patterns (PDF download) [05car021-3] (Free)
Items relevant to "High Temperature Digital Thermometer":
  • High Temperature Automotive Thermometer PCB pattern (PDF download) [05car041] (Free)
Items relevant to "Versatile Auto Timer":
  • PIC16F84(A)-04/P programmed for the Versatile Auto Timer [oneshott.hex] (Programmed Microcontroller, AUD $10.00)
  • Firmware (HEX) files and source code for the Versatile Auto Timer [oneshott.hex] (Software, Free)
  • Versatile Auto Timer PCB pattern (PDF download) [05car081] (Free)
Items relevant to "Simple Voltage Switch":
  • Simple Voltage Switch PCB pattern (PDF download) [05112081] (Free)
Items relevant to "Temperature Switch":
  • Temperature Switch PCB pattern (PDF download) [05car101] (Free)
Items relevant to "Frequency Switch":
  • Frequency Switch PCB pattern (PDF download) [05car051] (Free)
Items relevant to "Delta Throttle Timer":
  • Delta Throttle Timer PCB pattern (PDF download) [05car071] (Free)
Items relevant to "Digital Pulse Adjuster":
  • Pair of PIC16F628A-I/P programmed for the Digital Pulse Adjuster [pwmmod.hex & pwmadjst.hex] (Programmed Microcontroller, AUD $20.00)
  • Firmware (HEX) files and source code for the Digital Pulse Adjuster [pwmmod.hex/pwmadjst.hex] (Software, Free)
  • Digital Pulse Adjuster / Electronic Boost Controller PCB pattern (PDF download) [05car131] (Free)
Items relevant to "LCD Hand Controller":
  • LCD Hand Controller PCB pattern (PDF download) [05car141] (Free)
  • LCD Hand Controller front panel artwork (PDF download) (Free)
Items relevant to "Peak-Hold Injector Adaptor":
  • Peak-Hold Injector Adaptor PCB patterns (PDF download) [05car151-2] (Free)
Items relevant to "Digital Fuel Adjuster":
  • PIC16F628A-I/P programmed for the Digital Fuel Adjuster [voltmod.hex] (Programmed Microcontroller, AUD $10.00)
  • Firmware (HEX) files and source code for the Digital Fuel Adjuster [voltmod.hex] (Software, Free)
  • Digital Fuel Adjuster PCB pattern (PDF download) [05car121] (Free)
Items relevant to "Speedo Corrector":
  • PIC16F84A-20(I)/P programmed for the Speedo Corrector [corector.hex] (Programmed Microcontroller, AUD $10.00)
  • Firmware (ASM and HEX) files for the Speedo Corrector [corrector.hex] (Software, Free)
  • Speed Corrector PCB pattern (PDF download) [05car091] (Free)
Items relevant to "Independent Electronic Boost Controller":
  • Pair of PIC16F628A-I/P programmed for the Electronic Boost Controller [pwmcntrl.hex & pwmadjrl.hex] (Programmed Microcontroller, AUD $20.00)
  • Firmware (HEX) files and source code for the Electronic Boost Controller [pwmcntrl.hex/pwmadjrl.hex] (Software, Free)
  • Digital Pulse Adjuster / Electronic Boost Controller PCB pattern (PDF download) [05car131] (Free)
Items relevant to "Nitrous Fuel Controller":
  • Nitrous Fuel Controller PCB pattern (PDF download) [05car111] (Free)
Items relevant to "Intelligent Turbo Timer":
  • PIC16F84A-20/(I)P programmed for the Intelligent Turbo Timer [turbotmr.hex] (Programmed Microcontroller, AUD $15.00)
  • Firmware (ASM and HEX) files for the Intelligent Turbo Timer [turbotmr.hex] (Software, Free)
  • Intelligent Turbo Timer PCB pattern (PDF download) [05car031] (Free)
Chapter 20 Speedo Corrector Get your electronic speedo reading accurately! F ITTED A DIFFERENT diff ratio? Changed tyre size? Changed to a different gearbox or speedo cluster? If so, you’re probably now pulling your hair out trying to find a cheap way of correcting the speedo reading. This project will solve all your prob- lems. It’s an electronic speedo corrector that allows you to alter the reading in 1% increments, either upwards or downwards. It’s also ideal if you want to change the speed input to other car electronic systems. But before you can use the “Speedo Main Uses •  Correct inaccurate speedos in standard cars •  Correct inaccurate speedo caused by changed diff ratio •  Correct inaccurate speedo caused by changed tyre diameters •  Intercept and modify speed signal; eg, to power steering weight control or auto transmission controller siliconchip.com.au Corrector” you’ll have to find the speed sensor output wire and in addition, you’ll also need to use a multimeter to make some measurements of the working sensor. The easiest way of doing this is to jack up the driven wheels, place the chocked car on axle stands, and let the wheels be driven in free air while you do the measuring. High speeds aren’t needed – and we recommend that you don’t try them. Make sure that you can locate the speed sensor wire before buying and building the kit! Construction Construction of the Speedo Corrector is straightforward and all the cirPERFORMANCE ELECTRONICS FOR CARS 129 Parts List 1 PC board coded 05car091, 78 x 46mm 1 DIP 18-pin IC socket for IC1 2 BCD switches (S1,S2) 1 10MHz parallel resonant crystal (X1) 2 2-way PC-mount screw connectors 3 3-way pin headers, 2.54mm pitch pin spacing 3 jumper shunts, 2.54mm spacing 1 2m length of heavy-duty red hookup wire 1 2m length of heavy-duty green hookup wire 1 4m length of heavy-duty black hookup wire 1 50mm length of 0.8mm tinned copper wire Fig.1: when assembling the PC board, take care with the orientation of the BCD switches, the PIC and the other polarised components. Use this diagram and the photos of the completed project to help you in your assembly. Initially, leave R1 and R2 off the board – depending on the application, one of these may be added later. Semiconductors 1 PIC16F84A-20/P microcontroller programmed with corector.hex (IC1) 1 MC34064 supply supervisor (IC2) 2 BC337 NPN transistors (Q1,Q2) 1 BC327 PNP transistor (Q3) 1 LM2940CT-5 low dropout automotive regulator (REG1) 1 1N4004 1A diode (D1) 1 16V 1W zener diode (ZD1) Capacitors 1 100µF 25V PC electrolytic 1 10µF 16V PC electrolytic 1 100nF MKT polyester (code 104 or 100n) 1 10nF MKT polyester (code 103 or 10n) 1 1nF MKT polyester (code 102 or 1n) 2 22pF ceramic (code 22 or 22p) Resistors (0.25W 1%) 7 10kΩ 1 6.8kΩ 3 1kΩ 1 150Ω At only 78 x 46mm, the Speedo Corrector is small enough to fit almost anywhere. Corrections are easy to dial-up too – just set the two switches to give the up or down percentage correction that’s needed. cuitry is on a small board measuring 78 x 46mm and coded 05car091. Ensure that you get the correct orientation for the polarised components like the PIC (IC1), electrolytic capacitors and the diodes. If you intend mounting the unit in a jiffy box, the metal tab for RESISTOR COLOUR CODES 130 Value 4-Band Code (1%) 5-Band Code (1%) 10kΩ 6.8kΩ 1kΩ 150Ω brown black orange brown blue grey red brown brown black red brown brown green brown brown brown black black red brown blue grey black brown brown brown black black brown brown brown green black black brown PERFORMANCE ELECTRONICS FOR CARS REG1 should be cut off with a hacksaw to keep the height of the components on the PC board sufficiently low. At this stage, don’t install R1 or R2 – whether they’re needed or not will be found in the next section. Configuration The Speedo Corrector is designed to intercept the signal between the speed sensor and the speedo. In most cars, the speedo is driven from the ECU. This means that you can either intercept the signal between the speed sensor and the ECU or between the ECU and the speedo. Alternatively, you can use the Speedo Corrector to alter speed inputs siliconchip.com.au Mechanical Speedo? The Speedo Corrector will work only on electronic speedos (ie, those that don’t have a mechanical rotating cable driving them). However, note that some mechanical speedos have an electronic output that sends speed information from the speedo to the ECU, so if you want to alter the ECU speed input, you can still do so. But it won’t change the speedo reading. What About A Tacho? The Speedo Corrector will also work with electronic tachos that take their feed from the ECU (ie, all cars with engine management). The configuration procedure is the same as for use of the device as a speed interceptor, except the “speed sensor” becomes the tacho output signal from the ECU. to the engine management system, power steering system or auto transmission control unit, allowing lots of interesting modifications. For example, if the auto trans system thinks that the road speed is different from what it really is, you can alter auto trans shift schedules. You can even alter the speed input to the ECU and then re-correct it with another Speedo Corrector inserted after the ECU so that the speedo stays accurate! All this versatility means that the Speedo Corrector needs to be configured for the specific type of situation in which it is working. This is done by means of three moveable links and two resistors (R1 & R2) on the PC board. The three links can each be placed in either of two positions, while one or none of the resistors may need to be fitted. Fig.1 shows these links and the two resistors, which are called “pullup” and “pull-down” resistors. The first step is to tap into the working speedo sensor wire and use a multimeter to measure the signal when the driving wheels are rotating. The speed sensor wire is best found using the workshop manual. The upper part of the decision diagram of siliconchip.com.au Fig.2: follow the steps in this decision diagram to configure the Speedo Corrector for your application. The first procedure is done by tapping into the working speedo sensor wire, while the second procedure is carried out by probing the speed sensor with its output no longer connected to the speedo or ECU. Fig.2 shows the procedures to follow to install the pull-up/pull-down resistors and the links. The next step is to cut the speed sensor output wire and make some more measurements of the signal coming from the isolated sensor. The lower part of Fig.2 shows you what to do next. With link LK1, link LK3 and the pull-up/pull-down resistors configured correctly, it’s now time for link LK2. This one is easy though – it simply determines whether the speed correction is up or down. If the speedo is reading too high and you want to reduce the reading, install link LK2 at “S”. Alternatively, if the speedo is reading too low and you need to increase the reading, install link LK2 at “F”. Installation Having configured the Speedo Corrector, installation is easy. Connect ignition-switched +12V and ground to the unit, then connect the “In” terminal to the sensor and the “Out” terminal to what ever the sensor was previously connected to. With the two BCD switches both set on “0”, the speedo should read as it did before. Non-Linearity? Note that this Speedo Corrector will not compensate for non-linear errors. In other words, if the speedometer is 10% out at 25km/h and 4% out at 100km/h, you won’t be able to use this unit to make it accurate at all speeds. However, most speedometer errors are proportional and so can be easily dialled-out with this unit. PERFORMANCE ELECTRONICS FOR CARS 131 How It Works The circuit is based on microcontroller IC1, which is programmed to alter an incoming frequency by a set amount. The exact amount is set using two rotary switches, which alter the frequency in 1% steps. A separate jumper selection allows the output to either provide a faster or a slower output frequency compared to the input. The speedometer signal is applied to the input of the circuit which has the options of a 1kΩ pull-up resistor (R1) or a 1kΩ pull-down resistor (R2). The pull-up resistor can be connected to either the +12V or +5V supply by link LK1. The input signal is then fed via a 10kΩ resistor to zener diode ZD1, which ensures the level can not go above +16V or below -0.6V. A parallel 10nF capacitor filters the signal which then drives transistor Q1 via a voltage divider consisting of another 10kΩ resistor and a 6.8kΩ resistor. Q1’s collector inverts the signal and drives the pin 6 input of IC1 via a 10kΩ pull-up resistor and a 150Ω series resistor. A 1nF capacitor filters any high-frequency voltage variations. The pin 6 input includes a Schmitt trigger internal to IC1 which ensures a clean signal for measurement. The rotary BCD switches (S1 and S2) are monitored via the RB1-RB7 inputs and the RA4 input. The RB inputs are normally held high via internal pull-up resistors within IC1, while the RA4 input uses a 10kΩ resistor to ensure this input is high unless pulled low via S2. The switches provide a unique BCD (binary coded decimal) value on these inputs for each setting and this value is monitored by the software in IC1 to determine the frequency change required. The resulting output signal appears at IC1’s RA2 and RA3 pins and is fed to transistor Q2 via a 10kΩ resistor. Q2’s collector is held high via a 1kΩ resistor which connects to either the +12V or +5V supply. Q2’s collector also drives Q3 which has a pull-down resistor at its collector. The collector outputs at Q2 and Q3 provide the pull-up or pull-down outputs required and one of these outputs is selected using link LK3. LK2 selects whether the output runs faster or slower than the input. If the output is to run faster, then LK2 is installed at “F” so that RA1 is pulled high. Conversely, if the output is to run slower, RA1 is pulled low by installing LK2 at “S”. IC2 performs a power-on reset to ensure that IC1’s pin 4 input is only switched high when the supply is above about 3.5V. For voltages below 3.5V, IC1 is held in the reset state. IC1 is operated at 10MHz using crystal X1. This frequency was chosen so that the software program in IC1 can run at sufficient speed to operate with speedo signals up to 600Hz. If the crystal is replaced with a 20MHz version, the frequency of operation can be doubled to 1.2kHz. Power for the circuit is fed via diode D1 which provides reverse polarity protection and then to an LM2940CT-5 regulator (REG1) which is designed specifically for automotive applications and includes voltage transient protection. The 100µF capacitor at REG1’s input provides a further degree of transient voltage suppression and filtering. That is, there should be no change in its behaviour. Switch S1 (the switch nearest the bottom when the PC board is orientated as shown in the photos) corrects the speedo reading in single units, so in this case where we want a correction of 5%, simply set S1 to “5”. Remember, whether the resulting correction is up or down depends on the position of link LK2. S2 alters the correction by tens, so a setting of “1” on S2 and “5” on S1 results in a 15% correction. Using the two switches in combination allows the speedo reading to be altered by as much as 99% or as little as 1%. And by everything in between! To set the speedo, you will need an accurate reference. This can be provided by a handheld GPS, another car with a known accurate speedo or even, if you ask nicely, a police car. Just make sure that you have an assistant do the adjusting as you drive! You can also use the “speedo check” distances that are marked on some roads – although strictly speaking, this is checking the accuracy of the odometer rather than the speedometer. Once the Speedo Corrector has been set correctly, it can be placed in a jiffy box or wrapped in insulation tape or heatshrink and tucked up behind the  dash out of sight. Making Adjustments The speed reading can be altered in 1% increments. This is most easily explained if you use a test speed of 100km/h. If the speedo is wrong by 5km/h at 100km/h, the adjustment needed is about 5%. Specifications Output rate ............................................... adjustable in 1% steps from 0-99% Output ..............................either faster or slower than the input at the set rate Minimum input frequency for operation ....................................................2Hz Maximum input frequency for operation .....600Hz (1.2kHz with 20MHz crystal) Maximum voltage to signal input ...................................................... 50V RMS Input sensitivity .......................................................................... 2.75V peak Power supply ........................................................................ 9-15V at 20mA 132 PERFORMANCE ELECTRONICS FOR CARS Fig.3: all the clever stuff in this circuit is done by the PIC microcontroller, IC1. It takes the speedo signal and multiplies by a factor set by the two rotary switches. Depending on how link LK2 is installed, the speedo signal can be either increased or decreased. siliconchip.com.au Transmission and other modifications can make your car’s speedo inaccurate but having an accurate speedo can save you dollars and licence points. This project allows you to correct the speedo’s reading in 1% increments. siliconchip.com.au PERFORMANCE ELECTRONICS FOR CARS 133