0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino Nano构建一个金属探测器

科技观察员 来源:circuitdigest 作者:萨达姆 2022-11-22 17:15 次阅读

金属探测器是一种安全设备,用于在机场、购物中心、电影院等各个地方检测可能有害的金属。以前我们制作了一个非常简单的金属探测器,没有微控制器,现在我们正在使用 Arduino 构建金属探测器。在这个项目中,我们将使用一个线圈和电容器来检测金属。在这里,我们使用Arduino Nano来构建这个金属探测器项目。对于所有电子爱好者来说,这是一个非常有趣的项目。无论该探测器在哪里检测到附近的任何金属,蜂鸣器都会开始非常迅速地发出哔哔声。

所需组件:

以下是使用 Arduino 构建简单 DIY 金属检测机所需的组件。所有这些组件都应该在您当地的五金店轻松买到。

Arduino (任何)

线圈

10nF 电容

蜂鸣器

1k 电阻器

330欧姆电阻

发光二极管

1N4148二极管

面包板或印刷电路板

连接跳线

9v 电池

金属探测器如何工作?

每当一些电流通过线圈时,它就会在其周围产生磁场。磁场的变化会产生电场。现在根据法拉第定律,由于这个电场,线圈上产生一个电压,它反对磁场的变化,这就是线圈产生电感的方式,意味着产生的电压反对电流的增加。电感的单位是亨利,测量电感的公式是:

L = (μο * N2 * A) / l

Where,
L- Inductance in Henries
μο- Permeability, its 4π*10-7 for Air
N- Number of turns
A- Inner Core Area (πr2) in m2
l- Length of the Coil in meters

当任何金属靠近线圈时,线圈会改变其电感。电感的这种变化取决于金属类型。非磁性金属的减少和铁等铁磁性材料的增加。

根据线圈的磁芯,电感值会发生巨大变化。在下图中你可以看到空芯电感器,在这些电感器中,将没有实心磁芯。它们基本上是留在空中的线圈。电感器产生的磁场流动介质是空气。这些电感器的电感值非常低。

这些电感器用于需要几个微亨利值时使用。对于大于几毫亨利的值,这些值不合适。在下图中,您可以看到带有铁氧体磁芯的电感器。这些铁氧体磁芯电感器具有非常大的电感值。

请记住,这里的线圈是空气芯线圈,因此当金属片靠近线圈时,金属片充当空芯电感器的磁芯。通过这种金属作为铁芯,线圈的电感会发生变化或显着增加。随着线圈电感的突然增加,与不使用金属片相比,LC电路的整体电抗或阻抗发生了相当大的变化。

因此,在这个Arduino金属探测器项目中,我们必须找到线圈的电感来检测金属。因此,为此,我们使用了我们已经提到的LR电路(电阻电感电路)。在这个电路中,我们使用了大约 20 圈的线圈或直径为 10 厘米的绕组。我们使用了一个空的胶带卷,并将电线缠绕在其周围以制作线圈。

poYBAGN8kxmAfq9yAABwpxEYCW8341.jpg

电路图:

我们使用Arduino Nano来控制整个金属探测器项目。LED 和蜂鸣器用作金属检测指示器。线圈和电容器用于检测金属。信号二极管也用于降低电压。以及一个用于限制 Arduino 引脚电流的电阻器。

pYYBAGN8kpaACs9VAAFfjzf-2Eo109.png

pYYBAGN8kxyAOaUtAADb4Fm_Nlc553.jpg

工作说明:

这个Arduino金属探测器的工作有点棘手。在这里,我们将Arduino产生的块波或脉冲提供给LR高通滤波器。因此,线圈在每次转换中都会产生短尖峰。产生的尖峰的脉冲长度与线圈的电感成正比。因此,借助这些尖峰脉冲,我们可以测量线圈的电感。但是在这里很难用这些尖峰精确测量电感,因为这些尖峰的持续时间非常短(约0.5微秒),而Arduino很难测量。

poYBAGN8kx2AM9ZvAABi0U7TSOE717.jpg

因此,我们没有这样做,而是使用由上升脉冲或尖峰充电的电容器。它需要很少的脉冲即可将电容器充电到Arduino模拟引脚A5可以读取其电压的程度。然后Arduino使用ADC读取该电容器的电压。读取电压后,电容器通过使capPin引脚作为输出并将其设置为低电平来快速放电。整个过程大约需要 200 微秒才能完成。为了获得更好的结果,我们重复测量并取平均值。这就是我们如何测量线圈的近似电感。获得结果后,我们将结果传输到LED和蜂鸣器以检测金属的存在。检查本文末尾给出的完整代码以了解其工作原理

本文末尾给出了完整的Arduino代码。在本项目的编程部分,我们使用了两个Arduino引脚,一个用于产生要馈入线圈的块波,另一个用于读取电容电压的模拟引脚。除了这两个引脚之外,我们还使用了另外两个Arduino引脚来连接LED和蜂鸣器。

/*


Metal Detector Arduino Code


#define capPin A5

#define buz 9

#define pulsePin A4


#define led 10


long sumExpect=0; //running sum of 64 sums

long ignor=0; //number of ignored sums

long diff=0; //difference between sum and avgsum

long pTime=0;

long buzPeriod=0;


void setup()

{

Serial.begin(9600);

pinMode(pulsePin, OUTPUT);

digitalWrite(pulsePin, LOW);

pinMode(capPin, INPUT);

pinMode(buz, OUTPUT);

digitalWrite(buz, LOW);

pinMode(led, OUTPUT);

}


void loop()

{

int minval=1023;

int maxval=0;

long unsigned int sum=0;

for (int i=0; i<256; i++)

{

//reset the capacitor

pinMode(capPin,OUTPUT);

digitalWrite(capPin,LOW);

delayMicroseconds(20);

pinMode(capPin,INPUT);

applyPulses();



//read the charge of capacitor

int val = analogRead(capPin); //takes 13x8=104 microseconds

minval = min(val,minval);

maxval = max(val,maxval);

sum+=val;



long unsigned int cTime=millis();

char buzState=0;

if (cTime>10)

{

sumExpect=sumExpect+sum-avgsum;

ignor=0;

}

else

ignor++;

if (ignor>64)

{

sumExpect=sum<<6;

ignor=0;

}

if (diff==0)

buzPeriod=1000000;

else

buzPeriod=avgsum/(2*abs(diff));

}


void applyPulses()

{

for (int i=0;i<3;i++) 

{

digitalWrite(pulsePin,HIGH); //take 3.5 uS

delayMicroseconds(3);

digitalWrite(pulsePin,LOW); //take 3.5 uS

delayMicroseconds(3);

}

}


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 探测器
    +关注

    关注

    14

    文章

    2429

    浏览量

    72022
  • 金属探测器
    +关注

    关注

    18

    文章

    66

    浏览量

    23758
  • Arduino
    +关注

    关注

    184

    文章

    6425

    浏览量

    184750
收藏 人收藏

    评论

    相关推荐

    组装金属探测器

    传感探测器金属探测器
    电子电器
    发布于 :2022年07月09日 09:42:22

    自制金属探测器

    探测器DIY金属探测器
    jf_95215556
    发布于 :2022年09月15日 10:59:58

    可视遥感地下金属探测器

    最近心情不怎么好,忽然看见网上卖金属探测仪的,就想去寻宝,散散心。有那位高手会做可视遥感地下金属探测器的,帮帮忙给我做台仪器。QQ5537
    发表于 03-09 09:18

    金属探测器的原理

    `大家好我在电子厂工作这是我们厂检测电子元件的金属探测器 当元件通过线圈时引起电感变化 发送信号给控制部分我现在想搞明白它的原理这是韩国的设备 上面有说明书我只看懂
    发表于 07-14 16:34

    脉冲金属探测器

    请高手提供实用的脉冲金属探测器电路,30CM铁块效果要能达到三米以上。邮箱:421351802@qq.com
    发表于 07-18 10:51

    脉冲式金属探测器原理

    大家好,我是名学生并在学习金属探测器相关知识并为毕业设计做基础,目前导师要求我学习原理并自己设计,请问有没有了解脉冲感应金属探测器的,可以
    发表于 12-04 16:36

    金属探测器的原理是什么?

    金属探测器原理图
    发表于 11-06 05:52

    自制简易金属探测器资料推荐

      与其它类型的金属探测器相比,本电路的工作原理是这样的:当探测用电感线圈的电感量变化时,L振荡的振荡频率也产生变化。任何金属
    发表于 05-07 06:50

    金属探测器的资料分享

    描述金属探测器
    发表于 09-02 06:27

    带有arduino nano的气体泄漏探测器报警系统

    电子发烧友网站提供《带有arduino nano的气体泄漏探测器报警系统.zip》资料免费下载
    发表于 07-21 10:59 1次下载
    带有<b class='flag-5'>arduino</b> <b class='flag-5'>nano</b>的气体泄漏<b class='flag-5'>探测器</b>报警系统

    DIY敏感的Arduino IB金属探测器

    电子发烧友网站提供《DIY敏感的Arduino IB金属探测器.zip》资料免费下载
    发表于 10-21 09:49 21次下载
    DIY敏感的<b class='flag-5'>Arduino</b> IB<b class='flag-5'>金属</b><b class='flag-5'>探测器</b>

    基于Arduino UNO的金属和生命探测器

    电子发烧友网站提供《基于Arduino UNO的金属和生命探测器.zip》资料免费下载
    发表于 10-31 15:16 9次下载
    基于<b class='flag-5'>Arduino</b> UNO的<b class='flag-5'>金属</b>和生命<b class='flag-5'>探测器</b>

    基于Arduino的简易金属探测器

    方案介绍使用 Arduino、10 米长的电线和 100 欧姆的电阻器,您可以在 10 分钟内构建一个金属探测器!它基于声音物理学,适用于各种线圈尺寸和形状。灵敏度不够寻宝,但可以做成
    发表于 12-27 16:03 0次下载

    DIY指针金属探测器

    简单的金属探测器,能够探测4-5厘米距离处的小硬币。硬件组件:Arduino nano R3×1个通用晶体管PNP×1个LED(通用)×3滑
    发表于 01-04 16:24 4次下载

    FoxyPI:基于Arduino Nano的脉冲金属探测器

    电子发烧友网站提供《FoxyPI:基于Arduino Nano的脉冲金属探测器.zip》资料免费下载
    发表于 06-26 14:48 8次下载
    FoxyPI:基于<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b>的脉冲<b class='flag-5'>金属</b><b class='flag-5'>探测器</b>