DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Problen With pulse detection function

Hi

I need to make a speed record during the time

 

For that I use a tachometer and a cogwheel ( 110 pulses per rpm )

 

 

When using the Pulse Detection function, the program calculates  well the RPM  but  the time reduces it.

 

Captura.PNG

 

 

The firt record  is 35s  and the second in 0.004 s.  How do I get rpm  with the same timeline? 

 

thanks. 

 

0 Kudos
Message 1 of 5
(5,109 Views)

any ideas?

0 Kudos
Message 2 of 5
(5,015 Views)

From right bottom of your screen shots, the time for RPM/min looks right (channel properties, minimum and maximum), time is from 12.244 - 31.695..

 

Try CTRL select  Time channel , then RPM/min, drag to plot, should have correct time.

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

Hello, Thank yout for your reply.

When I select two channels I recive the same result. I attach a capture of this result

2Captura.PNG

 

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

Digging an old topic: problem with ChnPulseDetection

 

So I've got this tachometer channel from a shaft spinning below 400rpm. The channel is at zero, the pulse at one, and there is one pulse per revolution. Sampling frequency of the tacho channel: 2048Hz.

On that original channel, the function ChnPulseDetection works well.

 

Now, I downsample slightly the tachometer channel (from 2048Hz to 2000Hz with a stairs linear mapping method), and perform the exact same pulse detection.

All pulses are correctly found (no missing pulses that could occur due to downsampling, and no extra pulse either).

The indexes of all pulses (PulseStartChnLine) are properly captured.

However, the start times of all pulses (PulseStartTime) are wrong and slowly drift over time. After a recording of 1800sec, the drift is 13sec.

This leads to wrong RPM calculation.

 

If I calculate manually the PulseStartTime channel based on the pulse indexes of PulseStartChnLine and the time channel of the resampled tachometer, I get the correct start times!

Code is:

 

 

 

Dim oIdxChn, oTimeChn, i
Set oIdxChn = Data.Root.ChannelGroups(2).Channels("PulseStartChnLine1")
Set oTimeChn = Data.Root.ChannelGroups(2).Channels("Time_Resampled_Tacho_Channel")

For i = 1 To oIdxChn.Size
  Data.Root.ChannelGroups(2).Channels("PulseStartTime_Recalculated").Values(i) = oTimeChn.Values(oIdxChn(i))
Next

 

 

 

 

To me, this is a bug from DIAdem, maybe something along the line of bit/time truncation.

 

The problem is replicated on DIAdem 2017 and 2018. I did not try more recent versions of DIAdem because all our company processes are tested and validated on DIAdem 2017/2018 and shifting to latest version is always a time consuming headache.

 

 

 

EDIT:

To calculate the correct RPM:

 - Recalculate the PulseStartTime channel using the function above,

 - Calculate the Delta of that channel (using function ChnDeltaCalc),

 - for a 1/rev pulse, the recalculated RPM is 60/Delta

0 Kudos
Message 5 of 5
(1,955 Views)