Thoughts on crank angle sensing

Paul E. Campbell pecampbe at mtu.edu
Tue Feb 27 15:09:59 GMT 1996


I've been thinking about high resolution crank angle sensors lately..what does
anyone think about the following ideas?

First, I want to get away from doing all the work in the CPU (reducing load
on the CPU)..but, I still want a measurement of maximum torque angle, position,
and overall velocity.

Position is simple..the usual missing pulse detector will pick it out. And
then position itself can be handled by cleaning up a high resolution crank
angle sensor (200+ teeth) and sending the pulse train to a counter..the
missing pulse detector triggers the reset. This provides an instantaneous
angle position by simply reading the counter.

To get to velocity, I think a better way to go is to feed the pulse train
into a simple phase locked loop circuit, which will calculate the derivative
AND have the advantage of cleaning noise off the signal by altering the
characteristics of the loop filter. This will also give average torque by
assuming the engine mass is constant.

As for instantaneous acceleration, another op-amp circuit can do a high pass
filter on the PLL's output. From acceleration, we can also calculate
instantaneous torque. By looking for peaks in this signal (another PLL or
another derivative?), the position of maximum torque can be located.

As far as the various loops go, either digital or analog would work fine. I
think digital may be the way to go after a certain point even though the
filters are probably easier in analog circuitry because otherwise you are
going to need A/D's all over the place and possibly fast ones at that.

What I think would be a nice first step is to place current sensors (yes, I'm
just going to wrap a couple loops around the line of interest and feed it to
a buffer circuit) on various parts of the currently working vehicle sensors
(spark, fuel injector, existing crank angle sensor). Then install the crank
angle sensor. I would build a digital data acquisition box to collect all
the data (soon to be the engine computer) and analyze it all offline. That
way I can at least test out the sensor system before I actually start
replacing the original parts. My goal would be to get to a working multiple
coil MSD system first (which is mostly a timing problem), then move up to the
fuel injectors.

Yes, I still have this image of a mostly hardware-based system with a CPU
providing tweaking on constants in counters and such instead of attempting
to do the raw calculations right down to crank angle position and velocity
in the CPU itself.



More information about the Diy_efi mailing list