電流測定と
ドライバ選定にてハイパーダッシュ3モーターに適合するモータードライバが
見つからないとの記事を書いていましたが、やっと動かすことができました。
使用するのは候補として挙げていた
・秋月
TPC8407×2モジュール
です。
これを
こんな感じに配線すれば回生ブレーキありでハイパーダッシュ3モーターを動かすことが
できます。
ハイパーダッシュ3モーターのスペックが
・定格3V
・定常2Aぐらい
・瞬間15Aぐらい
だったのに対して
TPC8407は
・
3Vで動く 3.3Vぐらいで動く ※本当は10Vぐらいで動かす
・定常7.4A
・瞬間29.6A
なので余裕をもって動かせます。
※2020/02/17追記フルスペックまではいきませんがプラズマダッシュも駆動できました。
TPC8407について
TPC8407はモータードライバではなく電界効果トランジスタという高出力のトランジスタで、
一般にFETと呼ばれる部品です。トランジスタ(FET)を使ってモータの正逆回転制御を行う場合、
pnp(Pch)タイプとnpn(Nch)タイプを組み合わせて、
モーターを回すで少し紹介したHブリッジ
を作る必要があります。
この図の
・赤(+)側に接続された電子スイッチがpnp(Pch)
・青(-)側に接続された電子スイッチがnpn(Nch)
となります。
TPC8407は通常のFETとは異なり、PchとNchが1つのパッケージに入ったFETです。
という事でTPC8407が2つあればHブリッジを構成でき、秋月のモジュール1つで
モータ1個を正逆制御する事が可能です。
同様の部品に
MINI-Zというミニ四駆ぐらいのサイズのラジコンの改造に使われている
らしい
SP8M4/SH8MA4があります。
※2020/02/17追記データシートを見るとSH8MA4は電位差4V以上で本来の性能を発揮するので、3V電源では
正しく動かない可能性があります。
基本的な配線
秋月のモジュールでHブリッジが組めるとは言え、何をすれば良いかよくわかりません。
基本的な配線については下記サイトを参考にしております。
参考:Qiita@yukitter様
たぶん一番わかりやすいESP8266でMP4212を使ってモーターを制御する方法参考サイトを見ると
モーターを回すで少し紹介したHブリッジが構成されています。
これで、何処に何を接続すればよいか分かります。
とりあえずJ1とJ2をジャンパします。
電源にはモーター駆動用の大電流が確保できる電源を接続します。
続いて7番と3番、9番と5番をジャンパします。
秋月の取説を見ると、7番3番9番5番は全てドレインです。
さらに7番と3番、9番と5番は同じFETです。
さらにFET自体のピン配列を見るとドレインはpin5~pin8に並んでいます。
ということでこの部分をすべて半田でくっつけてしまえばジャンパになります。
これでモーターと電源の配線はできました。
続いて信号1~4とモーターの状態について考えます。
モーターの状態
モーターの状態は
・オープン
・正転
・逆転
・回生ブレーキ
の4つに分かれます。
オープン 正転 逆転 回生ブレーキ 全てLにした場合も回生ブレーキ状態となります。
全部同時にONになると回路が壊れます。 通常ICなどが過電流で壊れる時はパッケージが溶けて穴が開くのですが、
このFETが壊れた時はパッケージに外傷は見られず、
半田が熱で溶けて外れました。
4つの入力をそれぞれマイコンの端子で制御した場合は間違って全てONになる可能性が
あります。
信号の電圧
OFF状態まずOFF状態について
電源(+)側に繋がれたPchFETは電位差-0.8Vで電流が流れ始める可能性があるため
OFF時の信号電圧は
電源(+)とほぼ同じにしておく必要があります。
また、
GND側に接続されたNchFETも電位差1.3Vで電流が流れ始める可能性があるため
OFF時の信号電圧は
GNDレベルにする必要があります。
ON状態続いてON状態について
PchFETは
電源(+)の電圧から
-3V以下の信号を、NchFETは
GNDの電圧から
+3V以上の信号を
入れればそれなりに動きます。本気で動かしたい場合は電位差10Vぐらいにした方が良いよう
ですが、今回は電源の電圧が3V付近なのでそこまで電位差は出しませんが
なるべく電位差を大きくしておいた方が大電流を流しやすくなります。
マイコンもモーターも5Vや3.3Vで統一されていればそのまま5Vなり3.3Vなりを使えます。
モーターの電源がバッテリーだと考えると、バッテリーの種類によりますが1V以上変動する
可能性もあり、
Hレベルの信号を入力する場合は
マイコンの信号(3.3Vとか5Vとか)ではなく、
電源(+)の電圧を使うのが良いでしょう。
そこで各信号は
電源(+)で
プルアップしておき、マイコンでGNDに落として動作させます。
マイコンの端子はオープンコレクタ(オープンドレイン)にしておきます。
マイコンの端子をオープンコレクタに設定できない場合は、npnトランジスタ(1815とか)を
かましますが、この辺の説明は今回省略します。
破損防止と省配線化
先の説明の通り、4つの入力をそれぞれマイコンの端子で制御した場合は
間違って全てONに
なる可能性があります。
そこで、ソフトでどんな間違えをしても壊れない様な回路(インターロック)にしておく
ことが賢明です。本当はNANDゲート等を使ってインターロックを組むべきですが、今回は
手抜きでなんとかならないか検討します。
そこで、モーターの状態と信号をもう一度見ると
状態 | 信号1 | 信号3 | 信号2 | 信号4 |
オープン | L | H | L | H |
正転 | L | L | H | H |
逆転 | H | H | L | L |
ブレーキ1 | H | H | H | H |
ブレーキ2 | L | L | L | L |
破損 | H | L | H | L |
オープン状態を使わないのであれば、
信号1と信号3、
信号2と信号4を同じにして良い
ことになります。これで、本来4本必要だった信号線が2本になり、インターロックとし
ても機能します。
オープン状態を使わないと常に回生ブレーキが利くことになりますが、
以前の調査から
常時回生ブレーキの方が負荷変動に強いことが確認できているのでオープンにできない
ことは気にしない事にします。
最終的な配線
以上の事をふまえると回路図は以下となります。
信号をGNDに落とすとモーターが回ります。
マイコンと接続する場合はマイコンの出力設定をオープンコレクタ(オープンドレイン)
にして使います。
改めて最終形態
ジャンパとプルアップは取り回しを良くするため全て基板上に載せました。
また、モーターの配線を信号線の反対側から出したかったので、
FETの端子に直接とめてあります。
また、特性を測定していませんが3.7VではON抵抗が十分に小さくならないためか、
スイッチで駆動した場合に比べて回転数が低い様な気がします。
※2020/02/17追記回転数が低いのは細い配線を使用したためでドライバの問題ではありませんでした。準備が整ったら
立ち上がり特性等を比較したいと思います。