Этот пример показывает, как получить и отобразить данные из акселерометра, присоединенного к автомобилю, управляемому под неравномерными дорожными условиями.
Чтобы обнаружить устройство, которое поддерживает Акселерометры, кликните по имени устройства в списке в Командном окне или получите доступ к устройству в массиве, возвращенном командой daq.getDevices
. Этот пример использует Национальный Instruments® CompactDAQ Chassis NI cDAQ-9178 и модуль NI 9234 с ID cDAQ1Mod3
.
devices = daq.getDevices devices(3)
devices = Data acquisition devices: index Vendor Device ID Description ----- ------ --------- -------------------------------- 1 ni cDAQ1Mod1 National Instruments NI 9205 2 ni cDAQ1Mod2 National Instruments NI 9263 3 ni cDAQ1Mod3 National Instruments NI 9234 4 ni cDAQ1Mod4 National Instruments NI 9201 5 ni cDAQ1Mod5 National Instruments NI 9402 6 ni cDAQ1Mod6 National Instruments NI 9213 7 ni cDAQ1Mod7 National Instruments NI 9219 8 ni cDAQ1Mod8 National Instruments NI 9265 9 ni Dev1 National Instruments PCIe-6363 10 ni Dev2 National Instruments NI ELVIS II ans = ni: National Instruments NI 9234 (Device ID: 'cDAQ1Mod3') Analog input subsystem 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'.
Создайте сеанс и добавьте канал аналогового входа с типом измерения Accelerometer
.
s = daq.createSession('ni'); addAnalogInputChannel(s,'cDAQ1Mod3', 0, 'Accelerometer');
Измените частоту развертки на 4 000 сканирований в секунду и длительность к 30 секундам.
s.Rate = 4000; s.DurationInSeconds = 30; s
s = Data acquisition session using National Instruments hardware: Will run for 30 seconds (120000 scans) at 4000 scans/second. Number of channels: 1 index Type Device Channel MeasurementType Range Name ----- ---- --------- ------- -------------------- ------------------ ---- 1 ai cDAQ1Mod3 ai0 Accelerometer (Diff) -5.0 to +5.0 Volts
Необходимо установить значение Sensitivity
к значению, заданному в таблице данных акселерометра. Этот пример использует керамическую модель 352C22 акселерометра сдвига от PCB, Piezotronics используется с 9,22 мВ за силу тяжести.
s.Channels(1).Sensitivity = 0.00922; s.Channels(1)
ans = Data acquisition analog input accelerometer channel 'ai0' on device 'cDAQ1Mod3': Sensitivity: 0.00922 ExcitationCurrent: 0.001 ExcitationSource: None Coupling: DC TerminalConfig: Differential Range: -5.0 to +5.0 Volts Name: '' ID: 'ai0' Device: [1x1 daq.ni.CompactDAQModule] MeasurementType: 'Accelerometer'
Используйте startForeground
, чтобы получить и отобразить данные на графике.
[data,time] = startForeground(s); plot(time,data) xlabel('Time (Secs)'); ylabel('Acceleration (Gravities)');