Just confirming obd-1 status. I will see if I have time to see if my 95 caprice does anything different. probably next week I might have the time at work.
Printable View
Just confirming obd-1 status. I will see if I have time to see if my 95 caprice does anything different. probably next week I might have the time at work.
How about the dwell time of ls1 coils. They need to be charged between 3.5-5ms before they fire. If we use pcm signal as a spark trigger, the coils should be already charged in advance, so they can fire at the correct time. Guessing is not an option here, so how do we calculate properly in advance start time of coil charging.
If we can you measure the time between the icm recieving spark signal from the pcm and the coil firing, we can put this time into account.
I hope it can be spread by software calibration in pcm.
Low resolution signal measures time between 90* crank rotation. 19ms are around 750 rpm and 2.5ms around 6000 rpm. It is used as a source for rpm calculation for PCM. This is the conversion formula
x=word_a1[eside]
983040/x = rpm
0.015234*x = msec.
Half of the pcm calculation depends on correct RPM value.
Without any low res opti signal PCM is doomed.
Vilefly can you remember when you make that awesome graph at page 8-9, what was the car coolant temp at time it was taken.
I am trying to find and confirm End of injection time constant but without the proper scope tools it will take indefinite time.
All my posted waveforms were done with a warmed up engine. 196-224 deg. F. I try to do all mine at this temp range to remain as consistent as I can.
I hadn't taken charge / dwell into consideration. This complicates things - at higher RPMs the coils will need to be charged two low res pulses ahead of firing sequence, before the preceding cylinder will be firing. And then there's spark advance to consider, and evidently also primary voltage. This puts things way out of my league as far as time constraints go. Essentially this becomes an ignition computer instead of a simple sequence controller.
Ltcc somehow managed to overcome that obstacle. I wonder if it works as it should be or there are some shortcuts. Anyone with ltcc experience can share how it works.
Vilefly thanks alot for the shared info. It really helps alot.
It partially confirms my theory how end of injection target works.
At b-body bins at warmed engine it is $50 which might be 5 low res pulses before TDC, exactly as seen on the graph.
If you want to contribute a little more, you can play with low res signal and #1 injector pulse at the scope. The coolant should be below 32*C at startup.
If my assumptions are correct the end of injector pulse will move slowly from 4 low res pulses bTDC to 5 low res pulses slowly as the engine warms to 44*C.
I have a cold starting log. The engine starts after 300ms cranking at 10*C coolant. It took two low res pulses to syncronise before starting.
I suspect that the LTCC module simply lets the original ECM run the coil dwell time. I will attempt to prove that the ECM controls coil dwell time, not the Ignition module with a waveform if I can find the time. Something like EST signal vs primary waveform.
As to controlling dwell time yourselves, I suspect they use a simple lookup table instead of real-time calculations that would slow everything down. You guys would know more about that than I would, though. One thing I learned from messing with ECM strategies externally is that they run the engine on a dyno with cylinder pressure sensors on each cylinder so they can put the info all into lookup tables so that the cheapest processor can be used to run the show.
The Delteq has a UV eprom in it, and I still wonder what is on it. I believe its lookup table should mimic my northstar data array in pattern, at least.
Is this module still available? I don't see any technical data about it on his website and most of the links are dead.
Even if it does that's somewhat irrelevant, because we would still have to maintain a real-time picture of RPM and commanded spark advance in the uc to be able to provide adequate coil charge time while avoiding overcharging / overheating the coils.
Even with lookup tables for dwell you still have to calculate RPM, advance, and ideally supply voltage to know what to lookup. I believe this may be possible with a 16mhz avr, but I'm not sure I trust myself to write the code to maintain accurate spark to 6800rpm with a $25 microcontroller.
I found the LTCC installation instructions here. https://www.camaroz28.com/forums/lt1...ns-new-882760/
I noticed it requires the EST signal to function, as well as hi/low res signals. If it truly controls dwell by itself, then it would have no need for the EST signal at all. It probably takes the EST signal, measures the pulsewidth and stores it, multiplexes a pulse to the correct ignition coil driver and fires the coil at a stock pulsewidth/dwell time.
If I had to, at gunpoint, reduce the dwell time, I would send +300v to the primary of the ignition coils. Works for MSD. Or maybe just 24v. Lie once, cheat twice.
Oh, something else the LTCC unit does......flash codes with green light to identify failure conditions. Seems to complain if the key is toggled inside of 5 seconds for some reason. This is what I have been able to find out so far.
EST being the white wire? Are you implying the LTCC module has it's own spark advance tables?
Adding a buck-boost circuit to power the coils with > 14.4v adds part count and would significantly increase cost. Considering this and the difficulties I see in writing the controller firmware, the LTCC module seems very reasonably priced. I may just buy one eventually but right now my toy fund is severely depleted.
If I had a way to produce a cad drawing of the trigger wheel quickly I'd draw up some graphics to illustrate. But I just don't have time. Here's the best I can do with words.
Let's assume some generic constants - 5ms coil charge time, and 30 degreees spark advance. 1000RPM idle and 6000RPM wot with these same constants. Please double-check my math.
What I'm hoping you take from this is that at 6000 rpm the #1 coil pack will need to start charging 15 cam degrees before the #2 low res slot is encountered, or approximately the same time the #2 coil is fired. And 30 degrees advance at 6k rpm is fairly tame at 100kpa.Code:RPM 1000 6000
Crank Rev. Time (360d) 60ms 10ms
Cam Angular Velocity 0.333ms/d 0.0556ms/d
Cam deg - 5ms dwell 15 deg 90 deg
Spark advance in ms 4.995ms 0.834ms
Cyl 1 Dwell Strt (cam) 30d btdc 105d btdc
Cyl 1 Dwell Strt (crnk) 60d btdc 210d btdc
This has been a very valuable learning experience. I've learned that the factory coil must have really low impedance and charge time. At the same time I can't help but think I'm probably losing power above 5500 rpm due to weak spark.
That`s it. Ltcc measures the time between low res pulses and calculates rpm. Than use simple lookup table [rpm] vs [low res pulses till BTDC] to start charging the coil.
low res pulses till BTDC=at tdc counter is reset for current cylinder and you have 7 low res pulses till next ignition event.
Here are some formula [60*1000] / [x*4]=rpm
60=60 seconds in a minute
1000= to convert in ms
x= time for 90* cranshaft rotation or time between low res pulses
4= to get 1 crankshaft revolution time
2.5ms/90 = 0.0278ms for 1 degree rotation at 6000 rpm
46 total advance = 1.27ms error at 6000 rpm for dwell time. which is acceptable since dwell can vary.
Since nobody runs anything between 20 and 38 at high rpm that error can be brought down.
spfautsch,
I am not sure if the LTCC unit has its own spark tables, but it has its own spark-retard tables and settings. I cannot say if it changes timing during normal, non-knock operation without proof for myself. I grant you it would be cheaper not to bother with it.
But it seems rather certain that it does not control dwell time, only divides it by 8 by selecting coils. If you take the stock dwell time, and give each coil 2 revolutions before the next fire, you will have solved any dwell problems easily without the need to modify anything. Now, you can magically rev beyond stock speeds. Cheap and easy.
As to the lack of power above 5500, that depends if you are using a stock cam or not, or outrunning your injector flow rate/on-time. I don't know any specifics on the engine you mention, unless it is the one listed under each of your posts. The science of dwell time is no mystery to me, but it never hurts to review. Injector on time can pose major problems at high speed, though.
Don't you think measuring / tracking spark advance would be necessary also?Quote:
Originally Posted by kur4o
I'm more than a little sure it doesn't. More directly the ECM controls spark advance, which is why it requires a signal from EST. Otherwise anyone with a LTCC would have to customize the spark tables for their own tune.
You also create a condition where you have a bunch of coils that are energized all the time and will all spark simultaneously the moment the ignition circuit is cut.
On top of this, wouldn't coil overheating be a concern?
[edit: or did I misunderstand your suggestion here]
The point I was trying to make is that the stock setup has very little dwell time capacity at higher RPMs and spark advance. Or am I mistaken?
The only way I can forsee doing something like this "easily" with an Arduino compatible uc would rely heavily on the high-res signal, using dwell lookup tables and keeping everything in terms of degrees so the uc can track by the high-res count. Unfortunately it still needs to be able to measure the time between low res pulses to four or five decimal places or RPM [edit: and spark advance] calculations are going to be horribly inaccurate. So three inputs that all need relatively precise and fast ISRs, and time to within 100us, possibly 10us. All this is well outside my comfort zone.
Attached is the sketch as I left it yesterday. It has not been tested but does compile. If it's of any help take whatever liberties you'd like with it.
Here are some threads with pictures.
https://www.youtube.com/watch?v=_8JrLEso7Vg at 0:56
http://www.dw-zone.com/ltcc/LTCC1.jpg
So ltcc have different board revisions.
https://encrypted-tbn0.gstatic.com/i...mWbfWgxK6HQx-X
And the delteq unit.
I recognize that microcontroller package but it's from waaaaaay before my time (in the realm of ucs).
I think before I jump to any more conclusions I'd like to see a scope capture of the following signals.
EST
LowRes Opti
Inductive clamp on #1 spark
#8 Injector (or #4 or whichever gives best waveform capture for kur4o's request)
Both at idle and holding at say, 4000rpm.
If that's not something you can do any time soon vilefly, I'll look into doing it. I wouldn't mind owning one of the little capture devices you posted, even though my toy fund is currently deep in the red.
"You also create a condition where you have a bunch of coils that are energized all the time and will all spark simultaneously the moment the ignition circuit is cut.
On top of this, wouldn't coil overheating be a concern?"
Naw. You're just overthinking it like I did earlier. All I meant was that the on/off signal for the stock, single coil would be rotated through the 8 coils in sequence. None of them would be on until the transistor was switched on by the redirected EST signal. This would be plenty of charge time for a coil running 12.5% as much as the original coil. This is the basis of my non-processor approach to the problem. Just GATE the signals to the right coils at the right time. No calculation. No changes. Just sequence the gating so that it "arms" the right coil transistor at the right time. I have no intentions of going beyond this. You have plans to do so, I bet, and there's nothing wrong with running 2 arduinos to accomplish what you need to do. One to calculate, one to act on it. 2 arduino pro minis don't take up much space. (5v-16mhz versions) I don't know for sure if it would be fast enough, but at $5 each, it would be nice.
I have weekends off from work, and away from the best scopes. I have only 1 old 4 channel Interro PDA scope with a small black/white lcd display. Probably have to take a picture with my phone to get a decent capture. Or.....I could try for the next work week when I have access to everything. Either way, I will see what I can do.