So this is a test write up so bare with me.
Specific solenoid operational information at the bottom.
The new system is based solely on targeting and reaching the target. There are a number of sensors that can alter the target. This allows boost changes based on throttle position, 0-5v input sensor position, exhaust gas temp, intake air temp and optionally gear. To begin with all these options should just be disabled so that the baseline can be set without fuss.
After the system has figured out a target to reach the appropriate duty cycle must be determined. In this case the baseline duty cycle comes from a table, so that with altering engine speed and boost target the baseline automatically changes to accomodate the altering requirements for the boost solenoid.
In this write-up I´ll be using these variables below and boost table, however the table is just an example and for clarity at the end I post a suggested starting point table.
To enable the new boost control you must enable the actual output and configure the main Boost control options in a specific way as below.
What you see above is
Output Channel :The physical output pin selected.
Boost PID Channel refers to the channel group where the output is
Channel refers to the actual pin involved
This is best selected in the outputs menu (Outputs - Assign Output Channels) as it lists actual pin numbers.
Settings:PWM Period : the frequency of your solenoid , 21Hz is a fine start
Reducing boost refDC when over MAT/EGT Limits : the output duty cycle would be lowered if you pass your set limits , 2%/°C for MAT, now sure on EGT. Leave disabled for now
Speed dependent : only available with the old boost control, boost duty cycle is controlled by road speed
Gear dependent : Only displays how many rows you have to use, 1 gear means no individual gears possible, only single rpm row for targeting, if Gear or Speed dependent is set to Gear this says 6 gears and is always greyed out.
Gear or Speed dependent : No dependent means that you will use a single curve for main boost targeting, Speed doesn´t work in this situation, Gear means that you will fill in a table with 6 rows , one for each gear possible. Leave it at No Dependent for now.
Boost valve OFF below this pressure : this means that the solenoid won´t be outputting any duty cycle below this value, I keep it just above 100kpa so that it´s not buzzing while the engine is off. Disregard my image saying 80kpa I was bench testing, set it to 105kpa.
PID Settings:The new system doesn´t operate a simple PID loop on top of the baseline duty cycle table, it allows you to turn on and off individual aspects of the closed loop functions to better maintain smooth operations and remove all erratic behaviour.
Apply max DC until : You can force the output to Boost pwm maximum value when you are still this far away from the target, the close you get the more likely you are to overshoot your target. So start off with a long range and shorten and test. Start with 90kpa in this case.
PD control (far from target) : When MAP is within this value of Boost Target then the P value and D value become active in where the P value will increase the output duty cycle and the D will lower it if the rate of change of the MAP is high to avoid overshooting.
PI control (close to target) : When MAP is within this value of Boost target then P and I value are active and D is disabled. The P still maintains it´s function as before applying instant correction to the baseline duty cycle based on the amount of error. The I will accumulate dutycycle based on the amount of error at any given time. Simply put since the P doesn´t get you to the target the I will increase and increase continously, and since the error will lower each time the accumulation will also decrease.
PID overlap range: When MAP is within this value D is enabled again. So far I don´t know what the option "forever" means, I´ll update when I do.
These values will work nicely,
Before going further, here are some good PID links for reference.
http://en.wikipedia.org/wiki/Duty_cyclehttp://www.csimn.com/CSI_pages/PIDforDummies.htmlBoost P: This is the proportional addition of dutycycle to the baseline and is instantly added.
Boost I : This is the integral addition of duty cycle to the baseline and is constantly being updated based on the amount of error. Since understanding the I is very important here is an example.
If base dutycycle is 50% and P has added 5% and the total is 55% and the error is 20kpa. And I_DC% is currently 0% so the total is 55% still. The function will calculate a % value that will be added to I_DC% and then applied. Lets say it´s 1%. Now the total is 56% and lets imagine that the error changed to 15kpa (boost target 200kpa, MAP 185kpa). Now P will actually decrease as it is related to the amount of error (Since 20kpa resulted in 5%, 15kpa will result in 3.75%) so with old I_DC% and current baseline + P _DC% you get
old_I_DC% = 1%
P_DC% = 3.75%
Baseline = 50%
Total = 54.7%
Since the error is now 15kpa the I will calculate an additional 0.75% to be applied and you get
I_DC% = old_I_DC% + addition , 1+0.75= 1.75%
P_DC% = 3.75%
Baseline = 50%
Total = 55.5%
Now your error is 10kpa
P_DC% = 2.5%
I_old_DC% = 1.75%
Baseline = 50%
added I = 0.5%
Total = 54.75%
Now if we imagine that you stayed at 10kpa error, the I will simply add on another 0.5% every time for every 10kpa, and thus overtime the error WILL decrease until the I stops adding and the P becomes 0. This is why the I is so important for boost control. Same applies if you overboost. the I will decrease and decrease to lower your MAP until you reach the target
Boost D : The output of the D will be based on the rate of change of the error each time. The higher the value the more the D will work against fast spooling, however lower D will not be able to counter overshooting the target.
Boostcontrol PID integral limit : This controls how much adding or removing the I can do to reach the target, if you have to high of a value the I could wind on until you have 100% or 0%.
Boost target: Selects to either have the target as Gauge pressure or absolute pressure , gauge being pressure above atmospheric and absolute being total pressure above 0. I stick to MAP as I can more easily review MAP values against MAP targets in the log.
Reference lookup : To use the new boost setup set it to Boost Target based.
Boost pwm maximum value : This is the maximum allowed duty cycle for the solenoid. Normal is 100%
Boost pwm minimum value: This is the lowest allowed duty cycle for the solenoid. Normal is 0%
With these settings set you now need to set your actual target. I will assume that you want multiple targets , either via TPS or 0-5v input control.
Boost vs TPS curve: These values multiply against the main boost target curve Boost control - Boost vs RPM curve. So if you want less boost at less throttle angles you can simply put in less then 100% values at the appropriate point, make sure you understand you´ll never reach less then your base wastegate pressure.
Boost control - Boost vs RPM curve : This is your target to reach for each rpm point. In this case we will assume you want to reach 14.5psi boost or 100kpa boost or 200kpa MAP. So fill in the kpa value for MAP, i.e 200 in all cells. This for now completes your targeting setup.
Boost refDC vs Boost Target : This table and Boost control - Boost vs RPM curve will be your main adjustments from now on.
The table above is an example but if this was a perfect table you would need no PID closed loop to help you reach your target.
What that means is that to reach 200kpa at 4500rpm the solenoid would be set to 60% and hocus pocus you are riding along at 200kpa. Now as you get closer to 5000rpm and to maintain 200kpa MAP your solenoid will be reduced to 59% and so on.
Say you have your TPS at a point which demands 90% of the target from the main target curve. It being 200kpa will result in 180kpa target. So again hocus pocus the solenoid is set to 53% and your get 180kpa and 4500rpm, it will with increasing rpm lower the Dutycycle to maintain the 180kpa target.
Now to begin with we have no real idea of what values should be in there. So we must perform a serious of experiments, that means doing logs and pulls. There are two ways of doing the experiments.
1. Finding the resultant MAP at various engine speeds using a number of fixed DC% values. By changing the max and min pwm values to the same value you have FIXED the output, log runs at 20%,30%,40% and so on until you reach your maximum desired boost level. You might be reaching areas that have not been tuned yet so tune the AFR and Ignition as well (multitasking at it´s best). When you fix the DC% like this the closed loop or targeting is technically cancelled out so will have no effect on the output DC%.
When you have done enough logging you will need to review each pull and find the Boost DC for a given engine speed and MAP value. This is best done with Log Viewer (Shift +
.
Lets say you reached 200kpa@3000rmp@50% DC% then simply put in 50% in that cell in the table. Rinse and repeat through the logging and populate the table, remember that higher boost target = higher DC so you can roughly populate it with only a handfull of known numbers. Remember to interpolate between known cells in the table.
This may sound like a long process but give it an hour and you should be done.
2. By allowing closed loop operation you simply go into your
Boost control - Boost vs RPM curve table and alter the target.
Start by setting it to the wastegate pressure and then do a pull, raise it by 20kpa and repeat until you reach your maximum boost level. By reviewing the logs you can see what DC% the ecu applied at any given boost and engine speed. Then simply take that number and put it in the Boost refDC vs Boost Target table. If you see that you didn´t reach your target apply slighly MORE DC% baseline then what VEMS was trying. The closed loop will the eventually find the required DC% and you can input that into the table.
Repeat until you reach all your targets.
From here re-enable your max/min pwm values back to 0 and 100% and then whatever target you have in your main target table should results in hitting the target well. You can now add a 0-5v input for more boost control or get a road speed sensor to enable boost by gear. The closed loop will take care of the rest.
For improved results you can review your closed loop operations and resultant DC% and update the DCref Table.
What you need to log and review is
MAP
RPM
Boost Target
Boost DC
Boost solenoid operations.
Boost solenoids adjust the effective air springs in wastegates.
Single port internal actuator wastegate :The solenoid is connected so that it can bleed off pressure from the actuator. This results in higher boost. The solenoid does not bleed pressure from the feed line, but actually stops the feed line and releases from the wastegate line. When pulsed this seemlessly causes an alternate pressure in the wastegate line then the boost line.
External two port wastegate :With a constant pressure line to the bottom of the wastegate you are now effectively controlling bleed of pressure to the top of the wastegate. More DC% means that the pressure in the top chamber becomes more. Resulting in a stiffer total spring applying pressure to the valve to remain closed. Higher backpressure counters this effect.
Everybody should start with this table
Then log and adjust asd required.
Note : If you are not seeing any change in boost pressure with altering , DC% , check that your solenoid is actually working (apply 50% max and min, and 0kpa in the solenoid OFF below this pressure) and check for ticking from the solenoid. Make sure the Boost DC is actually 50% before listening.
If that works then make sure you have put all the vacuum lines in the right places (I have seen people put boost lines ONLY to the TOP CHAMBER and where wierded out by the fact they would overboost NON STOP).
If it didn´t work , make sure the right output pin is selected and it´s functioning. ideally use a ignition or injection output. as a last option use a stepper motor output (S259). Remember the stepper output is the 12v+, so the other side of the solenoid must be the grounded side.
For ignition and injection outputs the ground comes from the ECU and 12v must be feed to the solenoid from elsewhere (BMW RED/WHITE works nicely).
Any questions