04-05-2022 04:17 AM
Hello,
I am relatively new to Labview environment. Before delving deep into the problem let me first explain what is the intended outcome of my application.
Firstly, labview will generate an analog voltage signal (a half sine signal with pulse duration of 5ms)
Secondly, the excitation signal will go through an power amplifier and then to a shaker setup where an accelerometer and a piezoelectric harvester is mounted. The accelerometer measures the actual acceleration level and the harvester will produce a voltage signal based on the incoming mechanical shock.
Thirdly, Labview will acquire the signal from the generated excitation signal (the half sine wave from the first step), the accelerometer signal and the harvester voltage output.
The main goal is to measure the voltage output under mechanical shocks of 100g's.
Till now, I was successful in generating the intended the excitation signal, achieving the desired the acceleration level but when it comes to acquiring the voltage output, I've encountered some problems. The problem is in Labview I am noticing reduced voltage output from the harvester compared to when it is connected to an oscilloscope. For example, in one case, when the oscilloscope shows a maximum peak value of 700 mv, the peak value from the labview is found to be 400 mv.
To resolve this issue, I have tried switching to different input channels of the BNC board but still the problem persists. I double-checked the voltage output of the other two acquired channels (the excitation signal and the accelerometer signal) with an oscilloscope. They match in the both cases but when it comes to the harvester output there seems to be always a discrepency between the acquired data.
I don't know what I am doing wrong. Could anyone help me out here?
Thanks in advance. Looking forward to hearing from you.
Best regards,
Minhaz
Details regarding the experimental setup:
Labview version: Labview 2009 version 9.0f2
DAQ device: National Instruments (NI) DAQ 6120 with BNC-2110
Harvester's eigenfrequency : 1-2 Khz
Solved! Go to Solution.
04-05-2022 08:17 AM
The issue is that basically the AO and AI are asynchronous which means they are free to execute whenever the OS deems feasible (once it obeys dataflow). What you're missing is that both AO and AI must be synchronized so that the response is captured at the same time as you generate the stimulus. In the current implementation, the stimulus and response are completely out of order.
04-05-2022 10:20 AM - edited 04-05-2022 10:21 AM
Thanks for your response. I had a feeling I was doing something wrong with the data acquisition aspect. Could you kindly elaborate on how should I synchronize the stimulus and the response?
It makes me wonder why did in two case the responses was accurately captured and in the third case, there are some discrepancy? If the synchronization is cause of the problem then I would have assumed that it would affect all the response similarly, which doesn't seem to be the case.
04-05-2022 11:28 AM
Have a look at the example "Analog input-Synchronisation.vi" (Help-Find Examples... -Hardware Input...DAQmx, Synchronization)
replace one analog input task with your analog output task.
Another point could be the different input impedance of your scope (usually 1M||some pf) and your DAQ device unless your source impedance is low.
(Piezos create a charge, the voltage your measure directly is a funktion of the capacity of the piezo and the cable and the input impedance, if your DAQ is a multiplexed one, the Sample&Hold capacitor migth see a different thing ...)
04-06-2022 01:26 AM
thank you for pointing me to the appropriate example. I'll give it a try and get back to you.
Regarding the last point which you made, I checked the datasheet of both of the devices again. So the scope which I am using is tektronic MDO3034 and the input impedence is 1 Megaohms and the DAQ device (NI 6120) has the same input impedence of 1 Megaohms. However in the daq datasheet they mentioned,
Input impedance
AI + to AI –
Range ≤ ±10 V....................... 1 MΩ in parallel with 100 pF
I couldn't find information regarding the input capacitance of the scope. So I was using the same harvester, with the same cable and with the same input impedence but still I was getting different results. Sorry but I couldn't find information regarding whether it is a multiplexed one or not.
The accelerometer I am using is also based on piezoelectric material. So I am wondering if the output of this device can be measured accurately with LABVIEW shouldn't the same happen for the piezoelectric harvester? Or am I maybe missing something? or can it be that I am not sampling the harvester's input fast enough? I tried changing the sampling rate to 100ks/s but still didn't solve the problem. As long as I am sampling at 10 times higher than the expected maximum frequency of the DUT (that is 2khz in my case) that should not be a problem, right?
Greetings from Germany,
Minhaz
04-06-2022 09:57 AM - edited 04-06-2022 10:06 AM
Piezo based accelerometera are usually conneted via a charge-amplifier or they already have a converter build in (IEPE) and need a current source.
But yes, you can measure a voltage across a piezo accelerometer, but again it is a function of the total capacity it has to drive.
The input capacity of the scope is not in the spec! TEK shame on you! But a passive probe spec valid for that scope tells us 1MOhm||13pF 🙂
Your DAQ has 100pF (and migth not include the Connectorbox?)
so if your piezo harvester including cable (we don't know that capacity..) and scope input see 320 pF (my guess) , it will see 407 pF (or more) with the DAQ, resulting in a 78% reading compared with the scope 🙂
Piezos generate a charge Q when stressed, and the voltage U=Q/C 🙂
RG58 cable has about 85 pF/m , so if you measure with your scope, you can add some RG58 cable until it will match your DAQ reading 😄