赤外線LEDドライブ回路の決定版

[2017.1.31追記]Raspberry Piの赤外線が1mくらいしか届かないとお悩みの方へ。原因はソフトウェアにあるかもしれません。特にWiringPiを利用したプログラムは時間管理の精度が甘いため、信号を正確に再現できていない恐れがあります。

これまでのテストで2SC1815によるベタな赤外線LEDドライブ回路はRaspberry Piだと赤外線LEDを十分な明るさで点灯できないことが判明している。コレクタに300mAくらい流してもhFEが落ちないトランジスタがほしいのだが部品店ではなかなか見付からない。たぶん2SC1815の人気がありすぎてその付近の特性をもつほかのトランジスタは売れないのだと思う。仕方がないからできるだけ簡単な回路ですませようという気持ちを捨てて本格的なやつを作った。

ir_led_view

Raspberry Piからの制御信号はlircの既定値に合わせてGPIO17に出力(ブレッドボードだからどこへ接続してもいい)。これを2N7000で受け、赤外線LEDはIRFU9024NPBFでドライブする。IRFU9024NPBFはゲート電圧が電源電圧に対し-4.5V以下になれば1Aを流せる。その条件は2N7000が難なくクリアする。そしてオーディオマニアにウケそうなオールFET。トランジスタは相次いで製造が打ち切られており、いずれこういう回路が当たり前になるはずだ。
ir_led_sch
組み立てはブレッドボードだが、配線の仕方にちょっと気合を入れてみた。ジャンパを1本しか使っておらず、あとはただ部品を挿すだけ。しかもRaspberry Piへまっすぐ配線できる奇跡の部品配置。とはいえブレッドボードだからどんなに素晴らしくてもいずれはバラす運命。氷の彫刻みたいなもん。刹那の芸術だ。
ir_led_bb
赤外線LEDの電流は各部の電圧を調べる関係で点灯しっぱなしにしても壊れない135mAにとどめてある(本当は100mAまで)。IRFU9024NPBFが出力する電圧はオンのとき4.85V、オフのとき-0.06V(完璧にオフなのでLEDと抵抗次第)で、まさに理想的。本番は38kHzで点灯するのだから500mAくらいまで増量しようと思う。この回路ならそれに耐えられる(はず)。

ir_led_on

ガラケーで撮った画質の悪い写真で判断する限り光り方は2SC1815に計算上100mA(実質推定50mA)を流したときより圧倒的に明るい。ちなみに、赤外線LEDは燃え尽きてしまわないようこちらのプログラムで5秒おきに点灯/消灯させている。光っている様子は1眼レフで撮っても写るんだろうが、1眼レフのファインダだと光っているタイミングがわからない。

広告
カテゴリー: RaspBerryPi パーマリンク

赤外線LEDドライブ回路の決定版 への9件のフィードバック

  1. raspberry pi初心者 より:

    参考にさせていただいています。
    500mAに増量する場合、具体的にどこをどのように変更するのでしょうか?

  2. raspberry pi初心者 より:

    vintagechipsさん、情報ありがとうございます。
    色々試行錯誤してみます。

  3. はじめまして、クマガイと申します。当方三流電氣屋だったのでLEDドライブのくだりは何とか理解できます。しかしGPIO制御の方が良く分かりません。最近最新モデルRaspberry Pi2 ModelBを入手して弄っていますが管理人様のRaspberry のモデルは当方と違っていると思われ、上記リンクの「点灯/消灯プログラム」をそのまま適応出来ないと?考えています。とりあえずダウンロードしてviエディターで開いてみたのですがgpioポート番号を指定する部分が無い?様に(初心者ですいません)どこでポート番号を指定すれば良いか?教えていただけないでしょうか。ちなみにccでコンパイル出来るのは確認できました(笑)

    • vintagechips より:

      はじめましてこんにちは。「点灯/消灯プログラム」は特定の機種に依存しないのでRaspberry Piの全モデルはもとよりBeagleBone Blackなどでも動作します。GPIOの番号は引数で指定します。と、冒頭のコメントに書いてあります。また、コマンドラインプログラムの慣例に従い引数なしの「sudo ./wink」で実行したとき使いかたを表示するようになっています。

      • クマガイクニオ より:

        英語を読めなかった様で(^_^;)...理解できました。ありがとうございます。

  4. より:

    間違っているかもしれませんが、気になったので…FETのゲートは、定常状態では電流はほぼ流れませんが、オンオフ切り替え時に電流が流れるので、直接GPIOにつなぐのではなく、200Ω以上の抵抗を挟んだほうがいいのでは?

    参考資料
    FETのベースはcapacitive loadsにあたると思います。

    http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications

    Do not drive capacitive loads. Do not place a capacitive load directly across the pin. Limit current into any capacitive load to a maximum transient current of 16 mA. For example, if you use a low pass filter on an output pin, you must provide a series resistance of at least 3.3V/16mA = 200 Ω.

    • vintagechips より:

      ひさん、こんにちは。FETは容量性負荷です。抵抗を挟むのが理想です。腕に覚えがあるとお見受けしたので、この機会に詳細を説明させてください。問題は容量の大きさです。ご紹介いただいた文章は、FETより遥かに大きな本物の容量(キャパシタ)が負荷となるローバスフィルタの例ですから、たとえショートしても壊れない大きさの抵抗を入れるべきだといっています。一方、2N7000の容量は60pFです。DRAMを8個並べるとちょうどそのくらいです。こういう回路でもよくダンピング抵抗を入れますが、それはピンの破壊を防ぐものではなく、波形の乱れを抑えるためです。抵抗の代わりに出力10mAくらいのバッファを入れることもあります。出力16mAのピンならバッファより強力なので直結していいと思います。公式な見解として大丈夫と保証する度胸はありません。また、行儀が悪いという話ならその通りです。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中