V2 MegaShift™ code is the latest release code for controlling automatic transmissions using the GPIO board form Bowling and Grippo. This code has:
The LEDs or LCD display can be set to flash in reverse.
Build Guide | Components | Installation | Set-up | |
4L60E | 4L60E Build Guide | 4L60E BOM | 4L60E Install Guide | Configuration and Tuning Guide |
4L80E | 4L80E Build Guide | 4L80E BOM | 4L80E Install Guide | Configuration and Tuning Guide |
41te | DRAFT 41te | DRAFT 41te BOM | DRAFT 41te Install Guide |
Configuration and Tuning Guide |
Jump to the: Set-Up and Tuning Parameters.
The Windows 9x/ME/XP/Vista software applications you use to tune and configure your MegaShift™ hardware are called TunerStudio by Phil Tobin. You also need a laptop or notebook computer and a conventional serial port (or USB-serial adapter) to communicate with MegaShift™.
To set up TunerStudio to use MShift™ with CAN from MS-II™:
Here is a video on setting up CAN in TunerStudioMS: CAN set-up video (22 MBytes)
There is more on the CAN pass-through here: www.msgpio.com/manuals/mshift/cpt.html, including assembly and wiring instructions, etc.
The following is a list of of all the tuning parameters in the MShift™ V2.xxx software, and each has a description of how that parameter is used. Pressing F1 at any menu in the tuning software while connected to the internet will take you directly to the corresponding spot in this file.
Note: DO NOT power off the MShift™/GPIO board while the 'Flash Burn' indicator is active. Doing so *will* corrupt your settings. Wait a second or two for the burn to complete before powering down the board.
TunerStudioMS can store and retrieve set-up files, both entire set-ups (.msq files), and gear or line pressure table files (.vex).Â
You can see the images 2x larger by right-clicking on them, and selecting 'View Image'.
This is without 'MegaTune Style':
This is with 'MegaTune Style':
The datalogged variables are:
Time | This is the actual time calculated from the PC system time. | |||||||||||||||||||||||||||
Seconds | Clock, time is seconds since last restart, reset, or 'roll-over' of the clock to zero (from 65535 seconds) | |||||||||||||||||||||||||||
Mode | Current shift mode: 0=manual, 1=auto (table), 2=auto (sequential) | |||||||||||||||||||||||||||
Speed | Current vehicle speed (in mph or kph, depending on Metric_Units) | |||||||||||||||||||||||||||
RPM | Current engine rpm (from MS-II™ CAN or using ISS/tach input circuit or estimated from VSS and gear) | |||||||||||||||||||||||||||
miles/kms | Trip odometer - since last restart/reset (in the units noted). | |||||||||||||||||||||||||||
load | Engine load reported from MS-II™ using CAN, or determined using local circuit | |||||||||||||||||||||||||||
WOT | This values indicates if the engine has been to WOT stautus in the last ten seconds. It is zero if it hasn't, and counts up to ten and resets otherwise. | |||||||||||||||||||||||||||
mpg | Fuel efficiency in miles per U.S. gallon | |||||||||||||||||||||||||||
swADC | Manual gear lever position ADC count for swA (processor pin PAD00 on GPIO board circuit EGT4 using Ampseal pin 26) | |||||||||||||||||||||||||||
swBDC | Manual gear lever position ADC count for swB (processor pin PAD01 on GPIO board circuit GPI2 using Ampseal pin 6) | |||||||||||||||||||||||||||
swCDC | Manual gear lever position ADC count for swC (processor pin PAD03 on GPIO board circuit EGT3 using Ampseal pin 25) | |||||||||||||||||||||||||||
swD | When 4 inpout channels are used to determine the shift lever position, this indicates whether that 4th input is high (=1) or low (=0) | |||||||||||||||||||||||||||
solst | The state of solA (output1) is logged as the first bit of solst. The state of solB (output2) is logged as the second bit of solst. The state of solC (output3) is logged as the third bit of solst. The state of solD (output4) is logged as the 4th bit of solst. Zero in any position means off, 1 means on. So some examples are:
0000 = 0 - solA off, solB off, solC off, solD off | |||||||||||||||||||||||||||
cGear | Current selected gear determined from state of shift solenoids and output tables | |||||||||||||||||||||||||||
tGear | Gear to shift to determined from shift table (limited by the manual gear lever position as appropriate). This is still reported if shifting manually using the shift buttons, but isn't used, of course | |||||||||||||||||||||||||||
mGear | Manual gear lever position determined from switch manifold (GM style) or switch voltage (Ford style) | |||||||||||||||||||||||||||
TCC | Torque converter clutch state: 0 = unlocked torque converter clutch, 1 = locked clutch | |||||||||||||||||||||||||||
Brake | Brake status: 0 = brakes off, 1 = brakes on | |||||||||||||||||||||||||||
OS | Current output shaft rpm, as determined from the VSS sensor output | |||||||||||||||||||||||||||
IS | Calculated or measured input shaft rpm | |||||||||||||||||||||||||||
slip | Difference in rpm between engine rpm and input shaft rpm | |||||||||||||||||||||||||||
temp | Transmission fluid temperature | |||||||||||||||||||||||||||
line | Line pressure in pounds per square inch | |||||||||||||||||||||||||||
auxCH | Axillary data channel (used for load if no CAN) | |||||||||||||||||||||||||||
error | error code:
Ex2: error 65 = 1 + 64 = serial comms okay, low voltage. | |||||||||||||||||||||||||||
PC% | Pressure Control valve duty cycle (% for PWM) | |||||||||||||||||||||||||||
Sp1 | Spare port 1 status, 1=on, 0=off | |||||||||||||||||||||||||||
Sp2 | Spare port 1 status, 1=on, 0=off | |||||||||||||||||||||||||||
sLoad | Short term LOAD average | |||||||||||||||||||||||||||
mloop | Main loop counter | |||||||||||||||||||||||||||
mlfrq | Main loop frequency (note the the main loop stops for the duration of shifts). | |||||||||||||||||||||||||||
dbug | Spare debugging variable brought out in TunerStudioMS (default is VSS tooth error count) | |||||||||||||||||||||||||||
burn | Indicates that a burn of users parameters to flash memory is active. | |||||||||||||||||||||||||||
FWD | state of 2WD or 4WD switch for speedometer adjustment if enabled - 0 = 4WD, 1 = 2WD |
More variables are available for datalogging, you can find these in the [OutputChannels] section of the INI.
Note: DO NOT power off the MShift™/GPIO board while the 'Flash Burn' indicator is active. Doing so *will* corrupt your settings. Wait a second or two for the burn to complete before powering down the board.
You must enter the gear ratios built into the transmission.
The hysteresis conditions are for auto mode only, of course. The hysteresis conditions are OR'd. That is, if either condition is met the shift is allowed. However, the hysteresis condition are not used if the load is at WOT.
You can disable the hysteresis by setting the values to zero, or setting the 'Hysteresis Enable Speed' very high (will require mods to the INI, which limits the value to 15),
The hysteresis is in there for a reason though. If you have no hysteresis, and happen to be traveling at a nearly constant speed very near one of the shift speeds, the controller could cause the trans to shift between gears continuously, which would be very annoying. It would be like the TCC switching on and off, but 100 times worse.
And if a given speed column has more than one gear in it (most will - because you will want to upshift earlier at low loads - have a look at the default table) then the speed may stay the same but the load change slightly at the shift point (where the gear changes in the table) and cause a shift. This gear change can itself cause a change in kPa (because the rpm changes) and this might result in a shift back to the original gear, and so on. However note that you can do a lot with the 'LOAD Smoothing Factor' to lower the amount of 'bounce' in the load signal.
Note that in a real vehicle (as opposed to testing on a bench), hysteresis won't delay a shift, as long as the gap between speed bins is larger than the 'Shift Factors/Shift Speed Hysteresis' setting and the gap between load bins is larger than the 'Shift Factors/Shift kPa Hysteresis'.
Note that fully variable PWM is enabled only on the PC (pressure control) valve in the default 4L60E configuration. This valve has a 1N4001 recirculation diode installed externally between the solenoid power supply and the line to the GPIO board to recirculate the flyback current generated by the PWM. The illustrated instructions are here: Recirculation Diode Instructions. If you enable PWM on Output1, Output2, Output3, Output4, and/or TCC you MUST install an external 1N4001 recirculation diode between that solenoid's voltage supply and the line going to the GPIO board. The banded end of the diode goes to the voltage supply wire, the non-banded end of the diode goes to the line to the GPIO board. Install the diode as close to the solenoid as is convenient. The 1N4001 diode is installed externally to avoid bringing high-voltage noise into the controller. 1N4001 diodes are available at virtually any electronics supply shop. Without this external diode in the PWM circuits, you may damage some internal components.
Here is a calculator to help set the ON and OFF parameters based on the target frequency and duty cycle:
You can select which of the outputs (1,2,4,5,6) have PWM, and which are on/off in this menu as well. Note that Output3 is controlled independently.
Also see: PWM Refresh and Dithering
The default VSSsmoothFactor is 4, so if the current speed is 20 and the VSS indicates it has risen instantaneously to 25 (usually because of noise), the calculation is:
The controller recalculates this 100 times per second, so the 'real' speed can still rise or fall quite rapidly. The smoothing factor can be from 2 to 12 (limited in the ini).
VSS smoothing is disabled if the current vehicle speed is less than 1.5 times the 'Min. Vehicle Speed' (below) to prevent the speedometer from being stuck at zero if the minimum speed is high.
These fuel efficiency factors allow MegaShift™ to compute the instantaneous fuel consumption.
Timing retard values are positive to remove timing from the MS-II™ engine controller spark advance table. Retard values are applied for the duration of the shift, which includes the 'shift pressure adjustment delay' and the 'shift completion delay' times (under 'General Settings/Shift Factors'), plus the very short time required to process the shift solenoid switching.
So, for example, if you shift from 1st to 2nd, and the upshift retard is 10°, and the second gear retard is 2°, with a base timing of 20° you would see on the timing gauge:
These timing adjustments have been extensively tested with MS-II™ and B&G code, where they work perfectly. Apparently these timing adjustments do not work in MS3 as of Nov.23, 2011, presumably due to a bug in the CAN code on MS3. Contact the MS3 developers on their forum at www.msextra.com to see if this bug has been fixed at the time you read this.
Some PWM solenoids uses a deliberately low PWM percent, but refresh the solenoid with a burst at 100% before it can close. As well, some pressure control solenoids use a cleaning pulse (called a 'dither') to ensure adequate fluid flow through the system to keep the system clean. You can set both of these up in this dialog.
Load = ('Multiplier' * deviceVolts) + 'Load at 0 Volts'
Where M = multiplier (aka. "slope" in math terms), x is the Volts, B = Load at zero Volts, and y = load.
M is the slope, which is the 'rise' divided by the 'run':
M = (Load2 - Load1)/(Volts2 - Volts1)
and B = Load1 - M * Volts1
For example, if your device puts out 1.2 Volts at 20% load, and 4.4 Volts at 100% load, then the values you would use are:
Multiplier = (100-20)/(4.4-1.2) = 80/3.2 = 25
Load at 0 Volts = B = y - Mx = Load1 - 25*Volts1 = 20 - (25*1.2) = -10
The equation then becomes Load = (25 * Volts) - 10
Here is a calculator to assist in deriving the values (click anywhere outside a text box to recalculate):