micro:bit(マイクロビット)を活用したプログラミング教育を考える「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。モータードライバーTB6612FNG3-10DCモーターを制御する2018-05-022018-11-12FacebookTwitterB!Bookmarkmicro:bitで、モータードライバーを使ったDCモーターの制御方法を解説します。ここで紹介するモータードライバーは、TB6612FNG(TOSHIBA)です。3-10-1.モータードライバーとはDCモーターとモータードライバーについて解説します。DCモーターDCモーターは、電池などの直流電源に接続することで一定方向に回転するモーターで、模型自動車の駆動輪などに用いられます。接続する直流電源のプラスとマイナスを反転させることで回転方向が逆転し、また、電圧を変化させることで回転速度が変えられます。固定子(永久磁石)と回転子(コイル)で構成され、コイルに流れる電流の向きをブラシと整流子によって切り替えることで、回転力となる磁力の反発・吸引を発生させています。ブラシ付きDCモーターとも呼ばれます。トルクなどの違いにより、さまざまな種類があります。DCモーターを含む小型モーターの世界を代表するメーカーである「マブチモーター株式会社」の製品が、小型モーターのデファクトスタンダードとなっています。その中でも「130型」と呼ばれる形状のものが、模型工作でよく利用されています。この記事で使用するDCモーターも130型です。以下は、130型のDCモーターFA-130RA(マブチモーター)の仕様です。電圧範囲:1.5[V]~3.0[V](標準1.5[V])無負荷時電流:0.2[A]無負荷時回転数:9,100[回転/分]定格負荷時電流:0.66[A]定格負荷時回転数:6,990[回転/分]定格負荷時トルク:6.0[g・cm]ストール時電流:2.2[A]ストール時トルク:26[g・cm]DCモーターの制御を考えるDCモーターの制御には次のような要素があります。→電源の電圧変化130型のDCモーターの仕様を見ると、回転させるのに必要な電圧は1.5[V]~3.0[V]です。micro:bitのデジタル出力ピンは、出力電圧が3.3[V]なので、DCモーターを回転させるには十分な電圧があります。DCモーターを直にmicro:bitのデジタル出力ピンへ接続すれば、回転するのでしょうか。残念ながら、答えはノーです。その理由は、DCモーターを回転させるのに必要な電流にあります。DCモーターを回転させるには、どのくらいの電流が必要なのでしょうか。一度、仕様を見てみましょう。無負荷時電流0.2[A](200m[A])・定格負荷時電流0.66[A](660m[A])とあります。micro:bitでLEDを点灯させる「3-1.LEDを点灯させる【Lピカ】」の中で解説しているように、LEDを光らせるのに必要な電流は数m[A]でした。このLEDの点灯と比べると、DCモーターの回転には大きな電流が必要なことがわかります。DCモーターの始動時には、さらに大きな電流が必要です。実は、micro:bitのデジタル出力ピンは、最大でも5m[A]の電流を供給する能力しかありません。LEDを光らせることはできても、DCモーターを回転させることはできないのです。モータードライバーでは、micro:bitでDCモーターを制御するにはどうすればいいのでしょうか。その一つが、ここで紹介する「モータードライバー」と呼ばれる制御用ICを使用する方法です。モータードライバーは、図3-10-1-2のようにmicro:bitと接続します。ブレーキを制御することができます。PWM信号(PWM)で回転速度を制御できます。モータードライバー側に、モータを駆動するための専用の電源が必要です。図3-10-1-2.micro:bitとモータードライバーの接続この記事で使用するのは、モータードライバーTB6612FNG(TOSHIBA)を搭載したSparkFun社のモータードライバーモジュール(ブレークアウト基板)です。TB6612FNGは、2つのDCモーターを駆動できるデュアルモータードライバーです。表面実装用の小さなサイズですが、ブレークアウト基板でピッチ変換されているので、ブレッドボードでも使えるようになっています。ブレークアウト基板上には、IC用電源ピンとモーター用電源ピンにノイズ低減用コンデンサーが実装されています。図3-10-1-3.TB6612FNGモータードライバーモジュール以下は、TB6612FNGモータードライバーモジュール(SparkFun社)の仕様です。IC用電源電圧:2.7[V]~5.5[V]3-10-2.用意するもの表3-10-2-1は、この電子工作に必要な部品などの仕様・定格です。秋月電子通商(通販コード:P-00288)にて購入可能プロトタイピングセットとは、ブレッドボードとmicro:bitのエッジコネクターをピンヘッダーに変換する基板が一つになった製品で、micro:bitを使った電子工作がハンダ付けなしで簡単に始められます。図3-10-2-1.プロトタイピングセット(KITRONIK-5609)プロトタイピングセットには、必要なジャンプワイヤーが付いてきます。micro:bit用プロトタイピングセットブレッドボードを使用することで、ハンダ付けなしで電子回路の実験が簡単にできます。Amazonで見るTB6612FNG搭載デュアルモータードライバー(ピンヘッダ付き)東芝のTB6612FNGを搭載した、連続最大1.2[A]のモーターを2個接続できるモータードライバーモジュール。FA-130ノーマルモーターです。Amazonで見る3-10-3.作る前にmicro:bitに何かプログラムが入っていると、想定外の動きをするかもしれません。「何もしない」プログラムをダウンロードして、micro:bitに送っておきましょう。3-10-4.作り方DCモーターの加工ブラシ付きDCモーターでは、コイルに流れる電流の向きをブラシと整流子によって切り替えています。ブラシと整流子は機械式接点のため、断続的に接触と開離を繰り返すことでノイズが発生します。このノイズを軽減するために、DCモーターの端子間にコンデンサーをハンダ付けします。使用するコンデンサーは、積層セラミックコンデンサー0.1μ[F]です。極性はありませんが、取り付けた後、コンデンサーの容量がわかるように印(104)がある面を上にしておきます。端子にリード線が付いていないDCモーターの場合は、一緒にリード線をハンダ付けします。図3-10-4-1.DCモーターの加工(ノイズ対策)回路の作り方DCモーターの加工が終わったら回路を作りましょう。部品がすべて揃っていることを確認したら、プロトタイピングセットのブレッドボードが手前になるように置きます。このブレッドボード上に部品を並べて、DCモーターの制御回路を作ります。図3-10-4-2.作り方(1)TB6612FNGモータードライバーモジュールを配置します。ブレッドボードの「D3」にモジュールのVMピンを挿します。図3-10-4-3.作り方(2)図3-10-4-4のようにジャンプワイヤーで配線します。ジャンプワイヤーはどんな色でもかまいません。図3-10-4-4では、同じ色のジャンプワイヤーが同じ長さを示しています。図3-10-4-4.作り方(3)micro:bitのエッジコネクター「0」「1」「2」をそれぞれブレッドボードの「J3」「J4」「J5」に挿します。「3V」と「GND」を各々ブレッドボードの電源ラインに接続します。この電源ラインからTB6612FNGモータードライバーモジュールへ給電されます。図3-10-4-5.作り方(4)最後に、DCモーターとDCモーター用電源を取り付けます。ブレッドボードの「B6」「B7」にDCモーター、手前の電源ラインにDCモーター用電源を接続します。図3-10-4-6.作り方(5)完成したDCモーターの制御回路です。図3-10-4-7.完成したDCモーターの制御回路3-10-5.プログラミング(ブロック)DCモーター制御回路のサンプルプログラムです。最初だけ実行されるプログラム回転速度(最大)を設定します。ブレーキを繰り返します。図3-10-5-2.ずっと実行されるプログラム3-10-6.プログラミング(Javascript)Javascript(テキスト)のサンプルプログラムです。3-10-7.動かしてみようプログラムが完成したら動かしてみましょう。ブレーキのようすがわかります。停止とブレーキの違いを比べてください。図3-10-8-1は、micro:bitとTB6612FNGモータードライバーモジュールを接続した回路図です。記事内では、1つのDCモーターを制御しましたが、TB6612FNGは2つのDCモータを制御できるデュアルモータードライバーなので、図3-10-8-1のように2系統のDCモータを接続することができます。記事内のDCモーターは、赤色で示したMotor(A)の系統になります。図3-10-8-1.TB6612FNGモータードライバーモジュールの回路図ピンの接続VCCにIC用電源として、micro:bitの3V端子を接続して、3.3[V]を供給します。VMにモーター用電源として、電池から2.4[V]を供給します。STBYは、TB6612FNGを有効にするかどうかの役割があり、High時にDCモーターを制御できます。このピンには3.3[V]を印加してHighにします。DCモーターへの出力は、Motor(A)がAO1・AO2、Motor(B)がBO1・BO2となります。制御信号は、Motor(A)がAI1・AI2・PWMA、Motor(B)がBI1・BI2・PWMBとなり、各々micro:bitの端子と接続されます。ストップ、PWM信号(PWM)で回転速度を制御します。IN1・IN2・PWMは、Motor(A)がAI1・AI2・PWMA、Motor(B)がBI1・BI2・PWMBとなります。回転速度のPWM制御は、PWM信号のHigh/Lowに合わせて、通常回転(正転・逆転)とショートブレーキが繰り返される動作となります。図3-10-8-1のように接続した場合、Motor(A)はmicro:bitの端子P0(PWM)・P1(IN1)・P2(IN2)によって制御します。Motor(B)は端子P13(IN1)・P14(IN2)・P15(PWM)によって制御します。端子名後ろの()は対応する制御信号です。micro:bit関連のおすすめ品micro:bitのエッジコネクターをピンヘッダーに変換するエッジコネクターピッチ変換基板と、ブレッドボードが一つになった製品です。付属のジャンパーワイヤーを使用することで、手軽に回路の実験ができます。micro:bit用プロトタイピングセットブレッドボードを使用することで、ハンダ付けなしで電子回路の実験が簡単にできます。Amazonで見るピンヘッダ実装済みのモータードライバーモジュールです。2個のモーターを制御できるTB6612FNG(TOSHIBA)が搭載されています。TB6612FNG搭載デュアルモータードライバ(ピンヘッダ付き)東芝のTB6612FNGを搭載した、連続最大1.2[A]のモーターを2個接続できるモータードライバーモジュール。Amazonで見る130型のDCモーターです。ノーマルモーターです。