Background
The goal of this article is to explain some of the methods to re-program the PCM in order to alter the radiator fan parameters.
Radiator Fan
Radiator fan parameters were selected for this article because they are poorly programmed from the factory and I have been asked to alter the operation. For the JL the radiator fan is controlled by the PCM using a PWM signal. There are various temperature set points for different operation conditions (high AC pressure, high transmission temperature) but the predominate behavior is that the PCM switches on the radiator fans at a coolant temperature of 221F and then off again at around 210F. This is for all engine types as far as I can tell. The upshot of this behavior is that the coolant spends a lot of time near 220F when the operation of the radiator fan could easily lower the coolant temperature. Also the operation of the fans is on/off despite having a variable speed fan controlled by PWM. The fan operation is especially annoying off road going slow where the fan will cycle on and off over about a 1 minute internal with a lot of noise and dust when it runs full speed; whereas with correct programming it could run at a reduced speed the whole time and control the coolant temperature better and also produce less noise and dust.
Procedure
- Identify the type of PCM
- Identify the PCM part number
- Decide what method you are going to use
- Purchase a PCM to replace your PCM
- Clone your PCM to the new PCM
- Alter the new PCM data
PCM Types
The JL has PCMs manufactured by Contiental / Siemmens. There are three different kinds of PCM hardware, identifiable by the PCM connectors. GPEC2, GPEC2A and GPEC5.
PCM Part Numbers
The PCM will have a part number consisting of 8 digits followed by two letters, usually with the first letter being A. eg 68626747AG, 68575471AB, 68330909AA The second litter is the part revision, starting at A and incrementing.
The part number also can be the 'operating system' of the software in the PCM, which might be different from the part number printed on the PCM. eg 68440933AC might be found in a PCM marked 68330909AA
Cloning
Cloning is the process when the unique information in one PCM is transferred to another PCM. This is desirable so that the VIN and immobilizer settings do not need to be re-programmed into the new PCM. Once this is done both PCMs can be used interchangeably.
Selecting a PCM
x
Unlocking the PCM
x
Altering the parameters
The table we are going to change is the 'PWM Desired ECT' table. It is a 2x2 table indexed by ambient air temperature containing the target coolant temperature. The factory settings are 221F and 217F at ambient temperatures of 90F and 106F. The temperature values are internally represented in Celcius using the formula value = temperature + 64 and stored as a byte (range 0-255).
Thus 221F / 217F is 105C / 103C and stored as 0xA9 0xA7. The ambient temperature index is stored with the fan values as 32C / 41C = 0x60 0x69. So the table is 0x60 0xA9 0x69 0xA7. This is unique is every binary I have seen so the sequence is easy to find.
Writing to the PCM
x
Definitions and Terms
PCM - powertrain control module aka ECU aka engine computer. Located under the hood this controls the operation of the engine.
PWM - pulse width modulation. Used to create a de facto variable voltage and thus variable speed.