モーションディテクタとリニアアクチュエータ

モーションディテクタ

モーションディテクタは、その名前が示すように、動きを感知するために使用されるセンサーです。これらは、セキュリティアラームやモーショントリガー照明システムでよく見られますが、さまざまなクールなアプリケーションでリニアアクチュエータと組み合わせて使用​​できます。の1つの一般的なアプリケーション リニアアクチュエータ 一緒に使用されているモーションディテクターは、ジャンプスケアのお化け屋敷の中にあります。しかし、リニアアクチュエータとモーションディテクタを組み合わせることで、さまざまなホームオートメーションプロジェクトに使用することもできます。

動き検出器

モーションディテクタについて考えるとき、一般的に2つのタイプについて考えます。

  • パッシブ赤外線 –動きを検出するために体温(赤外線エネルギー)の変化を測定します
  • 電子レンジ –動きを検出するためにマイクロ波を使用してオブジェクトからの反射を測定します

これらの2種類のモーションディテクタは、セキュリティシステムなどのアプリケーションでよく使用されるため、最も一般的です。ただし、推定光を使用するエリア反射センサー、振動センサー、超音波センサーなど、他にも多くの種類のモーション検出器が利用可能です[1]。愛好家やDIYプロジェクトで使用する場合、最も一般的に使用されているタイプのモーション検出器は、パッシブ赤外線(PIR)モーションセンサーです。このため、このブログの残りの部分では、リニアアクチュエータでPIRモーションディテクタを使用する方法に焦点を当てます。センサーのタイプごとに実装は異なりますが、モーション検出器を使用してリニアアクチュエータを制御する方法について以下で説明する内容の多くは、すべてのタイプのモーション検出器で同様です。

近接センサーはどうですか?

近接センサーは、動きではなく物体の近接を検出するため、動き検出器ではありません。機能的には、 近接センサー オブジェクトが動いているかどうかに関係なく、オブジェクトがセンサーにどれだけ近いかを知ることができます。モーションディテクタは、オブジェクトがどれだけ近くにあるかに関係なく、動きがある場合にのみトリガーされます。物体や人がセンサーの前を移動すると近接センサーの出力が変化するため、近接センサーをモーション検出器として利用できます。ただし、近接センサーは最も近い物体がセンサーにどれだけ近いかを検出するだけなので、何かが最も近い物体の後ろに移動した場合、近接センサーはこの動きを検出しません。モーションディテクタとして近接センサーを使用することは可能ですが、それはあなたのデザインにとって最良の解決策ではないかもしれません。

近接センサー

PIRモーションディテクターのセットアップ

ハロウィーン用に独自のジャンプスケアロボットを設計する場合、または別の動きに敏感なプロジェクトを考えている場合は、PIRモーション検出器を入力スイッチとして使用して、リニアアクチュエータをいつ動かすかを決定する必要があります。これを行うには、次のようなマイクロコントローラーを利用する必要があります。 Arduino、PIRモーションディテクタの出力を読み取り、リニアアクチュエータを駆動します。 PIRモーションディテクタの出力は単純なプッシュボタンに似ています。モーションがある場合、センサーはマイクロコントローラに高い信号または電圧を送信し、モーションがない場合、低い信号または電圧を送信します。一部のPIRセンサーではセンサーの感度を調整してパフォーマンスを向上させることができるため、PIRセンサーを設計にインストールする前にテストすることもできます。

Arduinoに接続されたPIRセンサー 

誰かがモーションディテクタを通過するタイミングがわからないため、コードのメインループでPIRセンサーの出力を常に読み取るか、外部割り込みを利用する必要があります。外部割り込みは、電圧の変化を検出するArduinoのピンであり、この場合、PIRセンサーが動きを検出したことをArduinoに警告するために使用できます。アプリケーションによっては、PIRセンサーの出力を読み取るどちらの方法も実行可能ですが、後者は、コードがPIRセンサーによって検出された動きを見逃さないようにするためのベストプラクティスと見なされます。外部割り込みを使用してモーションディテクタからの変化を検出する場合は、Arduinoのデータシートを参照して、マイクロコントローラのどのピンを割り込みピンとして使用できるかを確認する必要があります。そうでない場合は、PIRセンサーの出力をArduinoの任意のデジタル入力ピンに接続するだけです。 PIRセンサーは、適切な電源と共通のアースに接続する必要もあります。

モーションコントロールリニアアクチュエータ

以下の両方の例で、Arduinoはリニアアクチュエータを使用して制御します。 モータードライバー。モータードライバーまたはその他の中間コンポーネントを使用してリニアアクチュエーターを駆動する方法を学習するには リレー、あなたは私たちの投稿をチェックすることができます Arduinoでリニアアクチュエータを制御する方法。また、以下のどちらの例も フィードバックリニアアクチュエータ または 外部リミットスイッチ それらの設計では、アクチュエーターを使用しない場合よりも制御しやすくなります。利用可能なフィードバックオプションの方法と種類に興味がある場合は、このトピックに関する投稿を確認してください。 ここに.  

上記のコード例は、電圧パルスの立ち上がりエッジで割り込みがトリガーされるArduinoIDEで割り込みを設定する方法を示しています。電圧変化のさまざまなポイントでトリガーされるように割り込みを設定できます。使用可能なオプションを決定するには、マイクロコントローラーのデータシートを参照してください。適切な割り込みピンを特定して選択したら、割り込みを設定するために必要な最後の側面は、割り込みサービスルーチンを作成することです。割り込みサービスルーチンは、割り込みがトリガーされるたびにコードが実行される単純な関数です。この場合、割り込みサービスルーチンmotionDetectorは、割り込みがトリガーされたときにフラグmotionDetectedをハイに設定するだけです。

Arduinoが外部割り込みを使用するか単に出力を読み取ることによってPIRセンサーの出力を読み取った後、このフィードバックを使用してリニアアクチュエータを制御する方法は、設計とアプリケーションによって異なります。 PIRセンサーはプッシュボタンのようにバイナリフィードバックのみを提供するため、リニアアクチュエータの制御レベルは制限されます。このフィードバックでリニアアクチュエータを制御する1つの方法は、動きが検出されるたびにアクチュエータを動かすように指示することです。これは、お化け屋敷でのロボットジャンプスケアなどのアプリケーションで役立ちます。上記のコードは、この設計を実装する方法を示しています。 motionDetectedフラグがHighに設定されると、リニアアクチュエータを前方に伸ばし、10秒後にフラグがLowにリセットされ、アクチュエータは次のジャンプスケアのために後退します。人感センサーを使用してArduinoに誰かがいることを伝えるだけなので、タイマーを使用してフラグをリセットし、次の人が通り過ぎるのを待ちます。

別の方法は、動きが検出されるたびにリニアアクチュエータの伸長位置と収縮位置を切り替えることです。これは、ホームオートメーションアプリケーションで役立つ場合があります。このアプローチの実装は上に示されています。割り込みサービスルーチンでは、PIRセンサーが動きを検出するたびに、motionDetectedフラグが切り替えられます。フラグを高く設定するとリニアアクチュエータが伸び、フラグを低く設定するとアクチュエータが収縮します。また、PIRモーションディテクタがトリガーされた後の時間遅延を追加するために使用される別のフラグtimerFlagを追加しました。このフラグは、割り込みが最初にトリガーされたときにHIGHに設定され、設計された時間遅延(この例では1分)の後にのみLowに送信されます。また、この時間遅延が発生するまで、motionDetectedフラグの値が切り替えられないようにするためにも使用されます。

参照:

  1. Tross、K。(2019年10月)。 モーションセンサーのビギナーズガイド。 取得元: https://www.safewise.com/resources/motion-sensor-guide/
product-sidebar product-sidebar
Tags:

Share this article

おすすめ商品

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

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