L293D ドライバー モーター:Arduino を使用して DC モーターに接続する方法
ロボットやおもちゃの車を設計する場合、モーターに関する知識が最も重要です。これらのモーターを制御する非常に費用対効果が高く簡単な方法は、L293D ドライバー モーター シールドを使用することです。さらに良いのは、Arduino などのマイクロコントローラーとのインターフェイスで使用することです。
中でも、L293D モーター ドライバーは、この種のチップセットの中で最も人気のあるものの 1 つです。さらに、サーボ、ステッパー、DC モーターなどの電子機器での多様なアプリケーションにも対応しています。ただし、その重要な属性は、2 つの独立した DC モーターでの方向と速度の制御のようです。そして、それがこの教則本でさらに学ぶことです。
1. L293D モーター ドライバーとは?
この 16 ピン チップセットは、モーター用の 2 チャネル H ブリッジ ドライバーです。多くの場合、その主な機能は、DC モーター ペアまたは単一のステッピング モーターの制御インターフェイスです。
デフォルトでは、L293D モーター ドライバー シールド チップセットは 2 つになっています。したがって、4 つの DC モーターを駆動することができます。そのため、L293D チップセットは四輪ロボットの貴重な構築資産です。
合計で、シールドは 4 つの H ブリッジを提供します。したがって、各 H ブリッジは 0.6A のモーター電流を供給します。また、74HC595 シフト レジスタは、セキュリティの機能です。その結果、このレジスタはデュアル L293D IC の 8 つの制御ピンを Arduino の 4 桁のピンに拡張します。
(4 倍の大電流 H ブリッジ 16 ピン L293D モーター ドライバー)。
2. l293D モータードライバーの特長
CNC およびロボット プロジェクトで L293D モーター ドライバーを優れたコンポーネントにする機能には、次のようなものがあります。
- 適用されたデバイスの方向と速度レベルを制御できます。
- さらに興味深いことに、このドライバーにより、2 つの同様のデュアル DC モーターを動作させることができます。
- モーター電圧、Vs. (Vcc2) は 4.5V から 36V の間です。
- また、最大連続モーター電流は 600mA です。
- 一方、最大ピーク モーター電流は 1.2A です。
- Vss(Vcc1) 供給電圧の範囲は 4.5V から 7V です。
- 5V から 24V への移行時間は最大で 300ns です。
- サーマル アクティベーションにより、自動シャットダウンを実行できます。
- 最終的に、IC は SOIC、DIP、および TSSOP のパッケージで提供されます。
3.L293D モーター ドライバー シールド出力ピンの構成
(バイポーラ L293D ステッピング モーター ドライバーを示す回路図のピン ダイアグラム)。
ピン番号 | ピンの名前 | ピンの説明 |
1 | 1、2 を有効にする | この端子は、入力ピン:入力 1(2) と入力 2(7) を有効にします。 |
2 | 入力ピン 1 | 出力 1 ピンの直接制御として機能します。多くの場合、デジタル回路制御に適用できます。 |
3 | 出力ピン 1 | このピンは一方の端、モーター 1 に接続します。 |
4 | グラウンド | 一方の端で、このピンは回路のグランド (0V) に接続されます。 |
5 | グラウンド | 反対側にもう 1 つの接地ピン (0V) があります。 |
6 | 出力ピン 2 | 出力ピン 1 と同様に、この端子はモーター 1 のもう一方の端に接続します。 |
7 | 入力ピン 2 | 出力 2 ピンを直接制御します。デジタル回路制御にも適用できます。 |
8 | 対。 (Vcc2) | 定格 4.5V ~ 36V で、電圧ピンに接続してモーターに電力を供給します。 |
9 | 3、4 を有効にする | この端子は、入力ピンのみを有効にします:入力 3(10) および入力 4(15)。 |
10 | 入力 3 | 出力 3 ピンを直接制御できます。さらに、別のデジタル回路制御アウトレットとしても機能します。 |
11 | 出力 3 | このピンはモーター 2 の一端に接続します。 |
12 | グラウンド | ここで、グラウンド ピンは回路のグラウンド (0V) に接続します |
13 | グラウンド | 回路のグラウンド (0V) に接続されたもう 1 つのグラウンド ピン |
14 | アウトプット 4 | 出力 3 と同様に、このピンはモーター 2 のもう一方の端にも接続されます。 |
15 | 入力 4 | これにより、出力 4 ピンを直接制御できます。デジタル回路制御としても機能します。 |
16 | Vss (Vcc2) | 最後に、ピンは IC に供給する +5V の外部電圧に接続します。 |
表> 4. L293D モータードライバーの動作原理
前述のように、L293D モーター ドライバーはデュアル DC モーターを制御できます。したがって、このデュアルチャネル H ブリッジ IC がどのように機能するかを理解することが不可欠です。
(L293D に接続された 5 ボルトのユニポーラ モーターを示す図)。
動作原理の第 1 段階では、H ブリッジをセットアップします。つまり、Q2/Q3 および Q1/4 と呼ぶダーリントン トランジスタのペアを 2 つ使用します。それぞれの反対側で、ダイオードがトランジスタのコレクタとエミッタに接続されています。その結果、モーターが生成する逆起電力がトランジスタを損傷するのを防ぎます。
したがって、トランジスタ Q1/Q4 がオンの位置にあるとき、トランジスタ Q2/Q3 はオフになります。したがって、Vcc からモーターを経由してグランドに電流が流れます。
このアクションは、モーターの時計回り/反時計回り方向のスピンを促します。要約すると、モーターの極性と電源への接続モードによってスピンの方向が決まります。
一方、Q1/Q4 トランジスタがオフの場合、Q2/Q3 は自動的にオンになります。したがって、モーターを介して流れる電流には逆があります。したがって、この逆電流が流れると、モーターの回転方向も交互になります。
5. L293D モーター ドライバーの使用方法
前述のように、L293D モーター ドライバーは、約 600mA の双方向駆動電流と 4.5V ~ 36V の範囲を使用します。ただし、これらの機能には、Arduino Uno でこの 16 ピン モーター ドライバー チップを使用することが含まれます。
そこで、DCモーターとL293DをARDUINOに接続するプロジェクトを紹介します。そこで、DC モーターの方向と速度を制御する回路を設定するための段階的な手順を次に示します。
ステップ 1:プロジェクトに必要な資料を集めます。
- 2 つの 10K ポテンショメータ。
- L293D モーター ドライバー チップセット。
- 2 つの小型 DC モーター
- Arduino Uno または Arduino Pro Mini。
- ブレッドボード。
- ジャンパー線。
ステップ 2:サーキットのセットアップ
この回路に含まれる接続は非常に簡単です。
ただし、ビデオ チュートリアルを使用して回路を設定し、より正確な図を示します。
モーターは、多くの場合、別の電源を使用したほうがよい場合があります。この場合、エンジンには 12V を使用します。一方、5V 電源は L293D と Arduino に電力を供給します。
注:外部電源は L293D のピン 8 に接続されます。これらの接続を行うときは、注意してください。そうしないと、モーターが損傷する危険があります。
ステップ 3:DC モーターをプログラムするコード
これを行うには、2 つの基本的な手順が必要です。
AFMotor.h ライブラリをインストールします。
まず、L293D IC との通信媒体が必要です。そのために、AFMotor.h ライブラリをインストールする必要があります。
このライブラリにより、DC、ソレノイド、およびステッピング モーターを制御するコマンドを発行できます。
AFMotor.h ライブラリをインストールするには、まず、Sketch までスクロールします。次に、「ライブラリを含める」を見つけ、その後に「ライブラリの管理」を見つけます。ライブラリ マネージャがインデックスをダウンロードすると、ライブラリ マネージャはインストール済みのライブラリ リストを更新します。
その後、検索フィルターを使用して「Motor Shield」を見つけます。エントリの中から、Adafruit の Adafruit Motor Shield Library を選択し、[インストール] をクリックします。
Arduino コードを実行する
次に、以下の Arduino コードを実行する必要があります:
#include
AF_DCモーターモーター(4);
ボイドセットアップ()
{
//モーターの開始速度を設定して停止します
motor.setSpeed(200);
motor.run(RELEASE);
}
空ループ()
{
uint8_ti;
// モーターをオンにする
motor.run(フォワード);
// 0 から最大速度まで加速
for (i=0; i<255; i++)
{
motor.setSpeed(i);
遅延(10);
}
// 最高速度から 0 まで減速
for (i=255; i!=0; i–)
{
motor.setSpeed(i);
遅延(10);
}
// 次に、モーターの方向を変更します
motor.run(BACKWARD);
// 0 から最大速度まで加速
for (i=0; i<255; i++)
{
motor.setSpeed(i);
遅延(10);
}
// 最高速度から 0 まで減速
for (i=255; i!=0; i–)
{
motor.setSpeed(i);
遅延(10);
}
// ここでモーターをオフにします
motor.run(RELEASE);
遅延(1000);
}
ステップ 4:セットアップの完了
この段階で、DIY 回路のセットアップは完了です。これで、この L293D チップと Arduino Uno マイクロコントローラーを使用して、任意の DC モーター デバイスの制御メカニズムが完成しました。
6.L293D と同等のデュアル タイマー IC
L293D に類似した他の IC には、ULN2003、SN754410、LB1909MC があります。
(ラベルの付いたピンと接続ポイントを示す PCB 上の ULN2003 IC)
7. L293D の応用
- 高電流 LED デバイスの駆動に役立ちます。
- また、ロボットなどのデジタル回路で動作する大電流モーターにも適用できます。
- L293D ドライバーは、一般に、ステッパーとモーターに不可欠な部分です。
- リレー ドライバ モジュールで使用します。したがって、ラッチング リレーが可能になります。
まとめ
Arduino を使用して複数の方法で DC モーターを制御する方法は他にもあります。ただし、最も簡単な方法の 1 つは、L293D モーター ドライバー IC を使用することです。 L293D IC は、2 つの別個の DC モーターの速度と方向を同時に制御するための優位性を提供します。
結論として、この IC を使用して DC モーターをセットアップしてプログラムする方法を学びました。しかし、おそらく、もっと挑戦的なことに挑戦したいと思うでしょう。これについての詳しいチュートリアルについては、お問い合わせページから完全なガイダンスを入手してください。