モータードライバ

Arduino

Arduinoでモーターを回す基本はトランジスタのスイッチング作用を用いて、回転と停止を交互に繰り返すものですが、ものづくりを進めていくと、逆転も必要になります。そのようなときに用いるのがモータードライバICです。今回は、その使い方を見ていきます。

モータードライバ TA7291P

次の写真はモータードライバの一例で、TOSHIBAのTA7291Pです。

モータードライバのピンについて説明します。(参照:データシート

ピンの番号は左から1,2、…となります。

なお、3番ピンと9番ピンはNC端子となっています。

5番ピン(IN1)と6番ピンに(IN2)に加える信号によってモーターの動きを制御します。表の中のCWは時計回り、CCWは反時計回りを示します。

回路

では、回路を組み立てましょう。

私は回路図がないと落ち着きません。回路図も下に示します。

これを実際に配線した様子が次の写真です。回路図ではモータードライバのVccとVsに5Vを接続しましたが、モーターの特性によっては3.3Vにつないだ方がうまくいく場合があります。

スケッチ

では、スケッチを作成します。ここでは、2秒間正転し、その後2秒間逆転し、その後8秒間静止させるスケッチを作ります。静止時間は長くしておかないと、モーターが惰性で回転しているうちに次の動作へ移ってしまいます。

スケッチの説明です。
2行目:1番ピンを出力モードにします。
3行目:2番ピンを出力モードにします。
すなわち、この2つのピンからモータードライバのIN1, IN2に信号が送られます。
8行目:valを255にします。この値はモーターの回転速度になります。255は最大値です。
11行目~14行目:正転を2秒間続けます。
17行目~20行目:逆転を2秒間続けます。
23行目~26行目:静止を8秒間続けます。

まとめ

動作の様子を動画で示します。

動画では正転・逆転の様子がわからないですね…安心してください。肉眼でははっきりとわかります。

とにかく、モータードライバを用いると、モーター制御がとても楽にできることがわかりました。

コメント

タイトルとURLをコピーしました