« ゴーグルに付いたLEDランプが接触不良 | トップページ | Atmega328P タイマー/カウンタ1の高速PWM動作 »

2022年7月23日 (土)

周波数つながりで、赤外線受光モジュールのBPF周波数

2022年7月10日:百均屋さんの紫外線LEDランプ
2022年7月7日:「糸ようじ」のプラケースを使うシリーズ:赤外線リモコンチェッカー
2022年7月8日:手持ちの赤外線リモコン受光モジュールを発掘してみたら・・・
ということで、周波数や波長をあれこれと考えておりました。

発掘した赤外線リモコン受光モジュールが6種類。
このセンサのBPF周波数、つまり赤外線のキャリアー周波数が
どんなものなのかを計ってみました。

通常は「38kHz」。
品種によってはもっと低い周波数や高い周波数が使われると。
そこで・・・
 ・Arduino-UNOをベースに。
 ・22kHz~54kHzの範囲で周波数を可変。
    中心を38kHzにして±16kHz 
 ・この周波数で赤外光LEDを点灯。
    駆動デューティは1/3
 ・駆動するパルスは「8波」。
 ・5msごとに周波数を200Hzステップで
  変えながらパルスを出力。
 ・160ステップなので0.8秒サイクル。
 ・赤外線モジュールからの応答を見れば
  どのあたりの周波数を拾うのか分かる。
 ・けっこう感度が良いので赤外LEDの駆動
  電流をボリュームで絞れるように。
 ・オシロスコープで観察できるように
  周波数スキャンの様子をPWMでD/Aし、
  ノコギリ波にして出力。
 ・シリアルでも出力。
   5msに間に合うよう115.2kBPSに
 ・センサーからの信号を8波パルスをオフする
  タイミングでラッチしてPB2へ出力。

まず、こんな回路。
E3

LED駆動の様子です。
E1_20220723161901
8波の駆動パルスを出して、その応答を見ます。
  反応無しなら「H」。
  反応があれば「L」。

周波数をスキャンして「L」が続くところが、
BPFの中心周波数になると想像できます。

E2

LEDとセンサーをくっつけると全周波数でLになってしまい、
応答周波数が分からなくなってしまいます。
LEDの電流を小さくして、LEDとセンサーをちょっと
離して様子を見ます。
センサーの種類により、ずいぶんと感度が異なります。
応答感度の中央が見れるよう適当に調整。
  ※センサーの出力信号はデジタルなので、
   強弱はわかりません。
   そこで応答周波数の「幅」から、中心を想像します。
  ※センサーをソケットで抜き差しできるよう
   「OUT GND VCC」の順にピンヘッダに
   ハンダしています。

実験の様子
C01_20220723163901

結果。
センサーの写真とオシロ波形。
オシロの上段波形がスキャンしている周波数に比例した
ノコギリ波。
下段がセンサーの応答。 (Lで検出)

【01】
01_20220723162401
B001_20220723162401  

【02】
02_20220723162501
B002_20220723162501

【03】
03_20220723162701
B003_20220723162801

【04】
04
B004_20220723162801

【05】
05
B005_20220723162801

【06】
06
B006_20220723162901

このように6つある中で4つの中心周波数はほぼ「38kHz」。
2つが「低い目」で、「28~32kHz」あたりになっているのが
浮かんできました。

実質、LEDをセンサーに近づけると、フィルタ周波数の
違いに関係なく応答しちゃいそうでので、到達距離を問題に
しない限り、気にしなくて良さそうです。

実行中の様子
D01

割り込み処理の様子
D04

シリアル出力の様子

 22.0kHz 1 1/727
 22.2kHz 1 1/720
   :
 37.8kHz 0 1/423
 38.0kHz 0 1/421
 38.2kHz 0 1/418
   :
 53.8kHz 1 1/297
 54.0kHz 1 1/296

22kHz~54kHzを繰り返す
先頭から、
 LED駆動周波数(8波の)
 センサー応答 0で検出
 周波数を計算する「16MHz/n」のn値

※制御スケッチ ファイルタイプを .ino→ .txtに。
    ・ダウンロード - ir_frq_scan2.txt

・タイマー0をシステムから取り上げて1msタイマー
 割り込み処理。
    ※delayやmillisが使えないので注意
・タイマー1のPWM出力でLED駆動パルスを生成。
・タイマー2のPWM出力でノコギリ波発生用D/Aを出力。

※参考
  ・Atmega328P タイマー/カウンタ1の高速PWM動作




|

« ゴーグルに付いたLEDランプが接触不良 | トップページ | Atmega328P タイマー/カウンタ1の高速PWM動作 »

Arduino」カテゴリの記事

電子部品」カテゴリの記事

IrDA」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« ゴーグルに付いたLEDランプが接触不良 | トップページ | Atmega328P タイマー/カウンタ1の高速PWM動作 »