IchigoJamはじめました。(4) DCモーターを動かそう
こんにちは。國松です。
今回はIchigoJamでDCモーターの制御をしていきたいと思います。
参考書籍
みんなのIchigoJam入門
DCモーターは消費電流が大きいのでそのままではIchigoJamに接続することができません。そこでモータードライバICを使います。今回は東芝社のモータードライバICであるTB9912FNGを搭載したモータードライバICを使用します。
モータードライバICとは
モーターをドライブ(駆動制御)するための回路が集積された専用ICです。なんだか名前をそのまま言ってるだけで説明になっていない気がしますが、モーターをドライブするICです。
用意するもの
・IchigoJam S
・ブレッドボード
・DCモーター
・TB6612FNG搭載デュアルモータードライバ(ヘッダピン付き)
・電池ボックス(単三×2本)
・ジャンパワイヤ
モータードライバICとDCモータと電池ボックスとIchigoJamの接続
モータードライバIC | DCモーター | 電池ボックス | IchigoJam |
PWMA | OUT3 | ||
AIN2 | OUT2 | ||
AIN1 | OUT1 | ||
VM | 電池ボックスのプラス端子 | ||
STBY | VCC (ブレッドボードの電源ラインを利用) | ||
VCC | |||
A01 | DCモーターの黒い線 | ||
A02 | DCモーターの赤い線 | ||
GDN(3箇所ある) ブレッドボードの電源ラインを利用 | 電池ボックスのマイナス端子(ブレッドボードの電源ラインを利用) | GND |
接続が少しややこしいですが表と図を参考に配線をして見てください。(接続図のモータードライバICにPINの名称ないので以下にモータードライバICの画像を置いておくのでそちらも参考にして下さい)
ブレッドボードの内部
ブレッドボードの穴は内部的に以下の様に繋がっています。それを利用して配線をしていきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 5 'DC Motor 10 CLS 20 [0]=500:[1]=1000:[2]=1500:[3]=2000 30 PWM 3,0 40 OUT 1,1:OUT 2,0 50 FOR A=0 TO 3 60 PWM 3,[A] 70 WAIT 50 80 NEXT 90 PWM 3,0 100 WAIT 100 110 OUT 1,0:OUT 2,1 120 FOR A=0 TO 3 130 PWM 3,0 140 WAIT 50 150 NEXT 160 PWM 3,0 170 WAIT 100 180 GOTO 40 |
モータの動きを制御するのにPWMを使っています。ラズパイでも使用したことのあるPWM信号です。
IchigoJamのPWM
IchigoJamではPWMコマンドを使うことでPWM信号を出力します。
PWM 端子,パルス幅 [,パルス周期]を指定します。
指定する要素 | |
端子 | 端子番号(2~5)を指定。OUT2~OUT5のみPWM信号を出力できる。 |
パルス幅 | 0.01ミリ秒単位でハイレベルを出力する時間を指定。 |
パルス周期 | 0.01ミリ秒単位で周期を指定。省略した場合は2000(20ミリ秒)になる。 |
PWMはPulse Width Modulationの略で周期的にLOWとHIGHの間を変化するパルス信号のパルス幅を変化させる信号方式の事です。
LEDの明るさを変化させたりモーターの制御、サーボモーターの角度制御などに使われます。
実行すると徐々に回転数が上がって配列で指定した最高速に達したら一度停止して今度は逆回転で同様の動きをします。
動きがわかりやすいようにその辺にあったゴムチューブを付けたのですがプルプル震えてるだけでよくわかりませんね。すみません。