|
|
|
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
3 @Eclipse
4
5
6
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
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 <=29524; j++) //計算上はこの時間数
75 for(j=1; j<=29468; j++)
76 {
77 __delay_ms(10);
78 }
79 return;
80 }
|