2019/09/01

micro:bit + LV8548MC (DC モーター編:とりあえず ハード)

オンセミLV8548MC が秋月で取り扱いが開始されました!

LV8548MC は DC ブラシモーターx2 またはステッピングモーターx1、電源は 4V〜16V のモータードライバーです。

また、そのままでは扱いづかいので、aitendo からピッチ変換基板が2種類(その1その2)が9月上旬から販売されるようです。

オンセミの LV8548MCSLDGEVK ならば付属の Arduino micro を使ってハードウェアの準備をほぼする必要なくモーターを回すことができるのですが、ここではmicro:bit で LV8548MC を動かしてみます。しかも安価に。ではそのハードウェアの準備をします。

まずはピッチ変換基板を使って、モータードライバー IC を使いやすくします。
待ちきれないので、aitendo の既存の SOP-10 ピッチ変換基板 を使いました。できれば新しく販売される基板を使ったほうが良いでしょう。フットパターンが LV8548MC に適しているので半田付けの際に位置決めしやすいし、配線が太めなようなので、大電流を流したいときに安心です。

さ、お試しならばとりあえず既存の変換基盤で大丈夫です。こんな風に半田付けしました。IC をよく見ると横棒が書いてあるのですが、横棒が近い辺が 1 pin (VCC) と 10 pin (OUT1) 側になります。




まぁまぁな感じで半田付けできました。


1 pin (VCC) と 6 pin (GND) の間にはデータシートにしたがって、パスコンを入れました。奮発してセラミックコンデンサ 10uF/50V。これがまた IC より高い。。(150円@千石電商)。データシートでの指定は 0.1uF〜10uFなので、安定性と財布次第で適宜変えてください。パスコンなので、無くても動いちゃうかもしれませんが、電源がプアだと動作が不安定になるので、入れるに越したことはありません。とりあえずセオリー通りに IC のなるべく近くに置きました。

micro:bit と DC モーターとの接続

micro:bit と LV8548MC の GND を一緒にすることを忘れないように。また 10uF のパスコンとは別に、100uF/50V の電解コンデンサーを LV8548MC の VCC - GND 間に入れています。パスコンは動作の安定のためですが、こちらは破壊防止です。壊したくなかったら入れておいたほうが無難です。
モーターが駆動しているときにモーターのコイルにエネルギーがたまります。モーターを急停止すると、このエネルギーをもとに回生電流が流れるのですが、ACアダプターなどの電源がこれを吸収しきれない場合、IC に印可される電圧が急上昇することがあり、IC が破壊に至る場合があるからです。100uF はこの上昇を抑える作用があります。
ちなみに LV8548MC の電源は手持ちの 6V/1A を使いました。LV8548MC は 4V〜16V で動作するので、この範囲の電源を接続してください。4V 以下では正常に動作しません。ちなみに、オンセミは LB1948MC という 2.5V〜16V で動作する LV8548MC とピンコンパチ(ファンクションも同じ)のモータードライバー IC もあります。4V 以下で動かしたい方はこちらを選択してもいいかもしれません。DigiKey などで取り扱いがあります。
モーターは子供達に破壊されたタミヤの2チャンネル リモコン・インセクトを分解して取り出したものです。

接続拡大

さてLV8548MC と micro:bit、モーターとの接続ですが簡単です。VCC, GND に電源、そして DC モーターを駆動するときは、

CH1: IN1, IN2 (OUT1, OUT2)
CH2: IN3, IN4 (OUT3, OUT4)
をペアとして接続してください。CH1, CH2 の定義は上記の通りとします。micro:bit でプログラムを書くときに指定するときに必要です。

IN1, IN2 および OUT1, OUT2 の極性にナーバスになる必要はないです。逆に回るだけなので、期待通りでなかったら接続を変えるか、ソフトの初期化の時の端子設定を逆にすればいいだけですから。

micro:bit と IN1〜IN4 を接続する必要がありますが micro:bit 側のピンは任意です(全部チェックしたわけではないですが)。また CH1, CH2 の両方のチャネルを接続しなくてもいいです。CH1 のみとか。IN1〜IN4 端子は内部でプルダウンされているので、何も接続していない場合は、例えば CH2 の IN3, IN4 に何も繋がない場合、OUT3, OUT4 はハイインピーダンスになるので問題ありません。

詳しくは LV8548MC のデータシートを参考にしてください。

ちなみに micro:bit に割り当てるピンに迷ったら、エッジコネクタとピンアウトの仕様を見てください。LED 表示やら、ボタン入力、アナログ入力など特別なファンクションに割り当てられていないのは P8 と P16 であることがわかります。自分の使いたい機能を持たないピンに割り当てれば良いと思います。
ただ、P0, P1, P2 以外の端子を利用しようとすると、Sparkfun などのマイクロビットブレイクアウトボード (リンクはマルツオンライン。色々な種類があって秋月などでも扱いがあります)が必要になります。上記写真では P13,14,15,16 に IN1,2,3,4 を割り当てています(これでは SPI 端子が使えません)。この手のボードを持っていない方は、まずは P0, P1, P2 を利用してみるのが良いかもしれません。

とりあえず DC モーターのハードはここまで。
micro:bit の LV8548MC 拡張機能パッケージやプログラミングについては次回









0 件のコメント: