Results 1 to 7 of 7

Thread: Trick for full VCM control of timing on E38?

  1. #1

    Trick for full VCM control of timing on E38?

    *** Update - tested and confirmed that the PWM generator to flex fuel composition ECM input is a valid SOLUTION *** credit to hjtrbo's idea

    So after some research I was sad to find that the spark timing cannot be fully controlled with VCM controls (not on hpt or on the other guys' either). Optimizing timing is so much quicker and easier with on-the-fly capability and also gets rid of time and environment based variables when you have to shut down, flash new timing table, startup and repeat the test. It would also be safer than raising the running spark table up (since controls only let you reduce timing) then quickly trying to dial it back with VCM control when the engine starts. I have started to poke around some and curious if anyone else has tried anything similar....

    The EGR spark advance correction table (12622) could maybe be used to advance timing on the fly by filling the table out with useful values, unplugging the actual solenoid so no EGR actually happens, and then using VCM control to turn on EGR and thus increase timing. I cant remember but I thought that you could control EGR percent realtime, which would maybe give you different % values of the EGR timing advance table also? Would have to make sure any other corrections the ECM might try to make anticipating actual EGR are "zeroed out" if applicable.
    Alternatively, im pondering if you set up Low Octane timing table as your baseline and then High Octane table as an adder to that.... if there is any way to force an immediate reset of high vs. low octane table while running....
    Just curious if someone already figured a trick out and its old news I didnt catch! I'm continuing to dig and starting to test options to try to find one that doesnt have any side-effects.
    Last edited by CaudleDynamicsLLC; 09-01-2022 at 12:18 AM. Reason: noted solution for quick reference

  2. #2
    Tuner
    Join Date
    Mar 2022
    Location
    Florida
    Posts
    134
    I probably did my timing the wrong way but here is what I did. In the scanner I created two tables, a knock table, rpm vs MAF cylinder airmass AND a total timing advance table, also rpm vs MAF cylinder airmass. Then I adjust timing up in the high octane table in regions of where I want to increase timing. I adjust, test run, check data result in tables and repeat. I probably adjusted and tested 8 times and that gave me the timing changes I needed. Adjust in small increments like 2 degrees in some places or just 1 degree at a time. I am not afraid of hurting the engine components because my low octane table is still stock as a safety and based on identification of knock the ECM can pull timing if I have gone too far with my table degree increases. I have lowered the amount the ECM can take out timing per knock event since what I’ve been noticing is that I get false knock mostly from bumpy roads and this way even though 1 or 2 degrees may be pulled during a test run, it isn’t as detrimental to the test run data I’m trying to collect. Before knock sensors we used our ear or a meter whether testing on a Dyno or street so there is no problem to set up the timing and send it. If there is any knock, the ECM will do its job of keeping things safe and then after reviewing results you can lower timing in the region you think is too high.
    Last edited by Tunercharged; 08-27-2022 at 08:13 AM. Reason: Typo
    2017 Silverado 3500HD WT 6.0 flex fuel 6L90 6800lbs E78 T43

    --- What am I doing??? Why did I do that??? ---

  3. #3
    I can see that being a good method for most applications.
    What I've run into though is in trying to tune VVT camshaft angle for efficiency/economy (best BSFC) I can use VCM control to step the cam angle in increments to test for optimal steady state and/or accel torque on the brake dyno vs. fuel flow but when the cam is set at different levels of retard manifold vacuum/pumping loss/cylinder pressure decreases and thus the optimal timing is increased.
    So the test matrix I'd like to work through is something like: at x,xxx rpm and xx engine load, set cam angle to 0deg. then timing to base, +2, +4, etc till actual measured best BSFC. Then again at the same rpm and load, set cam angle to 5deg then timing to base, +2, +4, +6, +8 etc till best BSFC, repeating at further cam angles till the optimal cam and ignition timing is found at that RPM and load, then go to the next rpm/load point. So with a matrix of 30 rpm vs load points then probably 4-5 cam angle steps at each point (120-150 points) thats where I was running into a wall in not wanting to retest all of those points for each spark timing iteration, with VCM control i could optimize each point once and for all.

    However, I suppose I could try and figure out the exact relationship between cam angle and the VCT/VCP spark table (timing adder for VVT) and just take a swing at a few different timing vs cam angle curves and run thru all rpm/load points then assess what areas improved or degraded, modify base timing and VCP tables accordingly, then start back up and run thru all points again - similar to the method you mentioned. Just had concern over more variables and environmental changes in trying to "recreate" an rpm/load point since i'd be dealing with base spark and VCP spark tables it maybe hours or even a day later before I could re-hit points to compare.

    WOT/max power will be quick and easy to calibrate as always since its just one load curve... I just might be more obsessive than most in optimizing BSFC at all operating conditions lol.

    I'm going to start doing some testing on that fake EGR control trick today to see what that yields. *EDIT - tested and confirmed there does not seem to be any communication between VCM control and ECM regarding EGR (hpt or other guys'). With 6deg timing advance in the EGR adder table and VCM commanding 50 or 100% egr duty cycle, the EGR% parameter and timing were not affected. Makes sense since i dont think any genIV had EGR, just weird the EGR spark adder table exists.
    Looking at other options, will report back if one is found
    Last edited by CaudleDynamicsLLC; 08-27-2022 at 02:48 PM.

  4. #4
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,160
    Use the flex fuel input. Make a little PWM driver circuit with a single turn pot that does the sweep. You need 50-150Hz at 5 volts.

  5. #5
    Good point.
    I had thought about the FF input, but I am running a fuel composition sensor into that input to keep things consistent as I run pump e85 (can be anywhere from 50-80% alcohol around here) and have a couple fuel consumption math parameters that use alcohol% to correct density. However, I suppose as long as I get all of my tuning done on the same tank of fuel I could just flatline the fueling corrections and math parameters to whatever mix is in the tank, then unplug the sensor to use the input. Since there is no communication on the EGR table and modifying IAT or ECT inputs would mess with the fueling, it seems like that flex fuel input may be the only remaining option.
    There are some cheap pwm signal generators available too! https://www.amazon.com/Icstation-Fre...0814MKZVW?th=1
    could use the existing FF sensor +5v and ground wires to power the signal generator and FF sensor signal wire from ECM to the PWM out of the generator, seems simple enough.

  6. #6
    Senior Tuner
    Join Date
    Jul 2020
    Location
    VIC Australia
    Posts
    1,160
    Absolutely, just find the matching connector for the flex sensor so it's a painless task to swap over. Only caveat that I'm not sure of is that the flex sensor also outputs fuel temperature. I'm not sure if the ECU uses this or not...

    The frequency is the alcohol content and the duty cycle of that frequency is the fuel temperature. At least for the sensor I use anyway.

    It may be a non issue on e38 / e67, just wanted to point it out.

  7. #7
    Ah I remember hearing that now that you mentioned it; the temp data also coming across that same signal. That would be handy for even better density calc accuracy in math parameters! The ECM may use the temp data, but there do not appear to be any parameters in the VCM scanner to read fuel temp for the E38. This vehicle originally had the "virtual sensor" logic but I wasn't thrilled with all the assumptions it had to make, thus the conversion to physical sensor.

    It looks like haltech effectively uses the same sensor and they show a temp vs. ms (guessing milliseconds ON time?) curve:
    https://support.haltech.com/portal/e...erature-sensor
    I'll know more when i get the PWM generator in hand tomorrow but hopefully i can set it to a fixed pulsewidth instead of fixed duty cycle so the "temperature" doesnt change as i vary the frequency. will be a fun experiment either way

    *edit* - couldnt set a fixed pulsewidth, so i just made a chart of the corresponding duty cycle needed at each frequency setting to equate to a constant 90F fuel temp and its pretty easy to adjust frequency and duty cycle on the controller on the fly, just in case the ECM does use fuel temp info. Can also simply scale the timing vs. alcohol% to something like 1 degree timing per 1% alcohol so that the frequency (and thus pulsewidth) doesnt change that much over the whole timing tuning range meaning the temp signal doesnt change much either.
    Logging base timing, alcohol%, Flex Fuel advance, and final ignition timing shows it does work like a charm though! Only thing it doesnt effect is the idle spark or coastdown tables (I was hoping to use it on idle too) but at least those are just a few load points (park, gear, ac/fans load)
    Last edited by CaudleDynamicsLLC; 09-01-2022 at 12:42 AM.