FC2ブログ

日食用インターバルタイマーの製作

夜行虫は7/22の皆既日食を見にトカラ列島に行きます。
以前、ニコンのML-L3を改造してインターバルタイマーを作成したことを紹介しました。そこでは、パソコンからUSBを経由してON/OFFを行う回路を製作しました。大抵の撮影では大型のバッテリー持って行くので、ノートパソコンの使用もあまり問題にならないのですが、今度の日食の場合には重たいバッテリーを持っていく訳にも行かず、できればノートパソコンの使用は避けたいところです。
別途タイマーを作成しようか考えていたところ、秋月電子通商PICマイコン多目的タイマーキットなるものを発見しました。解説を読んでみると、独立した3chで接点(オープンコレクタ)のONとOFFの時間を設定できるらしいです。しかもそれを何度も繰り返してくれるらしいのです。これぞカメラのレリーズ制御にうってつけ!と思い、早速購入してきました。

PIC1
結構な部品数です。抵抗だけでも50本近くあります。
PIC2
まずは抵抗を種類別に束ねます。
PIC3
この抵抗、1/6Wなのでかなり小さく、カラーを読むのも一苦労…
半田ごてと格闘すること約6時間。どうやら完成に漕ぎ着けました。自分で言うのもなんですが、結構美しい半田付けです。
PIC4

PIC5
曜日の設定を間違えていました・・・

さて、早速タイマーを試してみようと設定方法を見てみます。この機能はオン・オフタイマー間欠モードと言うそうで、出力ポートのch4~6がそれに割り当てられています。ロータリーエンコーダのつまみを回して、このモードのページを出します。そこでSETボタンを押すと設定画面に変わるようです。設定画面は以下の様なものです(マニュアルより)。

4 オンオフタイマー Am4:36.43
カンケツ ch4 ch5 ch6
オン 0:10 0:20 1:00
オフ 0:10 0:40 0:10


マニュアル曰く「左図(上の例)のch6設定の場合、出力ポートch6が1時間ONし、10分間オフしこれを繰り返します」………  え~ 時と分しか設定できないのかよ とすると最低1分間のONが続き、1分間のOFFになる訳だから、最短2分間隔でしか撮影できないじゃないか。しかも1分間ONということは、その間リモコン(ML-L3)が光りっぱなしってこと。事前にちゃんとマニュアルチェックをしてから買わなかったのが悪いんですけど、ふつータイマーって秒単位の設定できるでしょ~。使えない、これ…

という訳でしばらく落ち込んでいましたが、気を取り直して解決策を模索します。
このキットのプログラムソースコードは公開されており、秋月のページからダウンロードできます。ところが私はPICのプログラムを組んだことも無いし、ROMライタも持っていません。しかし、秋月のサポートページを見てみると、このキットにはファームウェアバージョンアップ機能というのが内蔵されていて、ROMライタが無くてもRS-232C経由でプログラムを書き込めるようになっているみたいです。ということで、しばらくアセンブラと格闘する日が続きました。要は表示のHH:MMのHHの部分を分と、MMの部分を秒と比較できれば良いのです。ソースを見ていくとそれらしい部分がみつかりました。

ONOFTIME_K4_MATCH BSF STATUS,IRP ; BANK2,3
;
MOVF TIME4_ON_SEC,W ; 秒が0秒のときのみチェックする。
BTFSS STATUS,Z ;
GOTO ONOFTIME_SUB_END ;
;
MOVF INDF,W ; 時間が等しいかチェック
XORWF TIME4_ON_HER,W ;
BTFSS STATUS,Z ;
GOTO ONOFTIME_SUB_END ;
;
INCF FSR,F ; 分のアドレスを指定
;
MOVF INDF,W ; 分が等しいかチェック
XORWF TIME4_ON_MIN,W ;
BTFSS STATUS,Z ;
GOTO ONOFTIME_SUB_END ;

1分単位でのオン・オフしか想定していないので、経過時間の秒の位が0の時しか比較をしないようになっています。なので、ここの3行はコメントアウトします。その下「時間が等しいかチェック」というコメントの下に

XORWF TIME4_ON_HER,W ;

という行があり、ここで設定の「時」(Wレジスタ)とタイマーの「時」(TIME4_ON_HER)が等しいか比べています(両者の排他的論理和が0なら等しい)。従ってここはTIME4_ON_MINと比較するようにすれば良さそうです。次の「分が等しいかチェック」も同様にTIME4_ON_SECと比較します。以下同様に、ch5~6も書き換えます。これでなんとか分・秒単位の設定ができそうです。タイマーを設定する部分が入力範囲をチェックしているので、時間の部分は23時間までしか設定できないようになっています。改造後の動作では23分がmaxになります。十分なような気はしますが、ついでなのでこれも「分」の入力チェックと同様にします。

UPDATE03_0 ;--------------------------------
; オン時 ON OFF TIMER CH4
;--------------------------------
MOVLW ONTM4_HER ;
; CALL INCR_HOUR_B2_P3 ; ←オリジナル
CALL INCR_MINUTE_AL_B2_P3 ;←修正後
;
MOVLW LCD_LINE3+3 ;
MOVWF TEMP_SUBT0 ;
MOVLW 2 ;
MOVWF TEMP_SUBT1 ;
GOTO UPDATE_WINDOW_END ;

以下同様にch6まで変更します。これで「分」の単位も59分まで入力可能になりました。
MPASMで無事コンパイルが成功し、秋月のサポートページからダウンロードしたローダーでhexファイルを転送します。結果・・・

下の写真3枚はch4にON1秒、OFF9秒と設定して動作させているところです。ch5,ch6には24分以上の設定も出来ています。左上の赤いLEDはch4がONの状態で点灯します。右上の赤い四角で囲った部分の時計と見比べると、1分以内でON/OFFが連続して出来ているのがわかります。
PIC6
PIC7
PIC8

なにはともあれ、買ったものが無駄にならずに済みました。これからLM-L3とのインターフェイス部分にちょっと手を加え、ケースに組み込んで完成です。

スポンサーサイト



line
line

comment

管理者にだけ表示を許可する

line
line

line
プロフィール

夜行虫

Author:夜行虫
夜行虫とは天体撮影等、夜に出歩くのが多いことから名づけました。夜光虫の誤変換ではありません。海に潜ったり温泉浸かったりも趣味です。

line
最近の記事
line
最近のコメント
line
最近のトラックバック
line
月別アーカイブ
line
カテゴリー
line
ブログ内検索
line
RSSフィード
line
リンク
line
ブロとも申請フォーム

この人とブロともになる

line
sub_line