DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

RPM and Spark Advance from Crank Position

I have three signals from an oscilloscope, a Crank reference with missing tooth, an ignition signal from one cylinder, and another ignition signal for each cylinder (4) .  Each has about 20 million data points.

 

First, I need to calculate RPM from the Crank reference.  This seems straightforward, but I'm not 100% sure how to deal with the missing tooth.  The joint time analysis script doesn't allow me to have a missing tooth.   There are 60 teeth/rev and I think it is 2 missing teeth.  I tried looping through the channel, but that will take years.  Even ChnFind has a hard time.  Delta time betwwn falling edges, while ignoring the missing tooth, is what I need to look at.  Any ideas?

 

Second, I need to calculate the spark advance.  This involves the amount of time between the falling edge of the missing tooth and the falling edge of the ignition signal.  The ignition signal is the primary current of an ignition coil, and rises somewhat slowly, but has a very definite falling edge.  The degrees of rotation between the falling edge of the missing tooth and TDC is 114 degrees, but if I had the RPM, the time between missing tooth and ignition signal, I could easily calculate Spark Timing. 

 

Thanks in advance for any suggestions! 

0 Kudos
Message 1 of 4
(6,071 Views)

Hi RussellSenior,

 

Does the RPM vary in the entire data set? If it's taking too long to find the points resulting from the missing teeth, you could probably extract sections of data.

Humphrey H.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 4
(6,023 Views)

Hi Russell,

 

The Joint Time Frequency Analysis application just counts the number of rising edges and divides by the number of teeth per revolution.  As long as you enter the actual number of teeth in the dialog, I would expect it to work correctly.  Are you saying you have tried that and it doesn't work properly?  If so, what happens exactly?

 

Brad Turpin

DIAdem Product Support Engineer

National Instruments

0 Kudos
Message 3 of 4
(5,985 Views)

Not exactly sure what it's doing, but it gives me 12RPM on average, and then has a dip to 6 RPM, that I think is the missing toot.  I gave it 60 pulses per rev, but it isn't working right.  I've used it correctly before, so I'm not 100% what is going on. I don't have a chance to diagnos it, but for future reference, here is what I ended up doing:

 

1.)Applied a filter to my crank reference signal

2.)took the derivative of the the crank reference signal

3.)Use find peaks on the derivative to get the time of each falling edge of the signal.

4.)Knowing crank angle between falling edges, so it's an easy calculation to convert time to RPM. 

5.)Reject any time greater than twice the time of nearby datapoints. (this filters the missing tooth). 

 

Anyway, it was a pain, but I got it all to work.  If you have any other suggestions, please let  me know, otherwise, thanks again for the help.  You guys rock, as usual. 🙂

0 Kudos
Message 4 of 4
(5,976 Views)