各位工程師好:
最近學校做研究需要用到絕對型encode來量測角度,
目的是擷取每1度與每360度兩種訊號,
原先以為是很平常的電壓或方波訊號,
但是買來的卻是用格雷碼(gray)方式輸出訊號,
剛接觸到labview的領域對設計沒有很強,
不知道有沒有人使用過這樣類型的編碼器,
可以提供解答讓我設計一個人機介面,感激不盡,謝謝
軟體:labview 7.1
硬體:PCI 6221 (68 PIN)
各位工程師好:
最近學校做研究需要用到絕對型encode來量測角度,
目的是擷取每1度與每360度兩種訊號,
原先以為是很平常的電壓或方波訊號,
但是買來的卻是用格雷碼(gray)方式輸出訊號,
剛接觸到labview的領域對設計沒有很強,
不知道有沒有人使用過這樣類型的編碼器,
可以提供解答讓我設計一個人機介面,感激不盡,謝謝
軟體:labview 7.1
硬體:PCI 6221 (68 PIN)
你的編碼器的手冊資料或型號有嗎
如果是絕對型那它每一個解析角度就會輸出特定的碼
用dio讀取來再做解碼就會知道你的角度
二進位碼第n位 = 二進位碼第(n+1)位+格雷碼第n位。因為二進位碼和格雷碼皆有相同位數,所以二進位碼可從最高位的左邊位元取0,以進行計算。(註:遇到1+1時結果視為0)
例如: 格雷碼0111,為4位數,所以其所轉為之二進位碼也必為4位數,因此可取轉成之二進位碼第五位為0,即0 b3 b2 b1 b0。
0+0=0,所以b3=0
0+1=1,所以b2=1
1+1取0,所以b1=0
0+1=1,所以b0=1
因此所轉換為之二進位碼為0101
KevinLai39652.0765393519
我曾經用過NI搜尋到的gray to binary.vi程式,
後來發現兩個問題,
第一、轉出來的10進位數字會是沒有順序與規則。
第二、轉出來的值會有約8~9位數的暴增值,ex:255、256、12345678、265...
現在附上我的程式與encode的型號,感謝你們的解答,謝謝幫忙 絕對值360格雷碼.doc 角度轉換.vi
[QUOTE=lanlanlu]
第一、轉出來的10進位數字會是沒有順序與規則。
第二、轉出來的值會有約8~9位數的暴增值,ex:255、256、12345678、265...
[/QUOTE]
將gray code 的二元制換回十進制表示時,確實是沒有規則,可見此檔
轉出來的值會爆增,也許是轉換的方式有問題,或者你沒有注意的到位元長度的問題,下面的code給你參考
你可以參考這篇文章 格雷碼轉二進位數之方法!
以下是我的試做範例
今天先試用deomaxwell所提供的方法,
有兩個地方出現錯誤不能連線,想問一下是甚麼原因,
還有所謂的位元長度設定值在我使用的編碼器資訊中要設定多少?
很抱歉,我對這類的問題實在沒有深入研究,所以希望幫忙解答一下。
從你給的資料來看,你的編碼器可以支援到1024分割,換算回二元值就是 10bit ...
請將圈選的通道 disable index 選項勾起來