산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 나노로 만드는 고감도 금속 탐지기 - DIY 가이드

부품 및 소모품

아두이노 나노 R3 1개
오퍼레이셔널 앰프 (Op Amp + 비교기 + 레퍼런스) 1개
IRF840 파워 MOSFET 1개
LED (범용) 6개
저항, 커패시터, 다이오드 세트 1세트

필요한 도구 및 장비

앱 및 온라인 서비스

프로젝트 소개

이 프로젝트는 잘 알려진 러시아 펄스 유도 금속 탐지기 'PIRAT'을 아두이노 나노를 활용해 개선한 버전으로, 제작 과정을 크게 단순화했습니다.

이 탐지기는 동전을 15cm 거리에서, 더 큰 금속 물체는 40cm 이상 거리에서 감지할 수 있습니다. 구조가 단순한 점을 고려하면 상당히 우수한 성능입니다.

펄스 유도(PI) 방식의 원리

펄스 유도 금속 탐지기는 단일 코일을 송신기와 수신기로 동시에 사용합니다. 이 기술은 전선 코일에 강력하고 짧은 전류 펄스를 보냅니다. 각 펄스는 순간적인 자기장을 생성하고, 펄스가 끝나면 자기장의 극성이 반전되며 급격히 붕괴되어 날카로운 전기적 스파이크가 발생합니다. 이 스파이크는 몇 마이크로초 지속되며 코일을 통해 또 다른 전류(반사 펄스)를 흐르게 합니다. 반사 펄스는 약 30마이크로초 정도로 매우 짧습니다. 이후 다음 펄스가 전송되며 이 과정이 반복됩니다.

금속 물체가 자기장 선속 범위 내로 들어오면 수신 코일에서 수신 신호의 진폭과 위상 변화를 감지할 수 있습니다. 진폭 변화량과 위상 변화량은 금속의 크기와 거리를 나타내며, 철/비철 금속을 구별하는 데에도 활용됩니다.

주요 구성 요소

아두이노 나노로 만드는 고감도 금속 탐지기 - DIY 가이드

이전 버전에서는 스마트폰을 표시 장치로 사용하고 잦은 보정이 필요했지만, 이번 버전은 아두이노 리셋만으로 자가 보정이 가능한 독립형 장치입니다. 직렬로 연결된 두 개의 리튬 이온 배터리로 전원을 공급합니다. 빛과 소리 표시 기능이 추가되어 조작이 훨씬 쉬워졌으며, 물체에 접근할수록 LED의 점멸 빈도와 강도가 증가합니다.

탐색 코일은 직경 20cm, 0.3~0.5mm² 단면적의 에나멜 동선 25회 감기로 제작합니다.

소스 코드

// PI metal detector for arduino version_18_min (C) alex --- 1967 2015
int ss0 = 0; int ss1 = 0; int ss2 = 0;
long c0 = 0; long c1 = 0; long c2 = 0;
byte i = 0;
int sss0 = 0; int sss1 = 0; int sss2 = 0;
int s0 = 0; int s1 = 0; int s2 = 0;

void setup() {
  DDRB = 0xFF; // 포트 B - 전체 출력
  DDRD = 0xFF; // 포트 D - 전체 출력
  for (i = 0; i < 255; i++) { // 보정/캘리브레이션
    PORTB = B11111111; // 포트 B 핀을 1로 설정, 키 오픈 (턴 온)
    delayMicroseconds(200); // 200마이크로초 대기
    PORTB = 0; // 키 닫기, 탐색 코일의 전류 차단
    delayMicroseconds(20);
    s0 = analogRead(A0);
    s1 = analogRead(A0);
    s2 = analogRead(A0);
    c0 = c0 + s0;
    c1 = c1 + s1;
    c2 = c2 + s2;
    delay(3);
  }
  c0 = c0 / 255; c0 = c0 - 5;
  c1 = c1 / 255; c1 = c1 - 5;
  c2 = c2 / 255; c2 = c2 - 5;
}

void loop() {
  PORTB = B11111111;
  delayMicroseconds(200);
  PORTB = 0;
  delayMicroseconds(20);
  s0 = analogRead(A0);
  s1 = analogRead(A0);
  s2 = analogRead(A0);
  ss0 = s0 - c0;
  if (ss0 < 0) { sss0 = 1; }
  ss0 = ss0 / 16;
  PORTD = ss0; // 표시기로 전송 (LED로 전송)
  delay(1);
  ss1 = s1 - c1;
  if (ss1 < 0) { sss1 = 1; }
  ss1 = ss1 / 16;
  PORTD = ss1;
  delay(1);
  ss2 = s2 - c2;
  if (ss2 < 0) { sss2 = 1; }
  ss2 = ss2 / 16;
  PORTD = ss2;
  delay(1);
  if (sss0 + sss1 + sss2 > 2) {
    digitalWrite(7, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(2, HIGH);
    digitalWrite(1, HIGH);
    digitalWrite(0, HIGH);
    delay(1);
    sss0 = 0; sss1 = 0; sss2 = 0;
  }
}

회로도

아두이노 나노로 만드는 고감도 금속 탐지기 - DIY 가이드

제조공정

  1. DIY 아두이노 워드 클럭 – 세련된 실시간 텍스트 시계 만들기
  2. 아두이노 나노와 노키아 5110 LCD로 20kHz 오실로스코프 만들기: 쉬운 DIY 가이드
  3. DIY ADXL335 지진 감지기: 저전력 3축 가속도계 프로젝트
  4. 아두이노와 스마트폰으로 만드는 스마트 전압계 – 초간단 DIY 프로젝트
  5. 아두이노 오디오 주파수 감지기 - 고감도 사운드 모듈로 최대 음량 피크 주파수 측정
  6. 아두이노, 구글 카드보드, 블루투스로 DIY VR 스케이트보드 만들기
  7. 아두이노 우노로 기초 계산기 만들기 - 쉬운 프로젝트
  8. 아두이노 나노와 로터리 인코더로 만드는 정밀 측정 바퀴
  9. 간편한 아두이노 스톱워치: 버튼 작동 크로노미터 제작하기
  10. DIY 아두이노 라디오닉스 EMR 치료 기기 제작