Results 1 to 15 of 825

Thread: DIY LTCC or similar system for LT1s

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Fuel Injected! vilefly's Avatar
    Join Date
    Sep 2017
    Age
    53
    Posts
    217
    I'll refer you to page 20, post #288. But this one should be of primary interest to you guys.
    ion-sense-ignition.png

    Note the stacking of the diodes. 5 diodes @1v voltage drop each = 5V signal. The very noisy power supply (timing light) I used at the time was an issue, but the primary and ion sense currents were accounted for in my oscilloscope waveform. To be honest, I didn't think it would work, but it did. The rectifier diodes were rated for 1kv or so. The voltage differential acted like 5 little batteries that "charged" with current demand. I'm sure I forgot the dynamics of the circuit (it was 15yrs ago), but it could hold some potential to be adapted. Looks like I need to get back on the ball with my ion sense ignition ideas before you guys pass me up.
    You had me lost in the programming tech talk, but I hope to contribute more.
    Last edited by vilefly; 01-21-2020 at 07:58 AM.

  2. #2
    Fuel Injected! vilefly's Avatar
    Join Date
    Sep 2017
    Age
    53
    Posts
    217
    On second thought, it looks like this probably would not be adaptable for a 13.5V system. You would have to run 18.5V to compensate for the voltage drop, and would need 10-15A diodes to get enough current through. I still have plans for it, though. A wire shunt instead of diodes would work, though.

    To find out spark energy, an inductance reading would be required, but the coils' built-in circuitry defies taking accurate readings. Perhaps reading from the positive lead to the secondary lead might lend a clue, but I can't be too sure about it.
    Last edited by vilefly; 01-22-2020 at 03:44 PM.

  3. #3
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    53
    Posts
    883
    Here's the data I have thus far. Note that I only measured spark duration for a few cells. This isn't nearly as complete a of picture of the data that I set out to gather initially, but it's what I have now. As I've mentioned I'd really like to build a zener pile to allow accurate measurement of spark energy, but I'm starting to lose my ambition after discovering how time consuming the process has been thus far.

    Dwell Time to Limiting vs Temp vs Voltage.xlsx

    Zip of spreadsheet, arduino test sketch and waveform images (9mb)

    Apologies for the shoddy waveform images and camera work, but I really don't have the time or interest to try doctoring them up to remove glare, my reflection, etc.

    I would like to get a test at -20c but I'm at the mercy of mother nature on that for the time being. If I can find a decent thermometer I can try using a freezer, but I'm not feeling as motivated to get a thorough picture of this information at the present time.

    My methodology was to allow the coils to normalize thermally for ~30 minutes, then test at approximately four voltages before returning to the temperature controlled environment for another 10 minutes while another coil was being tested. System voltage was difficult to set exactly, but I made every effort to get within 10mv of the target value. I generally started at 8.00v and worked upwards until I discovered the pattern developing that I'll describe in the next section. Running at a 50ms loop time, dwell was gradually increased until a clear indication of internal dwell limiting was exhibited on the primary current waveform, and then reduced only as much as was necessary to remove said indication. At this point the test sketch was stopped from the serial console, system voltage was adjusted to the next target value, and the process repeated until a temperature range was complete. Then another ~30 minute normalization period was allowed to pass, rinse and repeat.

    To summarize the aforementioned pattern, none of the coils exhibited a clear indication of dwell limiting below 10v with the exception of the D581 which showed a barely observable knee at 9v and 0c. This transition from non-limited dwell to limited was also temperature dependent, which is most pronounced with the D514a and D585 coils. In the spreadsheet any empty cells indicate there was no readily apparent dwell limiting at any amount of dwell (I went as high as 25ms in some cases). The exception was the -10c temperature range, where I had a limited amount of time to work and didn't get to re-test every coil at all the lower voltages I wanted. These cells were denoted with "n/t" (not tested).

    Here's an example of the D581 coil which had the most easily recognizable dwell limiting waveform. The D580 exhibited a similar waveform when internal limiting was triggered.



    The D514a coil exhibited a gradual reduction in primary current until reaching a minimum value where the current remained constant.



    Here's the 8183 coil demonstrating a very noisy current waveform, which is a combined product of the voltage regulator I have that runs at 30khz, and the coils internal switching power section. Here's a waveform before limiting is evidenced.



    And this is after - it's difficult to see but there is a quite pronounced falling edge to the current signal.



    The "before limiting" waveform images for the 580 and 581 coils are included in the .zip for comparison.

    As mentioned previously, the D585 coils exhibited what I'm going to call "absolute" dwell limiting. Because the waveform image won't really help visualize what was happening I'm not going to include one here, but there is an image in the .zip. For these coils I increased dwell until the current waveform stopped increasing on the scope's time scale. At this point it was clear that primary current was simply being switched off completely by the coil's internal circuitry, causing it to fire. I verified this by watching secondary current on the scope's second channel, which unfortunately couldn't be captured by my phone's camera in the same frame. Because of the effect of temperature on dwell limiting, in my opinion this coil doesn't present as much of a problem at cranking speeds as I initially thought. All that's needed is to stay at the minimum dwell for each voltage (8.4ms @ 10v, 5.8ms @ 11v, 5.5ms @ 12v, etc.) for safe operation. Obviously this doesn't give optimal charge time at higher temps, but I'm certain it would work adequately for the current design without temperature compensation.

    At this point I think my next plan of attack is to test whether the controller will cleanly read the coolant temp thermistor voltage on one of the spare ADC input channels, and if so build out a full 2D dwell table for each coil targeting the maximum dwell from the test data, and interpolating the unknown cells - possibly with the help of referencing the factory coil-near-plug calibrations. Edit: on top of this I would add a simple RPM multiplier table to allow for reducing dwell with engine speed.

    I know that this "good enough" type of effort is likely to cause kur4o to experience heart palpitations, but I'm not sure the amount of work needed to gather the data to implement such extremely accurate dwell control, especially in operating ranges that will rarely be experienced in the real world, is going to pay off in measurable results.

    Another feature that's been proposed is multi-discharge. At lower RPMs and load (where spark advance high) there is an ample time window to implement a second spark fire after an abbreviated second dwell. It wouldn't be hard to implement either since it would be purely code additions. But after contemplating how to best implement it, I began to wonder why the OEMs aren't doing this already if the hardware they have is clearly capable of it. I'm still open to the idea of testing it, but I'm not sure I want to expend the energy at this point in the project. I'm mentioning it in the hopes that someone reading might have some experience with this and could add to the discussion.

    Additionally, after what I was able to gather from researching the factory coil-near-plug calibrations, I'm not sure there's a compelling justification for implementing any MAP compensation. If anyone here can make a case for that I don't think there's any problem implementing a complete adder table, or leaving the current pumpshot type adder in place, please speak up. Because I see an unnecessary bit of wiring taking up an input that could otherwise be used for ECT, and code that if removed would streamline things.

    Edit: Here's everything I have on the test coils that hasn't already been posted.

    Coil Errata (16mb)

  4. #4
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    You have gathered some immense quantity of data. Amazing job. I bet you have freaked out at some point.
    Too bad we didn`t have the spark energy output. And that coil discharge time is awesome.

    Map correction proved useless so you can ditch that input and use ECT instead. I discovered that 96-97 lt1 calibrations have some added code for dwell. An rpm vs voltage calculations and Map corrections. There are also 3 different dwell calculations used by the TPU, just like in the later ls1 code. Map os also fixed at *1 correction.


    I examined the data you have for the d580 coils which I also have. The GM data is at 85% for not normal operating range and close to 93% at normal operating range.
    So these coils are maxed out from factory.

    The other coils are more like one size fit all settings, since they are at least 2 different interchangeable coils for given application.

    I also managed to make the full coil list with part numbers, stamp number and years of usage.

    Gen0
    1. 12558984 p/n and stamped; d580; square ls1 cars 97-04 made by denso.

    Gen1
    2. 12558693 p/n and stamped; d581; square ls1 truck 99-04 made by mitsubishi.
    3. 10457730 p/n; 19005218 stamped; d585; round ls1 truck 99-07; made by ??ac delco

    Gen2
    4. 12611424 p/n
    4.1 12570616, H6T55271ZC stamped; melco mitsubishi ;d510c square; truck 07-13
    4.2 updated with 12611424 acdelco stamped; d510c square; truck 07-13
    5. 12573190 p/n and stamped; d514a; round 05-13 cars, trucks; made by delphi

    Gen3
    6. GM 12619161 p/n and stamped; square 14-on; made by GM or ??delphi??
    7. GM 12658183 p/n and stamped; round 14-on; made by GM or ??delphi??


    I am not getting a heart attack. The plan you have seems good enough. Not sure if 2 2d tables can substitute 2 3d tables but it will be close enough. The gm data proved to be upto the 85-93% safety margin, so perfectly suitable to be used as a starting point.

    I have 3 different theories why there are no multi spark implemented.
    An overkill.
    NO real gains or improvement.
    Code implemented for emissions but not needed or used or code is not polished enough and needs improvement or some undesirable side effects experienced during testing.



    Looking again at the data, there might be some modeling or pattern for coil temperature vs engine coolant used by GM. Some of the coils[gen1] are off the chart at 100*C and I doubt they can reach that levels underhood.
    SO gen1 used much higher safety margin, guess the 1 size fit all +20% was applied there.
    Last edited by kur4o; 01-26-2020 at 03:41 AM.

  5. #5
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    53
    Posts
    883
    Quote Originally Posted by kur4o View Post
    Map correction proved useless so you can ditch that
    I tend to agree, but have considered possibly using map to skew the dwell target from "safe" to "pedal to the metal" - i.e. high MAP values would get closer to 85% and low values closer to 93% (just arbitrary numbers for an example). For now I'm going to leave it open for discussion because reading the ADC is interrupt driven and doesn't really demand a lot of processor time. The only problem it may pose is adding another multiplier.

    Quote Originally Posted by kur4o View Post
    I examined the data you have for the d580 coils ... The GM data is at 85% for not normal operating range and close to 93% at normal operating range. So these coils are maxed out from factory.
    Possibly, but I would tend to think there's plenty of safety margin engineered into the internal dwell limiting circuitry.

    Thanks for the coil part #s - I doubt I'll get a chance to do much with it but it's good info to have.

    Quote Originally Posted by kur4o View Post
    Not sure if 2 2d tables can substitute 2 3d tables but it will be close enough.
    In looking how the RPM vs voltage tables taper it seems this is mainly geared at cranking situations. It may be possible to do both as 3d tables, but in moving to this strategy I'll have to be calculating the multipliers and converting the dwell time to degrees on the fly. I just don't want to overtax the microprocessor with unnecessary calculations.

    Anyway, I was able to connect the MAP input on my test setup to the ECT yellow wire. The good news is it looks like it's going to be workable. I experimented with connecting and disconnecting the (bare) wire ends while the car was running and there were no changes in the raw ADC coming off the ALDL.

    Here's the "kicker". As the car was warming up and I was making notes of the raw ADC value and the converted (degrees C) value in eehack and what the ADC value was in the ignition controller, something strange happened. Around 50C the ADC value from the ignition controller jumped from about 188 (about 1.2vdc) to 730 (~3.6vdc).

    Follow the data in the "M" (map) field below...

    Code:
    R4185:A25:D0.44:C6:M187:V796:T1:E0:L0:S0
    R4131:A25:D0.44:C5:M184:V797:T2:E0:L0:S0
    R4112:A25:D0.44:C7:M185:V794:T3:E0:L0:S0
    R4105:A24:D0.44:C2:M184:V795:T4:E0:L0:S0
    R4153:A23:D0.43:C1:M185:V798:T1:E0:L0:S0
    R4187:A23:D0.42:C8:M188:V807:T2:E0:L0:S0
    R4208:A24:D0.42:C4:M189:V811:T3:E0:L0:S0
    R4210:A25:D0.43:C3:M732:V810:T4:E0:L0:S0
    R4183:A25:D0.44:C6:M734:V812:T1:E0:L0:S0
    R4144:A25:D0.44:C5:M733:V811:T2:E0:L0:S0
    R4124:A25:D0.44:C7:M731:V809:T3:E0:L0:S0
    R4132:A25:D0.44:C2:M731:V809:T4:E0:L0:S0
    R4134:A23:D0.44:C1:M731:V813:T1:E0:L0:S0
    Immediately an "ut oh" light went on and I started wondering if I'd done something stupid like shorted out my PCM. But after letting it cool down I re-tested from 44C to 52C with a volt meter on the pin, and confirmed that the PCM must be switching between two different voltage divider networks for improved linearity. Pretty neat. This really doesn't present a problem, I'll just have to map out a complete conversion table, including the transition to the high-temp voltage divider where the table will wrap around.

    I'll start working on a re-write tomorrow.

  6. #6
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    Immediately an "ut oh" light went on and I started wondering if I'd done something stupid like shorted out my PCM. But after letting it cool down I re-tested from 44C to 52C with a volt meter on the pin, and confirmed that the PCM must be switching between two different voltage divider networks for improved linearity. Pretty neat. This really doesn't present a problem, I'll just have to map out a complete conversion table, including the transition to the high-temp voltage divider where the table will wrap around.
    I have seen this at a lot of gm code. 2 coolant tables switched by some mystery reason with a hardware switch. Never could figure it out, always thought about different applications. I think that is handled by tside, I will dig out some conformation about it, and how it is done. It is not possible to get a linear signal from a 5kohms to 100 ohm signal drop.

  7. #7
    Fuel Injected! Terminal_Crazy's Avatar
    Join Date
    Oct 2015
    Location
    Lancashire England
    Posts
    414
    Quote Originally Posted by spfautsch View Post

    Here's the "kicker". As the car was warming up and I was making notes of the raw ADC value and the converted (degrees C) value in eehack and what the ADC value was in the ignition controller, something strange happened. Around 50C the ADC value from the ignition controller jumped from about 188 (about 1.2vdc) to 730 (~3.6vdc).

    Follow the data in the "M" (map) field below...

    Code:
    R4185:A25:D0.44:C6:M187:V796:T1:E0:L0:S0
    R4131:A25:D0.44:C5:M184:V797:T2:E0:L0:S0
    R4112:A25:D0.44:C7:M185:V794:T3:E0:L0:S0
    R4105:A24:D0.44:C2:M184:V795:T4:E0:L0:S0
    R4153:A23:D0.43:C1:M185:V798:T1:E0:L0:S0
    R4187:A23:D0.42:C8:M188:V807:T2:E0:L0:S0
    R4208:A24:D0.42:C4:M189:V811:T3:E0:L0:S0
    R4210:A25:D0.43:C3:M732:V810:T4:E0:L0:S0
    R4183:A25:D0.44:C6:M734:V812:T1:E0:L0:S0
    R4144:A25:D0.44:C5:M733:V811:T2:E0:L0:S0
    R4124:A25:D0.44:C7:M731:V809:T3:E0:L0:S0
    R4132:A25:D0.44:C2:M731:V809:T4:E0:L0:S0
    R4134:A23:D0.44:C1:M731:V813:T1:E0:L0:S0
    Immediately an "ut oh" light went on and I started wondering if I'd done something stupid like shorted out my PCM. But after letting it cool down I re-tested from 44C to 52C with a volt meter on the pin, and confirmed that the PCM must be switching between two different voltage divider networks for improved linearity. Pretty neat.
    That's interesting because that's bang on where my O2's decide to flat line between 45 to 50 degrees C.

    Mitch
    '95 Z28 M6 -Just the odd mod.
    '80 350 A3 C3 Corvette - recent addition.

  8. #8
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    53
    Posts
    883
    Quote Originally Posted by kur4o View Post
    I will dig out some conformation about it, and how it is done. It is not possible to get a linear signal from a 5kohms to 100 ohm signal drop.
    Don't worry about it - it's not going to pose a problem. I'll simply build a lookup table that goes something like:

    Code:
    [adc_raw_value],[coolant_temp],[coil_temp]
    730,50c,<user configurable>
    715,52c,<user configurable>
    700,55c,<user configurable>
    670,57c,<user configurable>
    
    ... (need to collect more data points but you get the idea)
    
    288,38c,<user configurable>
    240,44c,<user configurable>
    200,48c,<user configurable>
    190,50c,<user configurable>
    The PCM is doing all the heavy lifting here - the ignition controller is just listening passively.

    Edit:

    Quote Originally Posted by kur4o View Post
    I have seen this at a lot of gm code. 2 coolant tables switched by some mystery reason with a hardware switch. Never could figure it out
    Just wanted to add / clarify - in this case there's significant signal transformation going on behind the scenes here - as you say likely on the t-side. But the "raw" ADC value in the ALDL datastream was perfectly linear. I imagine they started doing this out of necessity when the Y-body engineers wanted to start showing a digital coolant temp in the DIC / CCM.

Similar Threads

  1. Which TBI system is better?
    By KeyAir in forum GM EFI Systems
    Replies: 41
    Last Post: 05-13-2019, 09:39 PM
  2. Hard start 93 LT1 with LTCC Ignition Mod
    By beestoys in forum GM EFI Systems
    Replies: 0
    Last Post: 05-18-2015, 08:58 AM
  3. ABS system?
    By K1500ss4x4 in forum Gear Heads
    Replies: 3
    Last Post: 02-06-2014, 06:21 AM
  4. Vortec EGR System?
    By EagleMark in forum OBDII Tuning
    Replies: 40
    Last Post: 06-02-2013, 10:07 PM
  5. Quicker way to do Spark Hook test on the street for LT1s and others?
    By sherlock9c1 in forum Fuel Injection Writeups Articles and How to New and Old
    Replies: 15
    Last Post: 03-03-2013, 01:52 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •