Maker Pro
Maker Pro

absolute position sensor

J

Jon R. Pickens

Jan 1, 1970
0
Hi,

I'm trying to get info on the best way to add a sensor to my truck's
engine for determining absolute position of the crankshaft while the
engine is running. The sensor would be used for tuning purposes, as
well as connecting to a small laptop for data logging. Through the
PC, I planned on taking a feed from the tachometer signal to determine
the ignition timing from inside the truck as well. No real practical
application, just a fun project for me.

My needs are fairly simple: It should be able to measure 360° or
better (such as 720° or 1440°) as well as be durable enough to handle
the heat under the hood and normal amounts of dirt from the road.

I'm assuming a magnetic / hall effect sensor would be best, but where
do I get something with the accuracy I need?

Thanks,

~jp
 
P

Paul Mathews

Jan 1, 1970
0
Hi,

I'm trying to get info on the best way to add a sensor to my truck's
engine for determining absolute position of the crankshaft while the
engine is running. The sensor would be used for tuning purposes, as
well as connecting to a small laptop for data logging. Through the
PC, I planned on taking a feed from the tachometer signal to determine
the ignition timing from inside the truck as well. No real practical
application, just a fun project for me.

My needs are fairly simple: It should be able to measure 360° or
better (such as 720° or 1440°) as well as be durable enough to handle
the heat under the hood and normal amounts of dirt from the road.

I'm assuming a magnetic / hall effect sensor would be best, but where
do I get something with the accuracy I need?

Thanks,

~jp

2 Hall sensors: 1 to sense flywheel ring gear teeth, the other to
sense any flywheel feature that is unique for each revolution. The 2nd
sensor gives you a sync for each full revolution. Of course, you could
use a camshaft gear or timing chain in an analogous fashion, taking
the gearing into account.
Paul Mathews
 
M

mpm

Jan 1, 1970
0
Hi,

I'm trying to get info on the best way to add a sensor to my truck's
engine for determining absolute position of the crankshaft while the
engine is running.  The sensor would be used for tuning purposes, as
well as connecting to a small laptop for data logging.  Through the
PC, I planned on taking a feed from the tachometer signal to determine
the ignition timing from inside the truck as well.  No real practical
application, just a fun project for me.

My needs are fairly simple: It should be able to measure 360° or
better (such as 720° or 1440°) as well as be durable enough to handle
the heat under the hood and normal amounts of dirt from the road.

I'm assuming a magnetic / hall effect sensor would be best, but where
do I get something with the accuracy I need?

Thanks,

~jp

What are you going to display this on?
In real time, even at idle, we're talking 600 RPM's or so.
LED's will just be a blur.

Timing lights (for engine tune ups) used to use a little white line
marked on the camshaft pully.
You can probably do something similar optically, then average out the
rest of the circle position based on time between sequential marks.
Just an idea.

-mpm
 
J

Jon R. Pickens

Jan 1, 1970
0
2 Hall sensors: 1 to sense flywheel ring gear teeth, the other to
sense any flywheel feature that is unique for each revolution. The 2nd
sensor gives you a sync for each full revolution. Of course, you could
use a camshaft gear or timing chain in an analogous fashion, taking
the gearing into account.
Paul Mathews

I forgot to mention, that if the engine is stopped, then started
again, I'd need it to be somewhat re-synced after a couple of
revolutions (before the engine even starts really).

~jp
 
J

Jon R. Pickens

Jan 1, 1970
0
What are you going to display this on?
In real time, even at idle, we're talking 600 RPM's or so.
LED's will just be a blur.

Timing lights (for engine tune ups) used to use a little white line
marked on the camshaft pully.
You can probably do something similar optically, then average out the
rest of the circle position based on time between sequential marks.
Just an idea.

-mpm

Where do LEDs enter the picture??? It'd be displayed on a little
tablet PC...

The idea is, by knowing the exact position of the crank, I could use
software to determine ignition timing and duration (of course, I'd
also be capturing data from the ignition system to monitor that).

The "interface" would consist of the PC, with real-time engine speed
in RPM, ignition timing and duration displayed on the screen.

Something like this at idle:
----------------------------
Engine speed: 800rpm
Ignition timing advance: 4° BTDC
Ignition duration: 20°
----------------------------
....and while cruising on the interstate:
----------------------------
Engine speed: 2130rpm
Ignition timing advance: 14° BTDC
Ignition duration: 20°
----------------------------
If you hit the gas, the numbers should change accordingly, provided
that the software is doing its job and grabbing several new samples of
data every second. It'd be connected either via RS232 or the parallel
port.

Thanks,

~jp
 
P

PeterD

Jan 1, 1970
0
Hi,

I'm trying to get info on the best way to add a sensor to my truck's
engine for determining absolute position of the crankshaft while the
engine is running. The sensor would be used for tuning purposes, as
well as connecting to a small laptop for data logging. Through the
PC, I planned on taking a feed from the tachometer signal to determine
the ignition timing from inside the truck as well. No real practical
application, just a fun project for me.

My needs are fairly simple: It should be able to measure 360° or
better (such as 720° or 1440°) as well as be durable enough to handle
the heat under the hood and normal amounts of dirt from the road.

I'm assuming a magnetic / hall effect sensor would be best, but where
do I get something with the accuracy I need?

Thanks,

~jp

I don't suppose you even remotely thought it might be a good idea to
tell us WHAT KIND OF TRUCK you are thinking about, did you?
 
R

Rich Grise

Jan 1, 1970
0
I'm trying to get info on the best way to add a sensor to my truck's
engine for determining absolute position of the crankshaft while the
engine is running. The sensor would be used for tuning purposes, as
well as connecting to a small laptop for data logging. Through the
PC, I planned on taking a feed from the tachometer signal to determine
the ignition timing from inside the truck as well. No real practical
application, just a fun project for me.

My needs are fairly simple: It should be able to measure 360° or
better (such as 720° or 1440°) as well as be durable enough to handle
the heat under the hood and normal amounts of dirt from the road.

I'm assuming a magnetic / hall effect sensor would be best, but where
do I get something with the accuracy I need?

Put a magnetic sensor near the flywheel where it will pick up each tooth
as one pulse?

You'd have to interpolate, of course, and you'd need another kind of
pulse to sync it at #1 TDC.

Have Fun!
Rich
 
S

Stanislaw Flatto

Jan 1, 1970
0
Jon said:
Hi,

I'm trying to get info on the best way to add a sensor to my truck's
engine for determining absolute position of the crankshaft while the
engine is running. The sensor would be used for tuning purposes, as
well as connecting to a small laptop for data logging. Through the
PC, I planned on taking a feed from the tachometer signal to determine
the ignition timing from inside the truck as well. No real practical
application, just a fun project for me.

My needs are fairly simple: It should be able to measure 360° or
better (such as 720° or 1440°) as well as be durable enough to handle
the heat under the hood and normal amounts of dirt from the road.

I'm assuming a magnetic / hall effect sensor would be best, but where
do I get something with the accuracy I need?

Thanks,

~jp
Your resolution will be dependant on amount of info collected per
revolution. The gearing on flywheel is a good collection point with Hall
or magnetic sensor. This AND the 0 deg position should give you all info
you need.

HTH

Stanislaw.
 
R

Rich Grise

Jan 1, 1970
0
Where do LEDs enter the picture??? It'd be displayed on a little
tablet PC...

The idea is, by knowing the exact position of the crank, I could use
software to determine ignition timing and duration (of course, I'd
also be capturing data from the ignition system to monitor that).

The "interface" would consist of the PC, with real-time engine speed
in RPM, ignition timing and duration displayed on the screen.

Something like this at idle:
----------------------------
Engine speed: 800rpm
Ignition timing advance: 4° BTDC
Ignition duration: 20°
----------------------------
...and while cruising on the interstate:
----------------------------
Engine speed: 2130rpm
Ignition timing advance: 14° BTDC
Ignition duration: 20°
----------------------------
If you hit the gas, the numbers should change accordingly, provided
that the software is doing its job and grabbing several new samples of
data every second. It'd be connected either via RS232 or the parallel
port.

If you mount your sensor right, and since you're going to have to write
some code anyway, just use the hall sensor (or permanent magnet sensor,
like a guitar pickup) to sense the flywheel teeth, and interpolate for
fractions of degrees and stuff. You'd need to know how much skew there
is at various speeds (i.e., a magnetic sensor will respond differently
at 600 RPM than at 3000 RPM.) So you'll have to determine just when
the leading edge happens relative to the physical tooth for any given RPM
- you're going to have to calibrate this thing anyway, right? :)

And another thing - can't you just ask the car's computer?

Have Fun!
Rich
 
J

Jon R. Pickens

Jan 1, 1970
0
If you mount your sensor right, and since you're going to have to write
some code anyway, just use the hall sensor (or permanent magnet sensor,
like a guitar pickup) to sense the flywheel teeth, and interpolate for
fractions of degrees and stuff. You'd need to know how much skew there
is at various speeds (i.e., a magnetic sensor will respond differently
at 600 RPM than at 3000 RPM.) So you'll have to determine just when
the leading edge happens relative to the physical tooth for any given RPM
- you're going to have to calibrate this thing anyway, right? :)

And another thing - can't you just ask the car's computer?

Have Fun!
Rich

Well, this truck doesn't have a computer... it was made in 1986.

Thanks for the advice,

~jp
 
J

Jon R. Pickens

Jan 1, 1970
0
I don't suppose you even remotely thought it might be a good idea to
tell us WHAT KIND OF TRUCK you are thinking about, did you?

Actually, no I didn't... I didn't and still don't see it as relevant,
but... it's a 1986 Chevrolet K5 Blazer, non-computerized and
carbureted, 350ci engine / automatic tranny with A/C. The only
computerized part of the truck (as far as I know) was a small system
that retards the ignition timing based on input from a knock sensor.
It is currently disabled, and no it's not a hack--it's a GM-approved
modification that was released in a service bulletin after that
circuit began to fail with regularity.

~jp
 
R

Rich Grise

Jan 1, 1970
0
Actually, no I didn't... I didn't and still don't see it as relevant,

Everything that relates to the question is relevant, otherwise we're
all just stabbing in the dark. For example, if I'd known this before,
I'd have left out the part about just asking the car's computer. :)
but... it's a 1986 Chevrolet K5 Blazer, non-computerized and
carbureted, 350ci engine / automatic tranny with A/C. The only
computerized part of the truck (as far as I know) was a small system
that retards the ignition timing based on input from a knock sensor.
It is currently disabled, and no it's not a hack--it's a GM-approved
modification that was released in a service bulletin after that
circuit began to fail with regularity.

Cheers!
Rich
 
J

Jon R. Pickens

Jan 1, 1970
0
Everything that relates to the question is relevant, otherwise we're
all just stabbing in the dark. For example, if I'd known this before,
I'd have left out the part about just asking the car's computer. :)
Cheers!
Rich

Gotcha... I guess my intention wasn't clear, which is to add something
to the truck that doesn't already exist.

Thanks,

~jp
 
R

Rich Grise

Jan 1, 1970
0
Gotcha... I guess my intention wasn't clear, which is to add something
to the truck that doesn't already exist.

Now that that's out of the way ( ;-) ), did you get any useful answers?

Thanks,
Rich
 
J

jasen

Jan 1, 1970
0
Well, this truck doesn't have a computer... it was made in 1986.

does it have an OBD socket ?

IIRC that's about when they started fitting crank position sensors to some
vehicles.

I had a car that had the sensor connected to a socket but to nothing else.

Bye.
Jasen
 
J

Jon R. Pickens

Jan 1, 1970
0
Now that that's out of the way ( ;-) ), did you get any useful answers?

Thanks,
Rich

Some, yes... I already understood the concept of using a sensor near
the teeth on the flywheel, so that may be the direction I go with this
project. I just don't know if it'll provide the resolution I want.
It seems that if I wanted to measure somewhere in-between the teeth of
the flywheel, I wouldn't be able to do so, rather I'd have to
calculate position based on engine speed and last known position.
Correct?

~jp
 
R

Rich Grise

Jan 1, 1970
0
Some, yes... I already understood the concept of using a sensor near
the teeth on the flywheel, so that may be the direction I go with this
project. I just don't know if it'll provide the resolution I want.
It seems that if I wanted to measure somewhere in-between the teeth of
the flywheel, I wouldn't be able to do so, rather I'd have to
calculate position based on engine speed and last known position.
Correct?

Sounds like you've got it pretty much summed up. Is it possible to
view the flywheel while the engine is running? You could use a strobe
to get it down to a gnat's ass, but you'd need to do a couple of things
simultaneously in your software - first, you'd scope out the sensor
output, and make a record of the waveform at various RPMs. It might
be possible to pick a trigger point that would correspond really
closely to the same position on each tooth at any RPM. Then, knowing
the current RPM, each tooth interval will correspond to a certain
number of degrees.

How many teeth are on a typical flywheel anyway?

Thanks,
Rich
 
J

Jonathan Kirwan

Jan 1, 1970
0
Some, yes... I already understood the concept of using a sensor near
the teeth on the flywheel, so that may be the direction I go with this
project. I just don't know if it'll provide the resolution I want.
It seems that if I wanted to measure somewhere in-between the teeth of
the flywheel, I wouldn't be able to do so, rather I'd have to
calculate position based on engine speed and last known position.
Correct?

It may be possible to use the teeth together with an optical
technique. An issue being that you'd want a broad 'spot size' so that
instead of getting 'on/off', 'off/on' behavior you instead get a
sinusoidal shape in the signal you receive. You can sample that with
a fast enough circuit and it will get you a way to figure position in
between the teeth or at different relative positions over a tooth.

Jon
 
C

Chris Jones

Jan 1, 1970
0
Jonathan said:
It may be possible to use the teeth together with an optical
technique. An issue being that you'd want a broad 'spot size' so that
instead of getting 'on/off', 'off/on' behavior you instead get a
sinusoidal shape in the signal you receive. You can sample that with
a fast enough circuit and it will get you a way to figure position in
between the teeth or at different relative positions over a tooth.

Jon

I think since it is not a very clean area it would be more reliable to use
hall sensors because dirt could upset an optical system. I expect you can
get a packaged unit with basically a hall sensor and a magnet behind it,
and if you put that near the teeth of the ring gear then you can count the
pulses. Also, provided the angular velocity is reasonably constant from
one tooth to the next, then you can just assume that the crankshaft angle
increases linearly with time from one pulse to the next. This would allow
you to estimate the position of the flywheel at any point in time. I think
this would be the best option.

If you don't want to assume that the angular velocity is constant over the
period from one tooth to the next, then you could make a setup with two
sensors spaced apart by a 0.25 tooth, (or 1.25 teeth, or 2.25 teeth etc.
whatever is easiest mechanically). If you use "linear" hall sensors with
an analogue output voltage proportional to magnetic field in the sensor
then you would get two waveforms that would look like a distorted sine wave
and a distorted cosine wave (with some DC offset), from which you could
figure out the position within a small fraction of a tooth. You could work
out the position even with the engine stopped (provided your sensor has
been running since the last time you detected the top-dead-centre and reset
the counters). If you use four sensors at 0, 0.25, 0.5 and 0.75 tooth
offsets (plus any integer number of teeth needed for mechanical reasons)
then you don't need to bother so much about the DC-shift in the output due
to the permanent magnet behind the hall sensor because you can take
differential readings between the 0 tooth and 0.5 tooth sensors for one
channel and differential readings between the 0.25 and 0.75 tooth sensors
for the other channel. I think using a single sensor is easier though.

Chris
 
Top