본문내용
1. 프로젝트 결과보고서
1.1. 프로젝트 제목 - 초음파센서를 이용한 사람인식 선풍기
초음파센서를 이용한 사람인식 선풍기는 사람의 수와 위치를 인식하여 목 각도를 조절함으로써 선풍기의 바람을 제어하는 프로젝트이다.
사람의 수와 위치를 인식하기 위해 고정된 다수의 초음파 센서를 사용하기로 결정했다. 초음파 센서는 적외선 센서에 비해 감지폭이 좁지만, 가격이 저렴하고 경제적·실용적인 측면에서 더 적합하다고 판단했다.
초음파 센서로 입력받은 값은 마이크로컨트롤러에서 실제 거리값으로 변환되어 LCD 창에 표시된다. 이후 조건문에 따라 스탭모터를 거리값에 따라 PWM 제어를 통해 움직이게 된다.
선풍기는 1번모드(1인일 경우), 2번모드(2인일 경우), 3번모드(3인일 경우)로 동작한다. 1번모드에서는 한 사람을 식별하여 그 사람에게만 바람을 보낸다. 2번모드에서는 두 사람의 간격에 해당하는 부분만 회전한다. 3번모드에서는 세 사람의 간격에 해당하는 부분만 회전한다.
초음파 센서와 제어부, 선풍기 팬, LCD 등이 전원부를 통해 연결되어 있다. 전원부는 아답터로부터 9V 전압을 공급받아 레귤레이터를 거쳐 필요한 전압을 제공한다.
마이크로컨트롤러에는 CodeVisionAVR C 컴파일러를 활용하여 프로그램을 구현했다. 인터럽트를 이용해 초음파 센서의 값을 읽어들이고, PWM 제어를 통해 서보모터를 동작시킨다. 또한 LCD를 통해 센싱된 거리값을 표시한다.
이를 통해 사람의 수와 위치를 인식하여 선풍기의 바람 방향을 조절함으로써 사용자의 편의성을 높일 수 있다.
1.2. 제작 목표
"사람의 수와 위치를 인식하여 목 각도를 조절하는 선풍기를 구현하는 것이 이 프로젝트의 제작 목표이다. 인체감지센서를 이용하여 사람을 식별한 후 각 동작모드에 따라 적절하게 바람을 보내는 것이다. 구체적으로 1번모드)는 1인일 경우 한 사람을 식별하여 그 사람에게만 바람을 보내고, 사람이 이동할 경우 그를 추적하여 바람을 보낸다. 2번모드)는 2인일 경우 두 사람의 간격에 해당하는 부분만 회전한다. 3번모드)는 3인일 경우 세 사람의 간격에 해당하는 부분만 회전한다."
1.3. 프로젝트 본론
1.3.1. 센서의 이해
1.3.1.1. PIR센서
PIR센서는 적외선을 이용한 인체 움직임 감지센서이다. PIR 센서는 적외선에 민감한 특수 물질로 만들어진 두 개의 슬롯을 가지고 있다. 센서가 대기 상태에서는 두 슬롯이 같은 적외선 측정값을 가지게 된다.
사람과 같이 체온을 가진 물체가 지나가게 되면 먼저 두 개의 슬롯 중 하나의 슬롯이 이 변화를 감지한다(Positive differential change). 사람이 센서의 측정 영역을 벗어날 때에도 반대의 현상이 일어난다(Negative differential change). 이러한 변화가 모션 감지 결과가 된다.
동작 원리는 온도가 높은 물체는 낮은 물체보다 더 많은 적외선을 방사하며, 복사되는 에너지의 피크치는 온도가 높을수록 단파장측, 가시광의 영역에 접근한다는 것이다. 인간의 표면온도는 보통 20~35도이며 방사되는 적외선 파장분포는 대략 10μm 부근에서 피크를 이룬다. PIR센서는 이러한 적외선의 변화량을 감지하여 사람의 존재유무를 판단한다.
PIR센서는 열감지 및 필터를 통해 사람만을 감지하는 특징이 있다. 감지거리와 각도가 좋고 인터페이스가 간편하여 널리 사용되고 있다. 하지만 고가의 가격이 단점이다. 또한 거리 판별은 못하고 감지거리 내에서만 감지신호를 보낼 수 있다.센서는 사물과 사람을 구분하지 못하고 모든 움직임을 감지하기 때문에, 단순히 움직임이 감지되었다고 해서 사람이 있다고 판단하기 어렵다. 따라서 PIR센서와 다른 보완적인 센서를 함께 사용하여 보다 정확한 사람 인식이 필요하다. 최근에는 PIR센서와 카메라, 초음파센서 등을 결합한 센서 모듈들이 등장하고 있다.
PIR센서는 적외선을 감지하여 움직임을 감지하지만, 적외선은 사람 뿐만 아니라 동물이나 따뜻한 물체에서도 발생하기 때문에 오작동의 위험이 있다. 또한 거리를 측정할 수 없어 움직임의 위치를 정확히 파악하기 어렵다는 단점이 있다. 이를 보완하기 위해서는 초음파 센서나 카메라 센서 등 다른 센서와의 융합이 필요할 것으로 보인다.
PIR센서는 제한적인 기능에도 불구하고 저가이면서 설치가 간단한 특징으로 인해 여전히 많이 사용되고 있다. 하지만 향후에는 이러한 단점을 극복하고 사람 인식 정확도를 높일 수 있는 복합 센서 모듈의 개발이 필요할 것으로 예상된다.
1.3.1.2. 초음파 센서
초음파 센서는 일정한 간격으로 높은 주파수 사운드 펄스를 통하여 짧게 소리를 발사한다. 이러한 것들은 소리의 속도를 통하여 공기 중에 전파된다. 만약 그것들이 개체에 충돌한다면 센서에게 에코 신호로 반사되어 올 것이고 이러한 것은 시간-에코에 방사하고 도달하는 기간-을 통하여 목표까지의 거리를 산정하게 된다.
개체까지의 거리는 흐름 시간을 측정함으로써 산출되며 사운드의 강도와는 관계가 없다. 초음파 센서는 뚜렷하지 않은 잡음의 간섭을 배제한다. 사실상 모든 물질은 물체의 색깔에는 관련 없이 반향 되는 소리에 의하여 탐색된다. 어떠한 투명한 물질이나 얇은 금속 박막일지라도 초음파센서를 통하여 아무런 문제없이 나타낼 수 있다.
사람 귀에 들리지 않는 20kHz~200kHz 정도의 주파수를 갖는 초음파를 발신하여 그것이 반사되어 되돌아오는 시간을 구하여 반사 물체까지의 거리를 탐지한다. 마이크로소닉의 초음파 센서는 20mm에서 10m까지 의 목표 거리를 측정하는 것이 적절하며 흐름 시간을 측정함에 따라 정밀한 정확도를 가지고 확인할 수 있다. 우리의 센서들의 일부분은 0.025mm 보다 작은 정확도를 가진 신호 역시 분석할 수 있다.
초음파 센서는 먼지 투성이의 공기 중이나 잉크 분무중에서도 탐색할 수 있다. 센서 표면에 박막 증착이 이루어지더라도 기능을 손상시키지 않는다. 약30mm의 블라인드 존을 가진 센서와 아주 좁은 조사 각(narrow beam)을 가진 센서는 오늘날 총체적으로 새로운 어플리케이션을 발견시켰다. 요구르트 병의 레벨 측정과 패키징 섹터에서 작은 병을 검출하여야 하는 것까지- 우리의 센서는 이러한 것에 대하여 아무런 문제가 없다. 전선이라도 신뢰성 있게 탐지한다.
따라서 초음파 센서는 사람 및 물체의 거리를 정밀하게 측정할 수 있는 장점이 있어, 본 프로젝트에서 사람인식 선풍기 제작을 위해 적합한 센서로 선정되었다.
1.3.1.3. 센서의 선정
PIR센서와 초음파 센서 모두 인체를 탐지하는데 사용될 수 있지만, 이를 선정할 때 고려해야 할 사항이 있다. PIR센서는 큰 방사각을 가지고 있어 한 사람을 추적하거나 범위 내에 사람이 어떻게 구분하는 데 어려움이 있다. 반면 초음파 센서는 좁은 방사각을 갖고 있어 회전하여 감지하면 원하는 결과를 얻을 수 있다. 따라서 이 프로젝트에서는 초음파 센서를 선정하였다. 초음파 센서는 전선이나 투명한 물체도 감지할 수 있고, 거리를 정확히 측정할 수 있다는 장점이 있다. 또한 PIR센서에 비해 가격이 저렴하다. 다만 적외선 센서와 달리 사람과 사물을 구분할 수 없다는 단점이 있다. 그러나 이 프로젝트에서는 경제적이고 실용적인 측면에서 초음파 센서가 더 적합하다고 판단하였다.
1.3.2. 하드웨어 설계
1.3.2.1. 구성도
전체 구성도는 전원부, 선풍기 팬, LCD, 마이크로컨트롤러, 초음파센서, 컨트롤부로 이루어져 있다. 전원부는 7805레귤레이터로 구성되어 마이크로컨트롤러와 LCD, 선풍기 팬, 초음파센서 등에 전원을 공급한다. 컨트롤부는 스위치들로 이루어져 있으며 동작의 유/무, 회전의 유/무 등을 구분하게 된다. 선풍기 팬은 독립적으로 전원을 공급받는다. 초음파 센서로 입력받은 값은 마이크로컨트롤러 내에서 실제 거리값으로 변환되어 LCD 창에 표시되게 된다. 이후 조건문에 따라 스탭모터를 거리값에 따라 PWM 제어를 통해 움직이게 된다. 컨트롤부에서는 이러한 동작의 전체적인 부분을 마이크로컨트롤러의 PIN 값에 의해 제어하게 된다.
1.3.2.2. 전원부
아답터를 사용하여 5V 정도의 전압을 얻어 사용하려고 했으나, 전압강하가 발생하여 더 높은 전압의 아답터를 사용(9V)하여 레귤레이터를 거쳐 전류를 공급받는 방식을 택하였다. 이때 자주쓰이는 LM2575레귤레이터를 사용했다. LM2575레귤레이터는 정격전압 5V를 공급하고 나머지 전압을 열을 통해 방출한다.
1.3.2.3. 사용부품
'1.3.2.3. 사용부품'에 대한 내용은 다음과 같다.
본 프로젝트에서는 다음과 같은 부품들을 사용하였다. 먼저 Atmega128 마이크로컨트롤러를 사용하여 전체적인 시스템을 제어한다. 또한 초음파 센서로 HC-SR04 모듈을 사용하여 거리를 측정한다. 서보모터는 D660MG 모델을 사용하여 선풍기 회전을 제어한다. 그리고 LCD로는 16자 2열의 LCD 모듈을 사용하여 각종 정보를 출력한다.
Atmega128은 AVR 마이크로컨트롤러의 대표적인 모델로, 플래시 메모리, EEPROM, SRAM 등의 내장 메모리와 다양한 주변장치들을 갖추고 있어 시스템 구현에 적합하다.
HC-SR04 초음파 센서는 거리 측정 범위가 2cm~400cm이며, 0.3cm의 분해능을 가져 정밀한 거리 측정이 가능하다. 센서 작동을 위해 TRIG 핀에 10μs 이상의 펄스를 입력하면 센서가 초음파를 발생하고, ECHO 핀에서 펄스 폭에 비례하는 신호가 출력된다.
D660MG 서보모터는 토크가 크고 각도 제어가 정밀한 모델로, PWM 신호를 이용하여 원하는 각도로 회전시킬 수 있다. 본 프로젝트에서는 선풍기의 회전각을 제어하는데 활용된다.
마지막으로 16자 2열의 LCD 모듈은 Atmega128과 인터페이스하여 각종 정보를 디스플레이 할 수 있다. DB4~DB7핀을 데이터 신호로, RS, E, RW핀을 제어 신호로 사용하여 쉽게 구현할 수 있다.
이처럼 본 프로젝트에서는 Atmega128, HC-SR04, D660MG 서보모터, 16자 2열 LCD 모듈 등을 사용하여 초음파 센서를 이용한 사람인식 선풍기 시스템을 구현하였다.
1.3.3. 제어 구현
1.3.3.1. CodeVisionAVR C 컴파일러
CodeVisionAVR은 AVR마이크로콘트롤러 패밀리를 위해 설계된 통합 개발 환경 및 자동 프로그램 생성기를 내장한 C 컴파일러이다. 즉, CodeVisionAVR에는 에디터, 컴파일러, 프로그램 다운로드 후에 바로 ATmega128의 플래시 프로그램메모리에 다운로드하여 실행시켜 볼 수 있는 기능이 포함되어 있다.
CodeVisionA...