プログラムを組んでいて不可解な現象に遭遇。
フィルム窓の大きさに合わせてフォトトランジスタを斜めに3つ配置している。フォーカルプレインシャッターは、窓を先幕と後幕が続けて走るため、幕の場所による速度のぶれを測定する必要があるためだ。
レンズ側に置いた光源の光は、先幕が通った後にフィルム面に届き、後幕によって遮られる。幕の端の形状は綺麗な直線となっており、光が届く瞬間や遮られる瞬間に、スイッチのON/OFF時のようなチャタリング現象が出ることは想定していなかった。しかし、作成したシャッターテスタでは、光のON/OFFが複数回観測される現象に遭遇した。
当初は、フォトトランジスタの立上がりがなまっており、そこに高周波の微弱なノイズが重畳することで、チャタリング状の現象が発生すると考え、フォトトランジスタの反応を早くすることで回避できるのではないかと考えた。その検討が、前回のレポートになっている。
これで大丈夫と思い確認すると、現象は改善していない。ということは、ノイズ原因との仮説は誤りのようだ。
そこで、もう少し詳しく現象を把握するために、専用プログラムを作成して、何回観測されるかを測定してみた。すると、Aのフォトトランジスタで回数が多い状況が観測された。そこで、上下を逆転させて確認すると、今度はCのフォトトランジスタが回数が多い状況が観測されるようになった。何度も繰り返して、必ず再現性があることを確認した。
左はA位置のセンサが幕の動き始めを計測。右は上下入替え、C位置のセンサで幕の動き始めを計測した結果だ。
光が検知された時と、検知されなくなったときの2回というのが普通と考えていたが、実際には奇数等というものもあり、理解に苦しむ。上下を入れ替えると、多数回検知されるフォトトランジスタが変わると言うことは、カメラのシャッターの幕に原因があると考えられそうだ。
つまり、幕が動き始めた瞬間(Aセンサの位置で検知される)は、微妙に前後動をしながら走り始め、勢いがつくと安定するという現象ではないか。実際に、目で見て確認できるレベルのものではない。超高速ビデオカメラなどと言うものが在れば、確認できるのかもしれないが、手元にはそんなものは無い。あくまでも、電子的に高速に現象を観測し、実際に起きていることを予測する以外に方法はない。
いずれにせよ、複数回観測される現象がある以上、それに対応したプログラムを書かねば正しく時間計測測することが難しいと言うことだ。
押しボタンスイッチのチャタリングは、検知直後、接点が安定するまで数μs待つことで回避できるが、これは、そう簡単ではない。はてさて、どうやって回避することができるか、悩ましい問題だ。
CPUパワーが贅沢にあり、ソフトでごりごりと判断ロジックを組むことで回避するようなことは無理。
時間計測のカウンタは8usで、その周期で割込みが入る。割込みで瞬時に必要最小限の作業を行い、次の割込みに準備しなければならない。時間計測を邪魔しては正しく計測ができなくなってしまうからだ。
なかなかに、解決の困難な地雷を踏んづけてしまったようだ。。。。う~~~む・・・・しばし悩まなければ。。。。。