2023-7-13 16:21:07 [显示全部楼层]
16418浏览
查看: 16418|回复: 4

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

[复制链接]


用 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, 下载次数: 22

三春牛-创客  初级技神

发表于 2023-7-17 21:58:22

赞赞赞赞赞
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-7-17 21:59:40

厉害了!
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-7-18 21:30:07

不错不错
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-7-18 21:33:43

赞!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail