最近剛好幫一個客戶做驗證,順便po上來跟大家分享。一般馬達通常都會有個編碼器(encoder)來量馬達的位置還有轉速(若不懂編碼器是什麼,請看這邊: 編碼器原理概論。) 要是馬達沒有編碼器的話,那我們也可以再額外加裝上去。台灣目前最常看到的兩家encoder廠商有企誠(www.honestsensor.com.tw)還有鴻璿(www.encoder.com.tw, 很好記吧),在他們網頁上會有很多各式各樣的encoder.
最近跟企誠買了一款encoder,決定用NI DAQ先給它測一下。因為NI DAQ的DIO還有counter都是5V TTL準位,所以挑選encoder的時候也記得要確認這個spec。另外也要看encoder本身需要的電源是幾伏特,這一款剛好是5V,所以可以直接拿DAQ上的5V輸出來供電給encoder。我用了一款NI USB-6212,蠻方便的。
Encoder連到DAQ示意圖:
接線很簡單: 紅(5V),黑(GND),綠和白為AB相位,分別接PFI0,PFI9 (這兩條是DAQ CTR0的input,我們就是要用counter來幫我們計數encoder的方波)
若是用LabVIEW的話,可以直接開一個現成DAQ的範例﹕Measure Angular Position.vi
之後用手把encoder動一動,LabVIEW就會量到現在目前的角度啦!
要用CompactRIO來做的話也是一樣,記得要用Digital Input或是DIO的模組(例如9411,9401),Scan Mode裡面可以直接選擇encoder輸入,把線接好相對應的接腳就可以了。
-John
你好 感謝吳大哥的講解
回覆刪除我編碼器的電源是由dirver提供的
我現在用的是usb的6251 這個daq盒
我只有接三條線37接a相 45接b相 還有一個接35的地與dirver相接
我現在想不懂的事為什麼他正反轉都一直累加
而不是正轉往上反轉往下
更神奇的是 我用手動轉的時候都正常的 正轉往上 反轉往下
對了 吳大哥 方便用信箱跟你聯絡嗎
我的信箱是hotwork312@yahoo.com.tw
我姓陳
你可能有一相接到Z項去囉
回覆刪除請問一下如果我要用Compactrio控TETRIX的馬達編碼器,那我要用哪張卡控制。
回覆刪除我目前有數位輸入9425與數位輸出9477這兩張卡,可以用嗎 ?
我的信箱是:bleach11220@hotmail.com