В этом примере показов, как получить и отобразить данные от акселерометра, прикрепленного к транспортному средству, управляемому при неравномерных условиях дороги.
Чтобы обнаружить устройство, которое поддерживает акселерометры, получите доступ к устройству в таблице, возвращенной daqlist
команда. Этот пример использует National Instruments ™ ® CompactDAQ Chassis NI cDAQ-9178 и модуль NI 9234 с идентификатором cDAQ1Mod3
.
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{3, "DeviceInfo"}
deviceInfo = ni: National Instruments NI 9234 (Device ID: 'cDAQ1Mod3') Analog input supports: -5.0 to +5.0 Volts range Rates from 1000.0 to 51200.0 scans/sec 4 channels ('ai0','ai1','ai2','ai3') 'Voltage','Accelerometer','Microphone','IEPE' measurement types This module is in slot 3 of the 'cDAQ-9178' chassis with the name 'cDAQ1'.
Создайте DataAcquisition и добавьте аналоговый входной канал с Accelerometer
тип измерения.
dq = daq("ni"); ch = addinput(dq, "cDAQ1Mod3", "ai0", "Accelerometer");
Измените скорость скана на 4000 сканы в секунду
dq.Rate = 4000;
Вы должны задать Sensitivity
значение значения, заданное в таблице данных акселерометра. Этот пример использует керамическую модель акселерометра сдвига, 352C22 из PCB Piezotronics с 9,22 мВ на силу тяжести.
ch.Sensitivity = 0.00922; ch
ch = Index Type Device Channel Measurement Type Range Name _____ ____ ___________ _______ ______________________ ____________________ _______________ 1 "ai" "cDAQ1Mod3" "ai0" "Accelerometer (Diff)" "-5.0 to +5.0 Volts" "cDAQ1Mod3_ai0"
Используйте read
команда для получения данных в течение 30 секунд.
data = read(dq, seconds(30));
plot(data.Time, data.cDAQ1Mod3_ai0);
ylabel("Acceleration (Gravities)");