Tested and working stepper idle control
This commit is contained in:
parent
bcbd3eccd9
commit
d126abfd5f
|
@ -303,6 +303,7 @@ struct config4 {
|
|||
|
||||
byte fanInv : 1; // Fan output inversion bit
|
||||
byte fanEnable : 1; // Fan enable bit
|
||||
byte unused : 6;
|
||||
byte fanSP; // Cooling fan start temperature
|
||||
byte fanHyster; // Fan hysteresis
|
||||
};
|
||||
|
|
12
idle.h
12
idle.h
|
@ -1,14 +1,13 @@
|
|||
#define STEPPER_FORWARD 1
|
||||
#define STEPPER_BACKWARD 0
|
||||
#define STEPPER_FORWARD 0
|
||||
#define STEPPER_BACKWARD 1
|
||||
#define IDLE_TABLE_SIZE 10
|
||||
#define DRV8825_STEP_TIME 800 //The time in uS between steps for the DRV8825
|
||||
|
||||
enum StepperStatus {SOFF, STEPPING}; //The 2 statuses that a stepper can have. STEPPING means that a high pulse is currently being sent and will need to be turned off at some point.
|
||||
enum StepperStatus {SOFF, STEPPING, COOLING}; //The 2 statuses that a stepper can have. STEPPING means that a high pulse is currently being sent and will need to be turned off at some point.
|
||||
|
||||
struct StepperIdle
|
||||
{
|
||||
int curIdleStep; //Tracks the current location of the stepper
|
||||
int targetIdleStep; //What the targetted step is
|
||||
unsigned int curIdleStep; //Tracks the current location of the stepper
|
||||
unsigned int targetIdleStep; //What the targetted step is
|
||||
volatile StepperStatus stepperStatus;
|
||||
volatile unsigned long stepStartTime; //The time the curren
|
||||
};
|
||||
|
@ -22,5 +21,6 @@ struct table2D iacCrankDutyTable;
|
|||
|
||||
struct StepperIdle idleStepper;
|
||||
bool idleOn; //Simply tracks whether idle was on last time around
|
||||
unsigned int iacStepTime;
|
||||
|
||||
void initialiseIdle();
|
||||
|
|
52
idle.ino
52
idle.ino
|
@ -32,6 +32,7 @@ void initialiseIdle()
|
|||
case 2:
|
||||
//Case 2 is PWM open loop
|
||||
iacPWMTable.xSize = 10;
|
||||
iacPWMTable.valueSize = SIZE_BYTE;
|
||||
iacPWMTable.values = configPage4.iacOLPWMVal;
|
||||
iacPWMTable.axisX = configPage4.iacBins;
|
||||
|
||||
|
@ -54,14 +55,17 @@ void initialiseIdle()
|
|||
case 4:
|
||||
//Case 2 is Stepper open loop
|
||||
iacStepTable.xSize = 10;
|
||||
iacStepTable.valueSize = SIZE_BYTE;
|
||||
iacStepTable.values = configPage4.iacOLStepVal;
|
||||
iacStepTable.axisX = configPage4.iacBins;
|
||||
|
||||
iacCrankStepsTable.xSize = 4;
|
||||
iacCrankStepsTable.values = configPage4.iacCrankSteps;
|
||||
iacCrankStepsTable.axisX = configPage4.iacCrankBins;
|
||||
iacStepTime = configPage4.iacStepTime * 1000;
|
||||
|
||||
homeStepper(); //Returns the stepper to the 'home' position
|
||||
idleStepper.stepperStatus = SOFF;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
|
@ -73,6 +77,10 @@ void initialiseIdle()
|
|||
iacCrankStepsTable.xSize = 4;
|
||||
iacCrankStepsTable.values = configPage4.iacCrankSteps;
|
||||
iacCrankStepsTable.axisX = configPage4.iacCrankBins;
|
||||
iacStepTime = configPage4.iacStepTime * 1000;
|
||||
|
||||
homeStepper(); //Returns the stepper to the 'home' position
|
||||
idleStepper.stepperStatus = SOFF;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -116,13 +124,23 @@ void idleControl()
|
|||
|
||||
case 4: //Case 4 is open loop stepper control
|
||||
//First thing to check is whether there is currently a step going on and if so, whether it needs to be turned off
|
||||
if(idleStepper.stepperStatus == STEPPING)
|
||||
if(idleStepper.stepperStatus == STEPPING || idleStepper.stepperStatus == COOLING)
|
||||
{
|
||||
if(micros() > (idleStepper.stepStartTime + DRV8825_STEP_TIME) )
|
||||
if(micros() > (idleStepper.stepStartTime + iacStepTime) )
|
||||
{
|
||||
//Means we're currently in a step, but it needs to be turned off
|
||||
digitalWrite(pinStepperStep, LOW); //Turn off the step
|
||||
idleStepper.stepperStatus = SOFF;
|
||||
if(idleStepper.stepperStatus == STEPPING)
|
||||
{
|
||||
//Means we're currently in a step, but it needs to be turned off
|
||||
digitalWrite(pinStepperStep, LOW); //Turn off the step
|
||||
idleStepper.stepStartTime = micros();
|
||||
idleStepper.stepperStatus = COOLING; //'Cooling' is the time the stepper needs to sit in LOW state before the next step can be made
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Means we're in COOLING status. We need to remain in this state for the step time before the next step can be taken
|
||||
idleStepper.stepperStatus = SOFF;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -135,23 +153,23 @@ void idleControl()
|
|||
if( BIT_CHECK(currentStatus.engine, BIT_ENGINE_CRANK) )
|
||||
{
|
||||
//Currently cranking. Use the cranking table
|
||||
idleStepper.targetIdleStep = table2D_getValue(&iacCrankStepsTable, (currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET)); //All temps are offset by 40 degrees
|
||||
if (idleStepper.targetIdleStep == idleStepper.curIdleStep) { return; } //No action required
|
||||
else if(idleStepper.targetIdleStep < idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_BACKWARD); }//Sets stepper direction to backwards
|
||||
else if (idleStepper.targetIdleStep > idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_FORWARD); }//Sets stepper direction to forwards
|
||||
idleStepper.targetIdleStep = table2D_getValue(&iacCrankStepsTable, (currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET)) * 3; //All temps are offset by 40 degrees. Step counts are divided by 3 in TS. Multiply back out here
|
||||
if ( idleStepper.targetIdleStep > (idleStepper.curIdleStep - configPage4.iacStepHyster) && idleStepper.targetIdleStep < (idleStepper.curIdleStep + configPage4.iacStepHyster) ) { return; } //Hysteris check
|
||||
else if(idleStepper.targetIdleStep < idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_BACKWARD); idleStepper.curIdleStep--; }//Sets stepper direction to backwards
|
||||
else if (idleStepper.targetIdleStep > idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_FORWARD); idleStepper.curIdleStep++; }//Sets stepper direction to forwards
|
||||
|
||||
digitalWrite(pinStepperStep, HIGH);
|
||||
idleStepper.stepStartTime = micros();
|
||||
idleStepper.stepperStatus = STEPPING;
|
||||
idleOn = true;
|
||||
}
|
||||
else if( (currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET) < iacStepTable.values[IDLE_TABLE_SIZE-1])
|
||||
else if( (currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET) < iacStepTable.axisX[IDLE_TABLE_SIZE-1])
|
||||
{
|
||||
//Standard running
|
||||
idleStepper.targetIdleStep = table2D_getValue(&iacStepTable, (currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET)); //All temps are offset by 40 degrees
|
||||
if (idleStepper.targetIdleStep == idleStepper.curIdleStep) { return; } //No action required
|
||||
else if(idleStepper.targetIdleStep < idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_BACKWARD); }//Sets stepper direction to backwards
|
||||
else if (idleStepper.targetIdleStep > idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_FORWARD); }//Sets stepper direction to forwards
|
||||
idleStepper.targetIdleStep = table2D_getValue(&iacStepTable, (currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET)) * 3; //All temps are offset by 40 degrees. Step counts are divided by 3 in TS. Multiply back out here
|
||||
if ( idleStepper.targetIdleStep > (idleStepper.curIdleStep - configPage4.iacStepHyster) && idleStepper.targetIdleStep < (idleStepper.curIdleStep + configPage4.iacStepHyster) ) { return; } //Hysteris check
|
||||
else if(idleStepper.targetIdleStep < idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_BACKWARD); idleStepper.curIdleStep--; }//Sets stepper direction to backwards
|
||||
else if (idleStepper.targetIdleStep > idleStepper.curIdleStep) { digitalWrite(pinStepperDir, STEPPER_FORWARD); idleStepper.curIdleStep++; }//Sets stepper direction to forwards
|
||||
|
||||
digitalWrite(pinStepperStep, HIGH);
|
||||
idleStepper.stepStartTime = micros();
|
||||
|
@ -170,10 +188,12 @@ void homeStepper()
|
|||
{
|
||||
//Need to 'home' the stepper on startup
|
||||
digitalWrite(pinStepperDir, STEPPER_BACKWARD); //Sets stepper direction to backwards
|
||||
for(int x=0; x < configPage4.iacStepHome; x++)
|
||||
for(int x=0; x < (configPage4.iacStepHome * 3); x++) //Step counts are divided by 3 in TS. Multiply back out here
|
||||
{
|
||||
digitalWrite(pinStepperStep, HIGH);
|
||||
delayMicroseconds(DRV8825_STEP_TIME);
|
||||
delayMicroseconds(iacStepTime);
|
||||
digitalWrite(pinStepperStep, LOW);
|
||||
delayMicroseconds(iacStepTime);
|
||||
}
|
||||
digitalWrite(pinStepperDir, STEPPER_FORWARD);
|
||||
idleStepper.curIdleStep = 0;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<msq xmlns="http://www.msefi.com/:msq">
|
||||
<bibliography author="TunerStudio MS 2.6.14 - EFI Analytics, Inc." tuneComment="" writeDate="Thu Aug 06 16:52:19 EST 2015"/>
|
||||
<versionInfo fileFormat="4.0" firmwareInfo="" nPages="7" signature="20"/>
|
||||
<bibliography author="TunerStudio MS 2.6.14 - EFI Analytics, Inc." tuneComment="" writeDate="Wed Aug 26 13:24:38 EST 2015"/>
|
||||
<versionInfo fileFormat="4.0" firmwareInfo="Bowling & Grippo MS1 Base Code 20" nPages="7" signature="20"/>
|
||||
<page>
|
||||
<pcVariable name="tsCanId">"0"</pcVariable>
|
||||
<pcVariable cols="1" digits="1" name="wueAfrTargetOffset" rows="10" units=":1">
|
||||
|
@ -16,18 +16,6 @@
|
|||
-0.1
|
||||
0.0
|
||||
</pcVariable>
|
||||
<pcVariable cols="1" digits="0" name="wueAnalRecommend" rows="10" units="%">
|
||||
162.0
|
||||
152.0
|
||||
143.0
|
||||
135.0
|
||||
126.0
|
||||
120.0
|
||||
119.0
|
||||
116.0
|
||||
112.0
|
||||
100.0
|
||||
</pcVariable>
|
||||
<pcVariable cols="1" digits="0" name="tempTable" rows="10" units="%">
|
||||
-40.0
|
||||
-29.0
|
||||
|
@ -43,83 +31,83 @@
|
|||
</page>
|
||||
<page number="0" size="288">
|
||||
<constant cols="16" digits="0" name="veTable" rows="16" units="%">
|
||||
29.0 29.0 29.0 29.0 28.0 28.0 27.0 27.0 27.0 27.0 27.0 27.0 27.0 27.0 27.0 27.0
|
||||
33.0 33.0 33.0 34.0 34.0 33.0 33.0 33.0 33.0 33.0 33.0 33.0 31.0 31.0 31.0 31.0
|
||||
36.0 36.0 37.0 38.0 38.0 38.0 39.0 38.0 38.0 37.0 37.0 37.0 35.0 35.0 35.0 35.0
|
||||
38.0 39.0 39.0 40.0 41.0 42.0 42.0 42.0 41.0 41.0 41.0 40.0 40.0 40.0 40.0 40.0
|
||||
42.0 43.0 43.0 44.0 45.0 45.0 45.0 45.0 44.0 44.0 44.0 44.0 45.0 45.0 45.0 45.0
|
||||
44.0 45.0 46.0 46.0 47.0 47.0 48.0 48.0 46.0 47.0 48.0 49.0 49.0 49.0 49.0 49.0
|
||||
48.0 49.0 50.0 49.0 50.0 51.0 51.0 52.0 52.0 52.0 53.0 53.0 53.0 53.0 53.0 53.0
|
||||
52.0 54.0 55.0 56.0 56.0 56.0 57.0 57.0 57.0 57.0 58.0 58.0 58.0 58.0 58.0 58.0
|
||||
56.0 58.0 59.0 61.0 61.0 62.0 62.0 62.0 62.0 62.0 62.0 63.0 62.0 62.0 62.0 62.0
|
||||
61.0 64.0 65.0 66.0 67.0 67.0 67.0 67.0 67.0 67.0 67.0 67.0 67.0 67.0 67.0 67.0
|
||||
67.0 69.0 70.0 71.0 72.0 72.0 72.0 72.0 72.0 72.0 72.0 72.0 72.0 72.0 72.0 71.0
|
||||
74.0 75.0 76.0 77.0 77.0 77.0 77.0 77.0 77.0 77.0 77.0 77.0 77.0 77.0 77.0 76.0
|
||||
82.0 83.0 84.0 85.0 85.0 85.0 85.0 85.0 85.0 85.0 85.0 85.0 85.0 85.0 85.0 84.0
|
||||
91.0 91.0 92.0 92.0 93.0 93.0 93.0 93.0 93.0 93.0 93.0 93.0 93.0 93.0 92.0 92.0
|
||||
96.0 97.0 97.0 97.0 98.0 98.0 98.0 98.0 98.0 98.0 98.0 98.0 98.0 98.0 98.0 97.0
|
||||
102.0 102.0 102.0 102.0 103.0 103.0 103.0 103.0 103.0 103.0 103.0 103.0 103.0 103.0 103.0 103.0
|
||||
23.0 23.0 23.0 24.0 22.0 21.0 19.0 18.0 17.0 15.0 15.0 15.0 15.0 15.0 15.0 15.0
|
||||
24.0 24.0 24.0 25.0 23.0 22.0 20.0 19.0 18.0 16.0 15.0 15.0 15.0 15.0 15.0 15.0
|
||||
24.0 25.0 26.0 27.0 26.0 24.0 23.0 21.0 20.0 18.0 17.0 16.0 15.0 15.0 15.0 15.0
|
||||
26.0 28.0 29.0 30.0 29.0 27.0 26.0 24.0 23.0 21.0 20.0 18.0 17.0 16.0 16.0 16.0
|
||||
27.0 33.0 35.0 36.0 32.0 30.0 29.0 27.0 26.0 24.0 23.0 21.0 20.0 19.0 19.0 19.0
|
||||
31.0 38.0 40.0 39.0 36.0 34.0 32.0 30.0 29.0 27.0 26.0 24.0 23.0 21.0 21.0 22.0
|
||||
35.0 38.0 40.0 39.0 40.0 38.0 36.0 34.0 32.0 31.0 29.0 28.0 26.0 24.0 24.0 24.0
|
||||
41.0 43.0 44.0 42.0 43.0 41.0 40.0 38.0 36.0 34.0 32.0 31.0 29.0 27.0 26.0 27.0
|
||||
45.0 46.0 46.0 46.0 45.0 43.0 41.0 40.0 38.0 36.0 34.0 32.0 31.0 29.0 29.0 29.0
|
||||
45.0 46.0 46.0 46.0 46.0 44.0 42.0 40.0 38.0 36.0 34.0 33.0 31.0 31.0 32.0 32.0
|
||||
45.0 46.0 46.0 46.0 48.0 45.0 43.0 41.0 40.0 38.0 36.0 34.0 33.0 34.0 34.0 34.0
|
||||
45.0 46.0 46.0 46.0 48.0 45.0 43.0 41.0 40.0 38.0 36.0 36.0 36.0 37.0 37.0 37.0
|
||||
45.0 46.0 46.0 46.0 48.0 48.0 45.0 43.0 41.0 40.0 40.0 41.0 41.0 42.0 42.0 42.0
|
||||
45.0 45.0 45.0 46.0 48.0 48.0 47.0 45.0 43.0 43.0 43.0 43.0 44.0 44.0 44.0 44.0
|
||||
45.0 45.0 45.0 46.0 48.0 48.0 48.0 46.0 45.0 45.0 45.0 46.0 46.0 47.0 47.0 47.0
|
||||
45.0 45.0 45.0 46.0 48.0 48.0 48.0 48.0 47.0 48.0 48.0 48.0 48.0 48.0 48.0 48.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="rpmBins" rows="16" units="RPM">
|
||||
500.0
|
||||
1000.0
|
||||
700.0
|
||||
900.0
|
||||
1500.0
|
||||
2000.0
|
||||
2500.0
|
||||
3000.0
|
||||
3500.0
|
||||
4000.0
|
||||
4500.0
|
||||
5000.0
|
||||
2100.0
|
||||
2900.0
|
||||
3800.0
|
||||
4700.0
|
||||
5500.0
|
||||
6000.0
|
||||
5700.0
|
||||
5900.0
|
||||
6100.0
|
||||
6300.0
|
||||
6500.0
|
||||
7000.0
|
||||
8000.0
|
||||
9000.0
|
||||
6600.0
|
||||
6600.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="tpsBins" rows="16" units="TPS">
|
||||
2.0
|
||||
6.0
|
||||
10.0
|
||||
14.0
|
||||
18.0
|
||||
22.0
|
||||
26.0
|
||||
32.0
|
||||
38.0
|
||||
46.0
|
||||
54.0
|
||||
64.0
|
||||
74.0
|
||||
86.0
|
||||
96.0
|
||||
<constant cols="1" digits="0" name="mapBins" rows="16" units="kPa">
|
||||
15.0
|
||||
25.0
|
||||
30.0
|
||||
35.0
|
||||
40.0
|
||||
45.0
|
||||
50.0
|
||||
55.0
|
||||
60.0
|
||||
65.0
|
||||
70.0
|
||||
75.0
|
||||
85.0
|
||||
90.0
|
||||
95.0
|
||||
100.0
|
||||
</constant>
|
||||
</page>
|
||||
<page number="1" size="64">
|
||||
<constant digits="1" name="crankCold" units="ms">5.0</constant>
|
||||
<constant digits="1" name="crankHot" units="ms">2.0</constant>
|
||||
<constant digits="0" name="asePct" units="%">15.0</constant>
|
||||
<constant digits="0" name="aseCount" units="s">13.0</constant>
|
||||
<constant digits="0" name="asePct" units="%">4.0</constant>
|
||||
<constant digits="0" name="aseCount" units="s">50.0</constant>
|
||||
<constant cols="1" digits="0" name="wueBins" rows="10" units="%">
|
||||
162.0
|
||||
152.0
|
||||
148.0
|
||||
148.0
|
||||
100.0
|
||||
100.0
|
||||
100.0
|
||||
100.0
|
||||
148.0
|
||||
145.0
|
||||
140.0
|
||||
128.0
|
||||
126.0
|
||||
112.0
|
||||
100.0
|
||||
</constant>
|
||||
<constant digits="0" name="crankingPct" units="%">10.0</constant>
|
||||
<constant name="pinLayout">"Turtana PCB"</constant>
|
||||
<constant digits="0" name="crankingPct" units="%">1.0</constant>
|
||||
<constant name="pinLayout">"Speeduino v0.4"</constant>
|
||||
<constant digits="1" name="unused16" units="ms">0.0</constant>
|
||||
<constant digits="1" name="tdePct" units="ms">3.2</constant>
|
||||
<constant digits="1" name="taeColdA" units="ms">0.0</constant>
|
||||
<constant digits="0" name="tpsThresh" units="%/s">40.0</constant>
|
||||
<constant digits="0" name="tpsThresh" units="%/s">100.0</constant>
|
||||
<constant digits="0" name="taeTime" units="ms">200.0</constant>
|
||||
<constant name="display">"Unused"</constant>
|
||||
<constant name="display1">"VE"</constant>
|
||||
|
@ -129,7 +117,7 @@
|
|||
<constant name="display5">"RPM"</constant>
|
||||
<constant name="displayB1">"RPM"</constant>
|
||||
<constant name="displayB2">"RPM"</constant>
|
||||
<constant digits="1" name="reqFuel" units="ms">9.0</constant>
|
||||
<constant digits="1" name="reqFuel" units="ms">13.2</constant>
|
||||
<constant digits="0" name="divider">2.0</constant>
|
||||
<constant name="alternate">"Alternating"</constant>
|
||||
<constant digits="1" name="injOpen" units="ms">1.0</constant>
|
||||
|
@ -146,11 +134,11 @@
|
|||
<constant name="nInjectors">"4"</constant>
|
||||
<constant name="engineType">"Even fire"</constant>
|
||||
<constant name="egoType1">"Narrow band"</constant>
|
||||
<constant name="algorithm">"Alpha-N"</constant>
|
||||
<constant name="algorithm">"Speed Density"</constant>
|
||||
<constant name="baroCorr">"Off"</constant>
|
||||
<constant name="injTiming">"Semi-Sequential"</constant>
|
||||
<constant digits="1" name="primePulse" units="ms">0.0</constant>
|
||||
<constant digits="0" name="dutyLim" units="%">35.0</constant>
|
||||
<constant digits="0" name="dutyLim" units="%">85.0</constant>
|
||||
<constant digits="0" name="unused41" units="RPM">4200.0</constant>
|
||||
<constant digits="3" name="egoSwitch" units="v">0.0</constant>
|
||||
<constant digits="0" name="taeColdM" units="%">0.0</constant>
|
||||
|
@ -163,8 +151,8 @@
|
|||
21.0 22.0 23.0 24.0 25.0 28.0 31.0 33.0 34.0 35.0 36.0 37.0 38.0 38.0 39.0 40.0
|
||||
21.0 22.0 23.0 24.0 25.0 28.0 31.0 33.0 34.0 35.0 36.0 37.0 38.0 38.0 39.0 40.0
|
||||
21.0 22.0 23.0 24.0 25.0 28.0 31.0 33.0 34.0 34.0 36.0 37.0 37.0 37.0 38.0 39.0
|
||||
20.0 21.0 22.0 23.0 24.0 28.0 31.0 32.0 34.0 34.0 36.0 37.0 37.0 37.0 38.0 39.0
|
||||
20.0 21.0 22.0 23.0 24.0 28.0 31.0 32.0 33.0 34.0 35.0 36.0 36.0 36.0 37.0 38.0
|
||||
20.0 15.0 15.0 23.0 24.0 28.0 31.0 32.0 34.0 34.0 36.0 37.0 37.0 37.0 38.0 39.0
|
||||
20.0 15.0 15.0 23.0 24.0 28.0 31.0 32.0 33.0 34.0 35.0 36.0 36.0 36.0 37.0 38.0
|
||||
19.0 20.0 22.0 23.0 24.0 27.0 30.0 31.0 32.0 33.0 34.0 35.0 36.0 36.0 37.0 38.0
|
||||
19.0 20.0 21.0 23.0 24.0 26.0 29.0 30.0 31.0 32.0 33.0 34.0 35.0 35.0 36.0 37.0
|
||||
19.0 20.0 21.0 23.0 24.0 25.0 28.0 30.0 31.0 32.0 33.0 34.0 34.0 34.0 35.0 35.0
|
||||
|
@ -194,48 +182,48 @@
|
|||
8000.0
|
||||
9000.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="tpsBins2" rows="16" units="TPS">
|
||||
2.0
|
||||
6.0
|
||||
10.0
|
||||
14.0
|
||||
18.0
|
||||
22.0
|
||||
<constant cols="1" digits="0" name="mapBins2" rows="16" units="kPa">
|
||||
15.0
|
||||
25.0
|
||||
30.0
|
||||
38.0
|
||||
46.0
|
||||
54.0
|
||||
62.0
|
||||
35.0
|
||||
40.0
|
||||
45.0
|
||||
50.0
|
||||
55.0
|
||||
60.0
|
||||
65.0
|
||||
70.0
|
||||
80.0
|
||||
75.0
|
||||
85.0
|
||||
90.0
|
||||
95.0
|
||||
100.0
|
||||
</constant>
|
||||
</page>
|
||||
<page number="3" size="64">
|
||||
<constant digits="0" name="TrigAng" units="Deg">270.0</constant>
|
||||
<constant digits="0" name="FixAng" units="Deg">0.0</constant>
|
||||
<constant digits="0" name="CrankAng" units="Deg">11.6</constant>
|
||||
<constant digits="0" name="TrigAng" units="Deg">355.0</constant>
|
||||
<constant digits="0" name="FixAng" units="Deg">10.0</constant>
|
||||
<constant digits="0" name="CrankAng" units="Deg">5.0</constant>
|
||||
<constant digits="0" name="IgHold">10.0</constant>
|
||||
<constant name="TrigEdge">"Leading"</constant>
|
||||
<constant name="TrigEdge">"Trailing"</constant>
|
||||
<constant name="TrigSpeed">"Crank Speed"</constant>
|
||||
<constant name="IgInv">"Going Low"</constant>
|
||||
<constant name="oddfire">"Yes"</constant>
|
||||
<constant name="TrigPattern">"Missing Tooth"</constant>
|
||||
<constant name="TrigPattern">"Basic Distributor"</constant>
|
||||
<constant digits="0" name="IdleAdv" units="Deg">-1.9008</constant>
|
||||
<constant digits="0" name="IdleAdvTPS" units="ADC">65.0</constant>
|
||||
<constant digits="0" name="IdleAdvRPM" units="RPM">3200.0</constant>
|
||||
<constant digits="1" name="IdleAdvCLT" units="C">-20.535</constant>
|
||||
<constant digits="0" name="IdleDelayTime" units="sec">38.0</constant>
|
||||
<constant digits="0" name="StgCycles" units="cycles">3.0</constant>
|
||||
<constant digits="0" name="StgCycles" units="cycles">1.0</constant>
|
||||
<constant name="dwellcont">"Dwell control"</constant>
|
||||
<constant digits="1" name="dwellcrank" units="ms">4.5</constant>
|
||||
<constant digits="1" name="dwellrun" units="ms">3.8</constant>
|
||||
<constant digits="1" name="dwellcrank" units="ms">6.0</constant>
|
||||
<constant digits="1" name="dwellrun" units="ms">3.0</constant>
|
||||
<constant digits="0" name="numteeth" units="teeth">36.0</constant>
|
||||
<constant digits="0" name="onetwo" units="teeth">1.0</constant>
|
||||
<constant digits="0" name="crankRPM" units="rpm">300.0</constant>
|
||||
<constant digits="0" name="tpsflood" units="%">92.0</constant>
|
||||
<constant digits="0" name="crankRPM" units="rpm">500.0</constant>
|
||||
<constant digits="0" name="tpsflood" units="%">90.0</constant>
|
||||
<constant digits="0" name="SoftRevLim" units="rpm">7500.0</constant>
|
||||
<constant digits="0" name="SoftLimRetard" units="deg">20.0</constant>
|
||||
<constant digits="1" name="SoftLimMax" units="s">2.0</constant>
|
||||
|
@ -311,23 +299,23 @@
|
|||
8000.0
|
||||
9000.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="tpsBinsAFR" rows="16" units="TPS">
|
||||
2.0
|
||||
4.0
|
||||
6.0
|
||||
8.0
|
||||
10.0
|
||||
12.0
|
||||
16.0
|
||||
20.0
|
||||
24.0
|
||||
28.0
|
||||
34.0
|
||||
40.0
|
||||
50.0
|
||||
60.0
|
||||
80.0
|
||||
100.0
|
||||
<constant cols="1" digits="0" name="mapBinsAFR" rows="16" units="kPa">
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
255.0
|
||||
</constant>
|
||||
</page>
|
||||
<page number="5" size="64">
|
||||
|
@ -349,7 +337,7 @@
|
|||
<constant digits="0" name="unused62" units="RPM">3000.0</constant>
|
||||
<constant digits="0" name="unused63" units="RPM">6000.0</constant>
|
||||
<constant name="egoAlgorithm">"No correction"</constant>
|
||||
<constant name="egoType">"Wide Band"</constant>
|
||||
<constant name="egoType">"Narrow Band"</constant>
|
||||
<constant digits="0" name="egoKP" units="%">100.0</constant>
|
||||
<constant digits="0" name="egoKI" units="%">20.0</constant>
|
||||
<constant digits="0" name="egoKD" units="%">0.0</constant>
|
||||
|
@ -419,77 +407,80 @@
|
|||
0.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="iacOLStepVal" rows="10" units="Steps">
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
369.0
|
||||
327.0
|
||||
291.0
|
||||
246.0
|
||||
213.0
|
||||
168.0
|
||||
123.0
|
||||
87.0
|
||||
45.0
|
||||
0.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="iacOLPWMVal" rows="10" units="Duty %">
|
||||
0.0
|
||||
7.0
|
||||
11.0
|
||||
16.0
|
||||
19.0
|
||||
24.0
|
||||
29.0
|
||||
34.0
|
||||
38.0
|
||||
43.0
|
||||
39.0
|
||||
33.0
|
||||
28.0
|
||||
17.0
|
||||
5.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="iacBins" rows="10" units="C">
|
||||
108.0
|
||||
81.0
|
||||
52.0
|
||||
28.0
|
||||
14.0
|
||||
-38.0
|
||||
-19.0
|
||||
1.0
|
||||
-12.0
|
||||
-21.0
|
||||
-31.0
|
||||
-37.0
|
||||
21.0
|
||||
35.0
|
||||
46.0
|
||||
56.0
|
||||
64.0
|
||||
71.0
|
||||
77.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="iacCrankSteps" rows="4" units="Steps">
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
0.0
|
||||
123.0
|
||||
579.0
|
||||
390.0
|
||||
300.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="iacCrankDuty" rows="4" units="Duty %">
|
||||
27.0
|
||||
31.0
|
||||
42.0
|
||||
44.0
|
||||
59.0
|
||||
</constant>
|
||||
<constant cols="1" digits="0" name="iacCrankBins" rows="4" units="C">
|
||||
127.0
|
||||
85.0
|
||||
39.0
|
||||
-13.0
|
||||
-28.0
|
||||
6.0
|
||||
44.0
|
||||
73.0
|
||||
</constant>
|
||||
<constant name="iacAlgorithm">"None"</constant>
|
||||
<constant name="iacStepTime">"1"</constant>
|
||||
<constant name="iacAlgorithm">"Stepper"</constant>
|
||||
<constant name="iacStepTime">"3"</constant>
|
||||
<constant digits="0" name="iacFastTemp" units="C">-40.0</constant>
|
||||
<constant digits="0" name="iacStepHome" units="Steps">0.0</constant>
|
||||
<constant digits="1" name="iacStepHyster" units="C">0.0</constant>
|
||||
<constant digits="0" name="iacStepHome" units="Steps">240.0</constant>
|
||||
<constant digits="0" name="iacStepHyster" units="C">4.0</constant>
|
||||
<constant name="fanInv">"No"</constant>
|
||||
<constant name="fanEnable">"No"</constant>
|
||||
<constant name="unused55a">"No"</constant>
|
||||
<constant name="unused55b">"No"</constant>
|
||||
<constant name="unused55c">"No"</constant>
|
||||
<constant name="unused55d">"No"</constant>
|
||||
<constant name="unused55e">"No"</constant>
|
||||
<constant name="unused55f">"No"</constant>
|
||||
<constant digits="0" name="fanSP" units="°C">-40.0</constant>
|
||||
<constant digits="0" name="fanHyster" units="°C">-40.0</constant>
|
||||
</page>
|
||||
<settings Comment="These setting are only used if this msq is opened without a project.">
|
||||
<setting name="NARROW_BAND_EGO" value="NARROW_BAND_EGO"/>
|
||||
<setting name="CELSIUS" value="CELSIUS"/>
|
||||
<setting name="ALPHA_N" value="ALPHA_N"/>
|
||||
<setting name="SPEED_DENSITY" value="SPEED_DENSITY"/>
|
||||
<setting name="MPX4250" value="MPX4250"/>
|
||||
<setting name="INNOVATE_LC1_DEFAULT" value="INNOVATE_LC1_DEFAULT"/>
|
||||
</settings>
|
||||
<userComments Comment="These are user comments that can be related to a particular setting or dialog.">
|
||||
<userComment name="SoftRevLim" value=""/>
|
||||
<userComment name="aseCount" value=""/>
|
||||
</userComments>
|
||||
<userComments Comment="These are user comments that can be related to a particular setting or dialog."/>
|
||||
</msq>
|
||||
|
|
|
@ -327,11 +327,11 @@ page = 6
|
|||
;Start idle and fan controls (Page 7)
|
||||
;--------------------------------------------------
|
||||
page = 7
|
||||
iacCLValues = array, U08, 0, [10], "RPM", 1.0, 0.0, 100.0, 255, 0
|
||||
iacOLStepVal = array, U08, 10, [10], "Steps", 1.0, 0, 0, 255, 0
|
||||
iacCLValues = array, U08, 0, [10], "RPM", 1.0, 0.0, 100.0, 255, 0
|
||||
iacOLStepVal = array, U08, 10, [10], "Steps", 3, 0, 0, 765, 0
|
||||
iacOLPWMVal = array, U08, 20, [10], "Duty %", 1.0, 0, 0, 100, 0
|
||||
iacBins = array, U08, 30, [10], "C", 1.0, -40, -40, 215, 0
|
||||
iacCrankSteps= array, U08, 40, [4], "Steps", 1.0, 0, 0, 255, 0
|
||||
iacCrankSteps= array, U08, 40, [4], "Steps", 3, 0, 0, 765, 0
|
||||
iacCrankDuty = array, U08, 44, [4], "Duty %", 1.0, 0, 0, 100, 0
|
||||
iacCrankBins = array, U08, 48, [4], "C", 1.0, -40, -40, 215, 0
|
||||
|
||||
|
@ -345,18 +345,24 @@ page = 7
|
|||
iacFastTemp = scalar, U08, 53, "F", 1.0, -40, -40, 215, 0
|
||||
#endif
|
||||
|
||||
iacStepHome = scalar, U08, 54, "Steps", 1.0, 0, 0, 255, 0
|
||||
iacStepHyster= scalar, U08, 54, "C", 0.1, 0.0, 0.0, 25.5, 1
|
||||
iacStepHome = scalar, U08, 54, "Steps", 3, 0, 0, 765, 0
|
||||
iacStepHyster= scalar, U08, 55, "Steps", 1, 0.0, 0.0, 10, 0
|
||||
|
||||
; Begin fan control vairables
|
||||
fanInv = bits, U08, 55, [0:0], "No", "Yes"
|
||||
fanEnable = bits, U08, 55, [1:1], "No", "Yes"
|
||||
fanInv = bits, U08, 56, [0:0], "No", "Yes"
|
||||
fanEnable = bits, U08, 56, [1:1], "No", "Yes"
|
||||
unused55a = bits, U08, 56, [2:2], "No", "Yes"
|
||||
unused55b = bits, U08, 56, [3:3], "No", "Yes"
|
||||
unused55c = bits, U08, 56, [4:4], "No", "Yes"
|
||||
unused55d = bits, U08, 56, [5:5], "No", "Yes"
|
||||
unused55e = bits, U08, 56, [6:6], "No", "Yes"
|
||||
unused55f = bits, U08, 56, [7:7], "No", "Yes"
|
||||
#if CELSIUS
|
||||
fanSP = scalar, U08, 56, "°C", 1.0, -40, -40, 215.0, 0
|
||||
fanHyster = scalar, U08, 57, "°C", 1.0, -40, -40, 215.0, 0
|
||||
fanSP = scalar, U08, 57, "°C", 1.0, -40, -40, 215.0, 0
|
||||
fanHyster = scalar, U08, 58, "°C", 1.0, -40, -40, 215.0, 0
|
||||
#else
|
||||
fanSP = scalar, U08, 56, "°F", 1.0, -40, -40, 215.0, 0
|
||||
fanHyster = scalar, U08, 57, "°F", 1.0, -40, -40, 215.0, 0
|
||||
fanSP = scalar, U08, 57, "°F", 1.0, -40, -40, 215.0, 0
|
||||
fanHyster = scalar, U08, 58, "°F", 1.0, -40, -40, 215.0, 0
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -551,6 +557,7 @@ page = 7
|
|||
dialog = stepper_idle, "Stepper Idle"
|
||||
field = "Step time (ms)", iacStepTime, { iacAlgorithm == 4 || iacAlgorithm == 5 }
|
||||
field = "Home steps", iacStepHome, { iacAlgorithm == 4 || iacAlgorithm == 5 }
|
||||
field = "Minimum Steps", iacStepHyster, { iacAlgorithm == 4 || iacAlgorithm == 5 }
|
||||
|
||||
dialog = idleSettings, "Idle Settings"
|
||||
field = "Idle control type", iacAlgorithm
|
||||
|
@ -784,16 +791,16 @@ help = helpEnrichments, "Enrichments Help"
|
|||
|
||||
curve = iacStep_curve, "IAC Stepper Motor"
|
||||
columnLabel = "Coolant Temperature", "C"
|
||||
xAxis = -40, 215, 6
|
||||
yAxis = 0, 100, 4
|
||||
xAxis = -40, 120, 6
|
||||
yAxis = 0, 850, 4
|
||||
xBins = iacBins, coolant
|
||||
yBins = iacOLStepVal
|
||||
|
||||
curve = iacStepCrank_curve, "IAC Stepper Motor Cranking"
|
||||
columnLabel = "Coolant Temperature", "C"
|
||||
xAxis = -40, 215, 6
|
||||
yAxis = 0, 100, 4
|
||||
xBins = iacBins, coolant
|
||||
xAxis = -40, 120, 6
|
||||
yAxis = 0, 850, 4
|
||||
xBins = iacCrankBins, coolant
|
||||
yBins = iacCrankSteps
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue