07-08-2016 02:26 AM
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.
The firt record is 35s and the second in 0.004 s. How do I get rpm with the same timeline?
thanks.
07-19-2016 01:43 AM
any ideas?
08-15-2016 11:03 AM
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.
08-16-2016 03:03 AM
Hello, Thank yout for your reply.
When I select two channels I recive the same result. I attach a capture of this result
12-08-2022 06:18 AM - edited 12-08-2022 06:35 AM
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