亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

自制高灵敏度 Arduino 金属探测器:铁/非铁金属识别

项目亮点

核心原理:感应平衡 (Induction Balance)

发射线圈驱动 7.64 kHz 方波,产生交变磁场。接收线圈置于零耦合位置(几何抵消)。金属靠近改变磁场耦合,接收线圈感应出微弱信号,经运放 (TL081/LT1677) 放大后送 Arduino ADC 采样。通过四相位灵敏检波 (0°/45°/90°/135°) 计算幅度与相位:

硬件清单 (BOM)

元件规格/型号数量备注
Arduino Nano R3ATmega328P 16MHz1核心控制器
运算放大器TL081 / LT1677 / 7411接收线圈信号放大
LCD 显示模块1602 字符屏 (HD44780)1显示类型、强度条、数值
扬声器0.25W 8Ω1音调指示信号强度
NPN 三极管2N2222 / BC547 等1驱动扬声器
搜索线圈自制,11cm 直径,64 匝 0.5mm² 漆包线,D 型2发射/接收各一,铝箔屏蔽留缝
电阻/电容套件按原理图选值1 套含谐振电容、偏置、滤波等
电位器10kΩ 多圈1相位平衡微调 (90° 分量归零)
拨码开关/按钮3 个3校准、灵敏度、电源控制
电池2 节 18650 串联 (7.4V)1 组接 Arduino Vin,续航极长
PCB / 万用板建议 PCB1项目赞助商 PCBgogo 提供制板

线圈制作关键点

  1. 骨架:11cm 直径 PVC 管或 3D 打印 D 型骨架
  2. 绕线:64 匝,0.5mm² 漆包线,整齐紧密
  3. 屏蔽:铝箔包裹线圈外侧,用镀锡铜线绑定,**必须留 2-3mm 缝隙**防止短路匝
  4. 固定:扎带将两线圈平行固定在塑料板上,中心距可调以微调耦合

软件核心算法

定时器与 ADC 同步采样

相位敏感检波与谐波抵消

// 四相位累加器 bins[0..3] 对应 0°, 45°, 90°, 135°
// 消除三次谐波:
bin0 = (avg[0] + √2/2*(avg[1]-avg[3])) / 200
bin1 = (avg[1] + √2/2*(avg[0]+avg[2])) / 200
bin2 = (avg[2] + √2/2*(avg[1]+avg[3])) / 200
bin3 = (avg[3] + √2/2*(avg[2]-avg[0])) / 200

amp1 = sqrt(bin0² + bin2²)   // 0°/90° 分量幅度
amp2 = sqrt(bin1² + bin3²)   // 45°/135° 分量幅度
ampAvg = (amp1 + amp2) / 2

phase1 = atan2(bin0, bin2) * 180/π + 45
phase2 = atan2(bin1, bin3) * 180/π
phaseAvg = (phase1 + phase2)/2 - phaseAdjust  // 修正采样相位延迟

金属类型判决

if (ampAvg > threshold) {
  if (phaseAvg < -20.0)  -> "Non-ferrous" (非铁)
  else                   -> "Ferrous"     (铁)
  // 音调映射:幅度 10~200 → 频率 100~1500Hz
  tone(3, map(ampAvg, 10, 200, 100, 1500), 120);
}

Arduino 完整代码结构

代码已整理为单文件,包含:

完整代码下载: 参见项目 Code 栏附件 .ino 文件。

调试与校准流程

  1. 上传代码,上电,LCD 显示初始化画面。
  2. 远离金属,按住 校准按钮 (Pin 2) 3 秒,LCD 显示 "Calibrating...",串口输出四路校准基线值。
  3. 松开按钮,设备进入检测模式。LCD 第一行显示类型 (Ferrous/NonFerous/空白),第二行显示强度条形图。
  4. 用铁块、铜管、铝罐、硬币分别测试,观察相位与音调变化。
  5. 若零点漂移,重新按校准键;若灵敏度不足,调节电位器微调 90° 分量,或在代码中降低 threshold (默认 5.0)。

进阶改进方向

原理图与 PCB

项目附件包含原理图 (Eagle/KiCad 格式) 与 PCB 布局,已通过 PCBgogo 制板验证。关键点:

致谢

本项目基于 David Crocker 2013 年 Arduino 论坛开源代码改进,感谢 PCBgogo 赞助 PCB 制造。完整构建过程见作者 YouTube 视频。

制造工艺

  1. 树莓派低成本婴儿啼哭检测器 DIY 指南:Prota OS + Philips Hue + Volumio
  2. 复古 Numitron 管时钟:Arduino Nano 驱动,低温可靠省电
  3. Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
  4. DIY ADXL335 地震检测仪 — 低功耗三轴加速度计项目
  5. Arduino DIY 电压表:Nokia 5110 屏幕显示,手把手教学
  6. MobBob:3D 打印智能机器人,Android 手机无缝控制,语音视觉一体
  7. 自制高精度测距轮:Arduino Nano + 旋转编码器 + 1602 LCD
  8. 基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
  9. 高精度空气质量监测仪:Sharp GP2Y1010AU0F 粉尘传感器 + Arduino Nano
  10. Arduino Nano 手持盖革计数器:DIY 核辐射检测仪
  11. Arduino Nano 与 WS2812 灯带打造 1D 乒乓球游戏——分步 DIY 教程
  12. 基于 Arduino 与 DSM501A 传感器的空气质量监测仪