Canon マクロリングライトML-3に調光機能を付ける

あまり外に出歩く方ではないので、スタンド等で照らして三脚を使って撮影をすればなんとかなってはいたのですが、影が出来やすかったり、やはりセッティングが面倒なので、リングライト欲しいなとは思っていました。現行品は結構お高いですが、TTLを使用しないのであれば、フィルムカメラ用が使えるだろうという事で2000円程でML-3を入手しました。
が、フルパワーで発光すると、露出オーバーとなってしまうようなので、改造が必要となります。単純な方法はコンデンサの容量か充電電圧を下げる事ですが、どうせ改造するなら調光が出来るようにしようと思い、試してみたところ上手くいきましたので以下に説明します。

フラッシュ動作概要

大概の一眼レフカメラには、ホットシューもしくはアクセサリシュート呼ばれる制御用の端子がついており、これは概ね各社共通となっています。概ねというのは、旧来フィルムカメラ用に各社共通の規格があり、現在の規格はこれの後身に当たる為で、マウントし、光らせることが出来るという意味です。
制御はマウント部分をGNDとし、Flash端子もしくはX端子と呼ばれる電極をGNDに短絡する事で、フラッシュのトリガーを与えます。
他に、フラッシュ以外のアクセサリーと付けたり、自動調光を機能させるために各社電極を追加しており、Canonのデジカメ場合はGND+5ピン構成になっていて、3世代の規格があり、E-TTL/E-TTLIIという規格に対応したものでないと、フィルムカメラ用(A-TTL)のものは動作しないようです。
ML-3については、Flash端子以外を接続しないようにすれば発光する事は確認できました。

A-TTL以降の調光機能がサポートされているフラッシュは、内部的には放電をスタートさせておいて、Quench信号によって、所定の時間で放電を停止させるしくみになっています。この所定の時間をマニュアル操作で与えることが出来れば調光出来るという事になります。
この信号は制御ICが出しているので、シリアル通信で予め設定しておくものと想定していましたが、通信プロトコルが判りませんでした。私はフィルムカメラを所持していないので、解析も不可。

ネットでピンアサインを調べたところ、E-TTLまではそのような仕組みではない模様(もしかしたら通信で与えておくこともでき下位互換性の為に残っている可能性もあるが)。Quench端子なるものが存在していることが判りました。ここに一定のディレイを持った信号の入力すれば動きそうな気がします。

E-TTL アクセサリーシュー Ponout
Pin#Signal
ETTLアクセサリシュー pinout1X
2Quench
3Ready
4E-TTL
5AF Assist
テスト波形

回路を見てみると、Quench信号はJRC A7353JというICに接続されており、少なくともネット上にデータシートは見つからない(カスタムチップ?)。仕方がないので、適当な信号を入力して反応を見てみることにしました。 回路を調べた感じ、このIC(というかデジタル系)は約2Vで動作しており、入力は470kΩでPull downされていて、ツェナーダイオードで過電圧保護されている模様。1~47kΩ程度の抵抗を介して、ポジティブパルスを与えれば良さそうです。

Quench信号を+4Vのパルス幅は1msecとし、Flash信号とそこから100usec程ディレイさせたQuench信号を入力してみたところ、動作する事が確認できました。動作時の信号をオシロで観察したのが右図になります。
実際の発光時間は調べていませんが、Flash信号入力から約60usec後に計測されるノイズが発光開始時のものと推測しています。
Flash信号は手動によるワイヤーの短絡で試しましたが、不安定なケースがあり、Quenchパルスがあまり短いと、チャタリングの影響を受けるようだったので、20msec程度に伸ばしています。カメラに接続した場合もっと短くて差し支えないかもしれませんが、秒間10コマより早く動作することは無いので十分でしょう。
Quench信号による制御が掛かると、ML-3側の緑のLEDが点灯します。
この制御方法だと、コンデンサの充電が残っている限り、連続でフラッシュが動作するので、その点も良いですね。

本体の改造

アクセサリーシューの2-5pinは外してしまいます。厳密にどれが動作を邪魔するかは調べていません。ML-3はA-TTL規格なので、E-TTLは恐らく電気的に接続されていませんが、コネクタの陰で良くわからないので外しました。Quenchは追加基板に接続するので、シューコネクタ側ではんだ付けを外すのが良いでしょう。
また、X端子は追加基板に接続する為分岐しておきます。

電源の引出

X端子のPullup電圧が5Vなので、5V系のインターフェースが想定されていると思われるため、電源は5Vとしました、本体基板で電池電圧が出力されている個所(右図のパターン)から、追加基板に電源を引き出します。
この電源電圧は、充電時にかなり低くなるため、ブラウンアウトリセットが発生する可能性がありますが、動作上充電完了時に動作していれば良いので問題はありません。
タイマIC等を用いる場合には注意が必要です。また、低電圧タイプのマイコンを用いた方が、省電力になりますので、2V電源とする方が好ましいです。(フラッシュ側のQuench入力が2Vで動作しないと少々厄介ですが。)

追加基板の実装 追加基板の実装

追加基板は制御パネルに穴をあけて実装しましたが、収まりきらずにいささか不格好になってしまいました。後日適当な蓋を作って閉じようと思います。
フラットパッケージのICを用いればもっとスマートに収まったでしょう。

結局、後日基板を焼いて作り直しました。ICはSOICに変更しましたが、回路は変わっていません。

追加回路

回路図を以下に示します。
PDF をダウンロード
私は手元にあったPIC16F18313をPIC12F1501-Iを用いましたが、基本的にはディレイを作れば良いだけなので、他のマイコンやタイマー回路でも実現は可能かと思います。
発光時間の設定は、4bitディップスイッチで行うようにしましたが、8段切替となっている為、最上位ビットは未使用です。
マクロ撮影を主眼に置いているので、背景の明るさとの細かいバランス調整などは不要なので、これでも多いかなと思っています。
仕組み自体は、A-TTL対応のスピードライト等にも使えるかと思います。必要に応じて、スイッチ数を減らす、逆にステップ数を増やして時間をプログラム側で調整するなど、応用して頂けると良いと思います。

プログラム

クロックはInternal OSCの32MHzとしましたが、16MHzでも行けそうかなという感じです。
main()はディップスイッチを読み込んで、発光時間を設定後SLEEP()に入れておき、ウォッチドッグタイマで1秒ごとに起こしています。(標準でSLEEP中のWDT割込みはSLEEPからの復帰になる。)
フラッシュ動作時の処理は割込みで実現しています。設定時間待ってQuenchパルスを発生させるだけです。
特に難しいところは無いと思います。詳細はMPLAB X IDEのプロジェクトを御覧ください。

後日、16MHzで作り直して動作したので、プログラムの方は更新してあります。

動作検証

オシロスコープで点灯時間(正確には実際の点灯時間ではなくて、トリガー入力からQuench出力までの時間)を測ってみましたが、概ね時間通りになっていました。しかし、105usec未満ではQuench信号が有効にならず、フル発光になりました。
また、1msecを超えると電源電圧が下がってQuench信号が出なくなりました。制御電源を分離して保持するような回路を設ければQuench信号の出力は可能でしょうが、この時はもうほぼフル発光なっている領域なので、特に対策は取りませんでした。(制御しないとフル発光になるだけです。)
従って、有効に動作するのは、2~6までの5段階となります。どうせなら、100~1msecの範囲でもう少し小刻みに設定しても良かったかもしれませんね。

SW設定点灯時間[usec]動作
090NG
1105NG
2150OK
3238OK
4415OK
5767OK
61460OK(Full発光)
7未計測NG

うちのCanon 1DMk3ではWBをフラッシュに選択すると、接点制御が行われるようになりました。これをやらないと、接点制御が行われないので注意が必要です。
ISOは100、シャッタースピードは1/200あたりにしておき、スイッチで露出を調整すればF2.8-F22までカバーできる事を確認しました。DIPスイッチの設定は、2-4しか使わなかったので、ISOを50まで落とせるカメラならもっとシャッター速度を上げることも可能です。
DIPスイッチの設定には前述の反省点があったものの、使い勝手としては特に不足を感じなかったので、プログラムの修正は行っていません。ガイドナンバーとかに合わせるのがベターなのでしょうが、デジカメの場合は撮影結果を見て調整が利くので、それほど気にする必要もないかなといったところです。絞りを選択することで、被写界深度の選択肢が増えます。抵抗表面にリングフラッシュの映り込みが見られるので、ここら辺は考えて使わないといけませんね。

以下に、テスト撮影した画像を示します。(明るさの微調整はしています)

テスト撮影1
F2.8 1/160
テスト撮影2
F8 1/200
テスト撮影3
F22 1/200

Appendix

ML-3取扱説明書
MPLAB X IDEプロジェクト
DesignSparcPCB回路図&PCB
PIC12F1501-Iを用いたPCB