Arduinoとは何ですか?
Arduino 柔軟で使いやすいハードウェアとソフトウェアに基づいたオープンソースのエレクトロニクスプロトタイピングプラットフォームです。これは、DIYプロジェクト、アーティスト、デザイナー、愛好家、およびインタラクティブなプロジェクトの作成に興味がある人を対象としています。 Arduinosは、マイクロコントローラーと簡単にインターフェイスするために必要なすべてを含むマイクロコントローラーボードです。マイクロコントローラーは、組み込みシステムのミニコンピューターのようなものであり、含まれるマイクロコントローラーのタイプはArduinoのスタイルに依存します。 Arduinoはより大きな範囲からの範囲です Arduino Mega 中規模へ Arduino uno 小さい Arduino Pro Mini。異なるサイズのボードは、ますます多くのI/Oピンと追加機能を提供し、これらのボードの中で最も人気のあるものはUNOです。 Arduinoはまた、IDEを使用してマイクロコントローラーをプログラムできるオープンソースを提供します。 Arduino IDEは、理解しやすいプログラミング言語を使用しており、Arduinoの人気のために、特定のアプリケーションのコーディングを支援するためにオンラインで多くの役立つ例を見つけることができます。これがあなたの最初のArduinoプロジェクトである場合、 Arduinoキット ジャンパーケーブルからセンサー、リレーまで、必要なものすべてを提供し、Arduino UNOを含めて開始します。
Arduinoを使用して線形アクチュエータを制御するのはなぜですか?
Arduinoを使用することの最大の利点の1つ、またはその問題のためにマイクロコントローラーを制御するために リニアアクチュエータ 線形アクチュエーターをより強く制御できるということです。マイクロコントローラーを使用すると、センサーまたは他のデバイスからより複雑な入力を使用して、線形アクチュエータを制御できます。リアルタイムの計算をプリフォームして配置することを可能にします アクチュエータ 理想的な位置で、またはアクチュエーターの位置変更を自動化するためのタイマーを実装します。マイクロコントローラーは、アクチュエーターからフィードバックを取り入れて、より正確な位置と速度制御を提供し、一度に複数のアクチュエーターを制御することもできます。簡単に言えば、マイクロコントローラーは、より強力な制御と柔軟性を提供し、Arduinoの使いやすいデザインと幅広い人気により、追加の複雑さのレベルは最小限です。
Arduinoで線形アクチュエータを制御します
Arduinoの動作電圧はわずか5Vであり、電流制限が非常に少ないため、スイッチを使用して可能な限りリニアアクチュエーターをArduinoに直接インターフェイスすることはできません。中間コンポーネントを使用して、リレーまたはモータードライバーのいずれかを使用して実行できる線形アクチュエーターを制御する必要があります。
リレー
説明したように ここ, リレー コイルをエネルギー化してエネルギー化することによって制御される電磁スイッチは、スイッチを開閉することです。 Arduinoは、1つのI/O PINを使用してコイルをエネルギー化してエネルギー化することにより、リレーを制御するために使用できます。使用するリレーの種類に応じて、線形アクチュエータ上のコントロールの量が変更されますが、Arduinoとのインターフェースは非常に簡単で、I/Oピンでコイルをエネルギー化するだけです。コイルの定格電圧がArduino(5V)の動作電圧の周りにあるか、Arduinoがスイッチを閉じるのに十分なほどコイルをエネルギー化できないようにする必要があります。
上記は、2つのSPDTリレー構成とのArduinoインターフェースの例です。ここで説明するこの構成では、2つのリレーを使用して、電圧の極性を線形アクチュエータにひっくり返し、パワーをアクチュエータに切断します。以下にコードの例を示します。Arduinoは、ピン7を7に設定することにより、トップリレーを2秒間拡張し、両方のピンを高に設定してトップリレーを脱線させてアクチュエータを2秒間停止します。アクチュエータを撤回するために、Arduinoはピン8を8に設定することで2秒間2番目のリレーをエネルギーし、再びすべてのピンを高に設定してアクチュエータを2秒間停止します。このコードはプログラムのループセクションにあるため、Arduinoはこのコードを何度も繰り返し続けます。明らかに、アプリケーション用のよりエレガントなコーディングソリューションを実装できますが、さらにコントロールを探している場合は、モータードライバーを使用する必要があります。
https://gist.github.com/OMikeGray/6bf644b6cda85bfe8c898ccd44ec6d78
モータードライバー
a モータードライバー 特にDCリニアアクチュエータを駆動するDCモーターを制御するための統合回路設計です。モータードライバーは通常、H-Bridgeを使用して、方向と速度の両方の制御を可能にします。 Arduinoをモータードライバーに正確に接続する方法は、正確なモータードライバーに依存しますが、そうするには少なくとも2つのI/Oピンが必要になり、そのうちの1つはPWM信号になります。 PWMまたはパルス幅変調は、オン値とオフの間の信号を変化させる方法であり、動作電圧よりも低いものを効果的に供給する方法です。モータードライバーは、この信号を使用して、モーターが走る速度を調整できます。
上記は私たちの例です 高電流DCモータードライブ Arduinoとインターフェース。このモータードライバーの場合、2つのPWM信号を送信する必要があります。1つはアクチュエーターを拡張し、もう1つは撤回する必要があります。 PWMは署名されていないバイトとして与えられます。つまり、電圧なし、255、最大電圧(5V)の範囲であり、モーターの速度に比例します。 PWMはバイナリ値ではないため、以下の例に示すように、ArduinoのPWMピンを使用して、アナログ書き込み関数を使用する必要があります。 PWMピンは、A〜〜でArduinoに示されるか、単にPWMピンとラベル付けされます。
https://gist.github.com/OMikeGray/c4e0196704a4d62db5507ad8297708f4
上記のコードの例では、Arduinoはアクチュエータを2秒間フルスピードで拡張し、モータードライバーをピン10から5VフルをモータードライバーのLPWMピンに送ります。次に、Arduinoは、モータードライバーのどちらの入力ピンに信号を送信しないことでアクチュエータを停止します。 Arduinoは、モータードライバーのピン11からRPWMピンまで半分に、半分オフのモータードライバー信号を送信することにより、アクチュエータを半速で撤回します。その後、再びアクチュエータを停止します。このコードはプログラムのループセクションにあるため、Arduinoはこのコードを何度も繰り返し続けます。繰り返しになりますが、特にアクチュエータを制御するために入力を追加する場合、アプリケーションに合った、よりエレガントなコーディングソリューションを実装できます。
入力の追加
Arduinoを使用してアクチュエータを制御できたら、Arduinoに入力を実装して、自動化と制御を拡大できます。これらの入力は可能です スイッチ、幅広いセンサー、またはアクチュエーター自体からのフィードバックさえ。入力には幅広いオプションがあるため、それらを実装する方法はさまざまですが、知っておくべき一般的なポイントがいくつかあります。入力がスイッチのようなバイナリ入力を提供する場合、ボードまたはデータシートにラベル付けされるArduinoのデジタルピンを使用し、DigitalRead()関数を使用することをお勧めします。 Arduino ide。入力デバイスがアナログ信号を提供する場合は、ボードまたはデータシートにラベル付けされ、Analogread()関数を使用するアナログピンを使用する必要があります。