Previous Next

如何透過 AD2 在 MATLAB 中建立 Data Acquisition

Mathworks MATLAB 從第一代的 Analog Discovery 即開始相互支援合作。目前在 R2018a 版本的 Data Acquisition Toolbox 可支援 第二代的 Analog Discovery 2,可讓您在 MATLAB 中執行以下任務:

  • 從兩個示波器通道讀取數據(模擬輸入)
  • 從兩個波形產生器控制並產生數據(模擬輸出)
  • 調整 Analog Discovery 2的擷取率
  • 查找並顯示 Analog Discovery 2 設置

 

Mathworks 的原廠頁面內有說明如何以300 kHz的速率擷取電壓數據 (輸入波形是由外部函數發生器提供的正弦波 10Hz / 2Vpp)。 

為 Digilent 設備創建 DataAcquisition

使用來發現連接到系統的Digilent設備daqlist

daqlist(“ digilent”
dq = daq(“ digilent”
ans =

  1×4 table

    DeviceID                     Description                            Model                  DeviceInfo       
    ________    _____________________________________________    ____________________    _______________________

     "AD1"      "Digilent Inc. Analog Discovery 2 Kit Rev. C"    "Analog Discovery 2"    [1×1 daq.di.DeviceInfo]


dq = 

DataAcquisition using Digilent Inc. hardware:

                     Running: 0
                        Rate: 10000
           NumScansAvailable: 0
            NumScansAcquired: 0
              NumScansQueued: 0
    NumScansOutputByHardware: 0
                   RateLimit: []

Show channels
Show properties and methods

添加模擬輸入通道

添加具有設備IDAD1和通道ID的模擬輸入通道1將測量類型設置為Voltage

ch_in = addinput(dq, "AD1", "1", "Voltage");

設置數據獲取和通道屬性

將採集速率設置為300 kHz,並將輸入信號的動態範圍設置為-2.5至2.5伏。

ch_in.Name = "AD1_1_in"
rate = 300e3;
dq.Rate = rate;
ch_in.Range = [-2.5 2.5];
ch_in = 

    Index    Type    Device    Channel    Measurement Type          Range              Name   
    _____    ____    ______    _______    ________________    __________________    __________

      1      "ai"    "AD1"       "1"      "Voltage (Diff)"    "-25 to +25 Volts"    "AD1_1_in"


擷取單次樣本

按需獲取單次掃描,顯示數據和触發時間。

singleReading =

  timetable

    Time     AD1_1_in
    _____    ________

    0 sec    -0.37211


startTime = 

  datetime

   21-Nov-2019 16:56:50.631

獲取帶有時間戳的數據

採集一組時鐘數據一秒鐘。

[data, startTime] = read(dq, seconds(1));


繪製獲取的數據

plot(data.Time, data.AD1_1_in);
xlabel('Time (s)');
ylabel('Voltage (V)');
title(['Clocked Data Triggered on: ' datestr(startTime)]);

 

更多說明請參考 Mathworks 原廠頁面  

和澄科技 Haley Technology

電話 │ 886-3-5790380
傳真 │ 886-3-5790370
諮詢 │ sales@haleytech.com
地址 │ 新竹市關新路27號18樓之2

               

 

 

訂閱電子報

獲得最新的技術與產品訊息
享下筆訂單免運費

M有任何問題嗎? Line 我們最快! 

產品搜尋