I dont think we'll use an lt1 coil, i think the idea was to use the ls1 coil
Printable View
I dont think we'll use an lt1 coil, i think the idea was to use the ls1 coil
I am not so sure the lt-1/vortec ignition module is auto dwell or not. Guess we'll find out. Not one of the most challenging problems ever, you know. You are putting cart before the horse. We need to get back to decoding and counting, otherwise we will get nowhere.
Here is a dwell calculator for you. Stretching the trigger signal from the ecm should pose no real problem.
http://www.useasydocs.com/theory/setdwell.htm
I will not discuss this any further until I need to. I have more important things to do. You have a better idea, draw it up and show us. That is why this forum exists. To share ideas and solve problems. Offer us something.
Getting a plan together first is better than going off half cocked with a "solution". But, you've got it all figured out so go ahead.
Still, this isn't your thread so it's not really your place to be pissy about my posts...
Personally, I will just buy a replacement sensor if it fails, or do a 24X conversion if I really want a change. So, I have no real incentive to design anything myself. I'd try to help but you apparently don't need it.
Still. thinking about it more I probably would have investigated using the combined rising or falling edges of the high and low res signals combined to clock a shift register chain of 8 flip-flops. Decode one of the pulse combinations to inject a 1 into the shift register each revolution. Then, the bit just passes through the chain at each TDC so there's you cylinder identification done and done. None of the AND gate decoding required and no latch required since the flip flops hold their state until the next low res signal comes along.
Here is how PCM interprets opti signal and what it counts.
High res signal is counted at every slot full or empty, totalling 720 counts.
Low res signal is trigger for high res counting. The cylinders are encoded 8 1 2 3 4 5 6 7 in the software.
The rotation could be backwards, not sure. TDC location on the disk is also not confirmed. Someone with dismantled opti could check rotor position and see where the disk is at #1 TDC.
All calculations in PCM are handled by a special third processor. Unfortunatelly I cant access rom section of the processor to make a dissasembly of the code.
If anyone knows how to read the third processor rom or have a dump of it, I will be more than happy to make a dissasembly.
Lionel, I did consider the method you mentioned above before I drew up the current design. It would work, but it would take as much as 2 crank rotations to sync, meanwhile the injectors are firing long before then, and might allow flooding in colder climates. I suppose you could disable the injectors until the sync, but I am uncomfortable doing so. So I decided to sync as soon as possible so that it won't change how the engine starts. This is simply a personal preference, nothing more.
Nice research, kur4o. I had posted previously an optispark wheel labled for coil switching and TDC. All leading edges of the Lo-Res signal indicate TDC. I had a spare optispark unit to confirm with rotor position, also. It is correct.
Looking at your picture, you can take make a decent guess that TDC will be the leading edge of each low res notch since the leading edges are all equally spaced 45* around the disk and it would only make sense for 1 edge of the low res signal to represent TDC.
It's also possible that the PCM detects the low res notch and then does the detecting to know the next upcoming cylinder so it can then fire that cylinder at the proper BTDC advance. So, the notch everyone assumes represents #1 TDC could really be to tell the PCM it's 45 notches from cylinder #8 being at TDC.
The LT1 never used a black block PCM. I'm quite positive the OBDII LT1 PCM was unique to that engine the same as the OBDI PCM was. You can swap between the OBDI and OBDII PCM's pretty much directly. Just the knock sensor changed and the OBDII had read O2's.
They sure look the same, and have the same wiring to them. But just in case, I have a smart ignition driver IC ready to intervene for the bargain price of $4.89 each.
http://www.mouser.com/ProductDetail/...klZFEN1w%3D%3D
It will come in handy for the future. I will order 8 of them in case. If not, I will use them in my bag of tricks at work used to save/convert old classic vehicles that intermittently show up.
The datasheet is available on that page.
Sorry about the delay, guys. Here's what I've got so far. not fully accurate, since I am missing a reset for the 4-bit counter, but it should get the idea across.
Attachment 12115
Hope this clears up any misinterpretation due to my horrible way of explaining things due to constant distraction. Nothing is set in stone, yet. The LOAD input on the 4 bit counter tells it to preset a value, and start counting from there with every LOW-RES leading edge. It is positive edge clocking.
This is the datasheet on the CD54ACT161 presettable 4-bit synchronous counter.
http://www.ti.com/lit/ds/symlink/cd74act161.pdf
Hey Aroberson77,
How's the delteq schematic decoding going?
I have a theory on how it converts the optispark signals to a northstar reluctor signal. And the eprom theory, of course. A northstar reluctor has 32 teeth total, unevenly spaced....or so I thought. 24 slots are 15degrees evenly spaced, and 8 more slots 7.5 degrees spaced between the 15 degree slots at various points. I imagine you can take the 360 degree signal from the optispark and double it, and use it as a clock signal for the circuit once it is synchronized. so now the 7.5* becomes an integer at 14*.
The crank sensors are spaced 27 degrees apart. This can be simulated by 2 outputs separated by a 27 count counter. Now it is a 54 count, since we doubled everything. Hope this helps if you use an arduino with a for-next loop that is 720 counts incremented by the doubled hi-res input.
The eprom method would consist of raw sensor readings digitized into memory that is accessed by a binary counter coupled to the synchronized Hi-res signal.
Just to try and catch up, is the goal here to ultimately piggyback the optispark signaling with the OEM wheel?
I'm wondering if the arduino platform might be capable of this. I'm somewhat reluctant to bet the farm on a microcontroller like the Atmel 328 in the thermal and EMI environment encountered under the hood, but is it even fast enough? 360 rising edge signals per 2x (edit: crank) revolutions, right? Also, what would "limp home" look like with something like this - the ECM can function quite satisfactorily without the high res signal. (edit: perhaps the second half of this sentence should be phrased as a question)
Well, we've got 3 projects going on. 1) my minimalist hardwired electronic "decode optispark signals for 8 ignition coils using oem computer timing"
and 2) Aroberson's "decode with arduino and possibly have limp mode operation"
and 3) "reverse engineer the Delteq unit", which converts the optispark signals to Northstar dual crankshaft signals and sends them to a stock northstar ignition module and coils. This is a waste-spark system with 4 coils for 8 cyls.
Although, not nessesarily in that order.
My system should behave like the OEM design....synchronize during starting only, switch coils using leading edge of Low-Res signal from then on. No restart on loss of Hi-Res signal. You could do the same thing with the Arduino I bet. Speed shouldn't be too much for it in that mode of operation.
As for synthesizing a northstar signal using an arduino, I have to wonder about the speed factor, too. Not well versed in the arduino stuff.
Any other ideas/strategies are most certainly welcome. Plenty of room for more projects.
Couple questions arise, please humor me as I'm terribly unfamiliar with the Northstar system.
1) what would be the advantage(s) of using the Northstar ICM (and I'm assuming the "old" gm waste spark coil setup that bolted directly to the ICM)?
2) is there any reason other than lack of programming expertise, that the arduino couldn't do your minimalist version (my personal preference)? Assuming we're letting the ECM control timing and only need to sequence which FET is enabled next, the code for something like this should be fairly minimalist.
This idea has completely piqued my interest. I'm going to be pulling my freshly built LT1 out this winter to fix an oil leak and possibly fit EGT sensors on my headers. I might be willing to serve as a volunteer guinea pig for your minimalist rendition. My only concern is coil selection - the size of the LT1 / 2nd gen HEI coil pack (x8) is going to require some creativity for mounting and secondary wire routing in a factory LT1 install environment.
1) the northstar system has more parts availability, and is still fairly compact. not much more.
2) should be no problem for the arduino to do minimalist data distribution for the 8 coils.
The coils we will probably use are the LS engine coils (4.8L, 5.3L, 6.0L, 6.2L). They are fairly small, and mount on the valve covers with short plug wires to the spark plugs.
There are aftermarket coil mounting kits from EFI connection, and some others.
I hope I will be able to make a prototype this winter, but my toddler might be busy distracting me. 3yr olds....all energy, no focus.
I thought you were opposed to using the LS coils because of the built-in FET drivers. Looks like they could possibly be driven directly from an arduino output. I've got a bunch of projects waiting for me this winter, but this is one I would love to try my hand at.
Been there, I completely understand. Thankfully (or maybe unfortunately) my youngest will be of legal drinking age this year.
yup. I had said I didn't want the "smart" LS coils, but they are quite readily available as was pointed out to me. So, I will set it up to use the LS coils anyways, since they are easy to find and have nice brackets to hold them. I had thought there was an early "dumb" version of the LS coil setup, but I was wrong. My alternate Ion Sense Ignition circuit might still work with the LS coils.....maybe. Depends if they like running on 300v on the primary or not. The built-in transistors might not be rated for the increased kickback.
However, I have tons of ford ignition COP coils at work. Most from people who "shotgun diagnose" their triton engines. I might use those or whatever I can find when I go to Ion Sense Ignition later.
Last year I broke my moral code and took wrench to one of those, and can tell you the most useful way to "shotgun diagnose" a VVT triton engine is with a real shotgun. Load it with slugs or steel buckshot and stop shooting when there's both oil and antifreeze pouring out. Whoever designed the cam phasers for that application should also be likewise "diagnosed".
Has anyone positively determined the signal alignment of the low-res circle? I'm curious because the ECM needs only to sequence the injectors so the TDC signal might be a full crank revolution out of phase with the ignition sequence.
You forgot that the optical disk turns a 1/2 crankshaft speed since it is connected to the camshaft. yes, it has 360 slots in it, but the computer turns it into 720 by counting both edges of the square wave signal coming out of it. This gives you 1 degree accuracy with respect to the crankshaft. 180 degrees out of phase is impossible. I did confirm rotor position with my spare optispark I will be using as a signal generator for my circuits.
As to the triton VVT woes.....I was tasked with finding out the real source of the cam phaser problems. The oiling system. Starting with the oil pump, it has an aluminum backing plate that flexes at 1700 rpm or earlier, bleeding off oil pressure. Melling has fixed this problem with a cast iron backing plate. The oil pressure sending unit position only lets you monitor oil pressure right at the pump outlet, not at the upper end. There are orifices in the heads to limit inlet flow to the camshafts, then to another orifice in the front cam bearing, then to the cam phasers, then lastly to the chain tensioners. Nice fault tolerant design. pffff. Then there is the 2 piece spark plugs that seize in the head and break off. The special tool used to extract the piece works perfect, because it came out 3 months after this design rolled out to the public. They knew. The repair manuals don't show the oiling diagram......interesting, yes?
Attachment 12128
This is a 1st generation diagram, it still tells the story.
The leading edges of the low res circle are 45 degs from each other. We are assuming that the leading edges trigger a counter for the high res signal that is stopped by the trailing edge of the low res signal. I believe this tells the ECM what cylinder is combusting. I know in EE Hack you can turn cylinders on and off, I assume that this shuts the spark and the injector off, does anyone know?
It should shut off the selected injector only. just like the factory scan tool can. The feature wasn't widely available to the aftermarket at the time. I tell people all the time that it is not the scan tool that that has all the self-diagnostic features, it is the ECM that does.
Your sync theory is right on, since the trailing edges happen unevenly, disqualifying them for TDC indication. The leading edges are symetrical, and perfect for TDC indication.
Here is the LT-1 electrical page. http://chevythunder.com/lt1_electrical_page.htm
Hey guys been following your thread, I don't understand everything you guys are talking about. Taking some electrical engineering classes this semester have definitely helped but I don't want to slow you guys down with asking for explanations.
I just dropped by to say that I'm also very interested in a project like this. I would be willing to help however I can with parts, ecms, etc. i have several lt1s I have chip readers I've unbricked ecms so I'm not a total noob just let me know if there's anything I can do
No, I assure you I didn't, just explained my thought process poorly. I have my doubts about the meaningfulness of the high resolution signal to the ECM. The amount of slop introduced by the timing chain at lower engine speeds makes it all but useless in detecting misfires, so what is it used for? I would venture a guess this is why GM went to crank mounted sensor wheels for obd-2 as it mandated monitoring crank angular velocity to detect misfires.
What I was trying to get across here is the ECM doesn't care about sequencing anything but which injector to fire. By my understanding, because the distributor handles sequencing, spark is controlled as a single signal that pulses 4 times per crank revolution at varying degrees BTDC - i.e. in "batch" mode. Essentially the point I was trying to make, which after some reflection I think wasn't very meaningful is if we knew how the ECM decoded the opti signal it would be doing so with the sequencing geared around the intake stroke. Since no-one has yet to dump the code that this third processor runs, we don't know.
With a degree wheel? Is it signaling at TDC or at some fixed advance point such as 15 degrees?
Funny you also have such experience. One other thing not to discount is people running cheap oil that turns to the viscosity of water when it heats up. The one I had the displeasure of working on belonged to my daughter's at the time boyfriend. I found it odd when the kid called the spark plugs "two piece", but I soon realized it was sarcasm. The OE phaser design is lacking in that it resembles a vane pump, and is extremely fragile when the oil pressure drops, the proportioning valve can no longer control the cam but the pins are unlocked, and it starts banging back and forth in 60 degree strokes. Patent stupidity. Then there's the soft camshaft material and the pathetically inadequate indexing pin location. The whole design was just one poorly engineered stupid idea after another. When I pulled the one phaser off and realized the driver side cam had excreted the indexing pin and spun 180 degrees I told the kid to get it running and sell or trade it immediately. He did not heed my advice, so I later told him maybe he should replace the cams and oil pump and plan on keeping it. When I talked to him after replacing the cams and asked about the oil pump he said he hadn't got to that yet, but did change the oil. Just not the filter. Sometimes it's worth re-engineering the stupid in machines, but the only way to fix it in humans is with a bullet.
Ah, sorry I forgot you were going Nano EFI on this project. Well, if I can find the time at work, I will hook up my pressure transducer to cylinder #1 and put it on the scope with the Hi-res and Lo-res signals so that it indicates top dead center perfectly and give you what you need. I will also tie into the injector circuit for the 4th trace. That should clear up everything.
By the way, I had found the smallest $50 2 channel oscilloscope that I intend to install into the dash with a multiplexer switch like the one in my schematic someday. It has all the functions of a real oscilloscope except waveform capture. The rest of the guys should have a look at it, too.
http://www.gabotronics.com/developme...-xprotolab.htm
I put a secondary probe on it, and had me a little ignition scope pattern on it. I also tried it out with the lo and hi res signals. Neat little gadget and tool. It might distract me when I drive, so I will have to add an on/off switch.
Here are the waveform captures. I was limited on time and scope channels. So, you have proof of #1 TDC on the leading edge. I lined up the cursor on it and the injector leading edge. The trailing edge of the injector waveform never changes position, but the leading edge does with commanded on time. Surprised me how much injector lead time there was.
Attachment 12132
Attachment 12133
Attachment 12134
Even though it says Jeep Grand Cherokee, I assure you it was on my 95 caprice wagon. That was the vehicle I was working on before I ran out to my vehicle to do this.
Whoops! it looked like I left the coupling to the red injector signal on the AC voltage setting. the high line is supposed to be 13.5V, the low dip is close to zero volts, the peak kickback voltage is around 60v.
those scope charts are awesome. is this project going to be something someone can easily home brew?
We should have a number of different choices person could try to see what works for them. Not sure what constitutes easy, but if the code is posted for the arduino version, it should make it a lot easier for someone to try. Mine is a hardware approach at it, since it is all I know. I need more free time to tinker with arduinos and raspberry pi's. I don't think I will be doing much coding, heh. But I will post my schematics, which aren't finished right now, just so I can remember where I left off.
That scope is real fun to play with.
I still need some more info to decode the information.
Is the injector pulse the dip or the rise on the graph and what is measured volts or amperage.
That cylinder pressure thing is also very interesting. Can you gavi some info how it is measured and what tools are needed.
I will ask you to do some more testing to figure out on the hardware level fueling.
There is no points in the code how fuel injectors are fired. Only hint is for ind cyl corr. They are fixed to 3000 rpm and 10% TPS.
Since the TPU controls injectors, the only way to tell injectors are in sequential mode is to monitor the coils with a scope.
Can you do that graph with varying rpm and tps, so we know exactly at what conditions batch mode is used and how PWM are calculated at batch mode if it exists at all.
Another thing that bogs me down is the built in total advance of 46 degree.
I got two theories. First is the the rotor tip is wide that much and is a mechanical limit.
Second is the soft theory. The degrees between falling edge of the widest low res slot and the rising edge of the next low res slot is exactly 46 degrees, It could be coincidence, but as we know in the code PCM counts high res slot between falling edge and rising edge of low res signal and determines current firing cyl ID.
It is verified by data stream at RAW cyl ID and it is a perfect match.
What is strange there is built in +-2 degree error built in the code. The cyl ID on first cyl can vary between 44 and 48 degree. If it is outside this range high res failure code is triggered.
I have monitor the cyl id raw value and at rapid rpm changes the counts on cyl ID drops by 1 or 2 degrees.
I noticed that the northstar ign module uses a 4x cam sensor also. Could the delteq modify the low res signal and feeds it to the ICM.
I think the deltec module syncs to the LowRes signal, and uses the HiRes signal as a clock input to generate signals that are 1 degree accurate.
Oh crap. The injector waveform voltage is incorrect, as I left the input on the AC voltage setting. I reposted the waveform posting with some values.
By the way, there is an arduino ecm project. https://speeduino.com/wiki/index.php/Speeduino
For those who are interested.
Well like I said in my previous post, Im no expert, but I'm not a newbie either. If a schematic gets posted that should be enough.
I actually have an arduino that i don't use for anything currently, I have the IDE on my computer as well, and am somewhat familiar with coding.
Let me know if there is anything I can do to help you guys.
Ok kur4o,
here is quick screenshot I grabbed from playback mode. This event is during cranking/startup. Just like the 3800 engine, it starts with simaltaneous double-fire, then switches to sequential on the 3rd revolution. Basically, it pulses all injectors once per revolution, until the 3rd rev.
Attachment 12138
The current draw indicates how many injectors are firing.
I was carrying on conversations with 2 different people when I was doing this at the last 15 min of the day. So excuse the lack of other reference signals.
I am posting this just for easy reference, so we can find this all in one place. The Northstar ignition module wiring and the signal waveforms going in and out of it.
Attachment 12139
Attachment 12141
Hope this answers more questions than it creates. During startup, no 5v signal is sent to the BYPASS input until after 400rpm, where 5v makes the module switch to computer ignition control. From then on, the computer has direct control as to WHEN the next coil is going to fire. The module keeps track of WHICH one to fire.
Sure thing Johnny. I have an arduino mega 2560 ordered from ebay. Might help me follow along. Should have enough memory for spark tables. I am hoping we might be able to transfer spark tables over from a flash binary file(s), and run the northstar module with it. I still need to concentrate on my hardware decoder......am having issues finding surface mount chip adapters at a decent price, so that I can do some proper prototyping.
I am also working on a bolt-on reluctor wheel that was posted on another site, but they never released any final forms or brackets, so I have to work up my own. The waterjet cutting company is willing to do business with me and have decent prices. Now, I just have to figure out the layout for the sensors and base timing. That will be much later on. But I will post the DXF files publicly.
Hooking an arduino up to the ignition module with its own spark tables would be neat, but I have to do my part 1st. Not sure about knock detection on an arduino, though. Which is why I want to use Ion Sense Ignition so knock detection does not require a tuned knock sensor/software.
WAIT! Damn it. I am over thinking this....you can hook up the OEM ecm to the northstar module's EST input directly, since it is still getting a signal from the optispark. NO LOSS OF FUNCTION. The ignition module will still decide which coil to fire + dwell, and the other outputs need not be connected at all (to the ECM). That is how Deltec did it! Would need a harness to prove it, but not really. As long as the crank signals are adapted for the northstar module, it should be fine. Will have to tie the BYPASS input to constant 5v to put it into constant EST mode like the original ignition module, but it has no reason not to work.
I like where you are headed. Wouldn't this mean we would have to change the signal coming out of the opti to match the northstar?
There is a junkyard no more than a mile from my house littered with northstars, if you need any northstar stuff let me know. Does this mean we will only be able to use the waste-spark style coils?
Found this site:
http://lukeskaff.com/projects/car/ca...c-ecm-project/
and a delteq diagram
To mimic the deltec exactly, we will definitely have to adapt the opti signals to match the northstar's 2 crankshaft sensors, minus the cam signal. It is confirmed that they wired the EST and BYPASS exactly as I imagined. The signals will have to be above and below the zero volt line because of a zero crossing detector built in. So about +5v/-5v peak to peak should work fine.
This would work only for the waste spark setup type coils, unfortunately. But it would get you distributorless. I have a spare northstar ignition module with a bad (shorted) EST input. Just enough to test a signal generator and my crankwheel setup later on. I wonder how much the junkyard would want for one without the coils on it?
I can grab some northstar ignition modules no problem, i bet they would only be a few bucks.
The waste spark setup is perfectly fine.
Northstar's have a different firing order than sbc.
looking at delteq's Ignition module that the coils seat on, I wasn't sure if this was the factory northstar module or they perhaps made their own.
Just so we are clear, what I have pictured below is the Ignition Module correct?
Yup. there is only one like it. You might want to grab the pigtail connectors to it as well.