Tuesday, 29 October 2013
Fuel Shut-Off on Closed Throttle
Just had a quick look at what the OEM ECU does when the throttle is shut.
If the engine speed is above 2220 RPM, the ECU will stop injecting until it drops to 1900 RPM.
When it does start injecting again the pulse width appears to be increased by ~5ms over the base width whilst throttle is closed.
Tuesday, 24 September 2013
Injector Pulse Width vs Battery Voltage
Today I have mostly been looking at injector pulse width against battery voltage for the OEM ECU.
It looks like the ECU uses it's 'base' pulse width when the battery voltage is above 16.5V
Below 16.5V the ECU increases the pulse width as the voltage decreases.
Here's the raw data I measured (voltage,pulse width increase in ms):
I also noticed that whilst the ignition advance doesn't appear to be affected by battery voltage, the ignition dwell time is and increases at battery voltage falls.
It looks like the ECU uses it's 'base' pulse width when the battery voltage is above 16.5V
Below 16.5V the ECU increases the pulse width as the voltage decreases.
Here's the raw data I measured (voltage,pulse width increase in ms):
5, 3.262
6, 3.262
7, 2.912
8, 2.167
9, 1.555
10, 1.156
11, 0.779
12, 0.516
13, 0.357
14, 0.24
15, 0.132
16, 0.048
17, 0
18, 0
19, 0
I also noticed that whilst the ignition advance doesn't appear to be affected by battery voltage, the ignition dwell time is and increases at battery voltage falls.
Friday, 20 September 2013
Ignition During Cranking
Had a quick look at what happens during cranking today.
Couldn't see any affect on the injector outputs, but the ignition outputs were mildly interesting.
Here's one ignition output at 500 rpm normal running (upper trace is crank pulse, lower is ignition output):
And here it is again but with the cranking input driven high:
Couldn't see any affect on the injector outputs, but the ignition outputs were mildly interesting.
Here's one ignition output at 500 rpm normal running (upper trace is crank pulse, lower is ignition output):
And here it is again but with the cranking input driven high:
Monday, 5 August 2013
CAS vs Injector Pulse Relationship
Just a few pics showing the relationship between the CAS signals and the injector outputs on the stock ECU:
The last pic shows the relationship between the crank pulse and the start of the fuel pulse. Not that the fuel pulse always starts at the same place, around 500-600us after the falling edge of the crank signal, regardless of RPM or load. The width is varied by changing the end point of the pulse.
Here's a slightly dubious pic of some of the traces stitched together (if only I had a 4-channel scope!):
The last pic shows the relationship between the crank pulse and the start of the fuel pulse. Not that the fuel pulse always starts at the same place, around 500-600us after the falling edge of the crank signal, regardless of RPM or load. The width is varied by changing the end point of the pulse.
Here's a slightly dubious pic of some of the traces stitched together (if only I had a 4-channel scope!):
Friday, 5 July 2013
Fuel Pulse Width
I got my dev board measuring the fuel pulse width today.
Here's a quick pic of pulse width against rpm and afm volts:
More details to follow when I've had time for some more investigation...
Here's a quick pic of pulse width against rpm and afm volts:
More details to follow when I've had time for some more investigation...
Tuesday, 2 July 2013
Stock Rev Limit
I started looking at the fuelling on the stock ECU today.
The first thing I did was look at where the RPM limit was.
It looks like the ECU stops injecting fuel above 7197 RPM, and doesn't start injecting fuel again until the revs drop below 6935 RPM.
The first thing I did was look at where the RPM limit was.
It looks like the ECU stops injecting fuel above 7197 RPM, and doesn't start injecting fuel again until the revs drop below 6935 RPM.
Monday, 24 June 2013
Stock Ignition Map Continued
I've been doing some more work extracting the stock ignition map.
I've tried changing ECT and IAT temperature, enabling/disabling TEN, and playing with the WOT and closed throttle switches.
So far the only thing that seems to affect the timing is whether the closed throttle switch is shorted to GND or not.
Closed throttle ignition timing:
Open throttle ignition timing:
The data can be downloaded here and here.
I've tried changing ECT and IAT temperature, enabling/disabling TEN, and playing with the WOT and closed throttle switches.
So far the only thing that seems to affect the timing is whether the closed throttle switch is shorted to GND or not.
Closed throttle ignition timing:
Open throttle ignition timing:
The data can be downloaded here and here.
Friday, 21 June 2013
Idle Valve Drive
Just had a quick look at the idle speed output.
With TEN shorted to GND it outputs a fixed 160Hz PWM with a negative width of ~2.6ms and a positive witdh of ~3.6ms.
It seems unaffected by AFM voltage and RPM.
At some point I'll look at what it does when TEN isn't enabled.
With TEN shorted to GND it outputs a fixed 160Hz PWM with a negative width of ~2.6ms and a positive witdh of ~3.6ms.
It seems unaffected by AFM voltage and RPM.
At some point I'll look at what it does when TEN isn't enabled.
Wednesday, 19 June 2013
First attempt at extracting the stock Ignition Map
I've been doing some more fiddling with the stock ECU and can now control the RPM and AFM voltage going into it, and measure the spark angle coming out (using my STM dev board).
I wrote a little bit of code that steps the RPM and AFM voltage and spits the spark angle out of the UART.
I logged the UART data and inserted it into Excel and managed to produce this:
As before I've currently got TEN shorted to GND, and a fixed resistor for IAT (2k) and ECT (330R), and closed/wide-open throttle inputs left open.
Note that I've added 10 degrees to the angles to account for the stock static 10 degree offset.
I'll publish the raw data once I've done some more work and confirmed what I'm doing and what I think I'm measuring are correct.
One more note whilst I'm thinking about it - The ECU logs an error when the AFM voltage drops to 0.2V or lower.
---
Update: Although the static timing is set at 10 degree on the MX5, I've just been looking at the spark outputs again - at idle with TEN and closed throttle shorted to GND (the conditions under which static timing is set on the engine) the spark triggers at 3 degrees before the falling edge of the crank signal.
So, rather than being at -10 degrees, I think the falling edge of the crank signal is probably more like -7 degrees.
Though given that people often increase the advance by 2 to 4 degrees on the 1.6 engine my additional 10 degrees advance is probably about right!
I wrote a little bit of code that steps the RPM and AFM voltage and spits the spark angle out of the UART.
I logged the UART data and inserted it into Excel and managed to produce this:
As before I've currently got TEN shorted to GND, and a fixed resistor for IAT (2k) and ECT (330R), and closed/wide-open throttle inputs left open.
Note that I've added 10 degrees to the angles to account for the stock static 10 degree offset.
I'll publish the raw data once I've done some more work and confirmed what I'm doing and what I think I'm measuring are correct.
One more note whilst I'm thinking about it - The ECU logs an error when the AFM voltage drops to 0.2V or lower.
---
Update: Although the static timing is set at 10 degree on the MX5, I've just been looking at the spark outputs again - at idle with TEN and closed throttle shorted to GND (the conditions under which static timing is set on the engine) the spark triggers at 3 degrees before the falling edge of the crank signal.
So, rather than being at -10 degrees, I think the falling edge of the crank signal is probably more like -7 degrees.
Though given that people often increase the advance by 2 to 4 degrees on the 1.6 engine my additional 10 degrees advance is probably about right!
Thursday, 13 June 2013
ECT and IAT Calibration
Some notes on the ECT (engine coolant temp) and IAT (intake air temp) sensors.
The following is info I've googled, so I don't know if it's accurate or not...
The voltage is calculated from the 'googled' temp/resistance values based on the 2k7/5V pull-up in the stock ECU.
Temperature, Resistance, Voltage
-20, 16150, 4.28
40, 1150, 1.49
80, 330, 0.545
ToDo: Update with some better data when I've found it.
The following is info I've googled, so I don't know if it's accurate or not...
The voltage is calculated from the 'googled' temp/resistance values based on the 2k7/5V pull-up in the stock ECU.
Temperature, Resistance, Voltage
-20, 16150, 4.28
40, 1150, 1.49
80, 330, 0.545
ToDo: Update with some better data when I've found it.
Tuesday, 11 June 2013
CAS Signals
Just some notes on the CAS signals.
Apparently this is from the service manual of a mitsubishi 4g18 engine (which uses the same CAS as an NA)
I believe it's advanced by another 2 degrees on the MX5 though:
Some more info I found on the CAS timing signals:
The numbers are crank degrees relative to the #1 TDCC (negative being before and positive after)
crank signal (CKP) edges in one engine cycle (8 edges total):
raising edge at -80
falling edge at -10
raising edge at 100
falling edge at 170
raising edge at 280
falling edge at 350
raising edge at 460
falling edge at 530
cam sync signal (CMP) edges in one engine cycle:
raising edge at -95
falling edge at 48
raising edge at 265
falling edge at 335
Apparently this is from the service manual of a mitsubishi 4g18 engine (which uses the same CAS as an NA)
I believe it's advanced by another 2 degrees on the MX5 though:
Some more info I found on the CAS timing signals:
The numbers are crank degrees relative to the #1 TDCC (negative being before and positive after)
crank signal (CKP) edges in one engine cycle (8 edges total):
raising edge at -80
falling edge at -10
raising edge at 100
falling edge at 170
raising edge at 280
falling edge at 350
raising edge at 460
falling edge at 530
cam sync signal (CMP) edges in one engine cycle:
raising edge at -95
falling edge at 48
raising edge at 265
falling edge at 335
Stock 1.6 ECU Dwell Time
I'm currently playing around with a stock MX5 ECU on my desk.
It's a B64F ECU, which I think is off a Mk1 1.6l UK car.
Today I looked at the ignition trigger pulse width and made a graph of it against rpm:
I did this by simulating the CAS and TACHO signals using an STM32F3DISCOVERY dev board, and measured the pulse width with a scope.
I've currently got TEN shorted to GND, a fixed resistor for IAT (2k) and ECT (330R), and a variable resistor connected to the VAF input.
Changing the VAF input didn't affect the width at all (except when I went too far and caused the ECU to go into some kind of fault mode!).
I haven't tried playing with the closed or wide open throttle or crank inputs yet.
Changing the battery voltage didn't have any affect either.
I can currently measure the spark advance using the dev board, but haven't had a chance to map that out yet.
I want to get the dev board generating the VAF signal next so I can automate the spark-advance vs rpm vs flow measurement.
-----
UPDATE: Whilst playing about with the supply voltage I noticed that the ECU varies the dwell time, increasing it as battery voltage decreases.
I'll revisit this at some point and map out dwell-vs-rpm-vs-voltage.
It's a B64F ECU, which I think is off a Mk1 1.6l UK car.
Today I looked at the ignition trigger pulse width and made a graph of it against rpm:
I did this by simulating the CAS and TACHO signals using an STM32F3DISCOVERY dev board, and measured the pulse width with a scope.
I've currently got TEN shorted to GND, a fixed resistor for IAT (2k) and ECT (330R), and a variable resistor connected to the VAF input.
Changing the VAF input didn't affect the width at all (except when I went too far and caused the ECU to go into some kind of fault mode!).
I haven't tried playing with the closed or wide open throttle or crank inputs yet.
Changing the battery voltage didn't have any affect either.
I can currently measure the spark advance using the dev board, but haven't had a chance to map that out yet.
I want to get the dev board generating the VAF signal next so I can automate the spark-advance vs rpm vs flow measurement.
-----
UPDATE: Whilst playing about with the supply voltage I noticed that the ECU varies the dwell time, increasing it as battery voltage decreases.
I'll revisit this at some point and map out dwell-vs-rpm-vs-voltage.
Subscribe to:
Posts (Atom)