Instructions to change fuel maps on 14CUX Griffith, Chimaera

Instructions to change fuel maps on 14CUX Griffith, Chimaera

Author
Discussion

Griffian

22 posts

100 months

Wednesday 25th November 2015
quotequote all
Thanks for such a detailed reply. Some really useful new bits of information there. Particularly the bit about the ADC mux, disabling the trimpot and powering the O2 sensor.
stevesprint said:
Do you mean safe for the mixture ie not dangerously lean, or safer way to amend the chip binary file or safely create a smooth RPM curve.
The theory is around smoothing and getting a "First, do no harm" extended RPM map which mirrors the factory map before attempting induction changes, rescaling etc. As you're the RPM guru, I've contacted you by email to review it first so I can avoid publishing misinformation...

stevesprint

Original Poster:

1,114 posts

178 months

Friday 27th November 2015
quotequote all
Griffian said:
Thanks for such a detailed reply. Some really useful new bits of information there. Particularly the bit about the ADC mux, disabling the trimpot and powering the O2 sensor.
Wow sounds like you have already made some serious progress and therefore I assume you realise I disabled the CO trim pot by removing $09 from the Mux table and added another $FA at the end which interestingly is the same as the cat mux table.

Apparently lambda sensors clog up if installed and not powered up but that’s best explained by Mark Blitz.

Griffian said:
The theory is around smoothing and getting a "First, do no harm" extended RPM map which mirrors the factory map before attempting induction changes, rescaling etc. As you're the RPM guru, I've contacted you by email to review it first so I can avoid publishing misinformation...
I look forward to your email because I’ve spent a lot of late nights smoothing rpm tables and I’ve since had several requests for different rpm set points.

In addition I look forward to your email as I wasn’t keen to blindly extend the Griff 500 rpm set points for you because of the following:
I realise extending the fuel table set points from 5,500rpm to 6250 means the last column in the fuel table would comes into play at 6250rpm instead of 5,500, and the second to last column would comes into play at 5250rpm instead of 4753 etc. Therefore is it safe to simply shift the data in the table to the left and duplicate the right column. I’ve noticed when extending the set points the rpm column index reduces for the lower rpm set points, hopefully keeping in line with the moved point. For example the column index for 5,500 rpm in the 5,500rpm table is 240 but the column index for the 5,500rpm set point in the 6250 rpm table drops to 221 because 5,500 is now lower in the table.

From experience yes but doing it untested on someone else’s car is too scary especially when you consider the volumetric efficiency at 6250 rpm is different to 5,500 rpm.

I never thought of myself as the rpm table guru but I take your point and agree its time to continue this discussion offline.


Griffian

22 posts

100 months

Sunday 29th November 2015
quotequote all
stevesprint said:
Griffian said:
I have ordered a TL866CS PROM burner for about £35-40 which looks to be widely compatible and works with 64 bit windows. Will send a link if it turns out to work!
Please let us know how your TL866CS PROM burner works on 64-bit Windows.
I'm pleased to report that the TL866CS burner works perfectly under both 32-bit Windows 7 and 64-bit Windows 10. I've read a couple of 27C256 EPROMS and burned some 99p eBay 28C256 EEPROMS which read back fine and also work in the ECU. You can find them for as little as £35 on eBay with 8-9 extra modules for writing other formats of chip (which I doubt I'll ever use).

It supports thousands of different (E)EPROMS. The software is basic, but does everything you need including a built-in hex editor.

Oops - forgot the promised link... Here's one with out the extra adaptors for £27

http://www.ebay.co.uk/itm/High-Speed-TL866CS-Progr...


Edited by Griffian on Sunday 29th November 19:24

cmb

103 posts

174 months

Friday 4th December 2015
quotequote all
RoverGauge 0.8.3 fixes the issue of the wrong RPM limit being read if you connect before the engine is started:

https://github.com/colinbourassa/rovergauge/releas...

Because the RAM location for the RPM limit is populated in the main spark interrupt routine, this field will only be read once the engine has been started (or at least cranked long enough for RoverGauge to see an engine speed greater than zero.)

stevesprint

Original Poster:

1,114 posts

178 months

Monday 7th December 2015
quotequote all
Griffian said:
The theory is around smoothing and getting a "First, do no harm" extended RPM map which mirrors the factory map before attempting induction changes, rescaling etc. As you're the RPM guru, I've contacted you by email to review it first so I can avoid publishing misinformation...
Griffian

Thanks for your very cleaver spreadsheet, it certainly hides the complexities of changing the RPM set points in the fuel table and allows an engine tuner with Excel and TunerPro to quickly and easily change RPM columns headings. Its brilliant how you just enter your own choosen RPM set points and your spreadsheet generates the data to copy and paste into TunerPro. It's that easy!!

I've finally had a chance to load and test your new RPM table with the lower 200 and 480 RPM columns removed and the higher points spread more evenly. I also shifted the fuel data cells left 2 columns to keep the fuelling data alignment correct. I then went for a drive with your new RPM columns and I'm pleased to report the engine idled and pulled as normal plus the AFR appeared ok. Although this initial test is really good news, long term thorougher testing with AFR logging is required.

You can see from this screen shot the idle, that is normally in column 6, is now in column 4.


I always assumed Lucas created the very low 200 & 480 RPM points for good reasons but now I'm starting to agree with you and MPO.

This proves we can now easily change the RPM fuel table set points, for example to suit different cams or move the RPM fine line between shunting and overrun popping.

Thanks again for your valuable contribution, you're now the RPM table guru wink

stevesprint

Original Poster:

1,114 posts

178 months

Monday 7th December 2015
quotequote all
cmb said:
RoverGauge 0.8.3 fixes the issue of the wrong RPM limit being read if you connect before the engine is started....
Thanks Colin

Griffian

22 posts

100 months

Tuesday 8th December 2015
quotequote all
stevesprint said:
Thanks for your very cleaver spreadsheet ...
No problem - feel free to publish it on your pages if you think it's not too dangerous for general use. I don't have any webspace set up right now, and it makes sense for it to be alongside all the related info anyway. I might try to create a LibreOffice version in keeping with the open/free nature of this project. I suspect the time consuming bit will be converting the VBA.
stevesprint said:
... I then went for a drive with your new RPM columns
Wow! Great to get the feedback, but I didn't expect you to experiment on your own car using my guesswork and supposition. smile

Griffian

22 posts

100 months

Saturday 12th December 2015
quotequote all

Switchable firmware versions - a simple method

(plus Switchable tune resistor - a cheap and neat method)

I saw some earlier discussion about this, but I don't know if anyone has already attempted it.

Reason


It is desirable when testing or even for road use to have different tunes easily available, and we can already do quite a lot by making the tune resistor switchable. However, this limits us to changing things that reside in the 786 bytes of fuel maps 1-5. Unfortunately quite a few useful things are global to all fuel maps like idle/overrun control, MAF row offset and importantly the RPM table brackets. These parameters cannot normally be switched without something like the Moates Ostrich.

Recap


First a quick recap of what we already know: The 14CUX was designed to take the now obsolete 27128 EPROM which holds 16k. This was superceded by the 27C256 which is double the size. We now generally, use the 28C256 EEPROM which is also 32k because it's much faster to rewrite. These two devices reuse an existing pin related to programming for the extra address line A14. Perversely they both uses a different one. Due to the hardware permanently holding both these lines high, only the top half of the PROM is visible to the processor resulting in our remapping being done on addresses 0x4000 and above by things like TunerPro.

Method


All that's required to get at the lower half of these PROMS is to make the new address line switchable. This not only makes all tune values switchable but allows an entirely different firmware version to be tested without opening the case to change back and forth. I don't think anyone fancies modifying their board, but it can be done without any board changes. The only permanent change to the ECU is a hole for the switch in the plastic panel near the main connector.

I don't take credit for this idea. It's just recycled from the BBC micro days back in the 80s when we used to bend an EPROM leg so it hung out of the socket and solder a switchable wire directly to it (I still have some 27128 EPROMS in the loft!).

Instructions


Note that this description only applies to the 28C256 EEPROM. If you are using 27C256 UV-erasable EPROMS, you need to switch a different address line (A14 is on pin 27 instead of pin 1).

1) Remove the ECU from the car and take the cover off by removing 4 Torx screws.

2) Take a ZIF socket or lock/eject socket which has pins compatible with the orginal soldered-in socket on your board. I have found the Aries Series 526 low profile ZIF socket to be perfect for this. Identify pins 1, 14 and 28 remembering that you will be working on the underside so in mirror image to the diagrams you will find.

3) Carefully cut the square standoff pads off and cut notches near pins 1, 14 and 28 to allow wires to be soldered without preventing the socket from fully seating. Bend pin 1 gently outwards into the notch so it will not connect to the board socket. You may also want to cut it little shorter. Bend only once to avoid breaking it.

4) Take 3 cores of thin wire (part of a ribbon cable is ideal) and plan the lengths and routing to go back away from the notch/lever end. Solder the centre core to the bent pin 1 (address line A14) and the outer cores to pins 14 (vss ground) and 28 (vcc 5V).


It's hard to see in this picture but the bottom right pin is pin 1 (A14) with the bent leg, top right is pin 28 and bottom left is pin 14 both of which have intact legs.

5) Epoxy the wires along the edge of the ZIF socket so they cannot shake loose.

6) Solder the other ends to an ultra-miniature SPDT ON-ON toggle switch (Maplin FH98G). Centre core (Pin 1 A14) to the common contact and an outer core (Pins 14 and 28) to each of the switched contacts.

7) Triple-check the pin numbers, wiring and switch operation with a multimeter. In either switch position, pins 14 and 28 should be open circuit. In the 'High' position, pins 14 and 1 should be connected and pins 28 and 1 should be open circuit. In the 'Low' position pins 28 and 1 should be connected and pins 14 and 1 should be open circuit.

7) Drill a 5mm hole through the plastic panel next to the springy clip and mount the switch through it. You need to be very precise to allow space for a nut inside and out and avoid fouling the clip. 17mm from the edge and on the horizontal centre line should be about right. Screw the switch in with a nut inside and out to get the depth right. No room for a washer inside.



8) Plug the ZIF socket into the board socket.

9) Prepare a 28C256 EEPROM with two identifiably different firmware images in the top and bottom halves. MIL light enable/disable is ideal if yours is wired correctly (rare). Otherwise pick a different revision number and check with Rovergauge. You can make the composite image using HxD as recommended by Stevesprint for general hex editing.

10) Plug the PROM into the ZIF socket. It should all look something like this:



Reassemble and test that the firmware changes on toggling in the car. Do not change the switch position when the igniton is turned on and you may also have to unplug the ECU to force a reset.

I've also done a 'Deluxe' pluggable version of this with my old ECU which makes the PROM and the tune resistor remotely switchable. I wouldn't advocate this on a 'live' ECU as it's much riskier to take the board signals outside the case.



P.S. The cheapest, simplest resistor switchpack I've been able to work out is the one below. The pin pitch and diameter are the same as that of a standard Molex male power plug for a computer fan etc.




davep

1,141 posts

283 months

Saturday 12th December 2015
quotequote all
That's a couple of very useful fixes Griffian, another little job to do. Could you tell us about the selector switch unit with the purpose designed and annotated front panel, looks interesting. I assume O = Open Loop, C = Closed Loop, L = Low and H = High?

Griffian

22 posts

100 months

Saturday 12th December 2015
quotequote all
davep said:
That's a couple of very useful fixes Griffian, another little job to do. Could you tell us about the selector switch unit with the purpose designed and annotated front panel, looks interesting. I assume O = Open Loop, C = Closed Loop, L = Low and H = High?
Yes, to be honest it's overkill really. The integrated switch and Molex resistor pack is just as good and safer. Cat cars only need maps 2/4/5 and non cat 1/2/3 - just unplug for 0/Limp.

You're correct in your assumtions. The Low/High is to switch to the 0x0000 or 0x4000 memory offset which I've designated Test/Live because the high bank is the default in a standard ECU. The trailing wires go to the resistor socket (I haven't found a suitable receptacle like the AMP blue ones). The other lead goes to a 3.5mm stereo plug/jack wired to the ZIF socket so that when it's unplugged it defaults back to +5V and so uses the normal high memory range.



You can't see in the photo but the last rotary switch position is L for "Limp" which leaves the resistor connection open circuit to trigger limp-home mode (map 0)

It's all made from easily available parts from Maplin. The legend on the panel was knocked up using the excellent free SVG editor, Inkscape then printed and covered Blue Peter style in sticky-back-plastic.

I have more photos and an instruction document which you are welcome to. I don't want to post it pub;icly because taking the board level signals outside the ECU case without any buffering really is potentially fatal to your ECU. A wiring failure or even just pulling the plug while running could short circuit the 0V and 5V and ICs make even better fuses than PCB tracks! It should not be undertaken lightly.

DaveG

111 posts

256 months

Sunday 13th December 2015
quotequote all
Tune Resistor/Map question??. Apologies for "jumping" topic. I have been fighting the dreaded 'light shunt' for the past 4 years on a Griff 500 - tuning with Megasquirt (MS2 / EDIS). As a last resort experiment I have reverted back to 14CUX/Dizzy to compare symptoms. Car goes really well, but shunt still there.
I have just experimented with Blue Tune resistor (1.8k - Cat), replacing the standard White (3.9k - Cat) and it has made an improvement, but 'light shunt' is still present. Can any of you clever RoverGuage experts expand on the difference between the Blue and the White Cat maps. Knowing the difference might well help me in what has become a desperate and exhausting quest!

blitzracing

6,387 posts

219 months

Sunday 13th December 2015
quotequote all
You just need to add more fuel in the shunting region. The catalyst map and lambda feedback will try and pull it back to 14.7: 1 but you can still skew the mixture to be a bit richer. Ive got a suitable map for the 5ltr if you want to ping me a mail Ill send you one.

blitzracing

6,387 posts

219 months

Sunday 13th December 2015
quotequote all
You just need to add more fuel in the shunting region. The catalyst map and lambda feedback will try and pull it back to 14.7: 1 but you can still skew the mixture to be a bit richer. Ive got a suitable map for the 5ltr if you want to ping me a mail Ill send you one.

blitzracing

6,387 posts

219 months

Sunday 13th December 2015
quotequote all
You just need to add more fuel in the shunting region. The catalyst map and lambda feedback will try and pull it back to 14.7: 1 but you can still skew the mixture to be a bit richer. Ive got a suitable map for the 5ltr if you want to ping me a mail Ill send you one.

TomcatErik

18 posts

110 months

Thursday 17th December 2015
quotequote all
Well, here I am again. Next year we will go for a bigger challenge with the Tomcat, a 2400km rally through the Moroccan dessert. Therefore we have a new short build by mr Eales in the UK, this 5.15L short engine will be providing the power. Hopefully with a bit more torque than the 3.9L we had. At the moment I'm preparing the new bin file for the "running in" of the engine so we can cover the first 500km before going on the dyno.

The engine will be built using the 5.15L stroker from JE developments, together with stage-2 heads. Intake and exhaust systems are standard off a TVR. The entire system is controlled by the standard 14CUX injection system with a 5AM MAF sensor in open loop (no O2 sensor). I'm a bit lost in the information and files that I have available from the previous firmware I constructed for the 3.9L, therefore I think it's a good moment to restructure everything and start off with a good set of files and settings.

What I want:
- No roadspeed limit
- Extended fuelmap to 6200rpm (as we had)
- Easier starting with warm engine (stepper fully open)

Who can point me the right way with the latest information?

One other minor question, what is the typical setting for the load based row index on a 240BHP 3.9L? Would this be $91 or $B2?

This is our current rpmtable:

rpmTable DB $04, $B9, $40, $00 ; 6203 RPM
DB $05, $B0, $00, $12 ; 5150 RPM
DB $06, $A8, $00, $10 ; 4400 RPM
DB $07, $9C, $00, $10 ; 3850 RPM
DB $08, $9A, $80, $F6 ; 3405 RPM
DB $0A, $76, $80, $7F ; 2800 RPM
DB $0D, $F3, $80, $48 ; 2100 RPM
DB $10, $BD, $80, $60 ; 1750 RPM
DB $14, $ED, $80, $3D ; 1400 RPM
DB $1A, $A2, $80, $2C ; 1100 RPM
DB $20, $8D, $80, $2B ; 900 RPM
DB $25, $8F, $80, $33 ; 780 RPM
DB $29, $DA, $80, $3B ; 700 RPM
DB $2F, $40, $80, $2F ; 620 RPM
DB $3D, $09, $80, $12 ; 480 RPM
DB $92, $7C, $40, $2F ; 200 RPM


Edited by TomcatErik on Thursday 17th December 19:47

stevesprint

Original Poster:

1,114 posts

178 months

Friday 1st January 2016
quotequote all
TomcatErik said:
Well, here I am again. Next year we will go for a bigger challenge with the Tomcat, a 2400km rally through the Moroccan dessert. Therefore we have a new short build by mr Eales in the UK, this 5.15L short engine will be providing the power. Hopefully with a bit more torque than the 3.9L we had. At the moment I'm preparing the new bin file for the "running in" of the engine so we can cover the first 500km before going on the dyno.

The engine will be built using the 5.15L stroker from JE developments, together with stage-2 heads. Intake and exhaust systems are standard off a TVR. The entire system is controlled by the standard 14CUX injection system with a 5AM MAF sensor in open loop (no O2 sensor). I'm a bit lost in the information and files that I have available from the previous firmware I constructed for the 3.9L, therefore I think it's a good moment to restructure everything and start off with a good set of files and settings.

What I want:
- No roadspeed limit
- Extended fuelmap to 6200rpm (as we had)
- Easier starting with warm engine (stepper fully open)

Who can point me the right way with the latest information?

One other minor question, what is the typical setting for the load based row index on a 240BHP 3.9L? Would this be $91 or $B2?
Erik
My latest 4.3L precat firmware contains the three fixes in your wish list and is available from
www.stevesprint.com/remap-14cux/bins/R3652_430_625...

I'll happily email you a copy with the full 500 cat map & extended data copied into the non cat map but I don't know how it will run as I've never been asked for a precat 500 before, should be interesting.

The load based row index for a 240BHP 3.9L is $B2 and the 430, 450 & 500 are $91.

Your 2400km rally through the Moroccan dessert sounds like an exciting challenge, good luck.

stevesprint

Original Poster:

1,114 posts

178 months

Friday 1st January 2016
quotequote all
TomcatErik said:
This is our current rpmtable:

rpmTable DB $04, $B9, $40, $00 ; 6203 RPM
DB $05, $B0, $00, $12 ; 5150 RPM
DB $06, $A8, $00, $10 ; 4400 RPM
DB $07, $9C, $00, $10 ; 3850 RPM
DB $08, $9A, $80, $F6 ; 3405 RPM
DB $0A, $76, $80, $7F ; 2800 RPM
DB $0D, $F3, $80, $48 ; 2100 RPM
DB $10, $BD, $80, $60 ; 1750 RPM
DB $14, $ED, $80, $3D ; 1400 RPM
DB $1A, $A2, $80, $2C ; 1100 RPM
DB $20, $8D, $80, $2B ; 900 RPM
DB $25, $8F, $80, $33 ; 780 RPM
DB $29, $DA, $80, $3B ; 700 RPM
DB $2F, $40, $80, $2F ; 620 RPM
DB $3D, $09, $80, $12 ; 480 RPM
DB $92, $7C, $40, $2F ; 200 RPM
Does this mean you use Dan's rebuild project and you would prefer the fixed asm files?

TomcatErik

18 posts

110 months

Saturday 2nd January 2016
quotequote all
Steve, indeed I'm using the rebuild project. I like this more for editing and structuring. Do you have a fixed asm file that includes these things? I will send you a mail so you have my e-mail address for sure.

p.s.
I hope to have the ECU dump of an original 5.0L bowler wildcat soon. It is running rather rich (feels like a carbon-monoxide poisoning when it drives by) so I'm curious what it contains. I'll share the bin when I have it.

stevesprint

Original Poster:

1,114 posts

178 months

Sunday 3rd January 2016
quotequote all
TomcatErik said:
Steve, indeed I'm using the rebuild project. I like this more for editing and structuring. Do you have a fixed asm file that includes these things? I will send you a mail so you have my e-mail address for sure.

p.s.
I hope to have the ECU dump of an original 5.0L bowler wildcat soon. It is running rather rich (feels like a carbon-monoxide poisoning when it drives by) so I'm curious what it contains. I'll share the bin when I have it.
Excellent, I’m impressed.
Yes, I have the fixes in the source code so I’ll email you my ignitionInt.asm and idleControl.asm. I’ll also knock up a precat 500 data file for you with the improved rpm table to 6250rpm but you must get the AFR checked in case it's dangerously lean.

The bowler Wildcat dump could be useful.

TomcatErik

18 posts

110 months

Sunday 3rd January 2016
quotequote all
I think i will go for our original map we made on the rolling road for the 3.9 as the heads inlet and exhaust are identical. After the first 300km of break-in we will go for the rolling road again. Hope to see 300bhp at the rear wheels.

The engine specs for the interested readers:
JE developments 5.15L crossbolted V8
Bore 94.5mm
Stroke 91.5mm
Conrods 5.700" centres
Pistons are forged Omega
Compression ratio: 10.0:1
Stage 3 heads (JE developments) fully ported
Inlet valve: 42.8mm
Exhaust valve: 36.2mm
Tvr plenum and trumpets
Tvr exhaust manifold with straight open pipe to the back (no silencers)

I will try to post some pics soon. Hopefully we'll have it up and running in two weeks. To cope with the torque we will upgrade the clutch to sintered bronze, to keep a bit of driveability we want to go for a custom hybrid clutch.