Arduinoでリニアアクチュエータをどのように制御しますか?

Arduinoとは何ですか?

Arduino は、柔軟で使いやすいハードウェアとソフトウェアに基づくオープンソースの電子機器プロトタイピングプラットフォームです。 DIYプロジェクト、アーティスト、デザイナー、愛好家、そしてインタラクティブなプロジェクトの作成に興味のある人を対象としています。 Arduinoは、マイクロコントローラーと簡単にインターフェースするために必要なすべてのものを含むマイクロコントローラーボードです。マイクロコントローラーは組み込みシステム用のミニコンピューターのようなもので、含まれるマイクロコントローラーの種類はArduinoのスタイルによって異なります。 Arduinoは大きいものから Arduinoメガ 中型に Arduino Uno 小さい方へ Arduino Pro Mini。さまざまなサイズのボードは、I / Oピンの数と追加機能を提供し、これらのボードの中で最も人気のあるのはUnoです。 Arduinoは、IDEを使用してマイクロコントローラーをプログラムするためのオープンソースも無料で提供しています。 Arduino IDEは、理解しやすいプログラミング言語を使用しており、Arduinoの人気により、特定のアプリケーションのコーディングに役立つ多くの役立つ例をオンラインで見つけることができます。これが最初のArduinoプロジェクトである場合、 Arduinoキット ジャンパーケーブルからセンサー、リレーまで、必要なものすべてを提供し、ArduinoUnoが含まれています。

Arduinoでリニアアクチュエータをどのように制御しますか?

なぜArduinoを使用してリニアアクチュエータを制御するのですか?

Arduino、またはそのことについては任意のマイクロコントローラーを使用して制御することの最大の利点の1つ リニアアクチュエータ リニアアクチュエータをより細かく制御できるということです。マイクロコントローラーを使用すると、センサーやその他のデバイスからのより複雑な入力を使用して、リニアアクチュエーターを制御できます。リアルタイム計算を実行してアクチュエータを理想的な位置に配置したり、タイマーを実装してアクチュエータの位置変更を自動化することができます。マイクロコントローラーは、アクチュエーターからのフィードバックを取り入れて、より正確な位置と速度の制御を提供するだけでなく、一度に複数のアクチュエーターを制御することもできます。簡単に言えば、マイクロコントローラーはより優れた制御と柔軟性を提供し、Arduinoの使いやすい設計と幅広い人気により、追加の複雑さのレベルは最小限に抑えられます。

Arduinoでリニアアクチュエータを制御する

Arduinoの動作電圧はわずか5Vであり、電流制限が非常に小さいため、スイッチを使用した場合のようにリニアアクチュエータをArduinoに直接接続することはできません。リレーまたはモータードライバーのいずれかを使用して実行できるリニアアクチュエーターを制御するには、中間コンポーネントを使用する必要があります。

リレー

説明したように ここに, リレー は、コイルをオンまたはオフにしてスイッチを開閉することによって制御される電磁スイッチです。 Arduinoは、1つのI / Oピンを使用してコイルをオンまたはオフにすることにより、リレーを制御するために使用できます。使用するリレーのタイプに応じて、リニアアクチュエーターに対する制御の程度が変わりますが、Arduinoとのインターフェースは非常に簡単で、I / Oピンでコイルに通電するだけです。コイルの定格電圧がArduinoの動作電圧(5V)に近いことを確認する必要があります。そうしないと、Arduinoはスイッチを閉じるのに十分なほどコイルに電力を供給することができません。

Arduinoで制御されるSPDTリレー

上記は、2つのSPDTリレー構成とインターフェースするArduinoの例です。ここで説明するこの構成では、2つのリレーを使用して、リニアアクチュエータへの電圧の極性を反転し、アクチュエータへの電源を切断します。以下に示すコード例では、Arduinoはトップリレーをオンにして、ピン7をローに設定してアクチュエータを2秒間延長し、次に両方のピンをハイに設定してトップリレーをオフにしてアクチュエータを2秒間停止します。アクチュエータを引っ込めるために、Arduinoはピン8をローに設定して2番目のリレーをオンにし、次にすべてのピンを再びハイに設定してアクチュエータを2秒間停止します。このコードはプログラムのループセクションにあるため、Arduinoはこのコードを何度も繰り返します。もちろん、アプリケーションにさらに洗練されたコーディングソリューションを実装することもできますが、さらに詳細な制御が必要な場合は、モータードライバーを使用することをお勧めします。

https://gist.github.com/OMikeGray/6bf644b6cda85bfe8c898ccd44ec6d78

モータードライバー

A モータードライバー は、DCリニアアクチュエータを駆動するDCモーターを制御するための集積回路設計です。モータードライバーは通常、Hブリッジを使用して、方向と速度の両方の制御を可能にします。 Arduinoをモータードライバーに正確に接続する方法は、正確なモータードライバーによって異なりますが、そのためには少なくとも2つのI / Oピンが必要であり、そのうちの1つはPWM信号になります。 PWMまたはパルス幅変調は、信号をオン値とオフ値の間で変化させて、動作電圧よりも低い電圧を効果的に供給する方法です。モータードライバーは、この信号を使用して、モーターの回転速度を調整できます。

モータードライバーを制御するArduino 

上記は私たちの例です 大電流DCモータードライブ Arduinoとのインターフェース。このモータードライバーの場合、2つのPWM信号を送信する必要があります。1つはアクチュエーターを伸ばすためのもので、もう1つは収縮するためのものです。 PWMは符号なしバイトとして与えられ、0(電圧なし)から255(最大電圧(5V))の範囲であり、モーターの速度に比例します。 PWMはバイナリ値ではないため、以下の例に示すように、ArduinoのPWMピンを使用し、アナログ書き込み機能を使用する必要があります。 PWMピンはArduinoに〜で示されるか、単にPWMピンとしてラベル付けされます。

https://gist.github.com/OMikeGray/c4e0196704a4d62db5507ad8297708f4

上記のコード例では、Arduinoはモータードライバーをピン10からモータードライバーのLPWMピンにフル5V送信することにより、アクチュエーターをフルスピードで2秒間延長します。次に、Arduinoは、モータードライバーのどちらの入力ピンにも信号を送信しないことでアクチュエーターを停止します。次に、Arduinoは、ピン11からモータードライバーのRPWMピンに半分オンおよび半分オフのモータードライバー信号を送信することにより、アクチュエーターを半分の速度で後退させます。その後、アクチュエータを再び停止します。このコードはプログラムのループセクションにあるため、Arduinoはこのコードを何度も繰り返します。繰り返しになりますが、特にアクチュエータを制御するための入力を追加する場合は、アプリケーションに適したより洗練されたコーディングソリューションを実装できます。 

入力の追加

Arduinoでアクチュエータを制御できるようになったら、Arduinoへの入力を実装して、自動化と制御を強化できます。これらの入力は スイッチ、さまざまなセンサー、またはアクチュエータ自体からのフィードバックですらあります。入力にはさまざまなオプションがあるため、それらを実装する方法はさまざまですが、知っておくべき一般的なポイントがいくつかあります。入力がスイッチのようなバイナリ入力を提供する場合は、ボードまたはデータシートにラベルが付けられているArduinoのデジタルピンを利用し、のdigitalRead()関数を利用する必要があります。 ArduinoIDE。入力デバイスがアナログ信号を提供する場合は、ボードまたはデータシートにラベルが付けられているアナログピンを使用し、AnalogRead()関数を使用する必要があります。


 

Tags:

Share this article

注目のコレクション

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

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