■相変わらずリモコンのファームやハードやコントロールソフトを調整中。前々から疑問に思っていたのは、TVはきれいに反応するのにエアコンは反応が鈍い。受光部の正面から向けないと受信しない。放射強度の問題かとも思ったけど、あまり関係なさそうだし、そもそもリモコンは乾電池2本で発光させているので、そんな大出力だとあっというまにバッテリーが上がる。
ヘンだなあとエアコンそのものを調べてみることにした。エアコンのケースを開けて、赤外線LEDにかかる電圧をオシロスコープで測定した。調べたかったのは信号ではなくてキャリアの周波数。測定期間を短くしていくとコマンド信号の波形ではなく、キャリア周波数での規則的な矩形波が見えてくる。ソフトオシロの測定ではキャリア周波数は36.5KHzだった。これまでは39KHzのPWM波に信号を載せていたから、エアコンからすると高めのキャリア波だったことになる。
PWMはAVRのファームウェアで生成しているから、その調整はハードウェアをいじるよりは簡単。エアコンの信号を再現するときはPWMの周波数を36.5KHz付近になるよう設定して信号送信したら、以前よりはるかに受信しやすくなった。ななめからでも反応する。
不思議なことは他にもあって、そもそもXBeeが不調。サーバーからの送信は受信できるけど、送信ができていない様子。時々できることがあるのだけど、しばらくすると不調になったり不安定。配線周りやAVRからそもそもUSARTの送信ができているのかを確認しても、特におかしなことはない。
ただ、オシロスコープで波形確認していて気付いたのだけど、電圧が高い。3.3VのACアダプターを使っていたのだけど、3.8Vほど出ている。XBeeの技術文書だと3.6V程度が限界とされているので、その耐圧を越えているのは確か。モジュールを交換してドングルを使うと通信はできるのでモジュールに問題があるわけではないことは確認できた。一応定格電圧まで下げた状態で確認したいけど、3.8Vで、差分が0.5Vだとずいぶん微妙。ショットバリアダイオードで降下させる手もあるけれど、5VのACアダプターに交換して、3.3Vへ降圧する3端子レギュレーターを使うことにした。
電源部に3端子レギュレーターを挿入して3.3V給電にしたらすんなり通信できた。やれやれ。しかしこの中途半端なACアダプター余ってしまうけど、どうしよう。