I'm working on something very interesting (to me at least).
As some of you may know, the ECU on our bikes (clarify, at least the last generation) is the Delphi MT05.
This ECU has a common function known as "barometric compensation". What this means is the ECU samples barometric pressure (more details in a moment) and then uses that value as a variable in a formula that amongst other variables equates to commanded fuel IPW (injector pulse width....which in turns equates to "injectors spray X amount rate").
So who cares right? You DO if you want to run the Delphi ECU with forced induction on these bikes.
What am I doing about this? 2 things, but let's discuss what REALLY is going on under the covers here:
Our ECU is very basic. As such there is not an dedicated barometric pressure sensor (some ECU's have a map sensor that hangs out in the open and some even have an integrated pressure sensor on the PCB itself). Being that cheap decision was made, the ECU is designed to use the MAP sensor as the source for barometric pressure readings.
"But Jason, how is that possible when the engine is running to use the MAP sensor as a baro pressure sensor?". Ah ha!
So what happens is the ECU samples the map sensor data at key intervals:
1. Key on engine off: That's the "base" baro reading sample.
2. Key on engine on, partial load: This "works" as it's assuming not much more air is being ingested into the engine than current ambient baro pressure (essentially it's "close enough").
3. Key on engine on WOT: This MIGHT be a sample point, though I can't see it being valid due to the aforementioned issue in item #2. From what I have dug up, IF the baro reading at WOT exceeds the baro BASE reading (recall key on engine off) THEN it samples, otherwise it ignores. Some people claim it "reads all the time". I know for a fact that's false (and impossible).
Why is this a dilemma for forced induction users? Simple, you can't use a 1 bar map sensor for boost. So then you install a 2 bar map sensor (not going to get into scaling VE and AFR tables in this post). All is good, EXCEPT now your map voltage values are skewed in the eyes of the ECU which in turn skews the baro readings.
Solutions:
1. The "easiest" is a simple device I built that literally locks the Key on Engine off map voltage to max (approx 5V). However after the engine starts the device no longer alters the MAP sensor voltage and exposes the true 2 BAR map sensor voltage to the ecu. Recall this is the "base" baro reading hence by locking the KEO voltage to max the rest of the above mentioned scenarios will be nulled out since you won't reach the maximum 2 bar map sensor (well this is assuming of course you chose your map sensor wisely and are boosting below approximately 14.7 psi) value while running the bike. Is it ideal? No, you will have a skewed base baro value BUT it's a static value and you can now adjust AFR and VE tables to compensate (something you can't do if you just let the 2 bar map sensor report "as is" to the KEO scenario). FYI: I have/had this working 100%, it's just not user friendly for people not used to working around stock firmware limitations.....
2. There MAY be a "disable baro read" function in this ECU. That's right, it's an OPTION during development and I believe it made it into the production firmware. I am actively working with a dump of the code to locate the switch (if it exists admittedly). If I am right (and usually I am with this stuff...long story I used to own a company that did this type of ECU work) then my solution will allow for a quick "patch" and upload of calibration files (even aftermarket for our ECU files).
So long story short, option 1 works, but option 2 would be ideal (and frankly I favor using actual ecu functionality versus spoofing where possible).
I realize this applies to .000001% of the Vrod owners out there, however I will share the details once I get this solved (or proven that the function never hit production code).
And before anyone asks, there is no way to modify the tables for 2 bar voltage values. Never made it into the code (this ECU was designed for VERY small engines originally with no thought of boost). That's where scaling values comes into play...read my other posts on that (it works).
As some of you may know, the ECU on our bikes (clarify, at least the last generation) is the Delphi MT05.
This ECU has a common function known as "barometric compensation". What this means is the ECU samples barometric pressure (more details in a moment) and then uses that value as a variable in a formula that amongst other variables equates to commanded fuel IPW (injector pulse width....which in turns equates to "injectors spray X amount rate").
So who cares right? You DO if you want to run the Delphi ECU with forced induction on these bikes.
What am I doing about this? 2 things, but let's discuss what REALLY is going on under the covers here:
Our ECU is very basic. As such there is not an dedicated barometric pressure sensor (some ECU's have a map sensor that hangs out in the open and some even have an integrated pressure sensor on the PCB itself). Being that cheap decision was made, the ECU is designed to use the MAP sensor as the source for barometric pressure readings.
"But Jason, how is that possible when the engine is running to use the MAP sensor as a baro pressure sensor?". Ah ha!
So what happens is the ECU samples the map sensor data at key intervals:
1. Key on engine off: That's the "base" baro reading sample.
2. Key on engine on, partial load: This "works" as it's assuming not much more air is being ingested into the engine than current ambient baro pressure (essentially it's "close enough").
3. Key on engine on WOT: This MIGHT be a sample point, though I can't see it being valid due to the aforementioned issue in item #2. From what I have dug up, IF the baro reading at WOT exceeds the baro BASE reading (recall key on engine off) THEN it samples, otherwise it ignores. Some people claim it "reads all the time". I know for a fact that's false (and impossible).
Why is this a dilemma for forced induction users? Simple, you can't use a 1 bar map sensor for boost. So then you install a 2 bar map sensor (not going to get into scaling VE and AFR tables in this post). All is good, EXCEPT now your map voltage values are skewed in the eyes of the ECU which in turn skews the baro readings.
Solutions:
1. The "easiest" is a simple device I built that literally locks the Key on Engine off map voltage to max (approx 5V). However after the engine starts the device no longer alters the MAP sensor voltage and exposes the true 2 BAR map sensor voltage to the ecu. Recall this is the "base" baro reading hence by locking the KEO voltage to max the rest of the above mentioned scenarios will be nulled out since you won't reach the maximum 2 bar map sensor (well this is assuming of course you chose your map sensor wisely and are boosting below approximately 14.7 psi) value while running the bike. Is it ideal? No, you will have a skewed base baro value BUT it's a static value and you can now adjust AFR and VE tables to compensate (something you can't do if you just let the 2 bar map sensor report "as is" to the KEO scenario). FYI: I have/had this working 100%, it's just not user friendly for people not used to working around stock firmware limitations.....
2. There MAY be a "disable baro read" function in this ECU. That's right, it's an OPTION during development and I believe it made it into the production firmware. I am actively working with a dump of the code to locate the switch (if it exists admittedly). If I am right (and usually I am with this stuff...long story I used to own a company that did this type of ECU work) then my solution will allow for a quick "patch" and upload of calibration files (even aftermarket for our ECU files).
So long story short, option 1 works, but option 2 would be ideal (and frankly I favor using actual ecu functionality versus spoofing where possible).
I realize this applies to .000001% of the Vrod owners out there, however I will share the details once I get this solved (or proven that the function never hit production code).
And before anyone asks, there is no way to modify the tables for 2 bar voltage values. Never made it into the code (this ECU was designed for VERY small engines originally with no thought of boost). That's where scaling values comes into play...read my other posts on that (it works).