화재 경보 시스템은 상업용 건물 및 공장에서 매우 일반적이며 이러한 장치에는 일반적으로 건물의 불꽃, 가스 또는 화재를 지속적으로 모니터링하고 이러한 센서가 감지되면 경보를 트리거하는 센서 클러스터가 포함되어 있습니다. 화재를 감지하는 가장 간단한 방법 중 하나는 IR 불꽃 센서 를 사용하는 것입니다.이 센서에는 IR 빛에 민감한 IR 포토 다이오드가 있습니다. 이제 화재가 발생하면 화재는 열을 생성 할뿐만 아니라 IR 광선도 방출합니다. 예, 모든 불타는 불꽃은 일정 수준의 IR 광선을 방출합니다.이 빛은 사람의 눈에는 보이지 않지만 화염 센서는 감지 할 수 있습니다. Arduino와 같은 마이크로 컨트롤러에 화재가 감지되었음을 알립니다.
이 기사에서는 화염 센서를 Arduino 와 인터페이스 하고 Arduino 및 화염 센서를 사용하여 화재 경보 시스템 을 구축하는 모든 단계를 배웁니다. 화염 센서 모듈에는 빛을 감지하는 포토 다이오드와 감도를 제어하는 연산 증폭기가 있습니다. 화재를 감지하고 감지시 HIGH 신호를 제공하는 데 사용됩니다. Arduino는 신호를 읽고 부저와 LED를 켜서 경고를 제공합니다. 여기에 사용 된 화염 센서는 IR 기반 화염 센서입니다. 우리는 또한 소방 로봇에서 화재를 감지하는 데 동일한 개념을 사용했으며 관심이 있는지 확인할 수도 있습니다.
화염 센서
화염 검출기 화염 화재의 존재를 감지하고 응답하도록 설계된 센서이다. 감지 된 화염에 대한 대응은 설치에 따라 다르지만 경보 음 울림, 연료 라인 (예: 프로판 또는 천연 가스 라인) 비활성화 및 화재 진압 시스템 활성화가 포함될 수 있습니다. 이 프로젝트에 사용 된 IR 불꽃 센서는 아래와 같으며,이 센서는 화재 센서 모듈 또는 불꽃 감지기 센서 라고도합니다.
다양한 유형의 화염 감지 방법이 있습니다. 그중 일부는 자외선 감지기, 근적외선 어레이 감지기, 적외선 (IR) 감지기, 적외선 열 화상 카메라, UV / IR 감지기 등입니다.
화재가 발생하면 소량의 적외선이 방출되며이 빛은 센서 모듈의 포토 다이오드 (IR 수신기)에 의해 수신됩니다. 그런 다음 Op-Amp를 사용하여 IR 수신기의 전압 변화를 확인하여 화재가 감지되면 출력 핀 (DO)이 0V (LOW)를 제공하고 화재가 발생하지 않으면 출력 핀이 5V (높음).
이 프로젝트에서는 IR 기반 화염 센서를 사용 합니다. 고속 및 고감도 NPN 실리콘 포토 트랜지스터 인 YG1006 센서를 기반으로합니다. 파장이 700 ~ 1000nm 인 적외선을 감지 할 수 있으며 감지 각도는 약 60 °입니다. 화염 센서 모듈은 집적 회로의 포토 다이오드 (IR 수신기), 저항기, 커패시터, 전위차계 및 LM393 비교기로 구성됩니다. 온보드 전위차계를 변경하여 감도를 조정할 수 있습니다. 작동 전압은 3.3v ~ 5v DC이며 디지털 출력이 있습니다. 출력의 로직이 높으면 화염 또는 화재가 있음을 나타냅니다. 출력의 로직이 낮 으면 불꽃이나 화재가 없음을 나타냅니다.
다음은 화염 센서 모듈의 핀 설명입니다.
핀 |
기술 |
Vcc |
3.3 – 5V 전원 공급 장치 |
GND |
바닥 |
Dout |
디지털 출력 |
화염 센서의 응용
- 수소 스테이션
- 버너 용 연소 모니터
- 석유 및 가스 파이프 라인
- 자동차 제조 시설
- 원자력 시설
- 항공기 격납고
- 터빈 인클로저
필요한 구성 요소
- Arduino Uno (모든 Arduino 보드 사용 가능)
- 화염 센서 모듈
- LED
- 부저
- 저항기
- 점퍼 와이어
회로도
아래 이미지는 Arduino 화재 센서 회로도이며 화재 센서 모듈을 Arduino와 인터페이스하는 방법을 보여줍니다.
Arduino와 불꽃 센서 작동
Arduino Uno는 ATmega328p 마이크로 컨트롤러를 기반으로하는 오픈 소스 마이크로 컨트롤러 보드입니다. 14 개의 디지털 핀 (6 개의 핀은 PWM 출력으로 사용 가능), 6 개의 아날로그 입력, 온보드 전압 조정기 등이 있습니다. Arduino Uno에는 32KB의 플래시 메모리, 2KB의 SRAM 및 1KB의 EEPROM이 있습니다. 16MHz의 클럭 주파수에서 작동합니다. Arduino Uno는 다른 장치와의 통신을 위해 Serial, I2C, SPI 통신을 지원합니다. 아래 표는 Arduino Uno의 기술 사양을 보여줍니다.
마이크로 컨트롤러 |
ATmega328p |
작동 전압 |
5V |
입력 전압 |
7-12V (권장) |
디지털 I / O 핀 |
14 |
아날로그 핀 |
6 |
플래시 메모리 |
32KB |
SRAM |
2KB |
EEPROM |
1KB |
시계 속도 |
16MHz |
불꽃 센서는 화재의 존재를 검출하는 화염에 의해 방사 된 적외선 (IR) 파장에 기초하여 불꽃. 불꽃이 감지되면 로직 1을 출력으로, 그렇지 않으면 로직 0을 출력으로 제공합니다. Arduino Uno는 센서의 출력 핀에서 로직 레벨을 확인하고 부저 및 LED 활성화, 경고 메시지 전송과 같은 추가 작업을 수행합니다.
또한 다른 화재 경보 프로젝트를 확인하십시오.
- 서미스터를 이용한 화재 경보
- AVR 마이크로 컨트롤러를 이용한 화재 경보 시스템
- Arduino 기반 소방 로봇
코드 설명
이 프로젝트 의 전체 Arduino 코드 는이 기사의 끝에 제공됩니다. 코드는 의미있는 작은 청크로 분할되어 아래에 설명되어 있습니다.
코드의이 부분에서는 Arduino에 연결된 Flame 센서, LED 및 버저 용 핀 을 정의 합니다. 화염 센서는 Arduino의 디지털 핀 4에 연결됩니다. 부저는 Arduino의 디지털 핀 8에 연결됩니다. LED는 Arduino의 디지털 핀 7에 연결됩니다.
" flame_detected " 변수 는 화염 센서에서 읽은 디지털 값을 저장하는 데 사용됩니다. 이 값을 기반으로 불꽃의 존재를 감지합니다.
int 부저 = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
코드의이 부분에서는 Arduino의 디지털 핀 상태 를 설정 하고 구성합니다.
화염 감지 회로의 상태를 표시하기위한 PC와의 직렬 통신을위한 전송 속도.
void setup () { Serial.begin (9600); pinMode (부저, OUTPUT); pinMode (LED, OUTPUT); pinMode (flame_sensor, INPUT); }
이 코드 줄은 화염 센서의 디지털 출력을 읽고 " flame_detected " 변수에 저장합니다.
flame_detected = digitalRead (flame_sensor);
" flame_detected "에 저장된 값 에 따라 부저와 LED를 켜야합니다. 코드의이 부분에서는 " flame_detected "에 저장된 값 을 0 또는 1과 비교합니다.
1과 같으면 불꽃이 감지되었음을 나타냅니다. 부저와 LED를 켜고 Arduino IDE의 Serial 모니터에 경고 메시지를 표시해야합니다.
0 이면 불꽃이 감지되지 않았으므로 LED와 부저를 꺼야합니다. 이 프로세스는 매초마다 반복되어 화재 또는 화염의 존재를 식별합니다.
if (flame_detected == 1) { Serial.println ("화염이 감지되었습니다…! 즉시 조치를 취하십시오."); digitalWrite (부저, HIGH); digitalWrite (LED, HIGH); 지연 (200); digitalWrite (LED, LOW); 지연 (200); } else { Serial.println ("화염이 감지되지 않았습니다. 차갑게 유지"); digitalWrite (부저, LOW); digitalWrite (LED, LOW); } 지연 (1000);
우리는이 개념을 바탕으로 화재를 자동으로 감지하고 물을 펌핑하여 화재를 진압하는 소방 로봇을 구축했습니다. 이제 Arduino 및 화염 센서를 사용하여 화재 감지를 수행하는 방법을 알았으니, 궁금한 점이 있으면 아래 댓글 섹션에 남겨 두십시오.
아래 의 전체 코드와 데모 비디오를 확인하십시오.