エレクトロニクスに関する基礎知識やさまざまな豆知識を紹介する新シリーズ。今さらに人に聞けない、でも自信を持って理解しているかは怪しい、そんな方にぜひ参考にして頂くべく、基本的な内容から応用につながる部分まで、幅広く紹介していきたいと思います。
記念すべき第1回は「トランジスタ」を取り上げていきます。「トランジスタ」は電子工作に取り組む上でとても便利な部品で、特にArduinoなどのマイコンを使ってLEDやモータを制御するときには避けて通ることができない重要なものです。
しかし、電子工作初学者にとっては使い方を理解するのがちょっと難しい部品でもあります。電子工作を始めたときに使う、電池・LED・抵抗・スイッチはほとんど2本足。トランジスタは3本足。もはやどこに何をつなげばいいのかわかりません。私も最初はそうでした。
今回の記事では、トランジスタの使い方が全くわからないという方向けに、電子工作でよく使う方法を例に、紹介していきます。
目次
- トランジスタとは
- 水の流れで例えてみる
- モノには限度がある
- トランジスタの基礎知識と選び方
- トランジスタを使ってみよう
- 端子の順番は「え・く・ぼ」
- 負荷を大きくしてみよう
- Arduinoで点滅させてみよう
- まとめ
1. トランジスタとは
トランジスタの役割は「増幅」と「スイッチング」です。「増幅」というのは「小さな信号を大きな信号に増幅する」という意味で、例えばラジオのようなアンテナで受信した微弱な信号を増幅してスピーカを鳴らす部分で使われます。中学校や高校の技術科の授業でラジオの半田付けをしたという方は、まさにこのトランジスタを半田付けしているかもしれません。
「スイッチング」は、ラジオの音声信号のような滑らかな波(アナログ信号)でなく、0か1か(デジタル信号)でON/OFFを切り替えるスイッチとしての動作となります。電子工作ではLEDやモーターをON/OFFするときに使うことが多いです。
2. 水の流れで例えてみる
増幅・スイッチングと言われてもいまいちピンとこない方もいらっしゃると思います。電気回路のしくみをイメージしにくいときは水の流れで置き換えて考えてみると良いでしょう。
トランジスタは図2.1の左側のような回路記号で示されます。端子は3本あり、B(ベース)・E(エミッタ)・C(コレクタ)という名前がそれぞれの端子についています。
※NPN型というのはトランジスタの型のことで、これともう一つPNP型というものがありますが、ここではあまり気にせず「よく使うのはNPN型」くらいの認識で大丈夫です。
これを今回は図2.1の右側のような水流モデルに置き換えます。B側の栓はB側から水を流すことで開閉させることができ、Bの細い管とCの太い管の栓の開閉が連動します。
トランジスタによる「スイッチング」の動作は水流モデルに例えると図2.2のように説明することができます。図2.2の左のようにBに水を流さないと細い管の栓は閉じられCの太い管の水も流れません。一方、右のようにBに水を流すと栓は開きCの太い管の水も一緒に流れます。
このように細い管の栓の開閉をさせることで太い管の栓の開閉を制御することができるというのが、このモデルで分かります。
「なんでわざわざ連動する栓なんて使っているの?最初から太い管の栓を開閉すればいいじゃないか」と言いたい方もいらっしゃると思いますが、ここで重要なのは「小さな水流で大きな水流を制御する(太い管の栓の開閉を制御する)ことができる」という点です。チョロチョロと少ない水を流すだけで大きな管の栓を開閉できるのは嬉しいことです。
トランジスタはこの水流モデルのように、小さな電流で大きな電流を必要とするものを動かすことができるため、「増幅」や「スイッチング」をする用途で使われます。
3. モノには限度がある
電子部品には種類やサイズによって「電流は◯◯A(アンペア)までしか流せない」「電圧はこの範囲でしか使えない」といった制限が必ずあり、このような仕様を「定格」と呼びます。
例えば、電子工作でよく使うArduino。スタンダードなモデルであるArduino UNOに使われているマイコンのチップには「ATMEGA328P-PU」という型番のマイコンが使われています。
マイコンチップATMEGA328P-PUのデータシート(下記参照)を確認すると「電気的特性-絶対最大定格」という項目で「入出力ピン毎のDC電流は最大40.0mA」と示されています。
【参照】ATMEGA328P-PUデータシート 205頁より抜粋
https://avr.jp/user/DS/PDF/mega328P.pdf
これはよくArduinoでLEDを光らせるときに1つの汎用入出力ピンに接続して光らせますが、このときに「40mA以上流すとほぼ確実に壊れますよ」ということを説明しているものです。
LED1個あたり10mAの電流で光らせているとすると、LEDを並列に4個接続するとほぼ確実に壊れてしまうということになります。「10個のLEDを光らせたい!」ということがあったときに4個までしか光らせられないのはちょっと悲しいですよね。そんなときに活躍するのが、トランジスタです。
4. トランジスタの基礎知識と選び方
電子工作でトランジスタを使う際に一番重要なのがコレクタ電流(Ic)の定格です。コレクタ電流というのは、トランジスタのコレクタ端子に流れ込む電流の定格値のことで「このトランジスタなら最大この電流まで流すことができるよ」という指標になります。この値の大小によって負荷(LEDやモータ)に何アンペア流すことができるのかが決まるので、とても重要なパラメータです。
各端子に関わる電流の名称は図4.1のように呼ばれており、「このトランジスタは電流を最大何倍に増幅してくれるのか」を示す電流増幅率h_FEは図4.1中の式によって表されています。「出力電流I_Cは、入力電流I_Bのh_FE倍になる」というとても簡単な関係式です。
インターネットでトランジスタが販売されているショップのページを開くとたくさんのトランジスタが出てきます。トランジスタを選ぶ際には型(接合構造;NPNかPNPか)・コレクタ電流定格・電流増幅率あたりに気をつけながら選ぶと良いでしょう。
今回使用するトランジスタには「2SC1740S」を使います。NPN型のトランジスタで、コレクタ電流の定格は150mAとなっております。今回はLEDを1個あたり10mA流し、それを10個並列に接続して合計100mAのスイッチングをおこないますので、定格の範囲内に収まっております。
【参照】秋月電子通商 トランジスタ 2SC1740S
https://akizukidenshi.com/catalog/g/gI-11858/
5. トランジスタを使ってみよう
さあ、早速ブレッドボードで配線をして使ってみましょう!まずはLEDを1個だけスイッチングさせてみます。
実際にスイッチを押してベース電流を流すと、コレクタ電流も流れてLEDが点灯します。
6. 端子の順番は「え・く・ぼ」
トランジスタの端子は3本あり、その1本ずつにベース(B)・エミッタ(E)・コレクタ(C)のいずれかが割り当てられているわけですが、部品本体にその端子名は記載されておりません。そのため部品を使用する前に端子の割り当てが記載されている「データシート」を必ず確認する必要があります。データシートは部品の型番で検索したり、部品の販売ページで公開されたりしておりますが、毎回それを見に行くのも大変なので端子の順番の覚え方も解説します。
トランジスタの端子は部品の型番が刻印されている面(今回使用する「2SC1740S」の場合は「C1740」と記載されている)を手前にした状態が左右の向きの基準となります。電子工作でよく使われるトランジスタはこの向きで左の足からエミッタ(E)・コレクタ(C)・ベース(B)の順番に並んでいるものが多いです。この「E・C・B」の順番は語呂合わせで「え・く・ぼ」と呼ばれており、データシートを確認する手間を省きたいときはこのようにして端子の順番を見ることがよくあります。
ただし、この「えくぼ」の順番は全てのトランジスタで統一されているわけではありません。同じ外観のトランジスタでもたまに端子の順番が入れ替わっていたり、表面実装のトランジスタもその順番が違ったりするので、回路を組み立て始めるときや今まで使ったことがない型番のトランジスタを使うときは必ずデータシートを確認するようにしましょう。
7. 負荷を大きくしてみよう
これまででトランジスタを用いたスイッチング回路を使えるようになりました。せっかくなのでLEDを1個から10個に増やしてみましょう!組み立てる回路は図7.1のとおりです。
10個のLEDを点滅させるとこのようになります。
8. Arduinoで点滅させてみよう
最後に先ほどのトランジスタを用いたスイッチング回路のプッシュスイッチの部分をArduinoの汎用入出力ポートに置き換えることで、指で押さずに自動的にLEDを点滅させてみます。このようなマイコン制御をする場面でトランジスタは大活躍します。
※Arduinoへの電源供給はUSBケーブルでパソコンからおこなっています
Arduinoのプログラムは特別なことはおこなわず、Arduino IDEにサンプルプログラムとして用意されている「blink.ino」を書き込んで実行します。ソースコード内にある「LED_BUITIN」はArduino UNOのボード上に実装されているLEDを使うためのピン番号ですが、これは13番ピンにもつながっているので、13番ピンをブレッドボード上のトランジスタのベース端子に接続すれば連動させることができます。
なお、配線の際にはブレッドボードのGND(電池のマイナス極)とArduinoのGNDを必ず接続してください。この接続がないと回路が正しく動作しません。ブレッドボードでの実験を行っているときにGNDの接続忘れは頻繁に起こるミスなのでよく確認しましょう。
Arduinoサンプルプログラム blink.ino(setup(), loop()部分のみ抜粋)
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Arduinoを使ったLEDのスイッチングの様子は下の動画のようになります。
Arduinoのポートは1つあたり40mAが絶対最大定格であると述べましたが、このようにトランジスタを使うことでそれ以上の負荷のスイッチングを制御することが可能となります。
9. まとめ
今回はトランジスタの基本的な使用方法を学びながら、プッシュスイッチやArduinoで実際にトランジスタを用いたスイッチングをおこないました。トランジスタはLEDやモータを制御するときはもちろんセンサやアンプなど、電子工作ではどんなときでも使うと言っても過言ではありません。トランジスタを使えるようになれば電子工作で楽しめる幅もグッと広がるので、ぜひ、いろいろ回路の製作にチャレンジしてみてください!
今回の連載の流れ
第1回:はじめてのトランジスタ(今回)
第2回:はじめてのモータドライバ
第3回:はじめての抵抗器
第4回:論理回路の基礎
第5回:テスターの使い方
※ROHM「エレクトロニクス豆知識」はこちらから!