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.6でISO200で基準になる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 |