12-05-2018 04:39 AM
Hello guys, I just started using the NI evaluation kit, sbRIO9636, labview 2014 to acquire data from a piezoelectric transducer(PZT). PZT is a compound that produce electricity when a force is induced. However, in the process, there is noise that reach an amplitude of 0.38. How can i do to calibrate the signal to become zero or approximately zero when it was connected to the pzt transducer so that i can calculate the volatge produced and get the graph of it when a force is induced.
I have attached my data graph when connected to pzt transducer and I set my loop timer of fpga to 500usec. The following are the VI and FPGA of my project, please take a look and see if anything I need to change or correct, thank you very much in advance.
12-05-2018 08:26 AM
Well, in IR spectroscopy we usually take a reading with no illumination (known as "background") and then a reading with illumination, then get the difference. The resulting waveform is basically noise-free.
If the noise is reliably the same amount from measurement to measurement, you might benefit from the same sort of technique. In your case, could you just subtract .38 from your measurement?
12-05-2018 08:45 AM
Sorry, I'm not currently able to look at your code (and don't like looking at "pictures" of code). Here are some comments:
Bob Schor
02-23-2019 11:03 AM
When i just run it without any input, the graph will show a reading, which I not sure is the background noise or not. Now I suspect maybe is the current flow within the evaluation board itself, is it possible? And if it is, how can I solve it?? Thanks in advance
02-23-2019 12:51 PM
If it's electronic noise then that sounds like a hardware problem. I'm not familiar with your setup but you might consider re-evaluating it. Noise can come from just about anywhere and I suspect only somebody familiar with the technology will be able to track it down. If it cannot be helped then you have no choice but to account for the error with some type of calibration/offset in the software.
02-23-2019 01:13 PM
@newuserneedhelp wrote:
When i just run it without any input, the graph will show a reading, which I not sure is the background noise or not. Now I suspect maybe is the current flow within the evaluation board itself, is it possible? And if it is, how can I solve it?? Thanks in advance
What is the frequency of the signal? Is it pickup from something? Is you sbRIO board exposed, or in a metal case?
mcduff
02-24-2019 08:56 AM
I've tried to reevaluate it for a few times, but it remains the same. The hardware (sbRIO 9636), it able to generate waveform signal itself whenever it runs (if you connect the analog input with the signal generating output), so i suspect the signal i get (without connecting any AIO) is the current within the hardware itself.
02-24-2019 08:57 AM
I'm not sure about the frequency, but my sbRIO board is exposed.
02-25-2019 06:01 AM
Your PZT will produce a charge when a force is applied. That charge will convert another electic unit, depending on the impedance that charge sees. Q=C*U for example, with C being the capacity of the PZT and(!) it's cable and input capacity of the DAQ. (Simplified)
While you can measure a voltage, being depended of all the capacities (or complex impedances) including cable triboelectric and microphonic effects, a quite common method is to use a charge amplifier and reduce the cable microphony and capacity effects.
Due to preload, bias currents etc. you see an offset.
One common way to remove the offset is a highpass filter,
or take the mean of a multiple of the periode and subtract it.
Your signal seems to contain a low freq sine (+thd) and high freq spikes. What do you want to measure?
02-27-2019 02:24 AM
Hi Henrik, I've tried to use the lowpass and highpass filter, but the results remain the same, and the input reading is around 0.3 if i compile to analog input read in my fpga; and is -10 if i compile only one in my fpga. The attachment is my fpga and VI.