Tuesday, June 3, 2014

SZMS-VSC Home Motion Detector

PIR(Passive infrared Sensor) Motion Detector


크기와 형태

1개 1,000원(Approx. USD 0.98)


사전조사

먼저 사용설명서를 읽어 제원과 특징을 파악합니다.
Data Output에 대한 내용이 아래와 같이 기술 되어있습니다
PD0 : Alarm 신호 (동작감지 신호)
PD1 : 커버 열림감지 신호(Tamper)
PD3 : 배터리 전압이 2.2V이하로 떨어질경우 Low Battery 신호(여기서는 사용하지 않습니다)

500ms High Pulse입니다(PD0, PD1, PD2 동일)  

어떻게 할까?

어떻게 할것인지 계획과 필요한 기능도 정리해봅니다

0. 유선방식, 동작 전압은 5V
1. 동작감지시 알람( Beep 음 5회), 30초간 형광등 점등
2. 센서커버가 열렸을 경우 Open (Beep 음 3회)
3. LCD 화면에 발생횟수, 센서번호, Event(Alarm.Tamper) 정보 표시
4. Data 축적을 위해 Event Logging(UART <-> Notebook PC)
5. 다수의 동작감지 센서는 어떻게?


구현

필요한 신호에 선을 연결하는 작업이외 별다른 작업은 없습니다
유선방식이므로 VCC,GND 그리고 PD0과 PD1만 사용합니다


n개의 센서 사용 (External interrupts  VS. Pin Change Interrupts)


External interrupts는 MCU에서  동작감지 센서 신호같은 외부 신호를 간편하기 감지 할 수 있습니다, 하지만 Atmega48의 경우 2개밖에 지원하지 않으므로 확장성에 문제가 있습니다.

Pin Change Interrupts는 Interrupts 발생시 어느 핀에서 Interrupts 가 발생하였는지 식별, 별도 추가 장치 없이 MCU의 남는 핀수 만큼 확장 가능합니다.
* 여러 동작 감지센서에서 신호가 들어 올경우, 신호를 놓치지 않는방안이 필요합니다

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// PIR Sensor Signal Input Interuupt Vector
// I just found 
// https://sites.google.com/site/qeewiki/books/avr-guide/external-interrupts-on-the-atmega328
// Pin Change Interrupts
ISR(PCINT2_vect)
{
  uint8_t changedbits;

  changedbits  = PIR_PIN ^ portbhistory;
  portbhistory = PIR_PIN;

  if(changedbits & _BV(PIR_ALARM_1))
  {
    status = PIR_ALARM_1; 
  }
  else
  if(changedbits & _BV(PIR_TAMPER_1))
  {
    status = PIR_TAMPER_1;
  }
}

회로도

점선으로 표시된 RTC(Real Time Clock), I2C Interface CLCD는 생략 가능하며, 동작기능에는 영향을 주지 않습니다 (코드 일부 수정필요)



동작감지 Alarm 신호가 발생시 전등이 30초간 켜지게 됩니다, 이 기능은 네비게이션 부팅방지 회로와 유사하며 

1. 해당기능을 원치 않을경우 : R6, T1, C5 제거, R7을 Atmega48 RELAY_ON Pin에 연결
2. 시간을 늘여주고 싶을경우 : C5 의 용량를 늘여주시면됩니다(1000uF사용시 대략 30초))
형광등 점등시 AC 220V를 사용합니다, 전기안전에 주의 하시기 바랍니다



주의사항

사용설명서에 설치 주의사항, 주요제원, 감지범위등 자세한 내용이 있습니다, 읽어보시기 바랍니다.

Warm Up
동작감지 센서에 전원을 인가하거나, 전원을 Off/On 하시면 2분간 감지가 되지 않습니다, (전원을 Off/On 하시면 센서 상단 붉은색 LED가 깜빡입니다,  LED가 꺼질때까지 기다리세요)
이유 : PIR(Passive infrared) Sensor 는 1분정도 Warm up 시간이 필요



Sensing Interval
JP2 설정에 따라 동작감지 센서의 감지 시간을 조정 하 실수 있습니다


무연납

늘 사용하는 인두 온도(300~320도)로는 납이 녹지 않더군요
무연납을 사용한거 같습니다, 인두 온도를 370도 이상 올려야 납땜이 제거 됩니다.
* 배터리는 사용하지 않으므로 배터리 홀더는 잘 빼두셨다가 활용하세요

Download

Schematic(Eagle cad, pdf, jpg)
Source Code
Relay Datasheet
SZMS-VSC Manual


     

안전

AC 220V 전원을 사용합니다, 이로 인해 발생하는 사고에 대해 책임지지 않습니다. 안전에 유의하세요.

No comments:

Post a Comment