금속 탐지기는 공항, 쇼핑몰, 영화관 등 다양한 장소에서 유해 할 수있는 금속을 탐지하는 데 사용되는 보안 장치입니다. 이전에는 마이크로 컨트롤러없이 매우 간단한 금속 탐지기를 만들었는데 지금은 금속 탐지기를 구축하고 있습니다. Arduino 사용. 이 프로젝트에서는 금속 감지를 담당하는 코일과 커패시터를 사용할 것입니다. 여기서 우리는 이 금속 탐지기 프로젝트 를 구축하기 위해 Arduino Nano 를 사용했습니다. 이것은 모든 전자 제품 애호가에게 매우 흥미로운 프로젝트입니다. 이 감지기가 근처에있는 금속을 감지하면 부저가 매우 빠르게 울리기 시작합니다.
필수 구성 요소:
다음은 Arduino를 사용하여 간단한 DIY 금속 탐지기 를 구축하는 데 필요한 구성 요소입니다. 이러한 모든 구성 요소는 현지 하드웨어 상점에서 쉽게 구할 수 있어야합니다.
- Arduino (모든)
- 코일
- 10nF 커패시터
- 부저
- 1k 저항
- 330 옴 저항
- LED
- 1N4148 다이오드
- 브레드 보드 또는 PCB
- 점퍼 와이어 연결
- 9v 배터리
금속 탐지기는 어떻게 작동합니까?
일부 전류가 코일을 통과 할 때마다 주변에 자기장을 생성합니다. 그리고 자기장의 변화는 전기장을 생성합니다. 이제 패러데이의 법칙에 따르면,이 전기장 때문에 코일을 가로 질러 전압이 발생하여 자기장의 변화에 반대하고 이것이 코일이 인덕턴스 를 발생시키는 방식입니다. 즉, 생성 된 전압이 전류의 증가에 반대한다는 의미입니다. 인덕턴스의 단위는 Henry이고 인덕턴스를 측정하는 공식은 다음과 같습니다.
L = (μ ο * N 2 * A) / l 여기서, L- Henries의 인덕턴스 μο- 투자율, 공기에 대한 4π * 10 -7 N- 회전 수 A- m 2 l의 내부 코어 영역 (πr 2) -코일 길이 (미터)
금속이 코일에 가까워지면 코일이 인덕턴스를 변경합니다. 인덕턴스의 이러한 변화는 금속 유형에 따라 다릅니다. 비자 성 금속의 경우 감소하고 철과 같은 강자성 재료의 경우 증가합니다.
코일의 코어에 따라 인덕턴스 값이 크게 변합니다. 아래 그림에서 에어 코어 인덕터를 볼 수 있습니다. 이 인덕터에는 솔리드 코어가 없습니다. 그들은 기본적으로 공기 중에 남겨진 코일입니다. 인덕터에 의해 생성되는 자기장의 흐름 매체는 아무것도 또는 공기입니다. 이 인덕터는 인덕턴스의 가치가 매우 낮습니다.
이 인덕터는 microHenry의 값이 거의 필요하지 않을 때 사용됩니다. 몇 milliHenry보다 큰 값의 경우 적합한 값이 아닙니다. 아래 그림 에서 페라이트 코어가있는 인덕터를 볼 수 있습니다. 이 페라이트 코어 인덕터는 인덕턴스 값이 매우 큽니다.
여기에 감긴 코일은 공기 코어 형이므로 금속 조각이 코일 근처로 가져 오면 금속 조각이 공기 코어 형 인덕터의 코어 역할을합니다. 코어 역할을하는이 금속에 의해 코일의 인덕턴스가 크게 변하거나 증가합니다. 코일의 인덕턴스가 갑작스럽게 증가하면 금속 조각없이 비교할 때 LC 회로의 전체 리액턴스 또는 임피던스가 상당한 양으로 변경됩니다.
그래서 여기이 Arduino 금속 탐지기 프로젝트 에서 금속을 탐지하기 위해 코일의 인덕턴스를 찾아야합니다. 이를 위해 이미 언급 한 LR 회로 (저항-인덕터 회로)를 사용했습니다. 이 회로에서 우리는 약 20 권의 코일 또는 10cm 직경의 권선을 사용했습니다. 우리는 빈 테이프 롤을 사용하고 코일을 만들기 위해 와이어를 감았습니다.
회로도:
우리는이 금속 탐지기 프로젝트 전체를 제어하기 위해 Arduino Nano를 사용했습니다. LED와 부저는 금속 감지 표시기로 사용됩니다. 코일과 커패시터는 금속 감지에 사용됩니다. 전압을 낮추기 위해 신호 다이오드도 사용됩니다. 그리고 전류를 Arduino 핀으로 제한하는 저항.
작동 설명:
이 Arduino 금속 탐지기의 작동 은 약간 까다 롭습니다. 여기에서는 Arduino에서 생성 된 블록 파 또는 펄스를 LR 고역 통과 필터에 제공합니다. 이로 인해 모든 전환에서 코일에 의해 짧은 스파이크가 생성됩니다. 생성 된 스파이크의 펄스 길이는 코일의 인덕턴스에 비례합니다. 따라서 이러한 스파이크 펄스의 도움으로 코일의 인덕턴스를 측정 할 수 있습니다. 그러나 여기에서는 이러한 스파이크가 매우 짧은 기간 (약 0.5 마이크로 초)이고 Arduino에서 측정하기가 매우 어렵 기 때문에 이러한 스파이크로 정확하게 인덕턴스를 측정하기가 어렵습니다.
따라서이 대신 상승 펄스 또는 스파이크에 의해 충전되는 커패시터를 사용했습니다. 그리고 Arduino 아날로그 핀 A5에서 전압을 읽을 수있는 지점까지 커패시터를 충전하는 데 몇 개의 펄스가 필요했습니다. 그런 다음 Arduino는 ADC를 사용하여이 커패시터의 전압을 읽습니다. 전압을 읽은 후 커패시터는 capPin 핀을 출력 으로 만들고 Low 로 설정하여 빠르게 방전되었습니다. 이 전체 프로세스를 완료하는 데 약 200 마이크로 초가 걸립니다. 더 나은 결과를 위해 측정을 반복하고 결과의 평균을 취했습니다. 이것이 Coil의 대략적인 인덕턴스를 측정하는 방법 입니다. 결과를 얻은 후 결과를 LED와 부저로 전송하여 금속의 존재를 감지합니다. 작동 방식을 이해하려면이 문서 끝에 제공된 전체 코드를 확인하십시오.
이 기사의 끝에 완전한 Arduino 코드 가 제공됩니다. 이 프로젝트의 프로그래밍 부분에서 우리는 두 개의 Arduino 핀을 사용했습니다. 하나는 코일에 공급되는 블록 파를 생성하기위한 것이고 두 번째는 커패시터 전압을 읽기위한 아날로그 핀입니다. 이 두 핀 외에 LED와 부저를 연결하기 위해 두 개의 Arduino 핀을 더 사용했습니다.
아래 에서 Arduino Metal Detector 의 전체 코드와 데모 비디오를 확인할 수 있습니다. 금속이 감지 될 때마다 LED와 부저가 매우 빠르게 깜박이기 시작합니다.