09-13-2011 10:15 PM
NI 9402とエンコーダ(出力:1万パルス/1回転)を用いて回転数を算出し、測定時間中に回転数がどのように変化していくのかを観測するプログラムを作成したいのですが、デジタル入力に関する知識やプログラム経験も乏しく、苦労しています。
周期やパルス幅に関するサンプルを探してトライしてみたのですが、どうもうまくいかず困り果てています。
何か、解決策や参考となるVI等を教えていただけないでしょうか。よろしくお願いします。
測定環境は以下のようになっています。
cDAQ-9172
NI 9402
エンコーダ(出力:1万パルス/1回転)
LabVIEW 8.6
解決済! 解決策の投稿を見る。
09-14-2011 11:20 PM
平素よりNI製品をご利用頂きまして誠に有難うございます。
日本ナショナルインスツルメンツ技術部 中山と申します。
お問い合せありがとうございます。
こちらでお調べしましたところ、
回転数や角度を計測するにはA相B相Z相への入力が必要となりますので、
NI 9202は角エンコーダに対応していないみたいです。
(ピン配列対応表を添付いたします。)
申し訳ございませんが、別モジュールの検討が必要となります。
ですが、回転方向の特定は出来かねますが、
9202のカウンタ入力による回転数/角度等の計測は可能です。
サンプルを添付いたします。
上記に関してご質問がございましたら、お気軽にここにお書き込み下さい。
宜しくお願いいたします。
中山 慧美 (Emi Nakayama)
09-14-2011 11:23 PM
上、9202と書いてありますが、9402です。
申し訳ありません。
中山 慧美 (Emi Nakayama)
09-16-2011 06:51 PM
日本ナショナルインスツルメンツ中山様
早速の返信ありがとうございます。
添付していただいたサンプルの確認をしたいのですが、当方で使用しているLabVIEWのバージョンが8.6.1であり、添付のファイルを開くことができませんでした。
お手数をおかけして申し訳ありませんが、8.6.1でも開けるようにして再度添付していただけないでしょうか?
宜しくお願い致します。
09-19-2011 07:42 PM
s-kazu様、
8.6と明記しているのにかかわらず、申し訳ございませんでした。
こちらに8.6.1用のエッジカウントで回転数を測定するVIを添付いたします。
宜しくお願いいたします。
09-20-2011 12:14 AM
日本ナショナルインスツルメンツ中山様
サンプルありがとうございました。
私の記述の仕方が悪く、申し訳ありません。
実際に欲しいデータというのは回転数(rpm)の変動です。
ある一定時間モータを回したときに、モータの回転数(rpm)がどのように変化していくのかをエンコーダを利用して求めたいと思っています。
添付いただいたサンプルのようにパルスのカウントはできたのですが、モータの回転数(rpm)を求めるためにパルスの周期や、周波数の測定となるとうまくできずに困っていた次第です。
何か良い方法があれば教えていただけないでしょうか?
よろしくお願いいたします。
09-25-2011 08:43 PM
s-kazu様、
日本ナショナルインスツルメンツ技術部 中山です。
この度返事遅れましたことお詫び申し上げます。
9402ですと、カウンタが1つしかないので、
低周波の測定しかできませんが、
カウンタによる周波測定のサンプルを添付いたします。
カウンタのゲートから信号を入力して下さい。
1MHz以上ですと、5%ほどの誤差がでるようです。
誤差の詳細は、
ヘルプ≫LabVIEWヘルプを検索≫量子化誤差
で何Hzならどれほど誤差があるか載っています。
また、カウンタ周期測定の方は、現在の周期ではなく、
長期で取ってきた周期の平均のようになりますので、
s-kazu様の意図している動作ではないと思いましたので、サンプルは作りませんでした。
以上で意図しています動作が確認できますでしょうか。
宜しくお願いいたします。
中山慧美 (Emi Nakayama)
09-27-2011 11:59 PM
日本ナショナルインスツルメンツ中山様
サンプルViありがとうございました。
添付していただいたViで動作確認をしたところ、こちらの求めるような測定をすることができました。
望むような測定はできたのですが、周波数を測定する際のチャンネル構成にいて質問があります。
今回添付いただいた周波数を測定するViと、前回添付いただいたパルスのカウントを測定するViでは、ともに入力チャンネルには【***/ctr0】もしくは【***/ctr1】の2つが選択可能でした。
カウントでは【***/ctr0】を選択し、DIO-0にエンコーダの出力をいれれば測定できたのですが、周波数を測定する場合にはDIO-0にいれたのでは測定できずに、DIO-1に入力しなくては測定できなかったのはなぜなのでしょうか?
09-28-2011 01:15 AM
s-kazu様、
解決のご連絡ありがとうございます。
パルス測定の場合、
ゲート(DIO-1)に測定したい信号を、
ソースの方には既知の周波数のタイムベースが使用されます。
つまり、ゲートの1周期に、
ソースのパルスがいくつ入るかカウントすることで、
周波数を測定しております。
宜しくお願いいたします。
中山慧美 (Emi Nakayama)
09-28-2011 02:12 AM
日本ナショナルインスツルメンツ 中山様
素早い回答ありがとうございます。
今回のデジタル信号の解析について、知識不足でいろいろ苦労しましたが、サンプルViをいただいたりする中で、目的とするViが作成できる目途が立ちました。
また、私自身も勉強になることが多々ありました。
ありがとうございました。