本記事の内容
これまで赤外線受信モジュールを活用してリモコンの信号等を解析してきましたが、そろそろ応用編として赤外線LEDで信号の発信に取り掛かろうと思います。
赤外線LEDを通常の方法で接続しても、なんとRaspberry Pi PicoのGPIOでは電流不足で、十分な輝度を確保できません。そこで、今回はMOSFETを活用して赤外線LEDの高出力化を目指してみました。
背景
そもそも、赤外線LEDの波長は940nmであり、人の目で見ることができません。目で見れないのでリモコンなど幅広く活用されているのですが、試しに赤外線LEDで信号を発信しても、それが強度として十分なのかが全く確認できないのです。
よくよく調べてみると、通常のLEDと異なり赤外線LEDはVF値が小さい分、標準電流が高くなっています(OSI5FU5111Cでは100mA)。Raspberry Pi PicoのGPIOでは一般に数mAの電流しか流せないので、実は赤外線LEDとしては圧倒的な電力不足に陥っているのです。
この問題を解決するべく、トランジスタの一種であるMOSFETを活用して、赤外線LEDを高輝度化させることとしました。
参考サイト
パーツから配線まで、電脳伝説様の「赤外線LEDドライブ回路の決定版」を参考にさせていただきました。記事の質も非常に高く、大変勉強になる内容になります。(今回は動作原理の説明もかねて、図を拝借・加筆しております。)
必要なもの
秋月電子にて、以下の2種類のMOSFETを調達しました。
2N7000は一個単位でも購入できたのですね、、、買ってから気づく、いつもの後の祭りです。
MOSFETとは
トランジスタ初心者の説明となりますが、MOSFETとは一言で言うと、電流の制御素子です。3つの端子(Gate、Source、Drain)から構成され、NchのMOSFETであれば、Gateに電圧を加えた時だけ、SourceとDrainの間に電流が流れます。
Raspberry Pi PicoでMOSFET使う理由は、LEDの点灯にあたり、大きな電流を制御するためです。Raspberry Pi PicoのGPIOでは数mAの電流が精いっぱいですが、VBUSであれば90mAまで流すことができます。
今回はLED増幅回路(いわゆるLEDのドライブ)として2種類のMOSFETを組み合わせています。
回路図と動作原理
回路図は電脳伝説様の「赤外線LEDドライブ回路の決定版」をご参考にください。動作原理としては以下のようになります。
GPIOがHighの場合
2N7000はN型のMOSFETなので、GPIOからGateに出力電圧がかかると(①)、R1の抵抗に電流が流れます(②)。すると、IRFU9024NPBFのGateの電位が0Vとなります。
IRFU9024NPBFはP型のMOSFETなので、Source(5V)とGate(0V)に電位差が生まれると、R2とLEDに電流が流れるようになります(③)。
GPIOがLowの場合
2N7000のGateの出力電圧が3V未満の場合(①)、R1はGNDと絶縁され、電流は流れません(②)。すると、IRFU9024NPBFのGateの電位が5Vとなります。
IRFU9024NPBFのSource(5V)とGate(5V)に電位差がないので、R2とLEDの回路に電流が流れなくなります。
検証結果
手持ちのRaspberry Pi Picoが使用中だったため、Seeeduino xiao RP2040で代用しています。プログラムコードはただのGPIO出力で良いので、以下の通りでいたってシンプルです。
import machine,time
high_led = machine.Pin(0, machine.Pin.OUT)#MOSFETで増強
low_led = machine.Pin(6, machine.Pin.OUT)#通常のGPIO出力
high_led.value(1)#MOSFETで増強
low_led.value(1)#通常のGPIO出力
time.sleep(10)
high_led.value(0)
low_led.value(0)
実行した結果の写真がこちらです。上がMOSFETで増強した赤外線LED、下が通常のGPIO出力で点灯させた赤外線LEDになります。赤外線の強度が段違いで強まったことが確認できました。
あとは増強した赤外線LEDを使用して、リモコンの信号出力を検証してみたいと思います。それでは次回の記事でお会いしましょう。
コメント