用 Arduino 造一个简易金属探测器

2023-07-132.3万
精华项目
AI 快速预览详细 收起
本文介绍了一个使用Arduino制作简易金属探测器的项目。材料包括Arduino Nano、细铜丝、9V电池、100欧电阻、开关、按键、无源蜂鸣器、10微法电容等。通过绕制至少20圈的铜丝线圈,并将其连接到Arduino的引脚8和引脚10,可以实现对金属物体的检测。当金属物体靠近线圈时,内置LED会闪烁,蜂鸣器也会响起。如果遇到问题,可以通过LED的闪烁模式进行排查。这个项目不仅适合初学者学习电子制作,还可以用于日常生活中的金属物品检测。


用 Arduino 造一个简易金属探测器图1

金属探测器,听上去有点高端,下面我们只用一个 Arduino、10 米长的铜丝线、一个 100 欧电阻和一个无源蜂鸣器来制造它。

可以根据需要将探测器设计成各种尺寸和形状,不同之处在于线圈的制作。虽然这款金属探测器还没有达到寻宝的需求,但做成小型手持探测棒,用于日常检查金属物品还是很有用的。不仅可以帮你找到硬币之类的小东西,还可以用来探测家具拼接处、墙面装修所用的金属螺丝或钉子来帮助了解结构。




材料清单
  • Arduino Nano × 1
  • 细铜丝 × 一匝
  • 9V 电池 × 1
  • 100 欧电阻 × 1
  • 开关 × 1
  • 按键 × 1
  • 无源蜂鸣器 × 1
  • 10 muF 电容 × 1
  • 2 烤串用的木棍 × 1
  • 7 根 8cm 电线 × 1
  • 热缩管 × 若干
  • 电烙铁 × 1
  • 热熔胶枪 × 1
  • 制作线圈

用 Arduino 造一个简易金属探测器图2

简单制作一个至少 20 圈的铜丝线圈,50 圈以上更佳。绕的越多探测效果会越好。探测器对大于线圈直径十分之一的物体比较灵敏。因此线圈越小,其灵敏度越高。最终制成的线圈总阻值不能大于 10 欧姆。

用 Arduino 造一个简易金属探测器图3

我这里用的是 AWG26 漆包线,直径 0.4 毫米。每米电阻 0.13 欧姆。缠绕了 60 匝,圈内直径 6.3 厘米。用去了约 12 米漆包线,电阻为 1.5 欧姆。

用 Arduino 造一个简易金属探测器图4


制作原型


下载本项目的代码文件到 Arduino。

代码文件可以在文末下载。

用 Arduino 造一个简易金属探测器图5
  • 将线圈两头的引线分别接到 Arduino 的引脚 8 和引脚 10。
  • 在引脚 8 和 GND 之间接上一个 100 欧姆电阻。
  • 在 GND 和引脚 12 之间串联一个无源蜂鸣器和 10 微法电容。

试试看吧!当把金属物件放到线圈附近时,Arduino 上内置的 LED 会开始闪烁,蜂鸣器也以相同的频率响起。

如果没有效果,可以通过 LED 的闪烁模式来排查问题:
  • 只闪一次——探针上没有脉冲,需要检查连线是否有问题
  • 双重闪烁——延时过短,需要增加线圈匝数
  • 三重闪烁——延时过长,需要减少线圈匝数
  • 四重闪烁——无稳定脉冲,需要确认线圈的电阻是否符合要求

为了更细致的排错,你也可以将代码中的 debug false 修改成 debug true。可以看到串口监视器反馈的延时数值。建议调节线圈让数值在 5 ~ 20 之间。


原理说明
金属探测器由两部分组成,检测线圈和滤波电路。其中检测线圈为核心部分。线圈通电后会产生磁场,有金属进入磁场,就是引起磁场变化,由此判断有金属杂质。

用 Arduino 造一个简易金属探测器图6

这里的挑战在于脉冲延迟非常短:RL电路的特征时间为 tau = L/R,其中L表示亨利,R表示欧姆。我们使用的线圈电感约为 300 微亨,因此对于 R = 100 欧姆,tau = 3 微秒。我们要寻找 1/5000 的电感变化。因此需要以优于 1 纳秒的精度来测量时间。Arduino 的时钟速度为 16 MHz,这样的测量是不够精确的。但是可以通过整合大量的检测数据来提高精度。

但是,仅仅重复的测量是不够的,因为量化误差始终是相同的:如果延迟从 3.03 微秒变为 3.02 微秒,则延迟始终为 48 个时钟周期。为了克服这个问题,我们测量了一个短脉冲的下降沿的时序,并在此脉冲长度的 3 到 5 倍(最初发现的延迟值)之间进行扫描。

该代码每秒测量 100 次电感,实现快速检测。对于 25 个时钟周期的脉冲延迟,将定时器设置为每 215 个时钟周期重复一次,因此在 10ms 内,可以重复扫描 50 个脉冲长度的 15 次,而 750 个脉冲的总延迟可以提供测量结果,延迟时间的分辨率为10^-4。

在启动时,将第一个测量值作为参考值。每当测量值相差超过预定义的阈值时,相位计数器就会开始递增。当相位计数器超过最大值时,将产生 1ms 的 LED 脉冲,并且蜂鸣器会同时发声。


制作手柄
用 Arduino 造一个简易金属探测器图7

按照图中所示焊接好电路,找一个大小合适的盒子,将电池和设备都放置进去,打孔并装上按钮即。

用 Arduino 造一个简易金属探测器图8

用 Arduino 造一个简易金属探测器图9

用 Arduino 造一个简易金属探测器图10

用 Arduino 造一个简易金属探测器图11

用 Arduino 造一个简易金属探测器图12

将探测棒用热熔胶粘接在手柄上,就完成啦!



文章首发于公众号:趣无尽

原文作者:rgco

原文连接:https://www.instructables.com/Minimal-Arduino-Metal-Detector/

转载请注明来源信息

20201010_metal_detector.ino.zip

3.24 KB, 下载次数: 5018

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
花生编程
花生编程
赞!!!
花生编程
花生编程
不错不错
三春牛-创客
三春牛-创客
厉害了!
三春牛-创客
三春牛-创客
赞赞赞赞赞
- 没有更多了 -