01-24-2019 05:58 PM
Ladies and Gentlemen,
I am attempting to measure the pulse duration of an analog current input. I have created an open circuit that closes on physical impact of a hammer and anvil (terms for pieces of an accelerometer calibration apparatus). When the circuit closes a 2V .015A (limited) signal is collected via cDaq 9174 and 9203 C-module. I am recording a current pulse. The image is attached. I need to measure the duration in seconds that the signal transitions from low ~0 to high .15 and back down to ~0. So far I have attempted using the timing and transitions vi, with an error (shown in the second image). I have since done some reading and I now know that I need at least one full period to use this function.
Is there another way to do this?
My whole apparatus is an in house peak G meter. Please do not ask why, I don't make the jobs, I just do them. I am using a photodiode and laser to get instantaneous velocity and then using the impact time duration to then calculate G force. I can save the data for the current pulse and get the time duration that way, but I would rather automate it.
Thanks again for your help. Using Labview 2013
01-24-2019 06:28 PM
There's several options- you could take the derivative and look for the two spikes, or you could search the array left to right to find the first instance where it goes above 0.001 V, then find the instance where it falls below 0.001 V and subtract. Both of those depend on there being little noise, which it looks like fits your system.
01-24-2019 09:35 PM - edited 01-24-2019 09:36 PM
Thanks Bert for the info. I am looking at the current though, which is the bottom two graphs.
I have never used the derivative function in LV and have never searched through data using LV. For the search function, would i search the array for the index of the first time it goes above my specified value and then input that into an index array function? then repeat for the second instance? get the time stamps for both and subtract?
Thanks again.
01-25-2019 12:20 AM
you can do by finding a number of point that are increasing (avoid noise)
and them when found, you try to find a number of point that stops to go down.
The the beginning of the up and the end of the down will gives you the period.
a for loop and shift register will do the job.....
Benoit
01-25-2019 09:29 AM
@bseguin wrote:
you can do by finding a number of point that are increasing (avoid noise)
and them when found, you try to find a number of point that stops to go down.
The the beginning of the up and the end of the down will gives you the period.
a for loop and shift register will do the job.....
Benoit
I am not quite sure I understand your response. How would I search for that point at which it begins to increase and then again stops decreasing?