モーター制御編1~RaspberryPi Picoでモーターを動かす準備~
2024年8月9日(金)は、6割ほどの出席でした。夏休み、三連休前というのにみんな熱心です。
- 18時00分~18時15分 タイピング練習
- 18時15分~18時30分 キーボード練習
- 18時30分~19時50分 モーターを動かす準備
- 19時50分~20時00分 あとかたづけ
Contents
タイピング練習とキーボード練習
タイピングの練習は、「寿司打」、キーボードの練習は「テトリス」です。
矢印キーを使うくせをつけてほしい、ということでテトリスをはじめました。はじめて間もないのですが、もう慣れたようです。あとは、エディタ上で矢印キーを使えるかどうかということですね。
ところで、タッチタイピングで驚愕の事実が判明しました。
入力精度ではまだまだわたしが一番ですが、入力速度だと小学生に負けていることがわかりました。恐るべし! 1年経たずして200字/分を超えてくるセンスに脱帽です。
そしてもうひとり、ここ2ヶ月で圧倒的にスコアを伸ばしてきている小学生のメンバーがいます。きっかけがあったようで、ブレイクポイントを超えたのではと考えています。素晴らしい!
Lチカのプログラムでモーターは動くか?
今回からモーター制御に取り組みます。まずは、かんたんにLチカプログラムの確認です。
from machine import Pin
import utime
motor = Pin(15, Pin.OUT)
while True:
motor.value(1)
utime.sleep(1)
motor.value(0)
utime.sleep(1)
一秒点灯、一秒消灯を繰り返すLチカプログラムと全く同じです。「led」を「motor」に置き換えただけです。
さて、これで実際にLEDをモーターに接続をかえて動くかどうか?
もちろん、動きません。
なぜか。Raspberry Pi PicoはGPIO1ピンあたり、4mA流すことができます。ところが、モーターを駆動するには2A程度の電流を流す必要があります。実に500倍の電流を必要としているわけで、動くわけがないのです。
トランジスタを使えば動かせる
ラズPicoに直接モーターをつないでも動きません。しかし、トランジスタを使うとモーターを動かせます。
お試しで使ったのは、FETのK4017。ぶっつけ本番、見事動きました。
トランジスタは、水道の蛇口のイメージで使います。線が3本あり、それぞれの意味は以下のとおりです。
- ゲート : 水を止めたり出したりするハンドル(弁)
- ドレイン : 水の入口
- ソース : 水の出口
つまり、ゲートをラズPicoで制御してあげればよいのです。
しかしながら、今回のテーマでは、もっと複雑な制御をしたいのでモータードライバを使います。
工作しやすいように、電池ボックス・モーター・ドライバをはんだ付け
理論的なところは、これくらいにしておきます。これから回路を組み立てて、プログラミングしていくのに、前準備のはんだ付けをします。具体的には、電池ボックス・モーターはリード線にピンを付けて熱収縮チューブで保護をします。
また、モータードライバにもピンをつけます。これにより、ブレッドボードでかんたんに試作ができます。
学校では、中学校の技術科目で使うはんだごてです。もちろん小学生のメンバーにもやってもらいます。写真を見ても分かる通り、真剣そのもの。
「難しくてもやる」「難しいことをやる」
だからこそ到達できる領域があるのだと考えています。妥協しません。
さて、来週は残りのメンバーのはんだ付けと、制御プログラムを書こうかなと考えています。