Wi-FiブルドーザーHOME > 第3回:WiFiブルドーザーの設計

Wi-Fiブルドーザーをつくろう!
   ~第3回:WiFiブルドーザーの設計~

ブルドーザーの操縦方法

工作セットリモコンでの操縦法

 今回、題材にしたタミヤ模型製「ブルドーザー工作基本セット」には2チャンネルのリモコンが付属しています。

 リモコンには左右2本のレバーがついていて、レバーを傾けることにより、左右それぞれのモーターの「正転・停止・逆転」を切り替え、キャタピラーの回転方向を制御します。

 このリモコンでは、左右両方のレバーを前方に倒すと、左右のキャタピラーが正転し前進します。左レバーだけを前に倒すと、右側のキャタピラー側を軸に「前進右回り」を行います。そして左右を前後逆に倒すと「その場旋回」を行います(下「組立説明書(抜粋)」参照)。



  

 リモコンの内部では、レバーはスイッチとつながっています。レバーが真ん中のときはモーターに電流が流れませんが、前後に倒すとモーターに電流が流れる仕組みになっています。また前に倒した時と後に倒した時ではモーターには逆向きの電流が流れるようになっています。


マイコンでブルドーザーを操縦するには

 リモコンを使う場合は手元にあるレバーでスイッチを操作しモーターを制御しますが、WiFiブルドーザーでは、車体に搭載したマイコンがモーターを制御する仕組みが必要です。また、電池も車体に搭載することが必要です。

 一般にESP8266などのマイコンのピンが扱える電流はLED1個を光らせる数十mA程度です。模型用の小型モーターでも数百mAの電流が必要なので、マイコンに直接繋くことはできません。そのため、マイコンからモーター駆動用の仕組みを制御するようにしなければいけません。次のような方法が考えられます。

リレーを使う方法

 モーターやヒーターなど大電流が流れる回路の制御で以前から使われているのが「リレー」という電磁石とスイッチを組み合わせた部品を使う方法です。スイッチは中の鉄片の動きにより回路を切り替えるようになっていて、外部からの信号電流が電磁石に流れると鉄片を引き寄せスイッチを切り替えます。

トランジスターを使う方法

 テレビやラジオなどで、音を大きくする増幅回路にもよく使われている半導体素子の一種「トランジスター」をスイッチ代わりに使うことが出来ます。トランジスターを使って右図のような回路を組むと、ベース-エミッタ間に流す何倍もの電流を、コレクタ-エミッタ間に流すことが出来ます。リレーと異なり、機械的な接点がないので高速に回路の切替を行うことができます。
 さらに、4本のトランジスターを使って次のような回路を組むと、ベースに加える信号によってモーターの正転逆転を切り替えることができるようになります(Hブリッジ回路といいます)。
 

モータードライバーICを使う方法

 最近は、先述した「Hブリッジ回路」と制御回路を一体化した「モータードライバーIC(モータードライバーIC)」が各種登場しています。例えば「TA7291P」などはよくArduino関係の製作記事にも使用例が掲載されています。比較的安価な上に簡単にマイコンと接続して使うことが出来ます。
 単にON/OFFだけでなく、PWM機能と組み合わせればモーター回転数の制御も可能です。
 いろいろなモータードライバーICが販売されていますが、マイコンの出力信号やモーター等の負荷に応じて適切なモノを選んで使用します。

マイコン回路の設計

 マイコンを使ってモーターを制御する方法はこれまで説明したようにいくつか方法がありますが、今回は「モータードライバーIC」を使用することにします。

モータードライバーICの選定

 Arduinoを使った製作記事などで使用されている「TA7291P(東芝製)」というモータードライバーICは筆者もよく使用しているのですが、改めて仕様書を調べるといくつか問題点がありました。その一つは、マイコンからの制御信号の電圧です。
 マイコンからの制御信号はHIGH/LOWのデジタル信号で、TA7291は「3.5~5.5V」の範囲を「HIGH」とみなします。
 人気があるArduinoUNOの出力は「HIGH=5V」なので問題なく使えますが、ESPrデベロッパーの出力電圧は「HIGH=3.3V」なので条件を満たしません。誤作動の危険性があるわけです。マイコンの他にも、モーター(工作セット付属は「FA-130」)の動作電圧や駆動電流なども考慮することも必要です。

 電子部品通販会社のWebサイトで調べてみると、TEXAS INSTRUMENTS社の「DRV8835」が条件を満たしそうです。

  DRV8835 使用可否の検討
ロジック(マイコン)側電源 2~7V ESP8266は3.3V駆動→OK
HIGHレベル電圧 ロジック電源の1/2 ESP8266電源電圧の80%以上→OK
モーター用電源電圧 0~11V FA-130動作電圧1.5~3.0V→OK
モーター駆動電流 最大1.5A FA-130動作電流0.6~0.8A→OK
対応PWM周波数 最大250kHz ESP8266のPWM周波数は1kHz→OK
1パッケージに、AとB2チャンネル組み込み

 1個のDRV8835チップ本体は3×2mmときわめて小さいのですが、2個の小型DCモーターの制御が可能です。
 また、外付けコンデンサーなどと併せて搭載したキャリヤーボードも各社で製作されていて、ピン間隔がとブレッドボードのピン間隔と同じ2.54mm(0.1インチ)なので使いやすくなっています。
 右写真(Pololu社Webサイトより)は、Pololu社の「DRV8835 Dual Motor Driver Cattier」で国内ではスイッチサイエンス社で取扱いがあり、今回使用してみます。

DRV8835の使用方法

 DRV8835モータードライバーは、2つの動作モードを持っていて、MODEピンにHIGH/LOWのどちらを加えるかで切り替えることが出来ます。
 今回は、正転/逆転切替とPWM制御による回転数調整可能と、より細かな制御が出来る「IN/INモード」を使用することにします。
 
 DRV8835の内部には、Hブリッジ回路とを中心とした制御ユニットがAとBの2チャンネルあります。Aチャンネルで一つのモーターを制御する回路を例に説明してみます。

 DRV8835には、ニ系統の電源を加えます。
 一つはマイコン側に接続するロジック電源で、HIGH/LOWの基準になるのでマイコンの駆動電圧と同じ電圧をVCCピンに加えます。ESPrデベロッパーの場合、3.3VピンよりESP-WROOM-02に加えているのと同じ電圧が出力されていますので、これをDRV8835のVCCピンと接続します。
 もう一つはモーター用電源で、モーターに合わせて2~11Vの電圧電源をDRV8835のVINピンとGNDピンに加えます。

 先述したようにDRV8835は2つの動作モードを持っていますが、DRV8835のMODEピンをGNDに接続することで「IN/INモード」とします。

 DRV8835は、2チャンネルで2個のDCモーターを制御できます。AチャンネルのモーターはAOUT1とAOUT2に、BチャンネルのモーターはBOUT1とBOUT2に接続して使います。

 1つのモーターを制御するために、xIN1・xIN2(xはAまたはB)の2本の信号線を使用し、それぞれマイコンの出力ピンに接続します。PWM出力が可能な出力ピンに繋ぐと、回転数の制御も可能になります。

 以上の点を踏まえ上図のような回路を構成した場合、AIN1・AIN2に加えるマイコンのIOX・IOY(X・Yはピン番号)の信号の組み合わせで、モーターには表のような電流が流れるようになります。
  例えば、IOX(AIN1)をHIGH(またはPWM出力)、IOY(AIN2)をLOWにしたときは、図中の赤線のように電流が流れ、モーターが回転します。IOXとIOYを逆にすれば、逆向きに電流が流れるのでモーターも逆回転します。
 
 Bチャンネル側も同じようにすることで、2個のモーターの正転・逆転・速度調整により、ブルドーザーの動きを制御できます。

電源について

 せっかくWiFiで「ラジコン化」するので、電源も車体に載せたいものです。今回は入手しやすいアルカリ電池またはニッケル水素電池(充電式)を使用します。

 ESPrデベロッパーには、ESP-WROOM-02モジュールを駆動させるための電源ICも搭載されているので、3.6~7.0Vの外部電源をVINピンに接続して使用できるようになっています。
 ところが試作段階で、この方法で電源供給した場合、動作が不安定になる事例が生じました。この問題を回避するため、写真のようなUSB電源ケーブルを用意し、USBコネクタからの給電を行う方法を考えました。


 また、ESPrデベロッパーに搭載されているUSBシリアル変換IC(FT231XS)などの動作電圧などを考慮し、単3電池3本を電源とすることにしました(アルカリ電池使用時は4.5V、ニッケル水素電池使用時は3.6Vとなります)。

 なお電池の種類ですが、 急加速時など一度に電流が流れることもあるので、ニッケル水素電池の使用をお奨めします。

ノイズ防止策

 模型用DCモーターは内部にコイルが巻かれたローターが回転します。このローターに電気を送るとき、ブラシという部品の接点で電気的なノイズが発生します。大きなノイズが発生すると電波を使う機器にも影響を与えます。
 ノイズ対策の一つが、モーターの端子にコンデンサーを取り付ける方法で、電動ラジコンカーなどでもみられます。

 今回のWiFiブルドーザーも電波を使って操縦するので、ノイズ防止のためにコンデンサーを取り付けます。

回路図

 これまで説明した点を考慮して、次のような回路図を考えてみました。下図をクリックするとA4サイズのPDFが表示されますので、必要に応じてダウンロード・印刷してご利用ください。

 LED・抵抗は、Lチカで使ったものをそのまま動作確認表示用として使用します。

 ESPrデベロッパーのデジタル出力ピンは全てPWMに対応しています。IO4・IO5でDRV8835のAチャンネル(左モーター)を、IO12・IO13でBチャンネル(右モーター)を制御します。

 しかし、これだけの部品数でマイコン・WiFi・モーター制御が出来るようになったも時代の進歩ですね。

マイコン回路・電池ボックスの取付け

 こういった工作で意外と頭を悩ませるのは、完成した基板や電池ボックスを取り付ける方法です。

 出来上がった車体にブレッドボードや電池ボックスを仮に載せてみたりと「現物あわせ」しながら検討していきます。

 特に今回は、ノイズ発生源のモーターとESP-WROOM-02のアンテナ部分が近づきすぎないよう気をつけたほうがいいです。

 そこで、マイコン回路をブルドーザー車体の「後板」に、電池ボックスをモーターの上に取り付けることにしました。後で簡単に外せるように輪ゴムを使って取り付けることにし、ゴムフックの代わりになる木ネジを車体に取り付けます。

 WiFiブルドーザーのハードウェアの設計が終わりましたので、早速製作に取り掛かりましょう。

【第4回:ブルドーザー工作気品セットの組立】
目次へ