3.2 축산용 IoT 센서의 설계
저전력 소모의 축산용 IoT 센서 회로 설계를 위하여, 소의 움직임과 체온을 감지하고 분석 저장한 데이터를 송신하는 경우의 부품 소모전력을 고려해야
한다. 또한, 소모전력을 최소화하기 위하여 MCU 의 On/ Off 동작 시간 최적화가 필요하다. 표 1은 센서의 1회 송신주기를 600 초로하고 그 시간 동안의 회로 내에서 소비되는 전력을 계산하기 위한 기본 표이다. 각 부품의 소모전력은 부품들의
데이터 시트를 참고하였으며 1CYCLE(송신주기)는 600초로 하고 이를 토대로 가속도 센서가 내부에 저장할 수 있는 최대 시간 선정이 필요하다.
Table 1. Data Sheet circuit power consumption
부품명
|
용도
|
소모전력
|
1CYC.
(10분)
동작시간
|
ACTIVE
|
Shutdown&wake-up
|
CC2640R2
|
컨트롤러/
블루투스 송수신
|
9.1 ㎃ /Tx,
5.6 ㎃ /
Normal
|
100 ㎁
|
5 ㎳ /Tx, 24 ㎳ /
Normal
|
ADXL362
|
3축 가속도 센서
|
1.8 ㎂
|
270 ㎁
|
600 s
|
MLX90614
|
적외선 온도센서
|
2 ㎃
|
-
|
24 ㎳
|
TS5A3160
|
스위치
|
0.2 ㎁
|
-
|
600 s
|
TPL5111
|
타이머
|
50 ㎁
|
-
|
600 s
|
먼저, 가속도 센서(ADXL362)의 측정주파수는 12.5회이고, 가속도 센서의 FIFO(File Input File Output) 크기는 512이므로,
FIFO의 기록저장 가능 시간은 다음 식 (3)과 같다.
또한, wake-up mode로 동작시켜 소의 동작 상태에 반응하여 저장하도록 함으로써 전력소비량을 줄였다.
이때 마이크로컨트롤러의 동작 시간을 계산하기 위하여 각 부품의 동작 시간 확인이 필요하다. 적외선온도센서(MLX90614)의 파워온 셋업시간 및 자료수집시간,
그리고 가속도센서(ADXL362)의 데이터수집시간과 마이크로컨트롤러(CC2640R2)의 데이터송신시간을 모두 합한 시간으로 다음과 같다.
a. 적외선온도센서 파워온 셋업시간 ≒ 15 ㎳
b. 적외선온도센서 데이터 수집시간 ≒ 2 ㎳
c. 가속도센서 데이터수집시간 ≒ 2 ㎳
d. 마이크로컨트롤러 데이터송신시간 ≒ 5 ㎳
따라서, 마이크로컨트롤러의 총 동작 시간은 상기 a부터 d까지의 합계인 24 ㎳이다. 마이크로컨트롤러 총 동작 시간 및 소모전력 계산을 바탕으로 타이머를
통해 스위치의 동작시점을 결정하므로, 스위치(TS5A3160)의 온 타임 또한 24 ㎳로 설정하였다. 데이터의 송신주기는 600초로 하고 이를 위해
타이머(TPL5111)의 동작 주기를 600초로 구성하였고, 이를 위해 TPL5111의 PIN3에 57.437 ㏀ (107.0 ㏀ // 124.0
㏀)를 GND로 연결하였다.
그림 3은 센서의 동작 상황을 흐름도로 나타낸 것이다. MCU의 Wake-up 시간은 총 동작 시간과 상기 스위치 온 타임에서 결정한 24 ㎳의 시간 주기의
반복으로, 그림 3의 (a)와 같이 600초마다 타이머를 켜서 MCU를 Wake-up 시킨다.
Fig. 3. Switch Operation(a) and MCU Action of Flow Chart
또한 그림 3의 (b)는 Wake-up된 MCU의 플로우 차트를 보여주고 있다. Start된 MCU는 센서 데이터 수집에 쓰이는 I2C통신, SPI통신, Timer
그리고 GPIO등의 Peripheral을 셋업 하고 적외선온도센서(MLX90614)의 파워온 셋업시간 15 ㎳를 기다린 후 적외선온도센서(MLX90614)의
데이터를 읽어온다. 다음으로 가속도센서(ADXL362)의 데이터를 읽어오고 이 데이터들을 적절하게 계산 후 블루투스통신을 통해 마스터로 전송한 다음
전원스위치(TS5A3160)를 끈다. MCU 동작 프로세스를 시간별로 정리하여 소모전력을 계산하면 표 2와 3과 같다. 가속도센서(ADXL362)의 경우 소의 활동상태에 따라 Wake-up상태가 만들어짐으로 1회 Wake-up 해서 측정하고 저장하는
시간을 평균 500 ㎳로 계산하고 1 Cycle동안 10회 wake-up 것으로 500 ㎳ * 10 회 = 5000 ㎳ 로 계산하였다.
Table 2. Power consumption by component
부 품 명
|
상태
|
동작시 소비전력
|
휴면시 소비전력
|
소비
전력량
[㎼]
VDD = 3.0
|
동작시간
[㎳]
|
소비전류
[㎂]
|
휴면시간
[s]
|
소비
전류
[uA]
|
CC2640R2
(컨트롤러)
|
송신
|
1
|
9100
|
599.989
|
1.1
(stand by)
|
1.21348
|
측정
|
10
|
5900
|
ADXL362
(Wake
-up)
|
|
5000
(측정
시간)
|
1.8
|
595
|
0.27
|
0.28275
|
MLX
90614
|
|
24
|
2000
|
599.976
|
0
|
0.08
|
TS5A
3160
|
|
24
|
1
|
599.976
|
0.020
|
0.020039
|
TPL5111
|
|
0
|
0
|
0
|
0
|
0
(사용안함)
|
회로손실
|
|
24
|
10
|
599
.976
|
10
|
9.98373
|
1 CYCLE TOTAL
|
11.58
|
총 소모 전력량 [㎼]
|
34.74
|
Table 3. Power consumption by component(SW)
부 품 명
|
상태
|
동작시 소비전력
|
휴면시 소비전력
|
소비
전력량
[㎼]
VDD = 3.0
|
동작시간
[㎳]
|
소비전류
[㎂]
|
휴면시간
[s]
|
소비
전류
[uA]
|
CC2640R2
(컨트롤러)
|
송신
|
1
|
9100
|
599.989
|
0
(스위치 OFF)
|
0.1135
|
측정
|
10
|
5900
|
ADXL362
(Wake
-up)
|
|
5000
(측정시간)
|
1.8
|
595
|
0.27
|
0.28275
|
MLX
90614
|
|
24
|
2000
|
599.976
|
0
|
0.08
|
TS5A
3160
|
|
24
|
1
|
599.976
|
0.020
|
0.020039
|
TPL5111
|
|
600000
|
0.035
|
0
|
0
|
0.035
|
회로손실
|
|
24
|
10
|
599
.976
|
0.2
|
0.200067
|
1 CYCLE TOTAL
|
0.7314
|
총 소모 전력량 [㎼]
|
2.1942
|
표 2는 슬립모드 및 스탠바이모드로 구동시키는 경우로 총 소모전력량은 34.74 ㎼이고, 표 3은 타이머로 전원부 단의 스위치를 ON/OFF하여 회로 전체 전원공급을 차단하는 구조에서의 소비전력으로 약 2.19 ㎼ 이다. 타이머와 스위치의 조합으로
15배 정도의 구동전력을 줄일 수 있음을 확인할 수 있다.
그림 4는 IoT 센서의 회로도이다. 회로의 구동은 타이머 600초 주기의 ON SIGNAL로 시작되어서 스위치가 ON되면 회로 전체에 전원이 공급되는 구조이다.
DC-DC컨버터는 MCU에 내장되어있고 출력은 3.0 V로 구성하였다. 따라서 DC-DC 컨버터 후단 부에는 3.0[V]의 전원이 공급되며, 다만
가속도센서(ADXL362)는 상시 전원이 공급되어야 하므로 VDD가 바로 연결되어 있다. 그림 5는 AC를 DC로 변환하기 위한 브릿지 정류회로이고 그림 6은 타이머에 의한 전원 공급 스위치 회로이다.
Fig. 4. IoT Sensor Circuit Diagram
Fig. 5. Rectifier Circuit
Fig. 6. Timer and Switch Circuit
Fig. 7. Internal photos of IoT sensors
그림 7은 IoT 센서의 내부구조로, 플라스틱 원통형보빈에 코일을 감고 원통형 보빈속에 영구자석을 삽입한 다음 양끝을 영구자석으로 막아놓은 형태로 구성하였다.
소가 목을 흔들면 중앙의 영구자석이 움직이며 그로 인해 전자기유도작용이 일어나 코일 양단에 기전력이 발생하고 이것을 정류하여 커패시터에 저장하는 형태이다.
발전효율을 높이기 위해 여러 단의 중첩된 구조로 제작할 수도 있으나, 표 3에서 계산된 바와 같이 센서의 소비전력량이 약 2.19 ㎼으로 매우 작으므로 제작공정을 단순화하여 제작단가를 낮추는 것에 초점을 맞추었다.
본 연구에서는 센서 구조와 시중에 판매되는 영구자석의 제약으로 그림 8과 표 4와 같이 제작하였다. 그림 8은 에너지 하베스팅 부의 사진이며 코일 구조로, 보빈에 감진 코일(Coil) 내부를 가동자인 영구자석(Nd)이 관통하여 놓여있다. 그리고 영구자석은
코일 내부 홀의 중앙을 기준으로 위아래 시소 운동을 할 수 있도록 구성하였다. 코일의 좌. 우측 내부에서 자석 1, 2가 배치되어 있으며 중앙에 자석
3이 배치되어 중앙에 떠 있는 구조로 되어 있다. 식(1)과 (2)에서 전자기력 Fem을 크게 하려면 코일 저항 Rc가 적어야하고 코일저항 Rc를 적게 하려면 코일의 두께 t가 클수록 좋음을 알 수 있다. 하지만
센서의 구조적으로 제약이 되지 않는 범위에서 코일의 두께 t를 최대한 크게 제작하였다.
Fig. 8. IoT Sensor Energy Harvesting Part Structure
Table 4. Coil specifications
항 목 (단위)
|
수 치
|
직경 (㎜)
|
11
|
두께 (㎜)
|
0.1
|
길이 (㎜)
|
70
|
코일권수 (회)
|
800
|
3.3 시험결과
3.3.1 진동시험
축산용 IoT 센서 회로의 발생 전압 확인을 위해 소의 움직임을 가정하여 5 ㎐, 0.1 m 조건으로 200 ㏀ 부하 시의 코일 양단 유기전압은 그림 9와 같이 4.76 V, 212 ㎳ 주기임을 확인할 수 있다. 진동시험의 조건 및 결과는 표 5와 같다.
Table 5. Conditions and Results of Vibration Test
시험 조건
|
・거리간격 : 0.1 m
・주파수 : 5 ㎐
・부하 : 200㏀
・프로브 임피던스 : 10 ㏁
|
시험 방법
|
일정속도 및 거리 흔들기
|
시험 목적
|
진동에 의한 유기전압 확인
|
시험 결과
(전압/주기)
|
4.76 V / 212 ms
|
Fig. 9. Output voltage 1 - Vibration test
3.3.2 낙하시험
전자기 유도 발전기에는 센서 내부에서 발생되는 전력을 측정하는 회로가 없기 때문에 가속도 센서를 이용해서 생산되는 전력을 추정 계산하기 위한 낙하시험을
진행하였다.
그림 10에 전자기 유도 발전기의 내부자석(그림 8의 자석 3)의 동작 상태를 확인하기 위해 높이 0.2 m , 각도 90 ° 조건에서 떨어뜨리는 낙하 시험시 18.06 V의 충격파가 유기됨을 확인할
수 있다.
Fig. 10. Output voltage of generator 2 – Fall test
3.3.3 발전량 계산
그림 10에서 도시된 발전기를 0.2 m 높이에서 수직으로 자유낙하 시킨 경우 지면에 부딪힐 때 내부 자석의 운동에너지 Ek 는 식 (4)와 같이 계산된다.
m : 질량 = 0.00585 ㎏
g : 중력 가속도 = 9.80665
h : 높이 = 0.2 m
∴ $E_{K}$ = 0.00585 $\times$ 9.80665 $\times$ 0.2 = 0.0115 J
그림 10의 결과를 전력으로 환산하기 위해 그림 11와 같이 근사화 할 수 있다.
Fig. 11. Fall Test Output Approximate Graph
그림 11을 한 주기로 식을 세우면 식 (5)와 같다.
여기서 Vm1rms=$\dfrac{Vm1}{2\sqrt{3}}$ 이 되고 전체 실효전압은 각각 아래와 같이 계산될 수 있다.
Vm1rms$=\dfrac{Vm1}{2\sqrt{3}}$=$\dfrac{10.5}{2\sqrt{3}}$= 3.031 Vrms
Vm2rms$=\dfrac{Vm2}{2\sqrt{3}}$=$\dfrac{9.0}{2\sqrt{3}}$ = 2.598 Vrms
Vm3rms$=\dfrac{Vm3}{2\sqrt{3}}$=$\dfrac{8.2}{2\sqrt{3}}$ = 2.367 Vrms
Vm4rms$=\dfrac{Vm4}{2\sqrt{3}}$=$\dfrac{4.0}{2\sqrt{3}}$ = 1.155 Vrms
Vm5rms$=\dfrac{Vm5}{2\sqrt{3}}$=$\dfrac{3.0}{2\sqrt{3}}$ = 0.866 Vrms
따라서 1 회 0.2 m 자유낙하 발전량 $P_{r}$은 아래의 식 (6)으로 나타낼 수 있다.
자유낙하의 운동에너지의 전기에너지 변환량은 AC전기로 236.24 ㎼가 추정발전 되었고 이 AC전원을 센서의 구동전원으로 쓰기 위해 정류회로를 구성하여
DC전원으로 변환하였다. 또한 정류회로는 그림 2와 그림 5에서 발전코일의 구조에 적합한 형태인 브릿지 다이오드와 LC필터로 결합된 구조의 정류회로로 그림 5의 D4, FL2, C47~C48 같이 구성하였다.
진동에 의한 전기에너지는 전기에너지를 브릿지 정류하면 컨덴서에 저장되는 에너지 $P_{d}$는 식 (7)과 같다.
$V_{F}$ : 브리지정류다이오드 $V_{F}$(1.2[V])
$Vm1_{R M S}=\dfrac{Vm1}{2\sqrt{3}}$ 이 되고 전체 실효전압은
Vm1rms$=\dfrac{Vm1}{2\sqrt{3}}$=$\dfrac{10.5 - 1.2}{2\sqrt{3}}$= 2.685 Vrms
Vm2rms$=\dfrac{Vm2}{2\sqrt{3}}$=$\dfrac{9.0 - 1.2}{2\sqrt{3}}$ = 2.25 Vrms
Vm3rms$=\dfrac{Vm3}{2\sqrt{3}}$=$\dfrac{8.2 -1.2}{2\sqrt{3}}$ = 2.02 Vrms
Vm4rms$=\dfrac{Vm4}{2\sqrt{3}}$=$\dfrac{4.0 -1.2}{2\sqrt{3}}$ = 0.808 Vrms
Vm5rms$=\dfrac{Vm5}{2\sqrt{3}}$=$\dfrac{3.0 -1.2}{2\sqrt{3}}$ = 0.519 Vrms
$P_{d}=\dfrac{1}{R}(Vm1_{{s}}^{2}+ Vm2_{{s}}^{2}+ Vm3_{{s}}^{2}+ Vm4_{{s}}^{2}+ Vm5_{{s}}^{2})$
= (7.21+5.05+4.08+0.653+0.269) / 100×10$^{3}$
= 17.262 / 100×10$^{3}$ = 172.62 ㎼
가 된다. 따라서, 낙하시험의 운동에너지는 $E_{k}$ = 0.0115 J이고 발전량은 $P_{r}$ = 172.62 ㎼ 가 된다. 최종 회로 손실(컨덴서손실포함)을
무시한 정류기의 전력변환효율은 다음과 같다.
변환효율 $\eta =\dfrac{P_{d}}{P_{r}}\times 100$=$\dfrac{172.62 u W}{236.24 u W}\times
100$≒73 \%
$P_{r}$ : 발전기 출력 전력
$P_{d}$ : 브릿지정류후의 전력
3.3.4 축산용 센서 특징
표 6에서 기술된 바와 같이 본 논문에서 설계‧개발된 축산용 센서의 가장 큰 특징은 자기 발전기능을 가지고 있어 전력 소모량이 큰 데이터 송신도 주기를
짧게 할 수 있다. 그리고 통신방식 또한 블루투스 5.0이기 때문에 전력소모량 적고 통신의 송수신 거리가 길어 넓은 축사에서도 사용이 가능하다.
Table 6. Features of each sensor product
제품
|
기능
|
통신방식
|
전력
|
센서
송수신거리
(m)
|
데이터송신주기
(min)
|
활동량
|
체온
|
자기발전
|
전력
소모1※
|
A사
|
×
|
○
|
RFID
|
×
|
아주
적음
|
0.3
|
60
|
B사
|
△
2※
|
○
|
LoRa
|
×
|
많음
|
-
|
30
|
N사
|
○
3※
|
○
|
WiFi
|
×
|
많음
|
50
|
30
|
W사
|
○
4※
|
×
|
블루투스 4.0
|
×
|
적음
|
30
|
수신기
근접
(30cm)이내
|
설계센서
|
○
4※
|
○
|
블루투스 5.0
|
○
|
적음
|
100
|
10
|
1※ 각 제품별 전력소모량은 구체적 수치 데이터를 확보하기 어려워 통신방식과 데이터 송신주기로 추정.
2※ 체온의 변화로 활동량 추정(발정시기 추정)
3※ 활동센서를 스위치형태로 만들어 움직이면 관성에 의해 ON/OFF가 되어 활동수량을 계수하는 방식
4※ 3축 가속도 센서(전 방향 운동량 계산 가능)
3.3.5 실증시험
개발한 센서는 그림 12와 13과 같이 한우농가에 직접 설치한 후 소의 움직임을 모니터링하였다.
소는 주로 상하와 좌우방향으로 움직이기 때문에 코일 내부의 영구자석은 중앙에서 상하로 왕복운동을 하고 코일양단에는 운동량에 해당되는 전력이 발생된다.
또한, 코일의 영구자석의 상하운동은 가속도 센서의 y축 값에 비례하므로 발전량을 추정할 수 있다.
Fig. 13. Field- Test monitoring Data
그림 13의 DB를 통해 저장된 1일 평균 1시간 운동에너지 $E_{DA}$는 0.4997 J이다.
$E_{DA}$ = ma = 9.80665$\times$8.711$\times$0.00585 = 0.4997 J
따라서 소의 1일 평균 1시간 추정 발전량 $P_{DA}$는 다음 식 (8)과 같이 2.084 ㎼ 로 계산된다.
Table 7. 24 Hour Field Test Data( ’20.3.13. )
시간
|
0∼1
|
1∼2
|
2∼3
|
3∼4
|
4∼5
|
5∼6
|
6∼7
|
7∼8
|
센서값
가속도
|
1759
|
1423
|
824
|
1264
|
889
|
2354
|
3567
|
8348
|
0.858887
|
0.694824
|
0.402344
|
0.617188
|
0.434082
|
0.434082
|
1.149414
|
4.076172
|
시간
|
8∼9
|
9∼10
|
10∼11
|
11∼12
|
12∼13
|
13∼14
|
14∼15
|
15∼16
|
센서값
가속도
|
13576
|
19378
|
16563
|
17882
|
15946
|
34687
|
48362
|
65462
|
6.628906
|
9.461914
|
8.087402
|
8.731445
|
7.786133
|
7.786133
|
16.937012
|
31.963867
|
시간
|
16∼17
|
17∼18
|
18∼19
|
19∼20
|
20∼21
|
21∼22
|
22∼23
|
23∼24
|
센서값
가속도
|
52376
|
48984
|
38581
|
16628
|
8285
|
4871
|
3529
|
2625
|
25.574219
|
23.917969
|
18.838379
|
8.119141
|
4.04541
|
4.04541
|
2.378418
|
1.281738
|
평균값
(1시간)
|
센서값
|
17,840
|
운동에너지
|
0.4997
|
가속도
|
8.711
|
발전량(uWh)
|
7,501.21
|
표 7은 24시간동안 실측 데이터를 나타내었으며, 지속적인 센싱 및 자가발전이 이루어지고 있음을 확인할 수 있다.