IFR type Remort controler for NIKON D3200
自作・赤外線リモコン [ニコン・NIKON ML-L3 type]
カメラで少し拡大したりする時に、三脚が無いと手振れをしてきれいに写真が撮れません。こんな時には「レリーズ」といって、太めの針金が伸びる仕組みの物(シャッターボタンをメカ的に押す)が以前売っていました。
最近カメラも全てデジタルカメラで電子化され、昔の方式では動きません。
そうはいっても、コード式のレリーズ(SWによるON-OFFをする)は売られています、現在は「赤外線のリモコンが主流」になりました。ネットでは!
そこで「Web上ではどうなっているか」調べて見ました。僅かですが自作している人もいます、たのもしい!
でもMCUはavrが多いです。まあ「C−言語」で作って、いるので参考になりますが…。
最大のポイントである自分が持っている「ニコンカメラの動作タイミング」が見つかりました「ふっふ!」、この感じなら何とか行けそうでーす。初め「タイミングの解読器」を作って調べ、それから作るつもりでした。ところがWeb上にあったので、早速利用して実験しました。…が、簡単過ぎる感じもしますしたが「手の抜き過ぎか」動きませんでした。
PIC12F629の古い物を使い周波数がくるっているのを気が付かず、すっかり4MHzで発振している物と思い込んでの実験でした(古い物を使いまわすとこんなことが良くある!)。
結局、何日か潰して周波数を調べると真面目に4MHzで発振して無いことが分かり、直していると面倒なので、遊んでいるPIC12F683を使うことにしました。
PIC12F629の発振周波数の初期設定値が0x80だったことをすっかり忘れていました。[ 基本動作 ]
全体の動作ですが、次の仕組みになっています。 あ]電源SWは初めSLEEP(待ち受け状態)になっている。 い]SWを押すとSLEEPから抜け出す。 う]規定のパルス(動作コマンド)を出す。 え] カメラが動き(ピント・絞り・シャッターがセットされ)写真が撮れる。 同時にリモコンはSLEEP状態になる。
他の製作例を見ると、コマンドを2回連続で出す物がありましたが私のカメラは1回でも作動したので、コマンドは1回のみにしました。
この段階で、カメラコントロールの距離は約1.5mでした(節電しています)。飛びの方は後で考えます。[ タイミング ]
当然ニコン専用です、他メーカーのカメラは作動しません。キヤノンをお持ちの方が多いのですが、タイミングの詳細が不明なのと「作ってもカメラが無いので確認出来ない」です。
32KHz系(古い)のと40KHz系(最近)のものがあり「即作動する」のと「2秒後に作動」するコマンドがあるようです。正確なタイミング不明!オリンパスのカメラを持っているのですが、リモコンは6つのボタン(RM-1)があって、これも詳細不明です、今使って無いので「まあいいか!」というところ。
リモコンの作りが同じ感じです、カメラ工業会(?)の規格かも。現在赤外線の周波数は38-40KHzの周波数が主流です、TVを初めこの周波数の部品が多量に作られている為です。
+--//----+ +-----+ +-----+ +-----+ | | 28000us| | 1580us | | 3580us | | --+ 2000us +---//---+400us+---//---+400us+---//---+400us+---
回路図
簡単過ぎますねー。部品らしい部品は無く、ちょこっと集められます。問題はプログラムの入った「ICでしよう」PICをやっている方は簡単でしょうけど…。
上の写真のように部品らしいものは有りません。電池は3V、赤外線LED(IFR-LED)は約1.6V程の端子電圧です。電池電圧3Vですから、ICでのドロップを無視すれば外付け抵抗値68Ωでは[(3-1.6)/68]約20mA、3本パラで距離は√3で飛びも1.7倍になります。
時間も短いので抵抗値は半分でもOKかと思います。更に流すには外付けのTRでも付けます。
調べたのは古い電池で飛びが1.5mだったので3mは飛ぶと思います。(電池は新しく買ってない)
部品類
僅かなのですが、書き並べると結構ありますね!
あ]電池はボタン電池です[CR-2032]。以前自転車コンピーターに付いていた物でテスターでは3Vあったので保存していたのを 再利用した。 スタンバイで67μA、LED動作Maxで20mA、但し動作時間は1回1.5mSecほど。 PIC12F629の方はスタンバイで19μAと少し成績優秀です:638は設定が悪いのかも!]、テスターの表示が狂っているかも! い]電池Boxは秋月電子で、行けば50円程度で手に入る(でも行くと飲み物やお昼代などで数千円は掛かる?)。 う]万能基板は机にあったのを利用する。 え]赤外線 LEDはTVの古リモコンから再利用。 お]ICはPIC12F638を使った。 か]SWは手持ちの物を使いました。 き]電流制限抵抗はカーボン68Ω1/4Wで十分と思いますが後で変更するかも!(現在1.5m) く]ケースはまだ考えていませんが、なるべく薄く・軽くしようと思います!
問題点
通常使うには問題無いのですが、カメラもめったに使わない方が多いと思います。電池の消耗はわずかですからSWは付けなくても良いのですがそれでも半年も使わないとそれなりに電池は消耗します。
以前「重さを測るハカリの電池が無くなっていてがっかり」したことがありました。小さい電池の予備なんて考えてもいませんでした。
Web上を探すと幾つかその対策をしている所がありました。
あ]電池電源に直接「プッシュSW」を付ける、これで「押している間に電流が流れて信号が出る」というかなり原始的方法です。 でもこれって結構合理的で十分採用出来そうです。 い]フォトFETをSWとして使う物です。間接的にコントロールし「終わったら電源を切る」というものです。
以前、私もTR2個使って同じような物を作り、ディップメーターに使っています。使いかっては良いですねー。 う]単純に「メインSW」を付けて、使わない時は電源を切るもっともシンプルな方法、これも良さそうです。どんな方法でも、予め考えておく必要があります。
ちなみにメーカーのリモコンは「スタンバイ方式でSW無し」です、「数年も使わなかった!」では完全に電池はアウト!です。
リチウムイオン電池は長持ちし、使わなければ5年位は平気です。「メインSWを付ける」が良さそうですねー。
と言っても、使わない時に単に電池Boxに透明なプラスチックの薄板を(弁当やお菓子のプラスチックの箱を切る)間にはさむだけでSWの代わりにします。
これは私のアイデアでは無く、メーカーはその方式で売っています。「使う時は外せ!」とあのますが「保存の事は何も書いてありません」念の為!
プログラム
PIC12F638のプログラムです。同じ動作でPIC12F629のプログラムです。12F638は内部発振周波数はメーカー調整済みの物です。PIC12F629は動かしてから周波数をプログラムで補正しています。[Fileはtxtにしています、これをcに変更してコンパイルして下さい]
PIC12F629の場合、これで動くと思いますが最悪周波数合わせが必要です(以前のアセンブラーでは取り込みのSoftがありましたが、C言語では何故かエラーになりました)。
[ OSCCAL=0x38; //tun frequency:これで4.0MHzに合いました。]写真は「ノブキ:野ふき」の雌花の実、鬼が持つこん棒(?)の様な先端に緑色の「ねばねば」が出て (見えるかなー)10月頃人や犬・イノシシ等にはり付いて運ばれるのだ! 実物は太さ2mm位と小さい。 植物の方では「ひっつき・むし」と呼ばれている。フキですから食べられると思いますが、 容量が無いので食料にはおすすめ出来ません。(ここはMCUとは関係ありませんが…)作成 [2012/9/18]
古いプログラムでは動いていた!
PIC12F629のasmプログラムですが、その後2009年にやっていたプログラムを見ていたらとコンパイル出来ていたことに気が付きました。
バージョンが違うので気になりますが「コンパイル出来るはず!」と思いチャレンジしました。結果、コンパイル出来ました!
どうも[O:オー]と[0:ゼロ]を間違えていた様です。次のプログラムをコピーして使って下さい。
mainの初めに入れれば周波数は補正されます。現在のICはその必要性は無いので「PIC12F629」は古いタイプのICといえそうです。asm{ BSF STATUS,RP0 ;Bank 1 CALL 0x3ff ; MOVWF OSCCAL ; BCF STATUS,RP0 ;Bank 0 }OSCCALレジスターが[Bank 1]に入っているので[BSF STATUS,RP0]で設定しないと作動しません。
この補正で、何もしないと13%以上の周波数誤差があった物が「1.5%程度」に押さえられています。赤外線リモコンの送受信には十分使えます。
何度も言いますが「現在のIC(型番が違う)は補正コマンドの実行は必要ありません」念の為。
(2012/12/25)
[MAIN MENU へ戻る]