光学センサーからのフィードバックの読み方

光学センサー

光学センサーと併用した場合 リニアアクチュエータ、と非常によく似た機能 ホール効果センサー、磁場の代わりに光を検出することを除いて[1]。光学センサーは、エンコーダーディスクを通過するLEDまたはその他の光源からの光を使用して動作します。このエンコーダディスクは、光が定期的に通過できるようにスロットが付いています。ディスクの反対側には光検出器があり、光がディスクのスロットを通過するときに光を検出し、出力信号を生成します[1]。アクチュエータが動くと、エンコーダディスクが回転し、光検出器によって光が検出され、電圧パルスの方形波が生成されます。これらのパルスは、ホール効果センサーのパルスと同様に使用して、アクチュエーターがどれだけ移動したかを判断できます。

光学センサー

光学センサーからの位置フィードバック

光学センサーは出力の点でホール効果センサーと非常によく似た機能を果たしているため、このブログ投稿では、位置フィードバックのために出力を読み取る方法について簡単に説明します。詳細をお探しの場合は、ホール効果センサーからの位置フィードバックの読み取り方法に関する投稿をご覧ください。

ホール効果センサーと同様に、光学センサーには接続する3つのピンがあります。 1つは入力電圧、もう1つはグランド、最後に1つは出力信号です。出力信号のパルスを位置フィードバックに利用するには、 マイクロコントローラー 生成されたパルスをカウントします。これらのパルスを正確にカウントするには、マイクロコントローラーの外部割り込みピンを利用する必要があります。外部割り込みは電圧の変化によってトリガーされるため、発生する各パルスを検出するために使用できます。マイクロコントローラのコードで割り込みを設定したら、発生したパルスをカウントする割り込みサービスルーチンを設定する必要があります。以下のコード例の関数countSteps()は、光学センサーからのパルス数をカウントするために使用されます。

これらのパルスを利用して位置値を決定するには、リニアアクチュエータの以前の位置とリニアアクチュエータの進行方向を知る必要があります。リニアアクチュエータの移動方向を制御するときに、変数を設定するだけです。コード内のアクチュエータの方向を追跡します。この変数を使用して、前の位置からパルスを加算または減算する必要があるかどうかを判断できます。位置を更新したら、カウントされたパルスをゼロにリセットする必要があります。以下のコード例は、カウントされたパルス数に基づいて位置を更新する関数を示しています。パルスに関する位置が決まったら、リニアアクチュエータの1インチあたりのパルス仕様を使用してインチに変換できます。

リニアアクチュエータのホーミング

光学センサーからの位置フィードバックを正確に利用するには、リニアアクチュエーターの開始位置を常に知る必要があります。ただし、最初にシステムの電源を入れたとき、マイクロコントローラーはアクチュエーターが伸びているかどうかを判断できません。これには、リニアアクチュエータを既知の位置に戻す必要があります。あなたの家に リニアアクチュエータ、完全に格納されているなど、既知の位置に駆動する必要があります。以下のArduinoコードを例として使用して、リニアアクチュエータを既知の位置に向けて駆動するWHILEループを設定しました。この例では、steps変数が変更されたかどうかを確認することで割り込みがトリガーされたかどうかを確認することで、既知の位置にいることがわかります。また、割り込みがトリガーされることを期待するのに十分な時間が経過したことを確認する必要があります。このために、millis()関数を使用して、前のタイムスタンプと比較します。リニアアクチュエータがホームポジションにあると判断したら、アクチュエータの駆動を停止し、ステップ変数をリセットして、WHILEループを終了します。

誤ったトリガーへの対処

光学センサーはポテンショメータほど電気ノイズに敏感ではありませんが、電気ノイズとスイッチのバウンスは出力信号に影響を与え、誤ったパルスがカウントされる可能性があります。いくつかの余分なパルスはポジショニングにあまり影響しませんが、時間の経過とともに大きな問題になる可能性があります。内部タイマーを使用して誤ったトリガーを除外することで、これらの問題に対処できます。新しいパルスが検出されると予想される頻度を決定できるため、ノイズによって割り込みがトリガーされたときにフィルターで除外できます。以下のコードサンプルでは、​​trigDelayは各パルス間の時間遅延です。この遅延の前に割り込みがトリガーされた場合、パルスはカウントされません。この遅延の時間の長さはアプリケーションによって異なりますが、短すぎるとノイズが適切に除去されず、長すぎると光学センサーからの実際のパルスが失われます。

誤ったトリガーに対抗する別の方法は、アクチュエータが既知の位置に到達するたびに位置値を修正することです。リニアアクチュエータのホーミングと同様に、リニアアクチュエータを完全に収縮または伸長した位置に駆動した場合、または外部リミットスイッチを使用した場合、その位置に到達するのに必要なパルス数がわかります。次に、その既知の位置に到達したときに、その値を使用して位置の値を簡単に修正できます。以下のコードサンプルでは、​​これは完全に伸ばされた位置と完全に収縮した位置に対して行われます。この方法は、位置の値を正確に保つための実用的なソリューションを提供します。

概要

位置フィードバックに使用される光学センサーは、ホール効果センサーやポテンショメーターと比較して高い精度と解像度を提供しますが、ホール効果センサーと同様の長所と短所があります。それらは絶対位置を測定せず、位置値を提供するために既知の開始位置を必要としますが、1インチあたりのパルス数が多いため、位置決めの信頼性が高まり、複数のリニアアクチュエータが同時に動くことが保証されます。私たちの活用 FA-SYNC-X アクチュエータコントローラーまたはt追加のコードを介して、負荷に関係なく、アクチュエータが一斉に動くようにすることもできます。

完全なコード例については、次のブログをご覧ください。 ホール効果センサーからの位置フィードバックの読み方 多くは似ています。インチあたりのパルス数やパルス間の時間遅延などの値は、光学センサーを正確に利用するためにそのコードを使用するために必要な変更の一部です。

 

[1] Paschotta、R。 光学センサーに関する記事。 取得元:https://www.rp-photonics.com/optical_sensors.html

Tags:

Share this article

注目のコレクション

適切なアクチュエータを見つける手助けが必要ですか?

当社は、直接メーカーの価格設定を得るために、当社の製品を精密に設計し、製造します。同日の出荷と知識豊富なカスタマーサポートを提供しています。アクチュエータ電卓を使用して、アプリケーションに適したアクチュエータを選ぶ手助けをしてください。