Pages: [1] 2 3
Author Topic: detect E85 = switch maps (KRKTE, etc)  (Read 33519 times)
elRey
Hero Member
*****

Karma: +32/-1
Offline Offline

Posts: 565


« on: November 18, 2012, 08:03:08 PM »

thinking out loud..

variables to watch:
wkrma = 0
! B_kfzk
B krdws ?
fra_w/frau_w/frao_w > FRAUMX/FRAOMX after time delay (new constant)
rl_w and rlsol_w < x (to prevent switching up under highload)

Maps to switch:

KRKTE
KFZW/KFZW2
KFZWOP/KFZWOP2
LDRXN (if desire more boost on E85)

coldstart/warmup fueling maps ??



But, needs to be a flipflop. If not, once KRKTE is switched then fra_w will decrease and then function will switch back. Needs to be 'sticky' until non-E85 detected. And sticks after turning off engine. i,e, is turn off with switched to E85, then next start is still with E85 maps.

wkrma > x (new constant)
or
B_kfzk
or
B krdws ?
or
fra_w/frau_w/frao_w < FRAUMN/FRAOMN after time delay (new constant)



So map switching depends on B_e85 set or cleared based on detection.


Please add/correct. Would really like to get a simple E85 switching so I don't have to set channels via unisettings everytime I change fuels.

---------------------------------------------
I. Detection
  A. fuel trim
  B. knock
II. Required running conditions
  A. load (actual/requested)
  B. engine speed
III. Reset
  A. fuel trim
  B. knock
IV. Make sticky
V. Switching
  A. maps

work in progress


« Last Edit: November 19, 2012, 03:30:58 PM by elRey » Logged
phila_dot
Hero Member
*****

Karma: +172/-11
Offline Offline

Posts: 1709


« Reply #1 on: November 18, 2012, 08:27:50 PM »

I decided to write a map switching routine because I found a local E85 station and would like to make the switch.

I'm not sure if surrendering control over to a custom routine is such a good idea though. It would have to be very robust to ensure that there isn't an erroneous switch.

Maybe even a incremental "flex fuel" type adjustment.
Logged
elRey
Hero Member
*****

Karma: +32/-1
Offline Offline

Posts: 565


« Reply #2 on: November 18, 2012, 08:42:05 PM »

It would have to be very robust to ensure that there isn't an erroneous switch.

This is what I'd like to discuss. I understand the concern. A boost leak and cause frao_w > FRAOMX and possible switch maps when you wouldn't want it to.

So, I'd like to discuss other checks. How can we distinguish between boost leak induced high fra_w and fuel type? Or bad o2 sensor.

-The switch TO E85 (or up) should never happen under load. Switching out of E85 (or down) can.
-....
« Last Edit: November 18, 2012, 08:43:44 PM by elRey » Logged
rajivc666
Full Member
***

Karma: +23/-2
Offline Offline

Posts: 127



« Reply #3 on: November 19, 2012, 03:54:45 AM »

 Grin Exactly my thought, flex fuel. Have got some ideas like shifting the maps to ram so that it can be variable as required, but I dont understand tuning much. As of now busy with something else so will pick up on this later, can somebody make a logical flow chart as what is to be exactly done, and what controls have to be put in place.
Logged
prj
Hero Member
*****

Karma: +915/-428
Online Online

Posts: 5849


« Reply #4 on: November 19, 2012, 06:16:25 AM »

For flex fuel tuning you will need to go off of O2's and knock sensors pretty much.
You will need to create an algorithm that will take these two in account and then progressively shift KRKTE and timing.
You will need to interpolate between two krkte's and two timing maps based on the detected alcohol content, plus the cold start maps.
It is possible to look at the fnwue code and how it interpolates stock between KFZW and KFZW2, and do something similar.
The knock sensors must be used as a sanity check, so that the algorithm does not go crazy if you have an air leak somewhere.

But as the first thing it is a good idea to define an algorithm where the input will be the O2 sensor data, probably short term trims and so on, plus the knock sensor data, and the output will be a "fnwue" type variable which will indicate alcohol content in the fuel.

After a good specification for the algorithm is made, the next step is to implement it. This algorithm is basically a software based alcohol sensor.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
rajivc666
Full Member
***

Karma: +23/-2
Offline Offline

Posts: 127



« Reply #5 on: November 19, 2012, 07:04:46 AM »

Thanks prj . Will have to digest the information do some reading. 
Logged
phila_dot
Hero Member
*****

Karma: +172/-11
Offline Offline

Posts: 1709


« Reply #6 on: November 19, 2012, 07:16:33 AM »

For flex fuel tuning you will need to go off of O2's and knock sensors pretty much.
You will need to create an algorithm that will take these two in account and then progressively shift KRKTE and timing.
You will need to interpolate between two krkte's and two timing maps based on the detected alcohol content, plus the cold start maps.
It is possible to look at the fnwue code and how it interpolates stock between KFZW and KFZW2, and do something similar.
The knock sensors must be used as a sanity check, so that the algorithm does not go crazy if you have an air leak somewhere.

But as the first thing it is a good idea to define an algorithm where the input will be the O2 sensor data, probably short term trims and so on, plus the knock sensor data, and the output will be a "fnwue" type variable which will indicate alcohol content in the fuel.

After a good specification for the algorithm is made, the next step is to implement it. This algorithm is basically a software based alcohol sensor.

Exactly what I was thinking, but the hard part will be the activation conditions and scaling of the interpolation factor.

What conditions can only exist as a result of running E85 on 93 oct maps?

The interpolation of KFZW and KFZW2 is fairly simple. IIRC, if fnwue is >= 99% then KFZW2 is used. For fnwue of 0, KFZW is used. Else, ((1 - fnwue) * KFZW) + (fnwue * KFZW2). The trick would be scaling the "fnwue" type factor based on conditions.

We would have to determine exactly how different concentrations of ethanol affect our control variables.

Edit: KFZWOP(2) is not necessary. Also, whatever conditions we determine would have to be fast acting enough that we adapt before any damage can be done.
« Last Edit: November 19, 2012, 07:19:19 AM by phila_dot » Logged
elRey
Hero Member
*****

Karma: +32/-1
Offline Offline

Posts: 565


« Reply #7 on: November 19, 2012, 09:01:29 AM »

I would request that a flex-fuel scaling functionality, as you are discussing now, have it's own thread. One that can go beyond what I intended for this thread.

I'd like to keep this thread just about switch back forth from gas to E85. Once we have working code, you can take it from there, or for those not interest in anything less that the scaling flex-fuel can ignore this thread and continue the great discussion in it's thread.
Logged
rajivc666
Full Member
***

Karma: +23/-2
Offline Offline

Posts: 127



« Reply #8 on: November 19, 2012, 09:15:55 AM »

If you are only interested in e85 switch then imo you are better off using manual switch, and yes the mode is remembered even after the car is switched off as long as the ecu is has supply. Also can learn from this discussion.
Logged
prj
Hero Member
*****

Karma: +915/-428
Online Online

Posts: 5849


« Reply #9 on: November 19, 2012, 09:21:54 AM »

I would request that a flex-fuel scaling functionality, as you are discussing now, have it's own thread. One that can go beyond what I intended for this thread.
Actually the first part - the alcohol detection algorithm is still very valid and exactly on topic here.

What conditions can only exist as a result of running E85 on 93 oct maps?
The car will start running really lean. So what you do, is start adding fuel and phasing in timing.
If it is indeed E85, then you will be able to phase in timing and little to no retard will take place under load.

The knock sensors are a safety boundary. If severe amounts of knock are encountered and high CF's result under load it means a fault is present.
In this case it should be stepped back until knock subsides.

You basically need short term fuel trim and wkrma, and then some logic.
Whether you do incremental phasing and adjustment or just a hard switch - the detection logic is the same.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
elRey
Hero Member
*****

Karma: +32/-1
Offline Offline

Posts: 565


« Reply #10 on: November 19, 2012, 09:35:49 AM »

Agreed. The detection is what I what to discuss. Just not the incrementing part (NWS like).

I believe I started the detection conditions in the OP.
« Last Edit: November 19, 2012, 09:41:53 AM by elRey » Logged
prj
Hero Member
*****

Karma: +915/-428
Online Online

Posts: 5849


« Reply #11 on: November 19, 2012, 09:37:29 AM »

Sticky functionality can be done by writing the state into the EEPROM.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
elRey
Hero Member
*****

Karma: +32/-1
Offline Offline

Posts: 565


« Reply #12 on: November 19, 2012, 09:41:33 AM »

Sticky functionality can be done by writing the state into the EEPROM.

Do you have example code, or existing b_ variable, or Doc function that does this?
Logged
phila_dot
Hero Member
*****

Karma: +172/-11
Offline Offline

Posts: 1709


« Reply #13 on: November 19, 2012, 09:51:07 AM »

 I agree with rajivc that if you are only interested in a hard shift then a manual switch to another set of maps makes alot more sense, but I'll play along.

The RAM is persistent, so the state of the variables remains after shutdown. No writing to the EEPROM is necessary.

Logged
prj
Hero Member
*****

Karma: +915/-428
Online Online

Posts: 5849


« Reply #14 on: November 19, 2012, 09:54:26 AM »

I agree with rajivc that if you are only interested in a hard shift then a manual switch to another set of maps makes alot more sense, but I'll play along.

The RAM is persistent, so the state of the variables remains after shutdown. No writing to the EEPROM is necessary.

Yes, that is true. But if you want to do it right, you would write it to the EEPROM IMO.
Because otherwise good luck starting the car on E85 on a cold day if for some reason you had to disconnect the battery or remove the ECU.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
Pages: [1] 2 3
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.036 seconds with 16 queries. (Pretty URLs adds 0.00099999999999999s, 0q)