Last week in Part 11 we looked at measuring analog and digital signals. This week, we’ll see what can be done with those signals.
Intercepting and altering ECU input and output signals is the easiest way of modifying complex car electronic systems. This is because the ECU can detect what is occurring only through the signals that are fed to it, and can influence outcomes only by its output signals. So change the input signals and the ECU’s outputs change, or change the outputs and the outcomes change.
Many people turn their noses up at intercepting input or output signals, making the point that it is better to alter the ECU software so that the ECU changes its internal behaviour to suit the modifications. Absolutely unambiguously, these people are right: it is vastly better to do it at a software level – so long as the ECU software has been ‘cracked’ and the rewrite software is extensive and detailed.
Unfortunately though, perhaps 99.9 per cent of car electronics systems do not have this re-write software available.
Therefore, if you own a car for which (say) EcuTek software is available, then by far the best way of modifying that car system is with that software (normally accessed through a workshop). However, if you’re not modifying one of the 0.1 per cent of electronic car systems for which the software is available, an interceptor becomes the only viable option.
Note that I am talking not just about engine management systems, but also stability control systems, traction control systems, auto transmission control systems, hybrid braking control – the whole lot.
Analog Input Signal Interception
An analog signal (a voltage that varies steplessly) is an easy signal to intercept and modify. The cheapest way of doing this is with the Jaycar Electronics Digital Fuel Adjuster. This is available as a kit (cheap!) or prebuilt (much more expensive!) – both can be bought through the AutoSpeed shop. I helped developed this product when I contributed to Silicon Chip electronics magazine.
The Digital Fuel Adjuster (DFA) can modify any analog signal. The signal as a whole can be raised or lowered (like we previously saw in this series could be done with a pot) but more importantly, the shape of the adjustment curve can be set however you wish. So for example, if you are intercepting the airflow meter signal and want to change the car’s mixtures when the car is operating out of closed loop, you can adjust only the voltages that correspond to the top-end of the engine’s output.
The adjustment of mixtures in this way does not need an rpm or MAP sensor input: the airflow meter signal already contains ‘rpm’ and ‘load’ elements – it’s a very information-rich signal.
The interception and modification of the airflow meter signal gives rise to another important point, one that applies to all signal interception. The ECU uses the airflow meter signal to tell it engine load, so altering this signal will change everything the ECU does on the basis of load. For example, in addition to altering the amount of fuel it causes the injectors to flow, it will also alter ignition timing – and perhaps auto trans shift-points, etc. Therefore, when intercepting a signal, you should always think-through the implications for other car behaviours.
Intercepting an analog signal is as simple as cutting the wire from the sensor to the ECU, feeding the sensor end to the ‘in’ terminal of the interceptor, and feeding the ‘out’ terminal of the interceptor to the ECU. Unless you change the signal so radically that the ECU decides something is very wrong, the ECU won’t perceive anything different to normal.
Digital signals can also be intercepted. One example is when making corrections to the speedo reading, where the frequency of the signal needs to be altered. If the speedo is reading about 9 per cent slow, the frequency might need to be increased by 9 per cent right across the board.
However, compared with analog, things get much trickier when intercepting digital signals. Let’s take a look in more detail at intercepting the speed signal.
There are different ways in which speed signals are generated but let’s look first at the simplest. Some older speed sensors are built into the speedo of the car and comprise a reed switch that is closed whenever a magnet passes. If the magnet spins with the speedo drive, the switch will open and close rapidly as the car is driven along. The faster the car is travelling, the faster the switch is turned on and off.
This diagram shows the system. Each time the magnet gets near the reed switch, it closes, sending a 5V to the ECU. Then, when the magnet moves away from the reed switch, the switch opens, turning off the 5V. The results is an on/off 5V signal – a square wave.
Now, let’s take a closer look at what happens inside the ECU. The arrangement could be like this – the signal goes straight into a microcontroller that looks at the signal’s frequency and then works out how fast the car is travelling. When the reed switch is closed, there’s 5 volts being fed into the micro input. But what happens when the reed switch is open? Then there’s nothing – the input is just floating! Any electrical noise on the input could be seen as a signal – not good.
So to avoid that problem, here’s what is done. A resistor is wired between the input and ground. When the reed switch is closed, 5 volts is available on the micro’s input – the resistor is too high in value to prevent much current passing through it to ground. But when the reed switch opens, the resistor can ‘pull’ the micro input to ground. Now the input is no longer floating because it’s tied to ground. This resistor is called a ‘pull down’ resistor.
So that’s a pull-down resistor – but what about a pull-up? It’s very much the same idea but this time the other side of the reed switch is connected to ground and the pull-up resistor is tied to 5V. When the reed switch is open, the input to the micro is pulled-up to 5V. When the reed switch is closed, the input to the micro is pulled-down to ground. (Note the voltage of the pull-up doesn’t have to 5V – it could be 12V.)
Therefore, when intercepting a digital signal, the right pull up or pull down approach must be maintained – otherwise, the ECU will see something wrong.
Digital interceptor modules (such as speedo correctors) have different wiring options to take these different situations into account.
Output interception is normally done only with digital signals. Two different characteristics may be modified – the duty cycle of the signal, or the frequency. Most often, you want to change the duty cycle of the signal, and maintain the standard fixed or variable frequency.
For example, if you want to change the flow through a duty cycle (PWM) controlled solenoid valve (turbo boost control, diesel fuel pressure, EGR control, fuel injectors, power steering control, etc), you alter the duty cycle.
Again there is a kit available that lets you cheaply do this – the Digital Pulse Adjuster, Part 1. This is another product I helped develop and uses the same hand controller as the Digital Fuel Adjuster described above.
As with intercepting digital input signals, there’s a trick with intercepting digital output signals that operate solenoids.
The ECU directly drives the coil in the solenoid and monitors what current the solenoid is drawing. If the solenoid draws no current (or only very little current), the ECU assumes the solenoid is broken. If you connect the output of the ECU directly to the input of the interceptor, the ECU sees only the load being placed on it by the interceptor. This is much lower than the current draw of the original solenoid, and so the ECU trips a fault code. To prevent this, a resistor of suitable value (resistance and power dissipation) needs to be connected in parallel with the interceptor input. In effect, this resistor acts as a ‘fake load’.
I haven’t mentioned commercial interceptors, primarily because I have never used one! The Digital Fuel Adjuster, Digital Pulse Adjuster and Speedo Interceptor modules (the latter also available as a kit), together with simple resistors and pots, have been sufficient for my modification needs.
However, intercepting and variably altering ignition timing signals (normally achieved by intercepting the digital input signal from the crank-angle sensor) cannot be done with simple and cheap tricks - you need a good quality commercial interceptor. (There is a kit available but I have never tried it, so I am loath to recommend it.)
Also, if you want to construct modifications that rely on 2-dimensional and 3-dimensional look-up tables, eg correlating boost pressure against engine load and intake air temp, you need a better interceptor than so far covered in this article.
I think that probably the best is the ChipTorque Xede – I have not used it but I have looked at it very closely, seen it in use, and looked through its (freely available) software. See http://www.chiptorque.com.au for more details. Incidentally, this product can also intercept and alter analog signals, generate boost solenoid control output signals, etc – so in a car, you’d normally use it to do multiple functions.
If I wanted to intercept ignition timing or perform 2D and 3D mapping mods, I’d use that product.
On a scale of easy to hard on the interception continuum, there’s:
1. Intercepting and altering analog input signals (pot, DFA)
2. Intercepting and altering digital input signals (DPA, speedo interceptor)
3. Intercepting and altering duty cycle output signals (DPA, perhaps a heavy duty pot)
4. Intercepting and altering ignition timing signals (commercial interceptor)
5. Intercepting and altering multiple signals, 2D and 3D mapping (commercial interceptor)
It’s important that you realise that some very simple and cheap intercepting techniques can result in extremely good outcomes. But, by the same token, there are also some tricks to be aware of, otherwise things can get difficult really fast!
Next week, in the final part of this series, we’ll look at the best overall approach to take to DIY modificaton of car electronics.