福西です。
今年度のロボット工作は、それまでの市販のロボットの応用からは少し離れて、「ディスクリートにロボットを一台作る」という目標で進めています。
これは、私自身の反省でもあるのですが、市販のものだと、どうしても「動いて当たり前」という意識が脳裏によぎってしまうのと、ブラックボックスで動いているところに興味がそがれてしまうという問題がありました。そこで、「一」からロボットを作ることで、「こいつのことを一番よく知っているのは自分だ」という納得づくの自信を掴んでもらって、「動いた!」という喜びをよりいっそう深く感じてもらおうと考えました。
(とは言え、マイコンまではさすがに作れないので、それを使ったところからのスタートになりますが(4bitマイコン、作りたいですけれど^^)…そこはどうかご了承ください)。
「動かして何かをさせる」ということに興味があった生徒には、大変申し訳ないのですが、ここでいったん、「動く」ということそれ自体を目的にして、より中身の根本的な理解を土台に据えたいと考えています。
春学期は、ATmega328Pという8bitマイコンを乗せる基板(脳みそ)を作り、半田付けの作業がメインとなりました。そして秋学期では、ロボットの手足(の駆動係)となる、モータードライバーを作成しています。モータードライバーには、市販の便利なICがありますが、クラスではトランジスタを使って、これもディスクリートに組み立てています。
トランジスタは、簡単に言えば、「スイッチ」です。(厳密には他にも用途がありますが、それが一番分かりやすいと思います)。
ただし、普通のスイッチでは、指で押さなければならないので、いちいち対象に近づいていって、それを切り替えるのでは厄介です(特に動き回るロボットの場合は)。そこで、指のかわりに、「電気で押すスイッチ」というのが、トランジスタです。電気であれば、遠隔ないしプログラムで制御することができます。
#ちなみにこのオンオフを0、1に対応させて、無数のトランジスタで組み上げたのが、計算機(パソコン、もちろんマイコンも含む)です。その一番単純な形である、半加算器、全加算器を作ることができれば、かなりパソコンの原理に触れることができるでしょう。それはきっと面白いはずです。中学生の授業範囲で実現できるかどうかは全く分かりませんが、もし可能であれば、ロボットの「次」の目標にしたいと思っています。
さて、トランジスタには、歴史的に二種類あります。古い方はバイポーラ型、新しい方はユニポーラ型です。前者は普通の「トランジスタ」、後者は「FET」と呼ばれています。名前は詳しくなくてもいいのですが、要は、この両方に共通な仕組みを押さえた上で、どれぐらい性能が違うのかということが考察のポイントとなります。結論から言うと、FETの方が格段に性能が高いです。それを使えば、限界までチューンできるという、ディスクリートならではのメリットがここにあります。市販のモータードライバーICは、たいてい「普通」の方のトランジスタで作られており、仮に電源が5Vだとすると、実際には3~3.5Vの力を引き出して動かすことになります。この差は、モータードライバーICが1.5V~2Vとってしまった分です(これを電圧降下といいます)。一方、これをFETで作ると、どうなるでしょうか。私がためしにFETで作ってみたモータードライバーでは、5V電源を4.8Vまで引き出して使用でき、ほとんど電圧降下なくロボットには最適であることがわかりました。中学生たちにもぜひ挑戦してもらいたいところです。
また、トランジスタには、相反する(互いに補い合う)二種類のタイプがあります。普通のトランジスタではNPN型とPNP型、FETではNchとPchです。クラスで使っているFETだと、Nchは0Vで、Pchは5VでONになるスイッチと思ってもらえればいいです。
トランジスタは、スイッチとはいえ、物理スイッチやLEDとは違って、足が2本ではなく3本あるので、それぞれの足の役割を覚えたり、慣れるまでには時間がかかります。しかし慣れてしまえば、そのトランジスタがさまざまなところで活躍し、土台を支えていることに驚くことでしょう。今号の山びこ通信で「原理から」と書いたのは、実はそこを知ってもらうことが念頭にありました。ちなみに私が小学生の頃、電子ブロックで遊んでいたとき、このトランジスタがたくさん出てきました。けれどもそれが何者かがさっぱり分からず、苦手意識を持ってしまった覚えがあります。なので、このクラスではじっくり3本足の説明をして、ぜひ頼もしい友達になってもらいたいと思います。
というわけで、9/7の初回は、上のようなトランジスタの説明をし、ためしに簡単な動作回路(トランジスタを2個使ったプッシュプル回路)をブレッドボード上で組んで確認しました。この理解をもとに、次回はHブリッジ回路((プッシュプル回路を2個つなげたもので、モータードライバーとほぼ等価な回路)の実験をする予定です。参考までに、今学期の流れをお伝えしておきます。
1回目(9/7) プッシュプル回路(トランジスタ2個)
2回目(9/21) Hブリッジ回路(トランジスタ4個)
3回目(10/5) モータードライバー回路(トランジスタ6個) #ブレッドボード上で
4回目(10/19) FETの選定、半田付け(モータードライバーの製作)
5回目(11/2) 半田付け
6回目(11/16) 半田付け
そしてモータードライバーが一段落した後(冬学期)は、トランジスタ(FET)を使って、NOT回路、AND回路、OR回路といったロジック回路も作りたいと考えています。
#これは予定の予定ですが、ロジック回路を作った成果として、プログラムによらない、まったくのハード的な工夫によるライントレースをしてみたいと考えています。もちろん、ライントレースは、春学期の基板と今の自作モータードライバを使ってプログラムで行ってもできます。その二つを比較して、どちらでも「同じことができる」ということを、ハード的、ソフト的に両方から認識した時には、中学生たちの頭の中にはきっと、面白い知的大爆発が起こるだろうと期待しています。