Получение данных из акселерометра

В этом примере показов, как получить и отобразить данные от акселерометра, прикрепленного к транспортному средству, управляемому при неравномерных условиях дороги.

Обнаружение устройств, поддерживающих Accelerometers

Чтобы обнаружить устройство, которое поддерживает акселерометры, получите доступ к устройству в таблице, возвращенной 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)");