RRoy 发表于 2023-7-13 16:21:07

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





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

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

https://dfrobot.loll.cc/video/Arduino_minimal_metal_detector.mp4


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



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



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




制作原型


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

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



[*]将线圈两头的引线分别接到 Arduino 的引脚 8 和引脚 10。
[*]在引脚 8 和 GND 之间接上一个 100 欧姆电阻。
[*]在 GND 和引脚 12 之间串联一个无源蜂鸣器和 10 微法电容。

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

如果没有效果,可以通过 LED 的闪烁模式来排查问题:

[*]只闪一次——探针上没有脉冲,需要检查连线是否有问题
[*]双重闪烁——延时过短,需要增加线圈匝数
[*]三重闪烁——延时过长,需要减少线圈匝数
[*]四重闪烁——无稳定脉冲,需要确认线圈的电阻是否符合要求

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


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



这里的挑战在于脉冲延迟非常短: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 脉冲,并且蜂鸣器会同时发声。


制作手柄


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











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



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

原文作者:rgco

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

转载请注明来源信息

三春牛-创客 发表于 2023-7-17 21:58:22

赞赞赞赞赞

三春牛-创客 发表于 2023-7-17 21:59:40

厉害了!{:6_215:}

花生编程 发表于 2023-7-18 21:30:07

不错不错

花生编程 发表于 2023-7-18 21:33:43

赞!!!
页: [1]
查看完整版本: 用 Arduino 造一个简易金属探测器