In my spare time I have been working on a system to adapt the GM 7x crank triggering system present on my 1.9L Saturn engine to an equivalent signal used by my SDS EM4-F with a hall effect pickup. In essence, I want to simply “T” off the factory 7x pickup, run that signal to my microcontroller based system, and have the micro send the SDS an equivalent pattern to what it would see if using the hall effect system it is designed for.What’s the point of this? Well it makes installing the SDS on 7x equipped cars a little easier and it also eliminates any problems caused by poor bracketing (on the users’s part) of their aftermarket trigger. I also believe that it can deliver more precise timing.
Additionaly, this system has the potential to be built in a user configurable fashion such that it could automatically figure out what triggering scheme is coming in, and generate any output signal pattern. For example, reading a 7x trigger and outputting 58x signals or vise versa. Note that 7x and 58x triggering combined account for probably 85% of General Motors vehicles sold globally from 1990 to present. Also, it’d be trivial to add additional triggering patterns from other manufacturers to the system (including cam trigger patterns). Anyway, I’ll have this prototype running my car soon and I’ll decide on future development at that time.
Basic 500 RPM operation
500 RPM 7x and SDS pulses
Here the basic operation is displayed for a few “crank rotations” from my 7x signal generator. We can see the period of one revolution at 500 RPM is 120 ms and the SDS pulses are obviously happening at the right times (100, 240, 280 crank degrees). What can’t be seen in this plot is the fact that the output pulses to the SDS are wider (up to 600 µs) at low rpm as there’s plenty of time for “wide” signals with no overlap.
Basic 10,000 RPM operation
10,000 RPM 7x and SDS pulses
Here we see a zoomed in capture at 10,000 RPM. The period is down to 6.0 ms as we would expect and the SDS output pulses are at their narrowest (150 µs).
10,000 RPM Trigger 1 event
Trigger 1 Pulse
Here I’ve measured the time delay from TDC to my “Trigger 1″ output pulse. Scope measurement shows 1.66 ms and the “correct” time delay for 100 deg ATDC @ 10,000 RPM is 1.667 ms so we’re right there. The actual error is much less than .007 ms as we will see in a little bit (when we zoom in further).
10,000 RPM Sync event
Sync Pulse
Here I’ve measured the time delay from TDC to my “Sync” output pulse. Scope measurement shows 4.00 ms and the “correct” time delay for 240 deg ATDC @ 10,000 RPM is 4.00 ms so this measurement is spot on. Note that this is the most difficult pulse to generate accurately in steady state as I have to swtich an output right as I’m receiving an input signal. If there’s no transient I can use timers to “schedule” the trigger pulses (which happen when there is no 7x input event) but I need tight code to record the 7x 240 degree event and switch the SDS Sync output with minimal skew.
10,000 RPM Trigger 2 event
Trigger 2 Pulse
Here I’ve measured the time delay from TDC to my “Trigger 2″ output pulse. Scope measurement shows 4.66 ms and the “correct” time delay for 280 deg ATDC @ 10,000 RPM is 4.667 ms so again it’s very close. Now we’ll zoom in and look at worst case skew.