Lab. of Voynich Code
2023年オーストラリア・インドネシア    金環皆既日食のたくらみ
Lumix GM1用タイマーコントローラ②
2020.10.24:Open

組み立て



ABSのケースに穴を開けていきます…適当な工作です。
サーボモータは別件で使っていた用済み品から剥がして使用したので表面がガサガサ

こんなコンポーネンツを組付けていきます。
電線の込み具合から先に示したサーボモータの取り付け方向とは逆に組付ける事に…

こんな感じで組み込みます。基盤はクッション性のある強力両面テープを使用
サーボモータは溶着系接着剤を使用

全体を組み付けるとこんな感じ

赤は通電の印、シャッターレリーズ中は緑のLEDが点灯します

動作試験

〇5分毎に動作するか
 9時間35分稼働=115回の繰り返し動作で、64秒の遅延が認められた。1稼働当たり556.5ms(0.186%)の遅延に相当するので、動作間隔を調整するループ(1ループにつき10ms遅延)を56回(=560ms)少なくした。

〇動作で消費するバッテリの量
 3,500mAhのモバイルバッテリで9時間36分4秒稼働したところ2/3を消費…多く見積もっても2,400mAhくらいか。実際には3時間程の稼働になるので、1,000mAh位を目安にする

プログラムリスト (DL)

 1 /*
 2  * File:   newmain.c
 3  * Author: M_shi@Eclipse Lab
 4  *
 5  * Created on 2020/10/21, 21:58
 6  * Modified on 2020/10/24
 7  */
 8 
 9 
10 #include <xc.h>
11 #include <stdlib.h>
12 #include <stdio.h>
13 
14 #pragma config WDTE = OFF
15 #pragma config PWRTE = ON
16 #pragma config MCLRE = OFF
17 #pragma config CP = OFF
18 #pragma config CPD = OFF
19 #pragma config BOREN = OFF
20 #pragma config IESO = OFF
21 #pragma config FCMEN = OFF
22 #pragma config FOSC = HS
23 
24 #define _XTAL_FREQ 4000000
25 
26     void Interval();
27 
28 int i;
29     
30 void main()
31 {    
32     TRISIO = 0b00111000;
33     ANSEL  = 0b00000000;
34     WPU    = 0b00001100;
35     CMCON0 = 0b00000011;
36 
37     GP0 = 0;
38     GP1 = 0;
39 
40     int i;
41     
42     while(1)
43     {
44         //サーボホーンでシャッターを切る
45         for(i=1; i<=44; i++)
46         {
47             GP0 = 1;
48             __delay_us(2100);
49             GP0 = 0;
50             __delay_us(17900);
51         }
52         //3秒待つ
53         GP1 = 1;
54         __delay_ms(3000);
55         GP1 = 0; 
56         //サーボホーンを待機位置に戻す
57         for(i=1; i<=44; i++)
58         {
59             GP0 = 1;
60             __delay_us(1500);
61             GP0 = 0;
62             __delay_us(18500);
63         }
64         //一定時間待つ
65         Interval();
66     }
67     return;
68 }
69 
70 void Interval() //時間調整
71 {
72     int j;
73     
74     //for(j=1; j<=29524; j++) //計算上はこの時間数
75     for(j=1; j<=29468; j++)     //実際は556ms長いので560ms早める
76     {
77             __delay_ms(10);
78     }
79    return;
80 }
inserted by FC2 system