Этот пример показывает, как получить и отобразить данные из акселерометра, присоединенного к автомобилю, управляемому под неравномерными дорожными условиями.
Чтобы обнаружить устройство, которое поддерживает Акселерометры, кликните по имени устройства в списке в Командном окне или получите доступ к устройству в массиве, возвращенном командой 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)');
