06-02-2019 10:39 PM
Hello, I have a NI 9237 daq with 10 v exc and 9 bridge accelerometers. I am using daqmx and not daq assistant. So I have a labview program (screenshot attached) that spits out the data in V/V (I believe) and then I bring all the data into MATLAB and do my filtering and conversion to engineering units (g's). The below equation is what I am using to get from my voltage to physical unit g's.
(Value from testing (V/V) - offset (avg of first several points, V/V) )* ( 10 (exc vol, V) * 1000 (unit conversion, mv/V) ) / sensitivity (mV/g) = acceleration (g's)
Is this correct? The only value I have from the accelerometer is the sensitivity and the offset (zero measured output) but I am getting the offset from averaging the data of each channel prior to testing. Should there be a calibration factor incorporated or what should I be doing to ensure my accelerometer is calibrated across a range? The sensitivity is roughly .2 mv/g at 10 g's (ex calibration cert attached) which would make me think that doesn't cover the range. However, the specification sheet for this accelerometer also says that it offers excellent linearity and a wide frequency response. I'm just trying to make sure that my conversion from electrical to physical units is correct and if there is anything else I need to do to ensure proper calibration.
06-03-2019 04:20 AM - edited 06-03-2019 04:21 AM
Two points:
You have a bridge sensor, BUT it's a piezoelectric one, as noted in the datasheet, the calibrated sensitivity (mV/(m/s²) is valid
only at the same bridge voltage! Your Calsheet and your bridge exitation match 10V so you're lucky 🙂
In your calculation you have no mV/V calculation! , to get the physical SI unit a in m/s² it's
a= <mV_measured> / <sensitivity in mV/(m/s²)>
If you want to calculate any value of physical meaning (forces, velocities, ...) you have to convert to and use SI units anyway 🙂
What is g? g is no SI unit! Not even noted as official unit at NIST. g_n is often used, but only valid in a cal certifcate if the value of g_n is stated! ( Or g_local? Different everywhere :D)
06-03-2019 10:58 AM
How do you know the output is in mV vs V? Also, since it is a bridge sensor and from originally playing with the daq assistant it seemed it would be in mV/mV or V/V...
06-04-2019 05:52 AM
The cal sheet sensitivity is mV/(m/s²) not mV/V/(m/s²) since the bridge voltage is fixed.
Ignore the bridge assistant, just scale it correctly.
10-19-2019 03:05 AM
Good day
sorry i have to sneak into this conversation but i really need your expertise Sire.
I am a final year student of an institution in Africa and I have issues with my chosen project cause I do not have prior knowledge of coding or programming.
Please, I really need help with this project of mine as it will be due in 1 weeks’ time (1/11/2019), I don’t mind being assigned to someone good with the matlab DAQ toolbox for an extra fee. This is the crux of my project.
I am to write a code that will read data from two NI 9237 modules (6 channels in total). the modules are to read data from a force balance (strain due to force). The final result should be different plots for different force values against time. I will explain with a diagram and a flow chart, please do correct the flow chart if it is wrong. Some where in the code, there should be a scaling coefficient that will convert strain to force as needed for the equations. The code should plot the data in real time and also at the end of the acquisition. And the plots are individual force values against time. E.g N against time, M against time etc.
This is what I just did playing around with the code but I’m technically stuck afterwards.
daq.getVendors
daq.getDevices
s = daq.createSession ('ni');
ch1 = s.addAnalogInputChannel('Dev1', 'ai0', 'Bridge');
ch2 = s.addAnalogInputChannel('Dev1', 'ai1', 'Bridge');
ch3 = s.addAnalogInputChannel('Dev1', 'ai2', 'Bridge');
ch4 = s.addAnalogInputChannel('Dev2', 'ai0', 'Bridge');
ch5 = s.addAnalogInputChannel('Dev2', 'ai1', 'Bridge');
ch6 = s.addAnalogInputChannel('Dev2', 'ai2', 'Bridge');
ch1.BridgeMode = 'Full';
ch1.ExcitationVoltage = 10;
ch1.NominalBridgeResistance = 350;
ch2.BridgeMode = 'Full';
ch2.ExcitationVoltage = 10;
ch2.NominalBridgeResistance = 350;
ch3.BridgeMode = 'Full';
ch3.ExcitationVoltage = 10;
ch3.NominalBridgeResistance = 350;
ch4.BridgeMode = 'Full';
ch4.ExcitationVoltage = 10;
ch4.NominalBridgeResistance = 350;
ch5.BridgeMode = 'Full';
ch5.ExcitationVoltage = 10;
ch5.NominalBridgeResistance = 350;
ch6.BridgeMode = 'Full';
ch6.ExcitationVoltage = 10;
ch6.NominalBridgeResistance = 350;
attached below is the document to help understand what exactly i am doing and how far i have gone. it also has the flow chart, diagrams and equations.
i really do anticipate your reply.
thank you so much