Jump to content

Discovery 2 engine emulator - make a disco work with an older engine


NRS91

Recommended Posts

Hello folks,

Just a thought of mine but would it be possible to make a chip/Micro-controller to replace the engine ECU that allows an older engine to be installed in a Disco 2 Td5 but still retain all the features that makes the D2 so lovely :)

What I am proposing is a plug in chip to replace the engine ECU with the following features:

  • Can read a crank sensor on the new engine.
  • Can read the oil pressure switch.
  • Can read the temperature sensor.
  • Puts out a 12v feed for the stop solenoid.
  • Controls an electric actuator on the fuel pump for throttle control (no changes to interior or pedal box and retains cruise control function).

Basically meaning the all the D2 ECUs are happy and the car drives like a normal D2 with fully functioning gauges etc but has a Veggie oil friendly simple engine under the hood and lets the auto work correctly.

So id like to open up a discussion on this idea...

  • what does the engine ecu need to tell the rest of the car?
  • Is this feasible technically?

Over to you :)

Link to comment
Share on other sites

Im looking into how to get a 4BT in the old Disco2 yea,
Fitting a crank sensor with D2 Temp sender and Oil pressure switch isnt an issue.
Just want to keep the electrics working for the autobox and body etc

Link to comment
Share on other sites

Can't think of anything in the BCU that's going to mind what engine's in the car. Something like cruise is obviously going to be trickier, that'd need an electric actuator on the 4BT. Here's a thread on what seems to be a 4BT conversion site that talks about putting a ZF4HP22 on a 4BT. Not sure that it answers the question, I only scanned through it and there were some nay sayers, but a start anyway.

Link to comment
Share on other sites

Hello folks,

Just a thought of mine but would it be possible to make a chip/Micro-controller to replace the engine ECU that allows an older engine to be installed in a Disco 2 Td5 but still retain all the features that makes the D2 so lovely :)

What I am proposing is a plug in chip to replace the engine ECU with the following features:

  • Can read a crank sensor on the new engine.
  • Can read the oil pressure switch.
  • Can read the temperature sensor.
  • Puts out a 12v feed for the stop solenoid.
  • Controls an electric actuator on the fuel pump for throttle control (no changes to interior or pedal box and retains cruise control function).

Basically meaning the all the D2 ECUs are happy and the car drives like a normal D2 with fully functioning gauges etc but has a Veggie oil friendly simple engine under the hood and lets the auto work correctly.

So id like to open up a discussion on this idea...

  • what does the engine ecu need to tell the rest of the car?
  • Is this feasible technically?

Over to you :)

What you want is possible only kinda the other way around, if you leave the Td5 throttle and ECU in situ and addapt the replacement engine sensor's readings to fit with it's "expectations", it's very hard to build an emulator cos most of the signals(to gauges, tachometer, speedo, ABS) are PWM not analogue and the ABS needs specific throttle and engine speed inputs compatible with the vehicle speed readings to not enter in error defaults

Link to comment
Share on other sites

The hardest part is the autobox, I'm not sure how the Td5 autobox works though. If it just needs some analogue signals, no biggie.

Your BCU will be wanting an RPM reading, this appears to be fairly universal. Usually this is "one pulse per ignition event", ie 2/rev for 4-cyl, 3/rev for 6cyl, 4/rev for 8cyl. Not sure how it works on a Td5 though :blink:

You should be able to figure out most of it by studying the wiring diagrams and pinouts in the RAVE. Ignore all the inputs to the ECM, look at the outputs.

You should be able to reuse the vacuum actuated cruise control, just attach it in a different spot :) Again, make sure it's receiving its inputs, but from the ECM that should only be RPM.

Oh, and probably the hardest part will be the immobiliser, I have no clue how this works on a D2, and what the BCU expects to see from the ECM in this regard.

Link to comment
Share on other sites

:wacko:

The autobox ECU comunicates with the Td5 engine ECU on a CAN serial data bus, i didnt even mention that cos then the conversion is almost impossible, i thought that the OP wants to convert a manual, cos the autobox needs digital inputs from the ECM as follows:

CAN version identifier, Emissions (OBD II) control, Engine air intake temperature, Engine speed, Engine speed fault flagm, Engine temperature, Engine torque, Engine torque fault flag, Friction torque, Maximum engine torque,,Reduced engine torque,
Road speed, Status of engine torque reduction, Throttle position, if these are not coming from the ECM as expected the autobox ECU will go in default limp mode with flashing warnings on dash
as you kinda contradicted my statement be advised that:

1. NOt the BCU, the engine ECU(ECM) needs the rpm reading from the crank sensor and converts it to PWM for the tachometer

2. The cruise controll is entirely dependent on the ECM cos it's electronic not vacuum controlled

3. The BCU's immobiliser comunicates with the engine ECU and if it doesnt receive the ECU's digital asecurity code it goes to immobilised status

...and there are some more issues too so just better believe me cos i know what i'm speaking about IF we are speaking about a perfectly working D2 which was Td5 and has fitted other engine not some bodge

so "no biggie" it's a bit exagerated unless you are some electronics genius ^_^

Link to comment
Share on other sites

They run a basic can link between the autobox ecu and the engine ecu,I've never scoped one to see just how complex the signal is - but they are more than happy to stuff the box into limp home mode if either end doesn't send the correct signal.

That bit would be easier to get around by using a mechanically controlled box.Does seem an awful lot of work considering how easy it is to fix,maintain and tune TD5 engines now.

Link to comment
Share on other sites

Td5 engine isnt for me, hate it with a passion.

Love the autobox and the advantages of electronic control, compushift is too expensive though.

My autobox isnt recieving a MAF reading so it musnt need that as it works normally.

So what inputs do the TCU and BCU need as a minimum?

TPS, Crank position sensor, temp sensor, oil pressure sensor are the main ones i can think of...

Link to comment
Share on other sites

I'll preface by saying I've only really looked into this on a P38.

:wacko:

The autobox ECU comunicates with the Td5 engine ECU on a CAN serial data bus, i didnt even mention that cos then the conversion is almost impossible, i thought that the OP wants to convert a manual, cos the autobox needs digital inputs from the ECM as follows:

CAN version identifier, Emissions (OBD II) control, Engine air intake temperature, Engine speed, Engine speed fault flagm, Engine temperature, Engine torque, Engine torque fault flag, Friction torque, Maximum engine torque,,Reduced engine torque,
Road speed, Status of engine torque reduction, Throttle position, if these are not coming from the ECM as expected the autobox ECU will go in default limp mode with flashing warnings on dash
as you kinda contradicted my statement be advised that:

1. NOt the BCU, the engine ECU(ECM) needs the rpm reading from the crank sensor and converts it to PWM for the tachometer

2. The cruise controll is entirely dependent on the ECM cos it's electronic not vacuum controlled

3. The BCU's immobiliser comunicates with the engine ECU and if it doesnt receive the ECU's digital asecurity code it goes to immobilised status

...and there are some more issues too so just better believe me cos i know what i'm speaking about IF we are speaking about a perfectly working D2 which was Td5 and has fitted other engine not some bodge

so "no biggie" it's a bit exagerated unless you are some electronics genius ^_^

That CAN communication is exactly why I said it'd only be easy if the autobox only required analogue inputs (like the earlier -E autoboxes in the GEMS P38).

Of course it's still possible if you do a lot of CANbus sniffing, it's not exactly a watertight system :)

Let's have a quick look at some essential outputs:

* A29 Output Glow plug relay Analogue 0-90 volts

* B4 Output Cooling fan relay Switch 12-0 volts A/C ECU
* B5 Output Fuel pump relay Switch 12-0 volts
* B7 Output Temperature gauge Digital 0-12 volts Instruments

* B19 Output Tachometer engine speed Digital 0-12 volts Instrument Cluster

* B21 Output Main relay Switch 0-12 volts

* B30 Output Glow plug warning light Switch 12-0 volts Instrument Cluster

* B32 Output ABS digital 0-5 volts SLABS --> lord knows what it could possibly be saying there

I did indeed forget the Td5 is drive by wire, makes the cruise a tad harder, but you should be able to use the V8 one :)

From page 1635 in the workshop manual:

The input for the tachometer is from the ECM. It is a digital signal at 2 pulses per engine revolution. When the ignition
is switched on with the engine not running, the ECM will generates pulses equivalent to 228 rev/min for diagnostic
purposes. The tachometer will not register a reading, as it only indicate engine speeds above 228 rev/min.

Again, most of this is not dark magic if you read the manual.

But I think we can now conclude the D2 is actually more complicated than the P38 :ph34r:

Link to comment
Share on other sites

the EAT(autobox) ECU needs all those signals i named to not log a fault though some of them like the MAF would not cause limp mode but they will trigger the warnings, so if you dont want to see the flashing M+S you'll have to disable them but then you'll not have warnings even in case of real trouble either...the bigger problem is that the EAT ECU needs those signals on CAN bus from engine ECM and as long as you dont measure each's form with oscilloscope to replicate it it will not work

if you leave the Td 5 engine ECU in situ is not so bad cos you can take signals from the TP sensor to replicate others but i can't see other way to keep the autobox and the instruments working as originals

Link to comment
Share on other sites

Why on earth would you try to replicate CAN messages using an oscilloscope? That's like trying to speak a language by making noises that sound like what others are saying, without having any clue what you're saying.

No, you listen to the CAN communication by hooking into the bus, and then send the relevant messages yourself. But that will need slightly more work than just hooking up a few cables to another ECM (like the other outputs).

Link to comment
Share on other sites

My Disco doesnt flash M&S with no MAF plugged in, id of thought it would be Engine Management Light if anything?

NRS91, what is it you hate about the TD5 engine - Just curious ?

Everything tbh... its just not a good 4x4 diesel... can see it being much more suited to a Rover Saloon.
Admittedly though for the engine i most despise its been the most reliable landy ive had... but when the others were 3.5v8 (carb and EFI), 200tdi running stupid boost, and a BMW engined P38 i spose its not hard....

Link to comment
Share on other sites

  • 2 weeks later...

I've been monitoring this thread for a long time. CAN BUS for LS1

This kind of CAN bus conversion is not new.

He actually talks about listening to his D2 K line in the thread, but it's slow

An arduino can emulate the PWM signal for the temp guage.

The PWM details are in the electrical library I think.

Was thinking about hooking an LS engine into the D2 using this method. Vapour build right now.

RR

Link to comment
Share on other sites

Coolant temperature gauge signal

The ECM controls the temperature gauge in the instrument cluster. The ECM sends a coolant temperature signal to

the temperature gauge in the instrument cluster in the form of a PWM square wave signal.

The frequency of the signal determines the level of the temperature gauge.

Conditions

The ECM operates the PWM signal under the following parameters:

l -40 °C (-40 °F) = a pulse width of 768 µs.

l 140 °C (284 °F) = a pulse width of 4848 µs.

Function

The coolant temperature signal is an output from the ECM to the instrument cluster. The coolant temperature signal

is generated via pin 44 of connector C0636 of the ECM.

This from the workshop manual p356. Knew I'd read it somewhere. No reason this can't be emulated. To my mind you need to be on the auto can bus and on the connection from BCU to ECU (Security only?) as well as from ECU to instrument Cluster, Can Bus info from p357. Might need to translate messages to ECU intended for EAT. That could be hard. But thats only diagnostics. Emulation required if the ECU is taken off the CAN bus tho.

Controller Area Network (CAN) system

The controller area network (CAN) system is a high speed serial interface between the ECM and the Electronic

Automatic Transmission (EAT) ECU. The CAN system uses a 'data bus' to transmit information messages between

the ECM and the EAT ECU. Because there are only two components in this CAN system, one will transmit information

messages and the other will receive information messages, and vice-versa.

Conditions

The CAN system is used by the EAT ECU and the ECM for transmission of the following information:

l Gearshift torque control information.

l EAT OBD information.

l MIL request.

l Vehicle speed signal.

l Engine temperature.

l Engine torque and speed.

l Gear selected.

l Gear change information.

l Altitude adaptation factor

l Air intake temperature

l Throttle angle / pedal position

Function

The CAN system uses a twisted pair of wires to form the 'data bus' to minimise electrical interference. This method of

serial interface is very reliable and very fast. The information messages are structured so that each of the receivers

(ECM or EAT ECU) is able to interpret and react to the messages sent.

The CAN 'data bus' is directly connected between pin 36 of connector C0637 of the ECM and pin 16 of connector

C0193 at the EAT ECU, and pin 37 of connector C0637 of the ECM and pin 44 of connector C0193 at the EAT ECU.

Link to comment
Share on other sites

So, knowing those two extreme values for the PWM signal from ECM to the gauge how would you make the gauge to rise to 1/4 and stay there between 40 - 70*C then rise and stay on the middle between 70 and 120*C and go up to red above 120*C like the original based on the output of a NTC temp sensor fitted to other engine and work like that on that engine's real coolant temp?

... IMO the gist in this discussion is not about how to ''emulate'' signals to be accepted by the D2's original equipment/systems but to take outputs from a simple engine and insert something betwen that engine and the original equipment(instrument pack, autobox ECU, SLABS, BCU) to make it work like with the original engine + ECM and also show the reality(coolant temp, revs)... so it's not about 'generating' signals out of nowhere with arduino or what ever if you see what i mean

i didnt say it's not possible just that it's much harder than it appears

Link to comment
Share on other sites

So, knowing those two extreme values for the PWM signal from ECM to the gauge how would you make the gauge to rise to 1/4 and stay there between 40 - 70*C then rise and stay on the middle between 70 and 120*C and go up to red above 120*C like the original based on the output of a NTC temp sensor fitted to other engine and work like that on that engine's real coolant temp?

... IMO the gist in this discussion is not about how to ''emulate'' signals to be accepted by the D2's original equipment/systems but to take outputs from a simple engine and insert something betwen that engine and the original equipment(instrument pack, autobox ECU, SLABS, BCU) to make it work like with the original engine + ECM and also show the reality(coolant temp, revs)... so it's not about 'generating' signals out of nowhere with arduino or what ever if you see what i mean

I agree. What i meant was that an arduino or similar can translate from the engine sensor to what the cluster needs. Simulating it first on the bench would make life easier developing it tho. Having the arduino simulate the CAN stuff at the same time would be cool too.

Link to comment
Share on other sites

... IMO the gist in this discussion is not about how to ''emulate'' signals to be accepted by the D2's original equipment/systems but to take outputs from a simple engine and insert something betwen that engine and the original equipment(instrument pack, autobox ECU, SLABS, BCU) to make it work like with the original engine + ECM and also show the reality(coolant temp, revs)... so it's not about 'generating' signals out of nowhere with arduino or what ever if you see what i mean

i didnt say it's not possible just that it's much harder than it appears

I get the impression that you think this is all dark magic or something. Everything the Td5 ECU does comes from "simple" sensors. There's no reason that can't be done by another ECU, even one of your own making. If your new engine is clockwork and doesn't already have an RPM output, you can take it from the alternator. All you need to know is at what rate the alternator is outputting pulses.

As I've mentioned before, the autobox is the hardest part, because you have to first to a fair bit of datalogging to understand the CAN messages. Generating a PWM signal from an analog input is trivial stuff.

It's all very basic reverse engineering of a system, you let it operate under known conditions, check what's happening, and deduce from that. Or you try something out, see what happens, deduce from that.

Yes, it may take a little time, but it's still not very hard to do.

Link to comment
Share on other sites

this is more like the debate i was looking for :)

sounds like it might be possible to make an 'ECU' to translate normal senders to D2 language when the pwm outputs are known

any thoughts on taking the throttle pot/cruise control setting to operate a electric linear actuator on the fuel pump?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We use cookies to ensure you get the best experience. By using our website you agree to our Cookie Policy