高専向けmyRIO組込開発コンテスト用コミュニティページ

Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.
Highlighted

ロータリーエンコーダによる速度計算

コンテストの開発ぬ向けて、MyRIOの機能を色々とテストしています。

ロータリーエンコーダによる速度計算の方法で詰まっていますので、ご教授下さい。

ロータリーエンコーダは、モータのサーボ制御に欠かせないセンサの一つですが、ロータリーエンコーダでは角度情報(センサの出力パルス数から換算)しか得られません。

つまり、時間微分が必要になるわけですが、LabVIEWの環境で離散微分する場合どのようにすると良いのでしょうか?

例えばC言語による開発では、一定周期で回すループ内で前回値を保存しておき、現在値と差分を取って後退差分とするのが一般的だと思います。

速度計算だけでな、微分は良く使われると思いますので、よろしくお願いいたします。

0 Kudos
Message 1 of 3
(4,281 Views)
2 REPLIES 2

Re: ロータリーエンコーダによる速度計算

こんにちは&あけましておめでとうございます!

ヒントは

・whileループ

・待機関数

・シフトレジスタ

です。

シフトレジスタに関してはどの章か忘れてしまいましたがe-learningにもあるはずですよ。

待機関数もどこかで説明していると思います。

がんばってくださいね!

0 Kudos
Message 2 of 3
(2,942 Views)

Re: ロータリーエンコーダによる速度計算

明けましておめでとうございます。

本年もよろしくお願いいたします。

回答ありがとうございました。

ヒントを元に作成してみたところ、無事できました。

whileループをまず作ってシフトレジスタを使えば、簡単にn次遅れの処理ループを作成できるということですね。

ちなみに、別の方法で『遅延値』ブロックを使っても単純なn次遅れはできるようです。

待機関数については別の疑問が出てきましたので、また別トピで質問させていただきます。

0 Kudos
Message 3 of 3
(2,942 Views)
Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.