[心得] MATLAB中使用DAQ卡簡易版已回收

看板MATLAB作者時間16年前 (2009/11/18 17:05), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串1/1
先前在版上詢問過關於NIDAQ卡的問題,後來陸陸續續有版友寫信問我, 有鑑於此,以下內容是查詢MATLAB內help和自行摸索整理出來的, 在這跟大家分享,並希望可以讓後來的人方便使用。 一、Measurement&Automation Explorer 察看NI-DAQmx Devices內你的卡所屬的位置, 因為我用過兩張卡USB-9233和DAQCard-6062E接過電腦, 就會出現NI-9233:”Dev1” 和NI DAQCard-6062E:”Dev4” Dev4是名稱可以改變 只要用滑鼠左鍵在名稱上點兩下即可, 但需注意的地方是程式和裝置號必須一致。 二、測試裝置 1.測試裝置是否準備妥當,使用Test Panels,測試訊號的in&out 2.對於USB-9233來說Matlab內建的Data Acquisition Toolbox最低版本2.8, 而NI-DAQmx最低版本是8.3,但是DAQ-6062E的話就要8.7版本, NI-DAQmx部份可至Laview官網免費下載最新版本, 版本問題不確定的話,可以詢問NI應用工程部 三、在Matlab中偵測卡 (以下是接DAQCard-6062E的情況下,在Matlab鍵入指令) ->daqhwinfo ans= ToolboxName: ’Data Acquisition Toolbox’ ToolboxVersion: ’2.10(R2007a)’ MATLABVersion: ’7.4(R2007a)’ InstalledAdaptors: {3x1 cell} 關於daq卡的資訊可用 ->ans. InstalledAdaptors ans= ’nidaq’ ‘parallel’ ‘winsound’ (此步驟等同於打開workspace內的ans數值) 可以看到偵測到的幾張卡 再來就可以進入正題了 ->daqhwinfo(‘nidaq’) ans= AdaptorDIIName: [1x68 char] AdaptorDIIVersion: ’2.10(R2007a)’ AdaptorName: ’nidaq’ BoardNames: {‘DAQCard-6062E’ ‘DAQCard-6062E’} InstalledBoardIds: {‘Dev4’ ‘1’} ObjectConstructorName: {2x3 cell} 接著用滑鼠打開workspace內的ans數值,有六格 就可以看到每個卡可以用的輸出和輸入功能, 像在這Dev4就可以做類比輸入跟輸出,還可以做數位的。 analoginput('nidaq','Dev4') analogoutput('nidaq','Dev4') digitalio('nidaq','Dev4') analoginput('nidaq','1') analogoutput('nidaq','1') digitalio('nidaq','1') 要看每個功能的詳細資料可以使用以下方法 ->ai= analoginput(‘nidaq’,’Dev4’) ->daqhwinfo(ai) 四、驅動的副程式範例 因為我是做聲音的,所以分別是用麥克風擷取訊號和喇叭放出訊號: (先前控制過電腦內建音效卡程式較簡化) function [voicedata,fs]=microphone(duration,fs) ai= analoginput('nidaq','Dev4'); addchannel(ai,0); ai.Channel.InputRange = [-10 10]; set(ai,'SampleRate',fs) ActualRate = get(ai,'SampleRate'); set(ai,'SamplesPerTrigger',duration*ActualRate) set(ai,'TriggerType','Manual') blocksize = get(ai,'SamplesPerTrigger'); fs = ActualRate; start(ai) trigger(ai) voicedata = (getdata(ai))'; delete(ai) function speaker(signal,fs) ao=analogoutput('nidaq','Dev4'); ch=addchannel(ao,0); set(ao,'SampleRate',fs) putdata(ao,signal') start(ao) ※ 編輯: justones 來自: 140.112.26.71 (11/18 17:09)

11/18 19:38, , 1F
感謝分享...推
11/18 19:38, 1F

11/19 19:12, , 2F
有認真 推一個!
11/19 19:12, 2F

11/20 16:16, , 3F
版主請M!!y
11/20 16:16, 3F
文章代碼(AID): #1B0xZ28S (MATLAB)