EOS ストロボ光通信1の検証を踏まえて、まずはマニュアルリモート発光をプログラムで実現できるかどうか検証。
実現方法
実装の基本は、EPS32のRMTモジュールドライバーを使って行う。
パルス発光なので、キャリアによる変調は行わないこととした。
パルス幅は30μ秒から試していき、ストロボが反応する時間を微調整していくことととした。
参考にするリモートコードはフル発光のものをまず使用する。
パルスの状態としてはこんな感じ。
プログラム的なもの
プログラムはRMTのサンプルプログラムをほぼそのまま流用し、初期化パラメータと実際の送信データを次のようにした。
- 初期化パラメータ
RMT_DEFAULT_CONFIG_TXで初期化したのち、tx_config.carrier_enをfalseに、clk_divを80に設定。
80に設定したのは、パルスの周期の100μ秒で送信データを作成しやすいようにするため。 - 送信データ
{ 30, 1, 70, 0 }
上のデータの様に、ON/OFF時間の合計が100になる様に調整し、ONパルスの場合は前半を1にすることで対応。
上記を基本に、送信データのパラメータを追求していったところ、{ 60, 1, 40, 0 }というのがちょうどいい塩梅の比率となった。
パラメータ送信後、47ms後に発光指示のパルスを送信することで、指定したパラメータ(たぶん)でストロボが発光することを確認した。
回路的なもの
基本的な回路は、トランジスタでGPIOの出力を増幅し、LEDに高めの電流を流すようにしている。
まずは、高輝度の白色LEDを使ってみた。
LEDはNSPWR70CSS-K1というもので、順電圧3.1Vのものをパルス順電流Max180mAをちょい超えた188mAでドライブしたものを使用。いい抵抗値の物がなかったのでこんな中途半端なものになってしまった。
これを使ったところ、ストロボは全く反応することはなかった。
眼で見た感じ、結構な明るさはあったのだが。
次に、赤外線LEDを使ってみた。
OSI5FU5111Cというので、秋月で売られているもの。
こちらは、順電圧1.35Vでパルス順電流がMax1Aあるんだけど、使用しているトランジスタの関係で556mA(こっちもなんか中途半端だ)で駆動する回路にして見た。
こちらの方は問題なくストロボが反応してくれた。
LEDの赤外線LEDの放射方向が以下の様になっているためか、照射方向50cm離した位置にストロボがあっても反応はしてくれた。
横方向とかは、まったくだめだったけど。
白色LEDで反応しなかったのは、ストロボの受信部がそういう特性のものなのか、それとも単純にパワーが足りなかったのかは不明。
IR LEDのピーク波長は940nm、対して白色LEDはその部分の波長はほとんど出ていないようだった。
7Dは内蔵ストロボを使って外部ストロボを駆動しているみたいだが、ストロボ(キセノン)の特徴をちょっと調べてみたら紫外線から赤外線まで満遍なく出るようだ。
IR LEDでリモコン制御するというのは結構枯れた技術だと思うので、それを使っているのかな?
次に向けて
次は、パラメータ指定で発光量を調整できるかどうかと、E-TTL2を使用した場合の発光のプログラム化をやってみたい。
コメント