IR Repeater


はじめに

私事ですが, 最近テレビ台を買い換えました. 今度の奴は棚の前面がガラスで無く 木でできてます. そのため, テレビ台中にある DVD プレーヤや HDD レコーダ類が見えません. 家具屋で最初, 嫁が「コレがいい」と言った時は反対しました. 見た目はいいのですが, DVD プレーヤや HDD レコーダ本体に リモコンの赤外線光が届かないため, 使おうとする度に, いちいちテレビに近づいてテレビ台の扉を開かなければならないからです. 何のためのリモコンかわからなくなります.

といった反対理由を嫁に述べているうちにふと「リピータ作ればいいじゃん」 と思いつきました. テレビの下にでもこっそりリモコン受信素子を忍ばせて信号を傍受し, 得た信号の on/off を 38kHz に乗せて赤外線 LED を光らすだけですので, 秋月で部品が揃いそうです.

家具屋から帰ると, 「赤外線 リピータ」とか「リモコン リピータ」 「IR Repeater」などで早速検索かけてみました. 結構いろいろな方が自作されています. ただ, 私が家具屋で「こうすれば出来るな」と考えていたものとちょっと違っていて, タイマ IC(555) で 38kHz を作るという作品が多かったです. たしかにシンプルになり賢い設計です. ただ, 以下に述べる私の設計方針と趣が若干異なっている気がしたので, 当初の方法を貫くことにしました.

設計方針

当初自分が考えていた設計方針は以下の通りです.

  1. 赤外線受光部分は目に見えるので, できるだけかっこよく作る.
  2. 常時動かすものなので, できるだけ低消費電力に作る.
  3. 扉を開けて操作した時, 自ら発した光を受光してループが形成されないよう 扉を開けたと認識された時は動かないようにする.
  4. 本テレビ台は左右二部屋あって, それぞれ独立した扉があるので, 1 入力 2 出力とし, 3. の機能は部屋独立とする (開いてる方の部屋のみ発光しない).

ここで 2. の省電力ですが, 当初乾電池で動かそうと考えていましたが, いろいろ面倒となり,

という方針にしました. また, 3 の扉の開閉は, マイクロスイッチ等を使って機械的に知ることもできます. しかしスイッチ類を取り付けるためには, せっかく買ったテレビ台に取り付け用穴を 空けるなど, 傷付けなければならない可能性があります. それは嫁に怒られます. そこで今回は光センサを使うことにしました.

光センサがある照度以上だと扉が開かれたと判断して赤外線の発光をしないという 処理はトランジスタやオペアンプを駆使すればアナログ的に出来ると思います. しかし, おそらく回路規模が増えそうです. 4. のため, 左右に 1 個づつ作って置くよりは マイコンで一括処理させた方がシンプルになりそうです.

回路図

といった考えに基づき, 部品を揃えて準備していたのですが, テレビ台が配送されると, 現状の機器は部屋一つで済むことがわかりました (もろもろの事情で VHS のプレーヤをクビにしたというのも一因). すなわち, 上記方針 4 の出力を二つにすることは, 当分 (AV 機器が新たに 追加しない限り) 必要ないことになりました.

さらに, 電源を分配元としていた AC アダプタですが, 表示は5V ですが, テスタを当ててみると 5.5V 弱あります. 一応規格範囲ですが上限ギリギリなため, 若干不安です.

といった理由から次のような回路にしました. 全部で 3 つの箱 (Box 1〜3) で構成されています. 将来出力を 2 個にする時は Box 3 を複製して, マイコンと適当につなげ, ファームもそれに応じて作り変えればよいという考えです.


U1 PIC16F648A
U2 PL-IRM2161-C438 赤外線受光モジュール
Tr1 2SA1015
Tr2 NJL7502L 照度センサ (未使用)
D1 TL431 シャントレギュレータ
D2〜5 赤外線 LED
R1,5,6,7 100Ω
R2,3 220kΩ
R4 2.2kΩ
R8,9 100Ω (未使用)
C1 100uF 電解 16V
C2,4 47uF 電解 16V
C3,5 0.1u 50V 積層セラミック

ここで回路図の緑の部分 (扉開閉検出用の光センサ) ですが, PIC 内のコンパレータに入れて開閉検出しようと思っていたのですが, 明るくても数十mV 程度しか出力されず, 増幅なしでは難しいということがわかりました. 面倒なので, 当面この機能は使わないこととしました.

ファームウェア

PIC のファームウェアは こちらです. 当初は 16 秒ほど無音 (無光?) 状態なら Sleep し, 受光モジュールの信号を INT1 で受けて Sleep から目覚め, 動作するという 構想でしたが, なぜか Sleep からの覚醒がうまくいきません. おそらくしょうもない理由だとは思いますが 調べるのが面倒だったため, Sleep の代わりに動作周波数を 48kHz に落とすようにしました. たまたま 648A がストックにあったので採用しましたが, 88 だともっと周波数が下げられるので, より省エネになるかもしれません.

写真

受光ユニット (Box2) の方は常時見えているので, 少し真剣に作りました. ケーブルは 100 円ショップで買ったイヤホン延長ケーブルを流用しました. 左は全体像, 右はテレビの下に隠した時の状態です.

発光ユニット (Box3) の方は普段テレビ台の中に隠れているため, 受光ユニットほど気をつかいませんでした. 直接相手方の受光素子に光を向けてないため, 反射した時に生じる 拡散光が使われます. 上手く行くか心配だったのですが, 大丈夫でした.

注意点

数回 DVD プレーヤや HDD レコーダが長時間起動したままということがありました. ガラスで無いので, 本体の LED 等が点灯していても気づかないことが原因です. 現在は出かける前や寝る前, 扉を開いて電源が落ちているか確認するように していますが, ちょっと不便です. まぁ本製作物とは直接関係ありませんが, 万一本ページを見て奮起された方は ご注意ください.


[戻る]