工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino Nanoで高感度金属探知機を自作する – DIYガイド

必要な部品と材料

必要な工具

使用するソフトウェア

プロジェクトの概要

この金属探知機は、ロシアでよく知られるパルス誘導型金属探知機「PIRAT」をArduino Nanoで簡略化したものです。コインなら15cm、より大きな金属物体なら40cm以上の距離で検出可能で、構造の割には優れた性能を発揮します。

パルス誘導(PI)方式の仕組み

PI型金属探知機は、1つのコイルを送信と受信の両方に使用します。コイルに強力な短パルス電流を流すと、一瞬の磁場が発生します。パルスが終わると磁場の極性が反転して急激に崩壊し、鋭い電気的スパイク(反射パルス)が生じます。この反射パルスは約30マイクロ秒しか続きませんが、金属が磁場の範囲内に入ると、受信信号の振幅と位相に変化が現れます。この変化量から金属の大きさと距離を推定でき、鉄系・非鉄系の識別も可能です。

本装置の構成

Arduino Nanoで高感度金属探知機を自作する – DIYガイド

以前のバージョンではスマートフォンを表示器として使い、頻繁なキャリブレーションが必要でしたが、今回はArduinoのリセットによる自己キャリブレーション機能を備えたスタンドアロン型です。直列接続した2つのリチウムイオン電池で駆動し、光と音の両方で検知を知らせます。金属に近づくほどLEDの点滅頻度と明るさが増します。

回路図

Arduino Nanoで高感度金属探知機を自作する – DIYガイド

ソースコード

// 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; // キーを開く(ON)
    delayMicroseconds(200);
    PORTB = 0; // キーを閉じる(OFF - サーチコイルの電流遮断)
    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;
  }
}

製造プロセス

  1. DIY Arduinoワードクロック – 文字で時刻を表示する洗練されたリアルタイムクロック
  2. Arduino Nanoで20kHzオシロスコープを自作:Nokia 5110 LCD搭載・簡易DIYガイド
  3. DIY ADXL335地震検知器 - 低消費電力3軸加速度センサープロジェクト
  4. Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
  5. Arduinoオーディオ周波数検出器 – 高感度サウンドモジュールで最大音量ピークの周波数を測定
  6. Arduino、Google Cardboard、Bluetoothで作るDIY VRスケートボード
  7. Arduino UNOで作るシンプル電卓 - シリアルモニターで四則演算
  8. Arduino Nanoとロータリーエンコーダーで作る高精度測定ホイール
  9. シンプルなArduinoストップウォッチ:ボタンで動作するクロノメーターの作り方
  10. DIY ArduinoラジオニクスEMR治療デバイスの構築
  11. Arduino NanoとSG90サーボで作るDIY 2軸モーションレーシングシミュレータ