Measure Strain Using an Analog Bridge Sensor
This example shows how to acquire bridge circuit voltage ratio data using a CompactDAQ module, then compute and plot strain values. This example does not apply to USB devices such as the NI USB-9219.
Discover Devices that Support Bridge Sensor Measurements
To discover a device that supports bridge sensor measurements, access the device in the array returned by daqlist
command. For this example use National Instruments® CompactDAQ Chassis NI cDAQ-9178 and module NI 9219 with ID cDAQ1Mod7
.
d = daqlist("ni")
d = 12×4 table DeviceID Description Model DeviceInfo ___________ __________________________________ _____________ ____________________ "cDAQ1Mod1" "National Instruments NI 9205" "NI 9205" [1×1 daq.DeviceInfo] "cDAQ1Mod2" "National Instruments NI 9263" "NI 9263" [1×1 daq.DeviceInfo] "cDAQ1Mod3" "National Instruments NI 9234" "NI 9234" [1×1 daq.DeviceInfo] "cDAQ1Mod4" "National Instruments NI 9201" "NI 9201" [1×1 daq.DeviceInfo] "cDAQ1Mod5" "National Instruments NI 9402" "NI 9402" [1×1 daq.DeviceInfo] "cDAQ1Mod6" "National Instruments NI 9213" "NI 9213" [1×1 daq.DeviceInfo] "cDAQ1Mod7" "National Instruments NI 9219" "NI 9219" [1×1 daq.DeviceInfo] "cDAQ1Mod8" "National Instruments NI 9265" "NI 9265" [1×1 daq.DeviceInfo] "Dev1" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo] "Dev2" "National Instruments NI ELVIS II" "NI ELVIS II" [1×1 daq.DeviceInfo] "Dev3" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo] "Dev4" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
deviceInfo = d{7, "DeviceInfo"}
deviceInfo = ni: National Instruments NI 9219 (Device ID: 'cDAQ1Mod7') Analog input supports: 9 ranges supported Rates from 0.1 to 100.0 scans/sec 4 channels ('ai0','ai1','ai2','ai3') 'Voltage','Current','Thermocouple','RTD','Bridge' measurement types This module is in slot 7 of the 'cDAQ-9178' chassis with the name 'cDAQ1'.
Create an Analog Input Channel
Create a DataAcquisition and add an analog input channel with the Bridge
measurement type. There are two strain gauges connected to the NI 9219 in half bridge configuration.
dq = daq("ni"); dq.Rate = 10; ch = addinput(dq, "cDAQ1Mod7", "ai0", "Bridge");
Set Channel Properties
You must set the bridge mode according to the bridge circuit configuration and the nominal resistance to the value specified by the strain gauge datasheet. In this example, the strain gauges used are the SGD-3/350-LY13 linear strain gauges from Omega®, with a nominal resistance of 350 ohms, and the bridge is configured as a half-bridge.
ch.BridgeMode = "Half";
ch.NominalBridgeResistance = 350;
Set ADCTimingMode
By default, the ADC timing mode ADCTimingMode
of the channel is set to 'HighResolution'
. Set the ADCTimingMode
to 'HighSpeed'
.
ch.ADCTimingMode = "HighSpeed";
Acquire Data
Use read
to acquire 10 seconds of data.
data = read(dq, seconds(10));
Calculate Strain from Voltage Ratio
The acquired data is the ratio of measured voltage to excitation voltage.
This data is used to compute strain values using a conversion formula (as determined by your bridge configuration).
For half bridge configuration, use
strain = -2*Vr/GF
where GF is gauge factor provided in the sensor data sheet and Vr is the voltage ratio output as measured by your bridge channel.
Assume negligible lead wire resistance in this case. For the strain gauge used in this example, GF = 2.13.
GF = 2.13; strain = -2*data.cDAQ1Mod7_ai0/GF; plot(data.Time, strain); xlabel('Time (s)'); ylabel('Strain');