外部ストロボ同期用 .
スレーブユニットの作成 |
小型三脚に付けた 昔々の GN.30. ストロボ

まずは いきなりですが、うまく行った場合の
スレーブストロボ効果確認サンプル写真です。
被写体の基板側面に、スレーブユニットを使用して
もう 1灯のストロボを同期照射した場合の効果例。
撮影したデータは (トリミングとリサイズ) 以外は
加工していません
ストロボ発光無し 手持ち

被写体深度と 手ぶれに やや不満
カメラ内蔵ストロボ 1灯

立体感と 発色性に やや不満
カメラストロボ 1灯 + 外部ストロボ同期点灯

エイヤ!で撮った割りには、だいぶ良く写りました。
|
さて本題です .
スレーブユニットの回路
最近のデジカメ内蔵ストロボは、2回発光しているため
単純なスレーブユニットでは、同期しません。
動作例です
赤が、マスター側のストロボ発光パルス
黄色(下側)がスレーブ側の発光パルスです。

2回目のパルスで発光します。
(この例では、230mS遅れで2回目が発光しています)
1発しか発光しないストロボの発光は無視します

スレーブ側(黄色)は 発光しません。
つまり 同期させるためには、分周が必要となります。
また、2回目の発光を いつまでも 待ってる様では
使い物になりませんから、待ち時間が過ぎたら 1回目の
発光は取り消して最初から待つような仕組みも必要です
とはいえ結論から言うと単に 1回目を無視して 2回目で外部ストロボを
点灯させるだけですから、TTLのFF等を使っても 構成できるのですが、
時定数など アナログ的な調整が必要となり、マイコン回路でソフト制御
する場合に比べると、再現性でかないませんし 小細工が大変です。
ということで、大好きなAVRマイコンを使って、
ソフト制御で 本発光に同期できるようにします。
tiny461版の回路例

< 仕様案 >
・プリ発光対応スレーブユニット
・動作確認用にLED表示付き
・電源は+5Vで動作(電池4.5Vも考慮)
割込1個と、外部駆動用のポートが 2個あれば出来ますので Tiny2313でも 十分ですが、今回は 実験用の基板に PCM1792制御基板を流用しますので、Tiny461を使用しました。
基板を流用すると 色々弊害も出ます。
作成に手抜きをしたいので、ポートの 間にあわせ などが良い例です。
今回のような場合は、割込処理に INT0/INT1 等を使用すれば良いのですが たまたまそのポートは、LCD用にふさがっていますので、簡単に流用できる、PCINT4(ピンチェンジインタラプト4番)を使用しました。
このPCINT4採用が、予測不能のバグ発生の原因でした。
ソフトのアルゴリズム(というほどのものでもないが)は、親カメラの ストロボ発光で生ずる、フォトトランジスタ の受光パルスで 割込処理する というものです。
割込先でカウントし 2回目なら スレーブ発光するという 極めて単純なものです。
しかし、なんと 発光しなかったり タイミングが合わなかったりと 思惑通りに動きません。 こんな時、LCD駆動部を積んでいる強みが 発揮されます。 処理内容を
表示できるので デバッグが簡単になります。
さて、LCDに表示させてみると、数が合わないのです。
うぅ〜ン ・・・・・ 0、1、2 の たった 3こ の数字を数えられない
バグの結論
ピンチェンジインターラプトは波形によっては1発のパルスで、 2回の割込が発生する。 割込パルス幅分の ディレーを見るか カウント値を考慮する必要がある。
ということです。
INT0/INT1等の割込処理の場合は、同期ポイントを エッジの上/下、レベルで判断、等細かく設定できますが、ピンチェンジインターラプトはピンの状態が変化したら割込が発生する・・・という曖昧な動作になります。
今回のケースでは 外部ストロボを同期したいので 処理中のディレーは入れる場所には注意が必要ですが、デレィー無しで割込処理すると、必ず発光1回で
2回発生します (実際はプリ発光と本発光で4回) ので 立ち下がり エッジ駆動が 期せずして 実現したという オマケがつきました。
使用部品
・フォトトランジスタ : 赤外タイプを使用する。
可視光タイプは蛍光灯等の脈流に反応する。
・駆動用トランジスタ : PE3057のシンクロ端子電圧は約30Vなので
2SC1815クラスでOK。
・シンクロ端子 : ホットシュータイプでシンクロコード付きシューが
売られてるので それを流用して使用。
|
完成 !!

小型三脚に、自由雲台とシンクロコード付きホットシューを組み合わせます。
三脚 ちっちぇ〜

少し 三脚が小さかったようで 「頭でっかち」
秋月の単三電池3本BOXとアクリルケースに収めて最終形態。
基板は、1cm程カットしてますが塩梅良く収納できます。

最近のマイコンは、電源電圧5Vにこだわらず シビアな要求が無い
レベルで使用するなら 電圧の安定化も不要なので 出たとこ勝負の
3.9V(電池生出し)で動かしてます。 (BrownOutは、2.6V設定)
便利になったものです。
|
参考ソース画面
かなり内容的に 端折ってますので
このままでは動きませんが 肝は入ってます
ご参考まで

実際には LED駆動や LCD駆動 他、 が 入ります
質問がありましたので、ちょっとだけ補足
Q: 最後の方で while(1)の永久ループになっているが?
AS: WatchDogTimerで 2秒後に 最初から回るようになってます。
Q: j とか i の ループタイマーがうまく設定できないのだが?
AS: 変数宣言時にvoratileを付けます。 ex. volratile int i,j;
|
|