-
Posts
2,341 -
Joined
-
Last visited
-
Days Won
468
Content Type
Profiles
Forums
Events
Posts posted by Roland@pcmtec
-
-
PCMTec Global CustomOS
FlexFuel Select Reference Guide
For CAN-Bus Connected Flex Fuel Sensor and CustomOS ConfigurationThe guide contains the BOM and installation reference guide for the PCMTEC CANBus Flex Fuel System. To obtain access to the guide please contact support with your vehicle information https://support.pcmtec.com
This guide is written for a RHD 18+ Gen 3 Mustang, however the general installation on Gen 2, LHD/RHD, Explorer, Focus, Maverick etc is the same. You will simply need to find an appropriate location to install the sensor.
You also do not have to use a OBD sandwitch plate and could simply wire directly into the HS1 CANBus network, we recommend utilizing a fuse tap at a minimum to easily disable the ECA2 if you hard wire directly into the CAN network. 2022+ vehicles with an SDLC will need to wire in behind the SDLC directly to the HS1 CANBus network.
We recommend utilising a fuel bypass for all return style fuel systems to ensure no flow restriction or interference with the fuel pressure regulation. On a return style system for lower power applications a bypass is not required but still recommended.
Example of a fuel bypass for the flex fuel sensor.
Example of a pre-wired kit for a RHD vehicle.
Example of a fuse tap installed to ensure the ECA2 only draws power when the vehicle accessories are on.
Example location of installation on the strut tower.
Video guide of how to use the Custom OS Wizard to build your own custom flex fuel logic.
Setup Notes:
There is delay/lag logic to lag the canbus ethanol signal to allow purging of the fuel lines post filter. Under CustomOS in the datalogger you will see ethanol raw and ethanol. If the engine is not running you will only see ethanol raw update. Once you start the engine it will slowly increase the ethanol to the measured value over approximately 5 minutes with the default filter.
If you wish to remove this filter (eg you have a return style fuel system) you can increase this value up to 1.0 (no filtering).
ID Name Value
auF100050 Flex Fuel High Pass Filter 0.005However if you have a returnless system we recommend that you leave the lagged signal enabled and simply run the engine, this will ensure that spark is not added until the fuel lines/direct injection pump have been fully purged. The STFT will ensure that any fueling error is taken care of during this period. We found when testing on an 18 GT (with stock fuel system and DI) it takes approximately 10 minutes to purge the lines at idle, when driving it is purged within less than 1-2 minutes. We recommend that the first 10 minutes after a refill you do not drive WOT.
Note that the lag only occurs when the ethanol signal is increasing, when decreasing it drops back instantly to ensure that ignition timing is dropped to the 93 level immediately.
Alternatively you can simply unplug the canbus sensor (putting it into an error state) and manually set the ethanol content via the cruise control buttons using the following logic:
- Engine off
- Cruise control On
- Cancel (tune select)
- Cancel (ethanol select)
- +/- to select ethanol on the speedo.
You can do this if you know the lines have already been purged. Then plug the sensor back in, this will manually disable the lagging of the sensor for that fill.
PCMTEC Flex Fuel Logic vs OEM
You can also piggy back off the OEM flex logic if you already have an OEM inferred flex fuel tune you want to use as a base. Note that we have not exclusively tested this method and recommend utilising the wizard to build your own custom logic with only the tables you require as this methodology has been tested on 100s of vehicles successfully.
- 1
-
We need someone with programming/scripting experience along with automotive nomenclature. It is a hard one to fill.
-
We have a lookup table of hundreds of words to auto correct. Parameter naming is horrendously time consuming and difficult. If anyone is in Adelaide looking for a part time job, I've got one for you.
-
Update: 30/11/23
More aftermarket strategies have been added to support.
-
On 11/16/2023 at 10:30 PM, engineermike said:
The description is "Minimum power demand enrichment time delay to engage the LAMBSE blending algorithm (torque smoothing feature), seconds."
It is for the blending delay from OL (1.0) to whatever your WOT lambda is. Generally people heavily reduce this so that you get WOT lambda immediately.
- 1
-
Kind of off topic but you might find it interesting regarding leaving E85 sitting in your tank for long periods of time.
For fun (not really, I was lazy) I left E85 in a tank for 6 months. The E content increased from E85 to E87 over that time which indicates how much was was absorbed. You could work it out exactly (assuming the water dissolved into the fuel which it should below 20% water content).
You can do this via the dielectric constant (how a flex sensor works)
Dielectric constant of water = 80
Dielectric constant of E100 = 25.3
Dielectric constant of E0 (gasoline) = 2
Dielectric constant of E85 = 0.85*25.3 + 0.15*2 = 21.805
Dielectric constant of E87 = 0.87*25.3 + 0.13*2= 22.271
Assuming 1% of the "E87" was water you get
=((0.85-(0.01/2))*25.3)+(((0.15-(0.01/2)*2)+(0.01*80))) = 22.3185I think this maths is correct. Anyway you can see that a small amount of water can substantially change the E content reading
Lets say you somehow absorbed 6% water, you get a DI of 25.636 which is above E100 and would clip the sensor and read E100
This is all at a temperature of 20°C
- 2
-
For those of you utilising our canbus or user flex fuel configuration. It appears you can use a hybrid of our custom logic and the Ford OEM logic.
NOTE: This is yet to be tested by PCMTEC, however if it works it means you could use the OEM flex logic with our canbus/user flex fuel as the input to the ethanol content. This would mean no learning is required and you set and forget the ethanol content.
You must also leave auF35397 "Calibration for Flag for Flex fuel system" disabled. Otherwise it would fight with our custom logic and cause weird things to happen. The FMT Custom OS Wizard will warn you if this flag is left enabled.
First step is to calibrate auF29291 which is an AFR to PM % lookup. This will then cause PM percentage methanol (really ethanol but Ford like to call it Methanol)
From a datalog this shows even with FFV (OEM flex fuel logic) disabled it still calculates the PM ratio.
Note in an F150 where this table is calibrated they use values of 0-1 where 1.0 is 100% ethanol, therefore we would expect the the Mustang should work the same way. If you do not calibrate any of the other tables however, putting 9:100 in the first row may work, but your ethanol % will be completely wrong likely clipped at 1.0 (100% ethanol)
From my brief reading of the code it appears that this means tables like the following could be used.
auF31238 Load Limit for ethanol (eg if you didn't have sufficient fuel supply for E85 at WOT).
This table does not appear to exist in the F150s, but it does exist in the Mustangs interestingly.
Torque multiplier
This is not tested however I am very confident that even the FFV tables for spark multipliers will be used.
- 1
-
On 11/8/2023 at 1:14 PM, engineermike said:
This is great info!
Any idea how auf41603 might play into this?
On my phone. Could you post a picture and the description?
-
Question: How is open loop (eg WOT) fueling calculated for Gen 2/3 5.0s.
Note: Open loop values are used as as feed forward to the closed loop fuel value (eg where STFT is applied using the wideband to achieve the requested target. So you can ignore the fact everything says "open loop" when in fact it will be operating in closed loop except for various conditions such as being too cold for the wideband to function.
Note: The answer is similar for ecoboost vehicles, however with many extra protections put into place that are not taken into account into this guide.
Note: This is a work in progress and has been deciphered from reading assembly code, this guide should be taken with a grain of salt and everything tested on a dyno to ensure it works as described.
Short Answer for 15-17 (Gen 2)
auF31663 The WOT open loop fuel table to temperature compensation to avoid cold misfire - This determines the open loop feed forward commanded lambda value when the engine is warm and there are no other limits or features preventing it from running in normal conditions
auF29139 Base Open Loop desired exhaust lambse fuel table - This is used when cold. Ensure this is calibrated at high loads.
Long Answer for 15-17:
Note this is a simplified answer without the flex logic or OPSS logic switch (disabled in all Mustang cals I've looked at) taken into account.
auF0156 Open Loop Delay - The time delay specified this table (set to 0 in most vehicles) is first waited to expire. before this expires
Before this timer expires the vehicle is in "minimum enrichment mode" which can be determined via datalogging "MID71841" Power Demand Min Enrichment flag; while waiting for the delay to expire. It will be set to 1 if in this mode.
When in "minimum enrichment mode" the commanded lambda will be determined by the following calculation
auF31663 The WOT open loop fuel table to temperature compensation to avoid cold misfire
auF31661 The WOT open loop fuel table. This is not used in the 15-17 unless the "minimum enrichment delay is set above 0. If it is the calculation is as follows.
MID55410 = Desired LAMBSE for performance (Power Demand - LBT)
LAMBDA (MID55410) = MAX(auF31663, auF31661) Eg it takes the maximum of the misfire limit and the WOT open loop fuel table. Ensure that you configure both tables at WOT to be the same to ensure when cold the engine does not run lean at WOT. Note: Typically in a 15-17 auF31661 will not be used and this will not be an issue.
auF31664 is the FFV OEM Ford flex fuel equivalent of this table.
When the engine is "cold" it will use the following table auF29139 Base Open Loop desired exhaust lambse fuel table
The engine is considered cold before ECT has reached the temperature upon which auF29139 == 1.0 at the lowest load. Eg 50°F according to this calibration FR3A-14C204-CNF as this is when the wideband is considered usable for closed loop operation.
Eg when MID63525 "Engine is too cold to run closed loop stoich." is set to 1.
Short Answer for 18+ (Gen3+)
auF63644 Desired Lambse during power demand (lookup based on ECT,RPM)- This determines the open loop feed forward commanded lambda value when the engine is warm and there are no other limits or features preventing it from running in normal conditions. IMPORTANT NOTE for up to 4 seconds the value will be used from auF37057. Recommend calibrating auf37080 to 0 like the 15-17 for big PD blower cars which make big boost down low. Especially as this only kicks in at gears 7+ you might notice it unless you are on the autobahn.
auF63635 Base Open Loop desired exhaust lambse fuel table - This is used when cold, ensure this is calibrated for high loads.
Long Answer for 18+:
Min enrichment delay phase:
Where the 18+ differs from the 15-17 is it does indeed utilise the "MID71841" Power Demand Min Enrichment flag
By default this is 4 seconds at low rpm. This could cause trouble on PD blower cars.
By default for these 4 seconds it will use the following table. This may catch you out, be sure to calibrate it or remove the delay timer.
auF37057 Desired Lambse during power demand (lookup based on Engine Speed, MID113340),while waiting for delaytmr(auF0156) to expire
Like the 15-17 when in "MID71841 Power Demand Min Enrichment" for this 4 second window the lambda is calculated as follows:
LAMBDA (MID55410) = MAX(auF63644, auF37057)
Ensure that you configure both tables (auF6344, auF37057_ at WOT to be the same to ensure when cold the engine does not run lean at WOT when in this 4 second window OR set the delay phase (auF37080) to be zero like the 15-17.
Normal open loop control outside of min enrichment delay phase
When outside of this min enrichment delay the following table is used. This the most important table to calibrate.
auF63644
auF63645 is the FFV equivalent if you use the built in OEM flex system.
When the engine is "cold" it will use the following table auF63635 "The base open loop fuel table" which is 50°F
The engine is considered cold before ECT has reached the temperature upon which auF63635 == 1.0 at the lowest load. Eg 50°F according to this calibration KR3A-14C204-BKE (same as 15-17) as this is when the wideband is considered usable for closed loop operation.
Eg when MID63525 "Engine is too cold to run closed loop stoich." is set to 1.
Note: This is a work in progress and has identified some descriptions which will be updated as a result
- 1
-
On 10/31/2023 at 9:45 AM, Puffwagon said:
Edit: Ford wouldn't have changed it for no reason lol
I believe it was just cost saving. The air moves so fast I don't believe there is any real IAT differences that affect it at stock power levels.
- 1
-
Just out of curiosity how are you hosting the site and what language did you write it in?
-
15 hours ago, BeerTurbo said:
i actually put it on the list for tomorrow. so now its adjust handbrake and drink beer. big list.
i also just reading the old bf launch control thread and realized i never touched auF2233 , so ill try that tomorrow too.
auF2233 will induce more spark retard, however it will induce it for ALL torque reductions, this is not likely desirable for a ZF as all your shifts will be truncated with more spark.
If you've bought our training guide its covered in there. Look at these tables here. ZF00505. This is the maximum torque whilst in gear.
Log these and you'll see what torque you are making and what the torque delta is, from there you'll be able to figure out the torque ratio (eg torque produced, vs max requested) and that will tell you why you are getting -15 spark.
I can also recommend using the multi tune and simply putting -30 deg in the launch tune with a spark hole where your converter locks up, that works great for anti lag off the line. Check out the video here and have a read of this thread.
-
Not at this stage
-
His are all diesel afaik. But he is a great suggestion.
-
3 hours ago, hjtrbo said:
Wasn't looking. 🤷
I thought you meant sponsorship regarding coding!
Yes we do some sponsorship, we find it works best with influencers or end users, simply paying them for videos of their testimonials etc. Eg something they have already created and believe. Our recent batch of training videos was done by an end user under an agreement like this.
-
Unless you are willing to move to Adelaide and work full time we aren't currently looking for people.
- 1
-
I'm guessing Forscan don't read the serial for the license check which is why it succeeds. Unfortunately not something we can turn off otherwise it would be abused and revenue down the drain in seconds.
- 2
-
Custom Operating System training videos are now available. There will soon be a written guide to accompany these videos.
- 1
-
13 hours ago, Mrdriftstar said:
Hey guys ive got custom os are you guys leaving the vct at stock or modifying them aswell.
or can ya get away with just negative spark with lambda modification cheers guys
Trial and error is the best approach. You can add overlap at redline if you want however you risk a backfire through the intake with severely retarded ignition timing.
- 1
- 1
-
That's basically an ignition cut
- 2
-
4 hours ago, Mick said:
Hi Rolls
I've read through it again and unless I'm missing it, there is really nothing there that indicates where the source originates from.
Is it possible for me to change my tune file strategy to a different one without more credits (adding my VIN to the new one) to find a strategy that does not do it and then do a compare the two to see what is different, to find a possible scaler/table etc?
You can compare files without licensing them. Licensing is locked to OSID not VIN.
The scalars that put into max power mode at the two described in the ghost cam article
https://support.pcmtec.com/kb/article/23-howto-ghost-cam-and-vct-simplification/
To force the camshaft to use the main maps at all times simply set these scalars out of range to -1000 rpm.
These define "closed throttle mode" eg
auF1079 (VCT Closed throttle disable RPM) set to -1000
auF1035 VCT Closed throttle enable RPM) set to -1000
part throttle mode is defined via tables such as auF16501 and if you are in cruise control/traction control etc.
The rest of the time its in maximum power mode.
Maximum power mode is the simplest to tune, as you only have the main 3d tables to modify. The way it is running now is easier to configure, the other tables are confusing as there is 6 or 7 of them that are all added together with various limits on overlap etc that clip intake angle.
-
Check out the ghost cam thread, it discusses the scalars which allow it to go into max power mode which is essentially the main cam timing table. The other modes use various 1d tables based on coolant and oil temp.
-
Any local mechanic will wire in a wideband and hook it up to a controller under your dash with a fuse tap for less than a few hundred. Imo I'd simply pay someone to do it for you if you aren't feeling confident. Make sure they pick a fuse that's only on when the car is running.
- 2
-
Ok thanks
Mustang/F150/Explorer CANBus Flex Fuel Installation Guide
in Mustang HOWTO Guides
Posted
Flex fuel parameter files.zip
Attached is a set of parameter files which include the default Ford OEM FFV tables and scalars. Simply untick "values" and press load/append on the base alt tune.
You will then see many tables and scalars added
You will find that you can simplify your flex fuel logic dramatically by removing many of these and only adding the required tables.
Once you have completed building your flex logic in the wizard you will see new copies of the tables located here. These will be active in all tunes unless you have specified the same table/scalar in a tune slot. The PCM will then interpolate between the values in Base Fuel and High Fuel Tune 1 depending on ethanol content.
Note:
We have included an example 18 GT parameter file with the fueling tables used for cold start (please do not import the actual values as they will likely not be suitable for your vehicle), you can then add tables to add spark eg spark modifiers or simply use the cylinder pressure limit tables. Eg if the car is primarily going to be run on E85 you may be happy to simply use E85 torque and MBT tables and cap the spark via the max cylinder pressure spark limit. If you are going to be using various blends between E40-E70 you would likely want to add torque and MBT modifiers so that you get the maximum power without any torque errors at partial ethanol blends.
e85 cold start parameters.xml