LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Help needed with real-time voltage dip detection

Hello everyone,

I hope you're doing well. I'm currently developing a real-time health monitoring system in LabVIEW, and I'm working with an analog sensor that provides a 0-10V signal as input data. My goal is to detect voltage dips, similar to the pattern shown in the figure below, using a True/False (T/F) boolean signal.

Jarir_1-1727009867429.png

 

To achieve this, my initial idea was to calculate the rate of change of the voltage, assuming it would help identify these dips more easily. I tried using the Derivative ptbypt.vi in LabVIEW, but it didn't work as expected—the voltage change was showing as zero throughout. I also attempted to manually calculate the slope using the formula: (current voltage - last voltage) / (current time - last time), but this also resulted in zero values.

 

Please note that the voltage baseline has different values each time, therefore, I can't use <x function to detect voltage dip.

 

Given these challenges, I'm looking for suggestions on a better method to accurately detect voltage dips in real-time.

Thank you for your time and help!

0 Kudos
Message 1 of 3
(151 Views)

When trying to help with a LabVIEW question/issue, the only thing worse than a "picture" of the LabVIEW code and/or data is a picture of data that comes from a published figure that might have nothing to do with LabVIEW (particularly if it is difficult to see the details clearly).

 

You have an analog sensor (what hardware is it?) that goes from 0-10 V, and appear to show a "signal" that is in the kilo-volt range (the image on my screen is a little fuzzy).  You say nothing about your hardware/software environment, including such details as sampling rates.

 

Your Fig. 1 seems to show a fixed "threshold" (which seems to be 58 kV), and the signal appears to have a relatively low frequency content, so you should be able to sample the signal at, say, 100-200 Hz, passing every sample through a simple "Threshold detector) that asks the question "If the previous signal was above threshold, is this signal below threshold, otherwise false" (which is true only when you transition from "above" to "below").  Of course, you can write another function to determine when sub-threshold become supra-threshold.

 

Next time you post, please include your LabVIEW code (an actual "code.vi" file), preferably saved (using Save for previous version) for LabVIEW 2019 or 2021, which almost all of the experienced LabVIEW users of this Forum have on their machines.

 

Bob Schor

 

Bob Schor

0 Kudos
Message 2 of 3
(111 Views)

Try to include a representative data stream example if possible.

 

  1. Look in the Signal Processing - Waveform Measurements palette for some ideas.
  2. If your signal-to-noise is good, and you have a single dip, you can use the transition measurement VI to get transition times. From there you should be able to parse your waveform accordingly.
  3. If your signal-to-noise is poor, you may have to do some preprocessing before (2). For example, a moving RMS filter on the data.

mcduff_0-1727126083015.png

 

0 Kudos
Message 3 of 3
(52 Views)