Shiftmaster Specific
tuner crashes
Thomas, what version of the ShiftMaster software are you running ? Also
check and see what the file attributes (date size) are on the tuner.dll
in ALL of your programs that access the Tuner (ShiftMaster, GUI, etc.).
I've seen people get caught in a "loop" where one version of their
software has the wrong tuner.dll, but the ShiftMaster has the correct
one. So when they do a Verify Tuner it says the board needs to be
upgraded so they click OK. Then download their mods with another program
that has the old .dll. That program hoses up the Tuner and the whole
thing starts over again.
I would bet, from what I've seen that *almost* every Tuner problem stems
from this. There is the occasional bad board, or "noisy" electrical
system too, but the above problem appears to be rampant.
The
tuner.dll from Shiftmaster 2.08 is what I copied over into GUI per
Raymond's e-mail. It is dated 3/31/2001 and had a file size of 160k. I
overwrote what was in there, but it had an earlier date, buy a month or so,
and if I recall it was 156k in size.
How to read in banks 1 and 8?
Download EEC Editor. It will download both EEC-V banks simultaneously while you work in the
foreground. Time to download is around 2 minutes. Filenames will be "eecb1.bin" and
"eecb8.bin" Another alternative is to read the following sequentially using the EEC Tuner
v2.08.
Barry, since I've been a nice guy, good you please send those bins to me. I've got a well
prepped 351 that could stand some Saleen style tuning.
BIN8 = Start: 0x2000 Length:0xE000
BIN1 = Start: 0x12000 Length:0xE000
Paul
How to read the shiftmaster screen
Robert, the timing tables are RPM vs load. RPM increases left to right
and load increases bottom to top. Also in our trucks MAP = Load.
GUI Specific
Shiftmaster to GUI idle air converstion
Gui Units Lbm/min
21.4748/IdleAirConstant = .7891
Idle Conversion Factor, Shiftmaster to GUI = 21.4748/.7891 = 27.214294766
TP Counts vs. Volts
TP does mean throttle position in the GUI, where 1023 is WOT, 1/2
throttle is ~510, and etc. To convert to volts divide the TP number by
1023 then multiply by 5 like this:
1023/1023*5 = 5v
640/1023*5 = 3.128v
Reading BANK8
The current directions on guieectuner.com is INCORRECT! Well, it's
correct except for one part. When you do step 1, which is to read
BANK8, it says to use 0x8000. That is only 32kb of data. That's
the wrong length.
You must enter 0xE000 for the length of both banks. So just change
the starting addresses to 0x2000 (BANK8) and 0x12000 (BANK1).
Writing to BANK8
------
The current GUI EEC Tuner software at is out
dated. It may be the latest .exe file, but the TUNER.DLL is NOT!
You must download the most recent TUNER.DLL file and place it into
the GUI EEC Tuner directory to WRITE to BANK8! The older tuner.dll
file can not write to BANK8.
You may be able to read Bank8, but you won't be able to make any
changes. It's in the files section, or at under
Software Updates. The March version is the one that is fixed.
I found out both of these problems the hard way... Beating my head
senseless for 5 days!!!
Normalizer Defined
A normalizer is what defines the X and Y axis in the GUI, same thing as a scalar in
ShiftMaster's software.
tuner crashes
Thomas, what version of the ShiftMaster software are you running ? Also
check and see what the file attributes (date size) are on the tuner.dll
in ALL of your programs that access the Tuner (ShiftMaster, GUI, etc.).
I've seen people get caught in a "loop" where one version of their
software has the wrong tuner.dll, but the ShiftMaster has the correct
one. So when they do a Verify Tuner it says the board needs to be
upgraded so they click OK. Then download their mods with another program
that has the old .dll. That program hoses up the Tuner and the whole
thing starts over again.
I would bet, from what I've seen that *almost* every Tuner problem stems
from this. There is the occasional bad board, or "noisy" electrical
system too, but the above problem appears to be rampant.
The
tuner.dll from Shiftmaster 2.08 is what I copied over into GUI per
Raymond's e-mail. It is dated 3/31/2001 and had a file size of 160k. I
overwrote what was in there, but it had an earlier date, buy a month or so,
and if I recall it was 156k in size.
GUIEEC ERRORS
There are some system files installed when you run the full
installation. Copying an installation to another PC will cause the
GUI to crash. I suggest deleting the
HKEY_CURRENT_USER/Software/GUIEECVT registry tree BEFORE doing a
fresh install. Make sure you keep your .cal and .dat files :)
David
Entering Injector Values in Gui
Donnie,
Double click on the tag value and a window should popup.
The input you put in is in lbs/hr like the popup window says.
Functions
MAF Transfer Function
Mass Air Flow Tuning
Taken from one of David Posea's great posts !!
*********************************************
OK, there are three stages to this, and you'll need a wide-band and
some means to log MAF voltage or A/D counts.
First we'll tackle the idle. Enter your transfer function, and crank
the car. Turn off the adaptive fuel control. When the car idles, look
at the MAF voltage. If you can datalog look at short term fuel trim.
If not, look at the wideband. Now adjust the MAF function so the fuel
trim is 0% (as close as you can get anyway), or the wideband is
14.64:1 . You'll want to adjust the transer function right at the MAF
voltage you logged. Now set the idle speed a few hundred rpms higher,
and do the same thing. Smooth out the points in between your target
points for a smooth curve. Increase the idle rpm again (with the
tuner, not your foot) and repeat. You can get up to about 2000 rpms
that way.
Now we do the same thing except we go to part throttle. A dyno would
be really helpful here!!! Hold the rpms steady to get the data, then
adjust the transfer function. Notice we are working from the bottom
up, so the upper calibration isn't important (yet!!!). Once you get
short term trim near 0 at part throttle it's time to tackle WOT.
For WOT you can either look at the commanded A/F ratio (lambda) on a
datalog, or set all of the WOT adders to 0 and the multipliers to 1.
You want the EEC to use the A/F ratio set by the stabilized open loop
table. Set those values to what you want the A/F ratio to be.
Now make a dyno pull and log the actual A/F ratio. You'll also need
to know the MAF voltage at various rpms.
Look at your A/F chart and write down the MAF voltage every 1000
rpms. Above that write the commanded A/F ratio. Divide the commanded
ratio by the actual ratio and adjust the MAF function at that voltage
point by the result. If we commanded 12:1 and got 10:1 we have to
adjust the transfer function by 12/10, or 12%. Smooth the points in
between the ones you calculate. It shouldn't take more than 3 or 4
pulls to get the transfer function dialed in.
BTW, set the global spark adder to -10 or so to be safe until the A/F
ratio is dialed in.
I watched this done about 12 times over the weekend, and it yielded
nearly flat A/F curves on all of the cars And they idled pretty
good too.
MAF TRANSFER FUNCTION
The EEC does not need four references to the same break point, but it
does need to have the function table completely filled. The number of
break points in the MAF transfer function table is fixed. If you
don't want to take advantage of every break point in the table then
it is best to have the unused break points at the end of the table.
The maximum MAF voltage value is 5.0 volts. The A to D
converter has 10 bits of information and the voltage is stored in a
16 bit register. The 16 bit register goes to 16 volts and still
contains all 10 bits of information from the 0 to 5 volt A to D
conversion.
--- In EECTuner@y..., "wildhorse91" <wildhorse91@y...> wrote:
> WHY ARE THE LAST 4 ( ) FILLED W/ (0, 13.6242) AND THE FIRST ONE
>(15.998, 835.509). I DON'T UNDERSTAND WHY THE EEC WOULD NEED 4
REFERENCES OF THE SAME CONVERSIONS
NEWMAF.xls
The <NEWMAF.xls> was a modification to
<MAF_curve_fitting_and_load_calcuations.xls> in the files section which
subsequently changed. The NEWMAF.xls spreadsheet was not changed after the
other was and consequently still has the previous instructions. It's a
great tool to help tweak the MAF curve. The creator of that original
spreadsheet has a good write up on info he got from Pro-M here and the
reason for the change to the calculated values.
ration%20sheet%2097.doc
It worked for me.
KG/HR Conversion
Now, I'll answer your question directly. To convert from a binary file value
to kg/hr do
this for a typical A9L.
DATA STORED = 2637 or 0x0A4D
GUI = 2637 / 2^31 = 0.00000122794881 LB/TIC
KG/HR = lb/tic x 1 tic /2.4 ms x 1000000ms/sec x 60 sec/ min x 60 min/hr x 1
kg/2.2 lb
90mm Lightning MAF Transfer Function
Volts Kg/Hr
5.00481121701 1728.13688568924
5.00000000000 1728.13688568924
4.64320625611 1463.33601395229
4.44770283480 1291.75297046035
4.25219941349 1136.01271416635
4.05669599218 994.70071049904
3.86119257087 866.68533180142
3.66568914956 750.55204350226
3.47018572825 645.73503177305
3.27468230694 550.96121549968
3.07917888563 465.52332739652
2.88367546432 388.85555363508
2.73704789834 336.51777449903
2.59042033236 288.56505253385
2.44379276637 245.28029465377
2.29716520039 207.93658197292
2.15053763441 175.68519374855
2.00391006843 147.53595578079
1.85728250244 123.20596115538
1.71065493646 101.84648912959
1.56402737048 83.31608624629
1.41739980450 67.33184559123
1.27077223851 53.18649987879
1.12414467253 41.02150256609
0.97751710655 30.55394673888
0.85532746823 23.05691351128
0.73313782991 16.55005448356
0.63538611926 12.87226459832
0.56207233627 11.03336965571
0.00000000000 0.00000000000
MAF FUNCTION Theory
This is what I found. Note, all data is in hex and for my own sanity is somewhat
abbreviated:
When first cranked, the eec will start searching at address 8DE2 for a voltage match. Lets
say, the A/D channel input from the
MAF meter is $3300. ( roughly 0.997v). (NOTE: On the very next loop, it will remember the
pointer to the last MAF voltage location, thus
speeding up interpolation and location of the next search) You could theoretically log $032E
to trace the last known maf location that was used.
STEP 1:
The following math is accomplished. The term VOLT is used to reference what is stored in
the x column of the xfer function:
VOLT = ($3300 x $2800)/$7FC0 = FF7. Note, in the table below, FF7 is greater than 0DCB
but less than 108D. For simplicity I have only
included the two points that will be used for the interpolation.
STEP 2:
Note, the eec code then advances by 4 bytes until it reaches a voltage that is
less than what it just received. In this case, 0DCB @ $8E46.
ADDR VOLT AIRFLOW
$8E42 108D 00AF
$8E46 0DCB 0088
STEP 3:
Then, it finds the VOLT, then AIRFLOW differences between the points. (ie LINEAR
interpolation has started). Since the interpolation
is done by linear methods, the further you spread your maf points apart, the more error will
occur in the interpolation. Significant, probably not, but worth a
note. I would hate to see the code if done using a 6th order equation!!
VOLT DIFF = 108D - 0DCB = 2C2
AIRFLOW DIFF = 00AF- 0088 = 027
STEP 4:
Now, substract CURR VOLT - LOW VOLT to find the fractional difference of original voltage.
fraction to interpolate is FF7 - 0DCB = 22C = INTER VOLT FRACT
STEP 5:
AIRFLOW DIFF * INTERP VOLTAGE FRACT/VOLT DIFF = fraction or interpolated amount of airflow.
027 * ( 22C / 2C2 ) = 1E
STEP 6:
AMOUNT OF AIRFLOW INTERPOLATED = 1E + 0DCB = 00A6
STEP 7:
THIS DATA IS SAVED TO $250, which many of you log as the KG/HR data we see.
In summary, I would like to mention several points. 1) The only time the entire MAF range
is used is when a) the engine is started or b) if
the maf actually uses that range of voltage. Note, in the first step, we started at 8DE2.
Guess what point this is? Yes, 15.998v. I believe this
is nothing more than "infinity" for the eec alogrithm and is used as a safety net. You
could theoretically use this as a valid maf point.
Once the engine is running, the eec establishes tracking of the last MAF location. Thus, it
is always alble to quickly interopolate
the next data point, whether the engine uses the entire maf curve or not. ( I actually
disprove my own theory in my last email ).
On the other hand, consider that the tighter the points get to your actual maf range, the
more interpolations
will be needed, thus more eec time. How does this affect performance, I don't know, ( I
don't even have a running car right now ) but
I think a review of the spread of the stock voltages is recommended.
I know this was interesting for me, hope you enjoy the info. Also, thanks to John
Worthington for his assistance w/locating the MAF code and an
excellent program, SIM1.EXE.
Tables
Load Explanation
Anywhere you see load (like a load based table) it will be what the
computer is calculating.
You can scale load by changing displacement, but all you are doing is
making yourself feel better :>) Not more or less accurate just
different...... You could also re-scale your tables if you need a more
granular approach. 6 of one 1/2 a dozen of the other.
The scalars build the X and Y axis of the table they represent. Like I
mentioned on the functions you can do whatever in between just don't
mess with the highest and lowest values. You are correct in that the
programming will interpolate anything between the row or column values
and if it is past the highest number (like 5000 for RPM) it will keep
using the last entry in the table. But like Fred mentioned you might
want to tune in those higher areas so you can re-scale your table.
Normalizer Functions
I've never used the shiftmaster software for tuning, but in the GUI
it's pretty easy. Pull up a spark table, and the normalizer functions
are listed at the top. You want the one for load, which will be
spark_???_y (y axix). Now pull up that fucntion. The right hand side
has integers in it. These are row values. So you map the left hand
side (LOAD) to new row values. The spark tables are 8 rows high, so
the top number must be 7 and the bottom one 0. You can set the others
however you like. Then go back to the spark table and your changes
will be there in the scaling.
David
HEGO_Delay
> ive got 1 5/8 mac long tube heades. what should the exhast pulse
> delay rate be?
14 for all values, 16-18 for 1 3/4 LTs.
Injector_offset_vs_battery_voltage
Hmmm, any idea what the units are?
It's milliseconds.
Scalars
TPS explained
TP voltage at the connector is NOT what the EEC uses.
The EEC calculates WOT by TP_REL. To get TP_REL, the EEC takes the
voltage at closed throttle when the key
is turned on. It then takes this voltage and subtracts it from the
actual voltage from the sensor to get voltage relative to
closed throttle. This voltage is then convertered into A/D counts
from 0 to 1020. If you have .8 volts at closed throttle, and
actual voltage from the sensor is 2.8 volts, you subtract .8 from 2.8
and get 2 volts. You take 2volts/5 volts (the max
possible voltage) and mulitply by 1020. In this example, you
get .4*1020 or 408 TP_REL counts. If you just remember to
add the voltage at closed throttle (.8v) to the WOT_VOLTAGE 2.44144
you get WOT activated at 3.24144v.
cid_airmass_for_one_cylinder
> The correct way to calculate this value is
> (4.425392491467*10E-5)*(cubic inch displacement of 1 cylinder)
> KD
Hego_Bias
I can't help much with HEGO Amplitude, but HEGO Bias is the mechanism for
adjusting the a/f ratio during closed loop. The formula is :
A/F=Lambda*(1-HEGO bias). =14.64(1-HEGO bias)
Turn off Smog Stuff
EGR Multiplier1
EGR Sys Type2
Thermactor Present0
Mass Air Check Max RPM
This value is only for the failure management code. If the maf
exceeds a certain voltage (AD count) while the RPM is below that max
value, then the MAF is considered to be not working correctly and a
different stategy is used.
This max RPM value should not limit your rpm nor affect the A/F
calculation when the rpm's exceed this value.
Tranny Shifting
For the trans shifting early problem, you need to change the
trans_base_RPM/VSS parameter, which should equal ((axle ratio*336)/tire
diameter). I had the same problem with OD and my 3.73 gears. BTW, with my
3.73's, the rpm/vss parameter worked out to 49, but yours may be different
if you're using a different sized rear tire than me (275/40-17).
Also, for WOT, you should match your WOT_RPM shift point to the MPH you're
running at that WOT_RPM. For instance, my WOT_RPM for 1st gear is 5800, so
my UPSHIFT_SPEED_VS_TP_1_2 @ WOT ( 4.98047, 41.8 ).
load_limit_open_loop
As open-loop is a fuel-strategy, this lovely function works on "fuel
load" or Percent Load (scaled version of true load).
--- In EECTuner@y..., John Blanchet <pjblanchet3@y...> wrote:
> I'm rescaling my fuel loads again and see this tag
> load_limit_open_loop_vs_ECT in the a9l. Is this fuel load or spark
load?
> Thanks,
> John
Fuel Shut Off Decel
In CalEdit, there is a scalar titled "Fuel Shut-off Deceleration RPM". I changed it from the
stock setting of 950 to 1500-1600. It is a subtle change, but I think it did change the very
light throttle decel. characteristics of the engine.
-Ken
jstauffe2000 wrote:
> Whadja tweak to do this?
mass_air_check_min_AD_cnt / Error 66 - MAF voltage too low
In the GUI using the exp_a9l.dat you can lower the
mass_air_check_min_AD_cnt. Stock is 75 which converts to roughly .4
volts. Just keep lowering it until the CE goes away or just set it to 0.
Trans_Type_Switch
Subject: Re: Can I run a C4 with the A9L?
--- triplexracing <> wrote:
> I currently am running a stock Mustang T-5 (5-speed) trans and would
> like to convert to a C4. Does anyone know if I will have any issues
> in using a 5-speed computer on an C4 automatic?
Yes, you can. In fact the a9l has switches to allow it to run with
non-electronic transmissions. You'll only see the tag in GUI. Look for
the scalar trans_type_switch and use one of the following.
Trans type:
4 = non-electronic automatic.
3 = T5 with neutral/clutch switch
0 = no neutral/clutch switches