センサーとモーターの両方を使用できますか、またはモーターシールドを使用する必要がありますか?


11

更新:現在、プロジェクトでいくつかの変更を行っています。私はあなたのアドバイスのいくつかを取りました。ステッピングモーターからRCサーボ(PWMで制御)に変更しました。問題が発生し、それを理解できない場合は、質問します。助けてくれてありがとう!

私は友人とプロジェクトに取り組んでおり、初めてArduinoを使用します。Arduinoを使用してセンサー(加速度計)からデータを取得し、モーター(6V、DC)をオンにします。

私はいくつかの掘り下げを行っています、そしてそれはArduinoからの出力がモーターとセンサーに同時に十分でないかもしれないようです。おそらく、並べ替えの遅延が機能する可能性があります(これは可能でしょうか?)。

モーターシールドの使用を考えています。モーターと一緒に加速度計を制御することはできますか?

私は単一の外部電源を使用しようとしています(最大:単三電池6本;ポータブルにしようとしているため、電池の量を制限しようとしています)ので、1つの電源を使用する方法はArduinoとモーターシールドには2つの異なる電源が必要です(私の理解から)。


それでも他のピンを使用できるはずです。このモーターシールドは強力な兄弟のように機能し、ピンが言うことを聞いて正確にそれを行います。もちろん、大きな力で、彼は兄です!使用する単三電池の量についてより具体的になるように質問を編集できますか?
abdullah kahraman 2013

バッテリーの数を更新しました。Arduinosで非常にうまく機能すると聞いたので、ステッピングモーターがより良い代替品になると思いますか?
Om23、2013

@ Om23ステッパー、サーボ、ブラシ付きDC、またはブラシレスDCの選択は、モーターが果たす必要のある目的、および(BLDCモーターの場合など)モーターを制御するために利用可能なハードウェアによって決まります。考えられるいくつかの目的のうち、どのモーターがどの用途に最も適しているかを判断するという、興味深い新しい質問になるかもしれません。そのような質問がArduinoサイトにとって理想的であるかどうかはわかりませんが、おそらく他の誰かがそれに挑むことができます。
Anindo Ghosh 2013

回答:


12

問題1:Arduinoから直接モーターを駆動する

Arduinoピンから直接モーターを駆動することは、いくつかの理由でお勧めできません。

  • 負荷電流、特にモーターの起動時および失速状態。質問で正しく指摘されているように、Arduinoピンは十分な電流を供給する定格になっていない可能性があります。Arduinoは、持続的な高電流引き込みによって加熱したり、損傷する可能性があります。
    ATmegaベースのArduinoの各Arduinoピンの定格は40 mAですが、私は個人的に持続的な負荷を30 mA未満に保つことを好みますが、リスク選好度は異なる場合があります。問題のモーターのデータシートを見なければ、モーターが必要とする電流量を推測することは不可能です
  • モーターのターンオフ中およびおそらくモーターの整流中の両方からのモーターからの逆起電力 -DCモーターが回転すると、少なくとも従来の種類のブラシ付きDCモーターでは、接触ブラシがスプリットリング間で「転流」し、ごくわずかな発生毎回火花。
    逆起電力は基本的に、モーターコイル(またはターンオフ時の誘導負荷)によって生成される逆電圧、過渡電流(スパイク)で、マイクロコントローラーのピンが許容できる許容電圧範囲を一時的にはるかに超えることがあります。
    高速ダイオードがモーターのリード間に逆バイアスで接続されている場合でも、逆起電力はリスクを軽減しますが、強く推奨される方法です。
  • したがって、Arduinoとモータードライブの間のある種の分離が強く推奨されます。実装を簡単にするために、これはモーターシールドになります。
    基本的な電子機器に慣れている場合は、適切なモータードライバーICとフライバックダイオードを直接配線することでも実現できます。(編集:これはManishearthの回答で詳しく説明されています
    モータードライバーは、シールドであれICであれ、Arduinoとは独立して、2つの電源接地ラインが一緒に接続されている必要があります。さらに下を参照してください。

問題2:加速度計とモーターシールドを同時に制御する

  • はい、加速度計を制御してArduinoから読み取ることができます。加速度計にアクセスするために選択されたピンが、モーターシールドで実際に使用されていないピンであることを確認することによって。それらはすべてシールドに接続されますが、シールド内の内部機能や接続はありません。選択したシールドのドキュメントには通常、この情報が記載されています。
    便宜上、積み重ね可能なヘッダー付きのモーターシールドを探しますつまり、追加のハードウェアを取り付けるために、モーターシールドにArduinoヘッダーピンを複製して、加速度計を探します。すべてのシールドが積み重ね可能なヘッダーを提供するわけではありません。したがって、シールドで使用されていないピンの使用、PCBの関連するヘッダーパッドにはんだ付けする必要があるワイヤ、またはそのような配置が複雑になります。
    複数のモーターを駆動するためのシールドの場合のように、選択したモーターシールドがすべてのGPIOピンを使い果たす可能性がある場合、問題が発生する可能性があります。駆動するモーターは1つだけなので、未使用のGPIOピンが十分に残っていないマルチモーターシールドは使用しないでください。

問題3:Arduinoとモーターシールド間の配電

  • 提案された6 x AA配置(公称最大9ボルト)の問題は、多くのArduinoで利用可能なDC入力ジャック(通常、定格7〜12ボルトの入力)に十分な電圧を提供する一方で、モーターには高すぎることです。直接オフに駆動されます。
  • ただし、直接電源入力(7〜25ボルトなど)を受け入れ、接続されているArduinoに適切に調整された5ボルトを提供するいくつかのモーターシールドがあります。そのため、Arduinoは個別に給電する必要はなく、給電する必要もありません。これは絶対に買うべき唯一のタイプのモーターシールドです。
  • Kludgierの代替には、6つのAAセルのうち4つをタップしてモーターに電力を供給し、6つすべてのセルをArduinoのDCジャック(PWRIN)に電力を供給するか、9 Vを供給しながらモーター電力用に別の6 V降圧レギュレーターを使用することが含まれますArduino DCジャックに直接接続します。
  • バッテリーパックでArduinoに電力を供給してから、ArduinoのVinピンからモーターに電力を供給しようとするのは悪い考えです。
    • いくつかのArduinoリファレンスデザインのDCジャックとVinピンの間のM7ダイオードの定格は1アンペアです。モーターは、少なくとも一時的に、より多くの電流を消費する可能性があります。
    • 単純な問題ではなく、非常に硬いデカップリングが実装されていない限り、モーターによって生成されるすべての電磁ノイズ、整流ノイズとフライバック過渡現象がArduinoボードにフィードバックされます。このEMIフィードバックは、Arduinoの動作に断続的でデバッグが困難な問題を引き起こします。

10

ほとんどのシールドは数本のピンを使用し、残りはあなたに任せます(そのため、多くのシールドはスタック可能なヘッダーを使用してArduinoピンシステムのレプリカを上に持っています)。それらはできるだけ手間がかからないように設計されているので、シールドを入手することはこれを回避する最も簡単な方法です。

私は個人的にボードから直接モーターに電力を供給しません。代わりに、L293Dなどのモータードライバーを使用します。これらのピンは電流を抽出するのにあまり適していません。一般的に、Arduinoピンを経由するのではなく、直接センサーに電力を供給する方が適切です。ピンには電流制限があり、オーバーロードするとピンが焼損することに注意してください。

L293Dの使用は簡単です。

ここに画像の説明を入力してください

ピン1、9、16をVccソースに接続します(Arduinoに電力を供給する5Vソースの正端子です。私にとっては、通常、LM7805から引き出されたラインです)。次に、ピン4、5、13、12をGND(マイナス端子)に接続します。次に、ピン8を高電圧源(6V、12V、またはモーターに供給したいもの)に接続します。すべての電圧源の負端子をGNDに短絡する必要があることに注意してください。

次に、1つのサイト(左側の3、4)の2つの出力ピンにモーターを接続します。入力ピン(2、7)をArduinoの2つの異なるピンに接続します。両方のピンに同じ信号(HIGHまたはLOW)を与えると、モーターが停止します。1つのピンからHIGHを与え、他のピンからLOWを与えると、モーターは、どのピンがどの信号を受け取ったかに応じて、時計回りまたは反時計回りになります。

単方向モーターが必要でピンを節約したい場合は、入力ピンの1つをGNDに短絡します。これで、もう一方の入力ピンがLOWの場合、モーターはオフになり、HIGHの場合、モーターはオンになります。

必要に応じて、チップの反対側の端に同じ手順で別のモーターを取り付けることができます。

L293DはArduinoから少量の電流を引き出し、ピン8から引き出された電流からモーターに電力を供給します。通常、このような状況に最適です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.