モータードライバー(TA7291P)の使い方 [Arduino]
Arduinoでモータードライバー(TA7291P) を使用してモーターを「回転、逆回転、回転速度の調整」をする方法をご紹介します。
使用部品・材料
総額で約2450円です。(Arduino本体の値段を除く)
| 部品/材料 | 値段 | 備考 |
|---|---|---|
| ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
| モータードライバ(TA7291P) | ¥150 | 秋月電子の通販コード(I-02001) |
| タミヤ ユニバーサルプレート 2枚セット (70157) | ¥468 | |
| タミヤ ツインモーターギヤーボックス (70097) | ¥587 | ギアは低速ギヤー比203:1のCタイプを使用します。 1つのモーターの電圧は恐らく1.5Vから3Vです。9Vでモーターを回すと超高速になりますのでモーターが壊れる可能性が高いのでご注意ください。 |
| タミヤ マンモスダンプ 17013 | ¥819 | タイヤ2個と単3電池ボックスのみを使用しています。 [電池ボックスの使用例] ![]() |
| 単3電池 2本 | ¥50 | モーター用 |
| コネクタ付コード(みの虫×ジャンパーワイヤ) | ¥110 | 単3電池ボックス用。 秋月電子の通販コード(C-08916) |
モーターにはリード線がありませんので「耐熱電子ワイヤー」(P-06756)や片側をカットした「ジャンパーワイヤー」を半田付けして下さい。その2本を繋ぐ場合は2本のリード線をつなぐをご参考にして下さい。
配線図
TA7291Pの使い方
次の写真が正面で、端子は左から「1,2,3 ... 10」と数えます。
| 端子 番号 | 端子 記号 | 説明 |
|---|---|---|
| 1 | GND | グラウンド |
| 2 | OUT1 | 出力端子(モーター端子と接続) |
| 3 | NC | 非接続 |
| 4 | Vref | 制御電源端子(モーターの回転速度の調整。PWMで0-255の範囲を指定する。値が大きいほど回転が早くなる) ArduinoのデジタルピンはPWMが使用できる「3,5,6,9,10,11」のいずれかを使用します。また、このVrefを使用しないときは抵抗器(3kΩ以上)を介してVS端子(8番)に接続します。 出力電圧は「Vref ≦ VS」とします。Vrefの電圧を測定した所、約2.5Vです。VSの乾電池2本は3V(1.5V + 1.5V)ですので問題ないと思います。また、乾電池を4本にすると6Vになりますが、今度はモーターに負荷がかかります。 |
| 5 | IN1 | 入力端子(デジタルでHIGH or LOW) |
| 6 | IN2 | 入力端子(デジタルでHIGH or LOW) |
| 7 | VCC | ロジック側電源端子 |
| 8 | VS | 出力側電源端子(モーターの電源) |
| 9 | NC | 非接続 |
| 10 | OUT2 | 出力端子(モーター端子と接続) |
※3と9はNC端子(NON CONNECTION)で内部接続はありません。
[入力端子]
| IN1 | IN2 | 動作 |
|---|---|---|
| LOW(0) | LOW(0) | ストップ |
| HIGH(1) | LOW(0) | 回転 |
| LOW(0) | HIGH(1) | 逆回転 |
| HIGH(1) | HIGH(1) | ブレーキ |
※詳細は部品の「データシート」を型番などで検索してご確認ください。
スケッチ(プログラム)
次の処理を繰り返します。
・モーターの回転速度を中間にする
・モーターの回転(5秒間)
・ブレーキ
・モーターの逆回転(5秒間)
・ブレーキ(2秒間)
・モーターの回転速度をMAXにする
・モーターの逆回転(5秒間)
・ストップ(2秒間)
#define PIN_IN1 7
#define PIN_IN2 8
#define PIN_VREF 9 // PWM
void setup(){
pinMode(PIN_IN1,OUTPUT);
pinMode(PIN_IN2,OUTPUT);
}
void loop(){
// モーターの回転速度を中間にする
analogWrite(PIN_VREF,127);
// 回転
digitalWrite(PIN_IN1,HIGH);
digitalWrite(PIN_IN2,LOW);
delay(5000);
// ブレーキ
digitalWrite(PIN_IN1,HIGH);
digitalWrite(PIN_IN2,HIGH);
// 逆回転
digitalWrite(PIN_IN1,LOW);
digitalWrite(PIN_IN2,HIGH);
delay(5000);
// ブレーキ
digitalWrite(PIN_IN1,HIGH);
digitalWrite(PIN_IN2,HIGH);
delay(2000);
// モーターの回転速度を最大にする
analogWrite(PIN_VREF,255);
// 逆回転
digitalWrite(PIN_IN1,LOW);
digitalWrite(PIN_IN2,HIGH);
delay(5000);
// ストップ
digitalWrite(PIN_IN1,LOW);
digitalWrite(PIN_IN2,LOW);
delay(2000);
}
用語集 & メモ
| PWM(パルス幅変調) (周波数は変更せずに)HIGHとLOWのデューティー比を変更する。 |
| Vcc(Voltage Collector) IC用の電源 |
| Vs(Voltage Supply?) モーター用の電源 |
| Vref(Voltage Reference circuit) 基準電圧回路と呼ばれ、一定の電圧を出力する電子回路。 |
参考サイト
スポンサーリンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
公開日:2017年04月03日 最終更新日:2017年12月09日
記事NO:02314
プチモンテ ※この記事を書いた人
![]() | |
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
| 🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は抒情詩、抒情的な楽曲が多い。楽曲制作は🔰2023年12月中旬 ~ | |










