Links
Gallery
Fixes
Parts
LC tech
For Sale
Z20LET
VXR8
| |
BACK
Sitting comfortably ?, then lets begin :-)
(remember the following is not my work, it's
from Malcolm Robb ! )
You're driving along at 30MPH in a
built up area, minding your own business
when you notice a 4PPOS (fill in your own pet hate here) gaining on you
fast. He then proceeds to follow so closely that you become convinced that
his front bumper is turning Empire Green. You approach a set of traffic
lights, which are on red. You pull up gently to a halt, and the 4PPOS pulls
alongside you (its 2 lanes here). When the lights finally turn green, what
happens next?
1) You've noticed that this young hooligan must be in a hurry. You don't
want him to endanger himself and others any more by tempting him into
trying a dodgy overtaking maneuver to get past you. So you delay pulling
away until he's had time to stall, restart, and pull away with wheels
smoking.
2) You are driving well within your limits, being environmentally friendly
and conserving fuel. If matey boy really wants to take 1000 miles of the
life expectancy of his tyres then that's fine by you. You just pull away
normally and accelerate to a safe and legal speed. If chummy really wants
by and isn't just giving your car an envious eyeballing, then providing he
has more than a modicum of car control he should be able to get by.
3) You're so peeved off with this little w**ker that you decide to teach
him a lesson and give his 4PPOS a jolly good spanking. In other words you
take the bait.
If like me
, you answered either 1) or 2) then you may as well hit
delete now.
..
..
..
..
..
..
..
Ahh, so you answered 3) . You're nearly as bad as that 4PPOS vandal aren't
you. Still, I wouldn't want you to let the side down and make an arse of
yourself, so you'd better know a few things about how the Lotus Carlton ECU
works, and what you can do to help yourself get the most out of the car.
The turbos on the Lotus Carlton can almost double the power output of the
engine. They work by using the exhaust gasses to power a turbine which pump
air into the inlet. The more exhaust gasses there are, the faster the
turbine spins, and the more air gets pumped into the intake. Potentially,
this process could grow out of control, with more inlet gasses producing
more exhaust gasses, causing the turbo to spin faster and faster, pumping
in more and more inlet gas producing more and more exhaust etc,etc, till
BOOM - something explodes, probably the head gasket.
To prevent this happening, the turbos are fitted with wastegates. These are
basically valves which when open allow the exhaust gasses to bypass the
turbine, thus reducing the speed which they spin at. A spring-loaded
membrane which is connected to a pipe that comes from the inlet manifold
side of the turbo controls the valve. When the pressure of air in the inlet
becomes sufficient to overcome the spring in the wastegate, the wastegate
opens and the turbine is bypassed. It's a pretty crude system, but it
works. On the Lotus Carlton, the spring is supposed to be set so that the
wastegates open at 1.55 Bar absolute (0.55bar, or 8 psi of boost). All of
this is basically mechanical, and has little to do with the ECU. But it
gets more interesting.
For long term reliability reasons, the turbo waste gates have to be set to
relatively conservative settings. However, wouldn't it be good if, under
certain circumstances, you could have a little more boost, so you could
p*** from a much greater height on that 4PPOS. Well someone at Lotus also
thought this. What about if we put a valve in the pipe between the inlet
manifold side of the turbo and the wastegate, and electrically control the
switching of the valve with the ECU. When the valve is closed, the
wastegate works as normal, and limits the boost to 0.55 bar. When the valve
is open, the boost can grow, potentially out of control, but we can monitor
the pressure in the inlet manifold using a sensor (called the Manifold Air
Pressure, or MAP sensor) and when it reaches a predefined limit, the ECU
can close the valve again, so the waste gates open, and the excess can
bleed away.
Better still, the ECU can pulse the valve open and closed very quickly - so
quickly that it works more like a variable pressure regulator than a simple
open or closed valve. Calibration is a process of trial and error, and the
actual values depend on lots of things (like RPM and engine load), but with
the valve closed the MAP should read 1.55 bar. With the valve open 50% of
the time, perhaps the absolute pressure will be 1.8bar. With the valve open
70% of the time, maybe 1.9bar. The percentage of the time the valve is open
is called the Waste Gate Duty Cycle, or WGDC for short. It's the WGDC that
allows you to get that extra grunt when you really want it.
Obviously there is a limit to the amount of boost we can get and still keep
the head gasket in its rightful place. The ECU continually monitors MAP,
and if the pressure exceeds 1.98Bar (0.98 Bar or 14psi of boost) the ECU
panic's and cuts off the fuel supply from the injectors to try and restore
sanity. Fuel delivery won't resume until MAP drops to less than 1.60 Bar
again.
Right, if you already understood how turbos, you already knew all the
above. But what you probably don't know is how the ECU works out what WGDC
to apply, on the LC at least. It all revolves around tables of numbers in
the ECU chip.
The first table calculates the basic WGDC as a function of RPM and Engine
load (NTPSLD). The values shown are the ones found in the standard LC chip.
You do understand hexadecimal, don't you? Basically $FF means 100% WGDC
(continuously open), and $00 means 0% WGDC (continuously closed). The ECU
software can linearly interpolate values such that, say, for NTPSLD of 93%
and RPM of 3850 it will use a value of ?? for WGDC. (Go on do the maths
yourself - answer at the end)
; NTPSLD 0% 12% 25% 37% 50% 62% 75% 87% 100%
____________________________________________
L8886: db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 0 RPM
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 400 RPM
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 800 RPM
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; 1200 RPM
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FE,$FE ; 1600 RPM
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$F0,$A0 ; 2000 RPM
db $00,$00,$00,$00,$00,$00,$00,$32,$A5 ; 2400 RPM
db $00,$00,$00,$00,$00,$00,$00,$65,$88 ; 2800 RPM
db $00,$00,$00,$00,$00,$00,$00,$65,$88 ; 3200 RPM
db $00,$00,$00,$00,$00,$00,$00,$6B,$8E ; 3600 RPM
db $00,$00,$00,$00,$00,$00,$00,$5A,$87 ; 4000 RPM
db $00,$00,$00,$00,$00,$00,$32,$64,$99 ; 4500 RPM
db $00,$00,$00,$00,$00,$00,$32,$64,$CF ; 5000 RPM
db $00,$00,$00,$00,$00,$00,$32,$64,$CF ; 5500 RPM
db $00,$00,$00,$00,$00,$00,$00,$8C,$A5 ; 6000 RPM
db $00,$00,$00,$00,$00,$00,$00,$00,$00 ; 6500 RPM
It's obvious from this table that the WGDC is only really used at high
engine loads (above 75%), and above 2000 revs. Engine load is basically
calculated from the throttle setting, so you're gonna need to floor it to
get it going. But you knew that.
The section of code next takes account of vehicle speed. If we exceed a
preset speed, it reduces the WGDC by an amount proportional to the excess.
The standard LC code sets this speed to 255MPH
Not gonna have a great
deal of effect then unless you drive off a cliff !
The results from the NTPSLD/RPM table are next modified to take account of
any knock sensor activity, or more accurately, any ignition angle knock
retard that the ECU is currently applying. If the knock sensor picks up any
signs of knock, pre-detonation, pinking, pinging, or whatever you want to
call it, then the ignition is retarded until it stops. Up to 10 degrees of
knock retard can be applied by the ECU. The amount of retard applied
depends on duration of the knocking. The retard angle is increased very
rapidly by the ECU whilst knock is being detected, and when the knock
stops, it is removed (decayed) again quite slowly. Obviously, if the
knocking starts again whist the retard is being decayed, the retard is
increased rapidly again.
So how does the knock retard angle effect the WGDC? Well basically if the
retard angle exceeds 5.6 Degrees for more than 0.625 seconds, then the ECU
starts to 'retard' the WGDC as well. This WGDC retard (WGDCR) will increase
rapidly until the knocking stops, and it can reach the point very quickly
where the resultant WGDC is 0% . Once the knocking has stopped, the WGDCR
doesn't start decaying until the knock retard angle drops to less than 2.8
degrees. Once this happens, the WGDCR starts to decay slowly. If knock
re-occurs before WGDCR has decayed to 0, then WGRDC will start to increase
again - it doesn't have to wait another 0.625 seconds, or for the retard
angle to exceed 5.6 degrees. Another thing that happens when WGDCR is non
zero that the MW1_MV10MIN bit in the MW1 variable is set. I'll describe
what effect this has later.
WGDCR is subtracted from WGDC, and the result used from here on. If the
WGDCR is non zero, then the rest of the code is skipped, and the WGDC will
be used as is - even if it comes to zero. So eliminating knock is VERY
important in getting max performance out of your LC. For this reason, you
should be using the best quality fuel you can get - ideally 98 octane or
better. Joe Ellis is running 104 octane, although the doesn't get it from
his local Shell or Esso! You can get 'false knock' which is mechanical
noise picked up by the knock sensor. Check your engine mounts, and look for
any loose engine fittings - like the charge cooler or ignition coil pack.
I'm also told that oil can cause knock if it gets into the cylinder. How
are your piston rings, valve stem seals & turbo barings ?
Ok, assuming you haven't got knock, the next thing the ECU factors in is
the ambient air pressure, more commonly known as barometric pressure. If
the baro is low, as it will be at altitude on that skiing trip to the alps
for instance, then the turbos will need to work harder to reach the desired
MAP pressure. The LC has a barometric pressure sensor to make this
correction, and the following table is then used to make adjustments.
L891F: db $C8 ; BARO = 0.68 Bar WGATEDC +28.1%
db $B4 ; BARO = 0.76 Bar WGATEDC +20.3%
db $8C ; BARO = 0.80 Bar WGATEDC +4.7%
db $87 ; BARO = 0.88 Bar WGATEDC +3.0%
db $78 ; BARO = 0.96 Bar WGATEDC -3.1%
db $78 ; BARO = 1.04 Bar WGATEDC -3.1%
Again, the ECU software can interpolate intermediate values. Not much you
can do to influence things here. Isabel Lang and her chums control the BARO
- you'll have to take it up with her.
The code now makes a VERY interesting decision. Elsewhere in the code, the
ECU monitors vehicle speed and RPM. If the vehicle speed is less than 2MPH,
and the RPM is greater than 2700 RPM, the ECU sets a flag in a variable,
and starts a timer. The timer lasts 10 seconds, and the flag will remain
set regardless of RPM during this time. After 10 seconds when the timer
expires, or if the speed exceeds 135 MPH (which is difficult - 2 to 135 MPH
in less than 10 seconds ?) the flag is cleared. However, if the same
conditions still exist, then the flag will be immediately set again, and
the timer restarted. But if the car is now moving, or the RPM has dropped,
then the flag won't be set again.
So why does this matter ? Coz the variable is called the Waste Gate Mode
Word (WGATEMW) and the flag is called (by me at least) LAUNCH. But before
we get carried away, let's follow the branch of code that gets taken if
WGATEMW_LAUNCH is clear - i.e. the boring bit.
The ECU maintains a table of 16 values called the Waste Gate Block Learn
Memories (WGBLM). These values are used to adjust the WGDC to correct for
differences between the desired MAP and the actual MAP at various RPM's. As
you drive along, the ECU is continually tweaking the values in these
WGBLM's up and down. Ideally, they should all be set to 0%, but as engines
and turbos age, they can become far from ideal. The adjustment range is
approximately plus or minus 48%. If the ECU determines that any more than
this is required, it sets a trouble code and disables the WGDC completely.
Not good.
In the previous paragraph I stated that the ECU compares the desired MAP
with the expected MAP. To do this it uses two tables, L8861 and L8872,
which are shown below.
L8861: db $D1 ; 1.71 Bar @ 0 RPM
db $D1 ; 1.71 Bar @ 500 RPM
db $D1 ; 1.71 Bar @ 1000 RPM
db $D1 ; 1.71 Bar @ 1500 RPM
db $D1 ; 1.71 Bar @ 2000 RPM
db $D4 ; 1.74 Bar @ 2500 RPM
db $D4 ; 1.74 Bar @ 3000 RPM
db $D1 ; 1.71 Bar @ 3500 RPM
db $C3 ; 1.61 Bar @ 4000 RPM
db $C3 ; 1.61 Bar @ 4500 RPM
db $C3 ; 1.61 Bar @ 5000 RPM
db $C8 ; 1.64 Bar @ 5500 RPM
db $C8 ; 1.64 Bar @ 6000 RPM
db $C8 ; 1.64 Bar @ 6500 RPM
db $00 ; 0 Bar @ 7000 RPM
db $00 ; 0 Bar @ 7500 RPM
db $00 ; 0 Bar @ 8000 RPM
L8872: db $CF ; 1.70 Bar @ 0 RPM
db $CF ; 1.70 Bar @ 500 RPM
db $CF ; 1.70 Bar @ 1000 RPM
db $CF ; 1.70 Bar @ 1500 RPM
db $CF ; 1.70 Bar @ 2000 RPM
db $CF ; 1.70 Bar @ 2500 RPM
db $CF ; 1.70 Bar @ 3000 RPM
db $CC ; 1.67 Bar @ 3500 RPM
db $BC ; 1.55 Bar @ 4000 RPM
db $B9 ; 1.53 Bar @ 4500 RPM
db $B9 ; 1.53 Bar @ 5000 RPM
db $B9 ; 1.53 Bar @ 5500 RPM
db $B9 ; 1.53 Bar @ 6000 RPM
db $B9 ; 1.53 Bar @ 6500 RPM
db $00 ; 0 Bar @ 7000 RPM
db $00 ; 0 Bar @ 7500 RPM
db $00 ; 0 Bar @ 8000 RPM
Which table is used depends on the setting of the MW1_MV10MIN flag in the
MW1 variable. This bit is cleared when the vehicle speed is O MPH, and set
once the vehicle has been moving for 10 minutes. The L8861 table is used
whilst MW1_MV10MIN is clear, and table L8872 is used when MW1_MV10MIN is
set.
So, you can see that for the first 10 minutes of movement, a slightly
higher MAP is permitted, and hence more engine power. After 10 minutes, the
ECU switches to using the lower MAP table. I suppose Lotus hope you won't
notice
You'll also remember from earlier that the MW1_MV10MIN bit is
set whenever WGDCR is non zero. This means that any significant knock
sensor activity will also restrict the amount of boost you can achieve. To
switch back to the higher boost table, all you need to do is stop ( 0 MPH)
for a fraction of a second.
The only conditions where the lower boost is an issue is if you attend
track days, or thrash down Nevada state highways twice a year. After 10
minutes on the move, like it or not, you'll loose some power. A Swedish
member suggested an as yet untried solution to this problem. "On one of the
straight, drive off onto the grass. Dip the clutch and yank on the
handbrake. As the wheels lock, and you skid on the grass, your Speedo will
drop to 0 MPH. Once this has happened, release the handbrake, and engage
the clutch, return to the tarmac, and resume" . As I say, an as yet
untested solution 
But what happens if WGATEMW_LAUNCH is set. If, and only if, WGATEMW_LAUNCH
is set then an additional amount of WGDC is added in depending on RPM. The
amount is calculated using the following table.
L8925: db $00 ; WGATEDC = +0% @ 0 RPM
db $00 ; WGATEDC = +0% @ 500 RPM
db $00 ; WGATEDC = +0% @ 1000 RPM
db $00 ; WGATEDC = +0% @ 1500 RPM
db $00 ; WGATEDC = +0% @ 2000 RPM
db $00 ; WGATEDC = +0% @ 2500 RPM
db $00 ; WGATEDC = +0% @ 3000 RPM
db $00 ; WGATEDC = +0% @ 3500 RPM
db $50 ; WGATEDC = +31% @ 4000 RPM
db $50 ; WGATEDC = +31% @ 4500 RPM
db $50 ; WGATEDC = +31% @ 5000 RPM
db $20 ; WGATEDC = +12% @ 5500 RPM
db $20 ; WGATEDC = +12% @ 6000 RPM
db $20 ; WGATEDC = +12% @ 6500 RPM
db $20 ; WGATEDC = +12% @ 7000 RPM
db $00 ; WGATEDC = +0% @ 7500 RPM
db $00 ; WGATEDC = +0% @ 8000 RPM
If WGATEMW_LAUNCH is set, then that concludes the WGDC calculation. The
WGBLM's aren't used, and nor are the desired MAP tables. The value is
stored in a memory variable, and subsequently written to a piece of
hardware within the ECU called a pulse width modulator which controls the
switching of the wastegate valve.
Has the penny dropped yet ? Less than 2MPH, greater than 2700 RPM, and we
get up to 31% extra WGDC for up to 10 seconds. 10 seconds - that's probably
enough to get to - say - 100MPh
So if your answer to my original question was 3) , then I reckon the
following is your best bet. Engage first gear and press the throttle to get
2700+ RPM (say 3000 to be safe). Then simultaneously drop the clutch and
floor the throttle. Do not wait around once you've reached 2700+ RPM
because you are eating into your 10 seconds of WGATEMW_LAUNCH time. As soon
as you exceed 2700 RPM, floor it and drop the clutch. (Don't worry about
that burning smell - it'll be either the clutch or tyre smoke or both
)
Hang on for grim death, and DON'T HIT THE REV LIMITER. Change into second
at around 6000 RPM/50 MPH (after about 5 seconds) and keep gunning it. 80
MPH in second is just possible, but the national speed limit is 70, and we
are all law-abiding motorists - aren't we. If you happen to be at Santa Pod
however, into third at 6000 RPM/80 MPH/8 Sec, and then to 4th at 6000
RPM/120 MPH/12 Sec. By now WGATEMW_LAUNCH has dropped out, so we're back to
standard (MW1_MV10MIN clear) WGDC, and you've still got a bit to do. Keep
going, and you should be on for a 135 MPH/13.5 Sec quarter mile.
Now unless that 4PPOS was something very, very special, it should just be a
dot in your rear view mirror by now. Job done, point proved, 4PPOS peeved
on.
But what about rolling road's I hear you cry. I want to get the best BHP
figures. One thing to seriously consider first is cooling. Your car will
get VERY hot running at full chat, and if its stationary on the rolling
road, there will be next to no airflow through the radiator. YOU MUST
ENSURE THAT ADAQUATE FAN COOLING IS AVAILABLE, and the electric fan that is
built into the car ISN'T ADAQUATE. You have been warned. Not only do you
need airflow through the radiator, but you also want cold (dense) air going
into the engine to get the most power out of it. Also make sure the rear
tyres are correctly inflated - pressures have a huge effect on the final
readings apparently.
Ok what next. Well obviously to get the most power we want the MW1_MV10MIN
bit clear, and the WGATEMW_LAUNCH bit set before we start. The first bit is
easy. Stop for a fraction of a second and MW1_MV10MIN will be cleared.
WGATEMW_LAUNCH is more of a problem, because most rolling road power runs
are done in 3rd or 4th gears, and if you rev to 2700 and just drop the
clutch in 3rd you are more likely to stall than get a good BHP figure.
Another possibility is you'll burn the clutch out.
No I reckon you've got to persuade the rolling road operator to do it in
2nd gear, and be careful of the rev limiter. Basically - Stop to clear
MW1_MV10MIN, then rev to 2700+ RPM to set WGATEMW_LAUNCH. If you can,
engage 2nd gear and gently 'pull away'. Once the clutch has stopped
slipping, floor it. You need to get to 5500 rpm as quickly as possible -
that's where max power is. On the normal road, 5500RPM in 2nd is around
65MPH, and can be reached in about 6.5 seconds. That leaves about 3.5
seconds of WGATEMW_LAUNCH time remaining for the rolling road operator to
correctly measure the power output.
If you get the chance, repeat this more than once, because any knock sensor
activity will seriously affect the results. You might also try doing the
same in 3rd gear, and accelerating through the gears. But whatever,
remember you need to be at 5500RPM within 10 seconds to get the best
results. I've never tried it myself, so I can't be sure my predictions are
correct. It would be nice to know though.
Cheers,
Malcolm Robb, LC 0112G
PS - I recon its
NTPSLD of 93% = (93/100) * 255 = 237 = $ED. The ECU will linearly
interpolate between NTPSLD cells $E and $F (i.e. 14 and 15)
RPM or 3850 = (3850/8000) * 255 = 123 = $7B. The ECU will linearly
interpolate between RPM cells $7 and $8
So the four cells of interest are L8886[$E,$7], L8886[$E,$8], L8886[$F,$7]
and L8886[$F,$8]. Making sure you round up & down correctly at each stage,
you should get a result of $81, or just over 50% WGDC.
BACK
|