DIY 简单敏感金属探测器
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 6 | |||
| × | 1 |
必要的工具和机器
![]() |
|
应用和在线服务
![]() |
|
关于这个项目
这是俄罗斯著名的脉冲感应金属探测器“PIRAT”的改进版,这次是在Arduino Nano的帮助下制作的,大大简化了它的制作。
它可以检测距离 15 厘米的金属硬币和距离 40 厘米及以上的较大金属物体。考虑到它的简单性,这是一个相对不错的结果。
脉冲感应 (PI) 金属探测器使用单个线圈作为发射器和接收器。该技术通过线圈发送强大的短脉冲(脉冲)电流。每个脉冲都会产生一个短暂的磁场。当脉冲结束时,磁场会反转极性并突然崩溃,从而产生尖锐的电尖峰。这个尖峰持续几微秒,并导致另一个电流流过线圈。该电流称为反射脉冲,非常短,仅持续约 30 微秒。然后发送另一个脉冲并重复该过程。如果一块金属进入磁场线的范围内,接收线圈可以检测到接收信号的幅度和相位的变化。幅度变化和相位变化的大小是金属大小和距离的指示,也可用于区分黑色金属和有色金属。
该设备非常简单且易于制作,包含多个组件:
- Arduino Nano 微控制器
- 功率Mosfet晶体管
- 运算放大器
- 很少的电阻和电容
- 搜索线圈
- 以及用于指示的 LED 和蜂鸣器

我在之前的一个视频中展示了一个类似的金属探测器,但它使用智能手机作为指示器,需要经常校准。与它不同的是,这是一个独立的设备,通过重置 Arduino 进行自我校准。两个串联的锂离子电池用于为设备供电。这次检测器更容易操作,因为它包含光和声音指示。接近物体会增加 LED 的频率和强度。搜索线圈直径为20厘米,包含25匝绝缘铜线,横截面为0.3 -0.5平方毫米。
代码
- Arduino 代码
Arduino 代码C/C++
// arduino 的 PI 金属探测器 version_18_min (C) alex --- 1967 2015int 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 - 所有 outDDRD =0xFF; // 端口 D - all outfor (i =0; i <255; i ++) // 校准/校准{PORTB =B11111111; // 将端口 B 的引脚转换为 1,从而打开。键(打开)延迟微秒(200); // 等待 200 微秒PORTB =0; //延迟微秒(20);s0=模拟读取(A0);s1=模拟读取(A0);s2=模拟读取(A0);c0=c0+s0;c1=c1+s1;c2=c2+s2;延迟(3);}c0 =c0 / 255;c0 =c0 - 5;c1 =c1 / 255;c1 =c1 - 5;c2 =c2 / 255;c2 =c2 - 5;}void loop (){PORTB =B11111111; // 将端口 B 的引脚转换为 1,从而打开。键(打开)延迟微秒(200); // 等待 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; // 发送到指示器(发送到 LED)delay (1);ss2 =s2 - c2;if (ss2 <0){sss2 =1;}ss2 =ss2 / 16;PORTD =ss2; // 发送到指示器(发送到 LED)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; }}
示意图

制造工艺