03-03-2014 08:35 PM
いつもお世話になります。
LabVIEW2012+USB6008を使用しています。
ロータリーエンコーダで角度計測をしたいのですが、上記組み合わせで可能でしょうか。
(ロータリーエンコーダは、インクリメンタルタイプです)
可能な場合、どの様な接続、設定等をすれば良いのか教えていただけると助かります。
大変困っています、、どなたかアドバイスいただければ幸いです。
03-04-2014 07:25 PM
こんにちは。
USB-6008 でもエンコーダーでの角度計測は可能です。
ただ、6008 にはオンボードのクロックを搭載していないため、デジタル信号の検知を
ソフトウェアタイミングで行うことになります。ですので、100Hz程度のパルス信号の検知なら可能かと思いますが、
エンコーダーが毎秒何パルス出力するかわかりますか?意味のない信号を集録してもしょうがないので、
ここが重要になります。
もし上記の速度で問題なければ、下記の様なDAQmxのAPIを使用したエンコーダー計測や
Read Quadrature Encoder in Software Time
DAQアシスタントを使用したエンコーダー計測が使えますよ。
03-05-2014 04:00 PM
doradorachanさん
こんにちは、コメントありがとうございます。m(_ _)m
ロータリーエンコーダの出力パルス仕様は、2000パルス/回転です。
装置使用時の回転数は2rpm未満ですので、
100Hz程度まで検知可能ということであれば、使えそうです。
ご紹介いただいた内容を基にチャレンジしてみます。
結果をまた報告させていただきます。
(分からないことがあったらまた質問させていただくかも知れないです。。)
宜しくお願いします。
03-18-2014 03:01 AM
doradorachanさん
先日はありがとうございました。
ご紹介いただいたviを利用して角度データを取得出来る様になりました。
今は次なる障害に当たっています。。。
添付画像(r_enc_vi.jpg)の様に角度データを配列に格納しようとしています。
しかし、最初の一つ目のデータが書き換わっていくだけで、一向に2つ目以降のデータに値が入りません。。
添付画像(array.jpg)で言うと、一番上の値が書き変わって行くだけです。
恐らく基本的な何かを間違えているのだろう、と考え、色々と調べたり、試したりしてみたのですが、解決しません。
配線上は正しい様なのですが。。(繋がっているので。。)
大変恐縮なのですが、またお知恵をお借りできると助かります。m(_ _)m
03-18-2014 03:33 AM
ループの一つの反復から次の反復にデータを渡すとき、シフトレジスタが必要になります。
添付したファイルやリンクを見てみてください。
ちなみに配列連結追加で簡単に配列のデータを増やすことはできるので少量のデータなら問題ないですが、
動的に配列のサイズを増やすのはあまり薦められていませんので、置換の関数も使ってみてください。