日食撮像システム 2019年 Ver.
PIC3(全景画像)のファームとデジイチの設定
2019.02.10
駆動する機材:D5300AP改+AF-S Nikkor 28/1.8G 
ファームウェアについて
○当初はC2前からC3後まで2秒毎の連写を考えていましたが、食最大の時を中心に1分間隔でC1前~C4後まで単調に撮像することに変更。単純にシャッターを1分毎に切るだけなのでタイマーリモコンで済むのですが、食最大の時刻から75分程前にタイマーリモコンのスイッチを入れる手間を惜しもう…という算段です。後はPICの扱いの勉強の一環という事にして置きます。

○回路図はこちらにあります。プルアップしたGP3が0になった時に撮像を開始し、1分毎に十二分にコマ数を撮像したら勝手に止まる仕掛けです。ファームウェアのダウンロードはこちらから。或いはページの一番下に全コードを提示しています。個人的に参ったのは、外部クロックを使って動作させるために、どんな宣言設定にしたら良いかが分からなかったことです。12F683での製作例では内部クロック使用ばかりでしたので。

○C4の頃には夕焼けの筈なので、手動でフィルターを開けた画像にしようかな…と。そこは消化試合時間帯で、同架する他の機材の撮像は終わっていることと、動いているのはタイムラプス撮像をするアクションカム×2が稼働しているだけの状況の筈、経験上も燃え尽きているのが常でしたから。
デジイチ(Nikon D5300AP改)の設定の策定
±2EVのブラケティングをかけて、SSが最速の時に部分食で最適な露出になる濃度に太陽フィルターを調整(BAADERのアストロソーラーフィルター+追加のNDフィルタ)。一方でフィルターを開けて食最大の時にSSが最低速度の時にコロナの広がりが最大(月の地球照が分かる程度)で写るようにします。2017年のニコンD750の結果からはISO200・F8の時、SSを1/2秒程度にしたい。
 太陽撮像時、2017年の結果ではD5フィルターのみでのISO200の時の適正露出は1/1000秒でした。F5.6ISO200で基準になるSSを1/8秒、最速が2段上1/30秒のとき、これをF8のISO200で1/1000秒並みにするためにはND64の追加が必要になります。一方最低速度は1/2秒になります。フィルタを開けたときの皆既食中の空の暗さを写すならF8で1/2秒~1秒がよさそうです。現像する時±1EV弄る事に躊躇は無いですし。


D750での皆既中良い感じだった全景画像の撮像条件
・D5フィルターを付けた上で太陽の適正露出:1/1000秒・F8・ISO200
・フィルターを開けた状態で良い感じの露出:1/1.5秒~1/4秒・F8・ISO200

 

SS:1/1.5秒・F=8・ISO200の場合の例
レクスバーグ・アイダホ・USA
水平をきちんと出すようにしなくては…
 1 /*
 2  * File:   main_PIC3.c
 3  * Author: M_shi_Lab
 4  * For PIC-3+a5000
 5  * Created on 2018/04/22, 19:42
 6  */
 7 
 8 
 9 #include <xc.h>
10 #include <stdlib.h>
11 #include <stdio.h>
12 
13 #pragma config WDTE = OFF
14 #pragma config PWRTE = ON
15 #pragma config MCLRE = OFF
16 #pragma config CP = OFF
17 #pragma config CPD = OFF
18 #pragma config BOREN = OFF
19 #pragma config IESO = OFF
20 #pragma config FCMEN = OFF
21 
22 #pragma config FOSC = HS
23 
24 #define _XTAL_FREQ 4000000
25 
26 void main(void) {
27     TRISIO = 0b00101100;
28     ANSEL  = 0b00000000;
29     CMCON0 = 0b00000011;
30     
31     int i, c, j;
32     
33     i = 0;
34     c = 0;
35     GP3 = 1;
36     GP2 = 1;
37     GP0 = 0;
38     GP1 = 0;
39      
40     while(1)
41     {
42         if(GP3 == 0)
43         {
44             i = 1;
45             for(i=1; i<=150; i++)
46             {
47                 GP0 = 1;
48                     __delay_ms(50);
49                 GP1 = 1;
50                     __delay_ms(1600);
51                 GP1 = 0;
52                     __delay_ms(50);
53                 GP0 = 0;
54                __delay_ms(300);
55                
56                for(j=1; j<=58; j++)
57                {
58                     __delay_ms(1000);
59                }
60            }
61         }
62     }
63     return;
64 }
65 
inserted by FC2 system