当前位置:文档之家› 基于单片机控制的金属探测器

基于单片机控制的金属探测器

声明本人郑重声明:

所呈交的毕业设计(论文)是本人在指导教师指导下进行的研究工作及取得的研究成果。其中除加以标注和致谢的地方,以及法律规定允许的之外,不包含其他人已经发表或撰写完成并以某种方式公开过的研究成果,也不包含为获得其他教育机构的学位或证书而作的材料。其他同志对本研究所做的任何贡献均已在文中作了明确的说明并表示谢意。

本毕业设计(论文)成果是本人在江西师范大学读书期间在指导教师指导下取得的,成果归江西师范大学所有。

特此声明。

声明人(毕业设计(论文)作者)学号:

声明人(毕业设计(论文)作者)签名:

签名日期:年月日

摘要

本文介绍了一种基于AT89S52单片机控制的智能型金属探测器的硬件组成、软件设计、工作原理及主要功能。该金属探测器以AT89S52单片机为核心,采用线性霍尔元件UGN 3503U作为传感器来感应金属涡流效应引起的通电线圈周围磁场的变化,并将磁场变化转化为电压的变化,单片机将测得的电压值与试验测定的基准电压值相比较,以确定是否探测到金属。该系统软件采用C语言来写,在软件设计中,采用了算术平均值滤波消除干扰,提高了探测器的抗干扰能力,确保了系统的准确性。

关键词:单片机,金属探测器,线性霍尔元件,电磁感应,涡流

Abstract

This paper describes the composition of hardware and software,working principles and the functions of an intelligent metal detector which mainly consists of AT89S52 Single Chip Micyoco and linear Hall-Effect Sensor. The equipment adopts UGN3503U linear hall-effect sensor as probe to detect the magnetic field change of the centre of a search coil resulted from eddy current effect and turn this magnetic field change into voltage change. The SCM measures the peak value of voltage and compares it with reference voltage. Then determine whether detect metal or not. In case of detection of a metallic mass, the Metal Detector provides an acoustical and optical alarm. The systems software adopts the C language to be written. Inside the software, the Arithmetic mean filter technology is utilized to eliminate the jamming. So the stability of system and the measuring veracity are improved.

Keywords: SCM(Single Chip Micyoco),metal detector, linear hall-effect sensor, electric-magnetic induction, eddy current.

目录

摘要............................................................................. Abstract.......................................................................... 1引言 0

2 设计要求 0

3 探测金属的理论依据 0

4 方案论证 (1)

4.1 方案一 (1)

4.2 方案二 (2)

5 硬件部分的设计 (3)

5.1 线圈振荡电路: (3)

5.2 控制电路: (4)

5.2.1 线性霍尔传感器 (4)

5.2.2 放大和峰值检波电路 (5)

5.3 AD及单片机报警部分 (6)

5.3.1 ADC0809 (6)

5.3.2 AT89S52 (7)

5.4 基准电压采集结束部分 (9)

5.5 报警部分 (9)

5.6 显示部分 (9)

5.7 电源部分 (10)

6 工作原理简述 (10)

7 系统软件设计 (11)

8 设计部分仿真 (12)

9 主要技术指标分析 (13)

9.1 金属探测器的工作频率 (13)

9.2 灵敏度分析 (13)

9.3 稳定性分析 (14)

参考文献 (14)

附录一电路原理图 (15)

附录二源程序 (15)

1引言

全球第一台金属探测器诞生于1960年,五十年过去了,金属探测器经历了几代探测技术的变革,从最初的信号模拟技术到连续波技术直到今天所使用的数字脉冲技术,金属探测器简单的磁场切割原理被引入多种科学技术成果。无论是灵敏度、分辨率、探测精确度还是工作性能上都有了质的飞跃,应用领域也随着产品质量的提高延伸到了多个行业。至今,它已经作为一个成熟的产品进入我们的生产生活。

超越今天的金属探测器是难以完成的任务,因此本设计致力于学习和研究探测器的基本原理,以进一步提高自身的水平。

2 设计要求

1.有较高的灵敏度,用它探测大块金属时,探头距金属物体20cm扬声器就会发出声音,小到曲别针,甚至一枚大头针都能检测到。

2.可以透过非金属物体,比如纸张、木材、塑料、砖石、土壤、甚至水层,探测到被遮盖的金属物体。

3 探测金属的理论依据

金属探测器是采用线圈的电磁感应原理来探测金属的。根据电磁感应原理,当有金属物靠近通电线圈平面附近时,将发生如下现象和效应:

1.线圈介质条件的变化:当金属物接

近通电线圈时,将使通电线圈周围的磁场

发生变化:

如图1,对于半径为R的单匝圆形电

感中,通过交变电流I = Imcos t时,线

圈周围空间产生交变磁场,根据毕奥一萨

伐尔定律可计算出线圈中心轴线上一点

的磁感应强度B为:

图3-1 磁感应强度

t

R x I R u u R x uIR r IR dl R r I dB dB B m r R ωμπμθπcos )(2)

(22r 4sin 2322202322232

20

2x +=+=====??? (3-1) 其中,u = u 0 u r , u 为介质的磁导率,u r 为相对磁导率, u 0为真空磁导率。

对于紧密缠绕N 匝的线圈,线圈中心轴线上一点的磁感应强度则为: t R x I R u Nu B m

r ωcos )(2232220+= (3-2)

由公式(1-2)可知,当线圈有效探测范围内无金属物时,u r =1(非金属的相对

磁导率),线圈中心磁感应强度B 保持不变,当线圈有效探测范围内出现铁磁性金属物时,u r 会变大,B 随u r 也会变大。

2.涡流效应:根据电磁理论,我们知道,当金属物体被置于变化的磁场中时,金属导体内就会产生自行闭合的感应电流,这就是金属的涡流效应。

涡流要产生附加的磁场,与外磁场方向相反,削弱外磁场的变化。据此,将一交流正弦信号接入绕在骨架上的空心线圈上,流过线圈的电流会在周围产生交变磁场,当将金属靠近线圈时,金属产生的涡流磁场的去磁作用会削弱线圈磁场的变化。金属的电导率σ越大,交变电流的频率越大,则涡电流强度越大,对原磁场的抑制作用越强。

通过以上分析可知,当有金属物靠近通电线圈平面附近时,无论是介质磁导率的变化,还是金属的涡流效应均能引起磁感应强度B 的变化。对于非铁磁性的金属〔包括抗磁体(如:金、银、铜、铅、锌等)和顺磁体(如锰、铬、钦等)] u r ≈1,

σ较大,

可以认为是导电不导磁的物质,主要产生涡流效应,磁效应可忽略不计;对于铁磁性金属(如:铁、钻、镍) u r 很大,σ也较大,可认为是既导电又导磁

物质,主要产生磁效应,同时又有涡流效应。

本设计正是基于这样的理论,来寻找一种方法来体现这种变化。

4 方案论证

4.1 方案一

图4-1 方案一系统实现框图

如图4-1,本方案金属探测器由高频振荡器、振荡检测器、音频振荡器和功率放大器等组成.

利用探测金属的原理,使得振荡器处于临界振荡,金属导体中产生的涡电流使得振荡回路中的能量损耗增大,甚至无法维持振荡所需的最低能量而停振。检测出这种变化,并转换成声音信号,根据声音有无,判定探测线圈下面是否有金属物体。

此方案由于全是模拟器件,系统存在很多不稳定因素。

4.2 方案二

图4-2 方案二系统实现框图

如图4-2所示, 整个探测系统以8位单片机A T89S52作为控制核心, 先将磁场的变化转化为电压的变化,再将电路采集到的电压处理后送入单片机中,通过程序的设定完成报警部分。

本方案涉及到单片机、传感器、振荡器、AD 转换器等知识的运用,并且电路较稳定,抗干扰性强,有更好的数据处理灵活度,减少了漏判、错判的机率。高频振荡

功率放大器

声控报警

装置

探测线圈 音频振荡器 振荡检测器 多谐振荡

器和放大

ADC0809

AT89S52

探测线圈 放大和峰值检波 报警显示

装置 霍尔元件

故选择方案二。

5 硬件部分的设计

硬件电路分为两大部分, 一部分为线圈振荡电路, 包括:多谐振荡电路、放大电路和探测线圈;另一部分为控制电路, 包括:3503 型线性霍尔元件、放大和峰值检波电路、模数转换器、AT89S52 单片机控制芯片,显示电路、声音报警电路及电源电路。具体的电路图参照附录一。

5.1 线圈振荡电路:

图5-1 线圈震荡电路

工作过程中,由555定时器构成一个多谐振荡器,产生频率是24KHz ,占空比为2/3的脉冲信号。选择24KHz 的超长波频率是为了减弱土壤对电磁波的影响。振荡器的频率计算公式为

z 24ln2

0.01uF )4K 2(12ln )2(1221KH K C R R f ≈??Ω+Ω=+= (5-1) 从多谐振荡器输出的正脉冲信号经过电容C 7输入到Q 1的基极(Q 1为β>=125

的9013H)图中用2N2222代替,使其导通,经Q 1放大之后,就形成了频率稳定度

高、功率较大的脉冲信号输入到探测线圈L1中,在线圈内产生瞬间较强的电流,从而使线圈周围产生恒定的交变磁场。

5.2 控制电路:

5.2.1 线性霍尔传感器

在电路设计中,选用了UGN3503U线性霍尔传感器,来检测通电线圈Ll周围的磁场变化。

UGN3503U线性霍尔传感器的主要功能:将感应到的磁场强度信号线性地转变为电压信号。它是将霍尔元件、高增益线性差分放大器和射极跟随器集成在同一半导体基片上, 为用户提供了一个由外电压源驱动、使用方便的磁敏传感器,如图5-3,其主要功能是可将感应到的磁场强度信号线性地转变为电压信号。它图5-2 UGN3505 图5-3 UGN3505内部结构图

的灵敏度典型值为13.5mV/mT , 静态输出电压为 2.5V , 输出电阻为0.05Ω,mini-SIP封撞。具有灵敏度高,线性度好,结构牢固, 体积小, 重量轻, 耐震动,功耗小,寿命长,频率高(可达1MHz),输出噪声低等特点. 用它作探头可测量10-6T—10T的交变和恒定磁场。

如图5-2,在测量磁场时,将元件的第一脚(面对标志面从左到右数)接电源(工作电压为5V),第二脚接地,第三脚接高输入阻抗(>10kΩ)的电压表,通电后,将电路放入被测磁场中,因霍尔器件只对垂直于霍尔片表面的磁感应强度敏感,因而必须让磁力线垂直于电路表面,当没有磁场B=0G时,静态输出电压是电源电压的一半,当外加磁场的南极靠近器件标志面时,会使输出电压高于静态输出电压;当外加磁场的北极靠近器件标志面时,会使输出电压低于静态输出电压,但仍然是正值。

利用线性霍尔传感器UGN3503U的上述特性,将其接在数据采集电路的前端,并固定在探测线圈Ll的中心,即可感应线圈Ll的磁场变化,并将磁场的变化信号转化为电压信号的变化而被后级电路拾取和放大。

霍尔元件是依据霍尔效应制成的器

件。置于磁场中的静止载流导体,当它

的电流方向与磁场方向不一致时,载流

导体上垂直于电流和磁场的方向上将

产生电动势,这种现象称霍尔效应。如

图5-4通电半导体片中的载流子在磁场

产生的洛仑兹力的作用下,分别向片子

横向两侧偏转和积聚,因而形成一个电图5-4 霍尔电压场,称作霍尔电场。霍尔电场产生的电场力和洛仑兹力相反,它阻碍载流子继续堆积,直到霍尔电场力和洛仑兹力相等。

这时,片子两侧建立起一个稳定的电压,这就是霍尔电压U H 。霍尔电压U H ,可用下式表示:

V)d /(IB R U H H = (5-2) 其中R H 是霍尔常数(m 3c -1),I 是电流(A),B 是磁感应强度(T);d 是霍尔元件的厚

度(m)

若令)(211m b d /--=W VA R K H H ,则得到

V IB K U H H (= (5-3) 由(2-3)可以得出,霍尔电压的大小正比于控制电流I 和磁感应强度B 。K H 称为霍尔元件的灵敏度,它与元件材料的性质与几何尺寸有关。因此当外加电

压源电压一定时,通过的电流I 为一恒值,此时输出电压只与加在霍尔元件上的磁场B 的大小成正比,即:

I K K V KB U H H ==),( (5-4) K 为常数,可见,任何引起磁场强度变化的物理量都将引起霍尔输出电压的变化。

据此,将霍尔元件做成各种形式的探头,固定在工作系统的适当位置,用它去检测工作磁场,再根据霍尔输出电压的变化提取被检信息,这就是线性霍尔元件的基本物理依据和作用。

5.2.2 放大和峰值检波电路

图5-5 放大和峰值检波电路

UGN3503U 输出的电压是一个只有毫伏级的信号,信号十分微弱,因此,若要对此信号进行分析,必须先进行放大。

如图5-5所示,UGN3503线性霍尔元件输出的微弱信号(图中用小电压源模拟)经C 1R 7组成的高通滤波电路无损耗到前级运算放大器U1A 的同相输入端,运

算放大器U1A 把霍尔元件感应到的电压转换为对地电压。在电路设计中,运放LM324采用+5V 单电源供电,对于不同强度的信号均可通过调节前级放大电路的反馈电位器R 4来改变其放大倍数。经放大器放大后的输出电压:

i 3420u )1u R R R ++≈( (5-5) 该信号经耦合电容C 2输入到后级峰值检波电路中。采用阻容耦合的方法可以使

前后级电路的静态工作点保持独立,隔离各级静态之间的相互影响,使得电路总温漂不会太大。峰值检测电路由两级运算放大器组成,第一级运放U 2B 将输入信

号的峰值传递到电容C 3上,并保持下来。第二级运放U 3C 组成缓冲放大器,将输

出与电容隔离开来。

在设计中,为了获得优良的保持性能和传输性能,同样采用了输入阻抗高、

响应速度较快、跟随精度较好的运算放大器LM324,这样可有效地利用LM324的资源,减少使用元器件的数量,降低了成本。当输入电压Vi上升时,Vo

2

跟随上

升,使二极管D

1、D

2

导通,D

3

截止,运放U

2

B工作在深度负反馈状态,给电容C

3

充电。当输入电压Vi下降时,D

3导通,U

2

B也工作在深度负反馈状态,深负反馈

保证了二极管D

1、D

2

可靠截止,峰值得以保持。当Vi再次上升使Vo

2

上升并使

D 1、D

2

导通,D

3

截止,再次对电容C

3

充电(等高于前次充电时电压),Vi下降时,

D 1、D

2

又截止,D

3

导通,Vc将峰值再次保持。输出Vo反映的大小,通过峰值检

波和后级缓冲放大电路,将采集到的微弱电压信号放大至0V一5V的直流电平,以满足转换器ADC0809所要求的输入电压变换范围,然后通过转换电路将检测到的峰值转化成数字量。

5.3 AD及单片机报警部分

图5-6 控制部分电路

经放大和峰值检波电路处理过的电压输入到ADC0809的IN0中,图中此电压用滑动变阻器的电压代替用以仿真,经过AD转换好的8位数字量经输出口送到AT89S52的P1脚,进入单片机内部进行处理。

如图5-6,图中显示部分为方便调试电路所用,START和ALE互连可使ADC0809在接收模拟量路数地址时启动工作。START启动信号,ALE地址锁存,EOC转换结束信号以及OE数字输出允许信号都由AT89S52的内部程序提供,详细见程序分析。显示部分P0脚接数码管位选,P2脚接数码管的段选。P3.0接发光二极管,P3.1接蜂鸣器。

5.3.1 ADC0809

图5-7 ADC0809功能图

ADC0809芯片有28条引脚,采用双列直插式封装,如图2-8所示。各引脚功能:

IN0~IN7:8路模拟量输入端。

2-1~2-8:8位数字量输出端。

ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路

ALE:地址锁存允许信号,输入,高电平有效。

START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。

REF(+)、REF(-):基准电压。

Vcc:电源,单一+5V。

GND:地。

ADC0809是8位逐次逼近型A/D转换器,片内有八路模拟开关,可对八路模拟电压量实现分时转换,转换速度为100ps(即,0千次/秒)。当地址锁允许信号ALE=1时,3位地址信号A、B、C送入地址锁存器,选择8路模拟量中的一路实现AD变换。本设计中只使用通道IN0,所以,地址译码器ABC直接接地为000,采用线选法寻址。ADC0809片内有三态输出缓冲器,可直接与单片机的数据总线相连接,这里将它的数据输出口直接与单片机的数据总线PO口相连接,AT89S52的PO口作为数据总线,又作为低8位地址总线。ADC0809的片内没有时钟,时钟信号必须由外部提供,这里利用AT89S52内部的T0定时器提供,T0直接与ADC0809的CLOCK连接,省去了分频电路,充分利用单片机的功能。

5.3.2 AT89S52

AT89S52 是一种低功耗、高性

能CMOS8位微控制器,共40个引脚如

图5-8,具有 8K 在系统可编程Flash

存储器。使用Atmel 公司高密度非易

失性存储器技术制造,与工业80C51

产品指令和引脚完全兼容。片上

Flash允许程序存储器在系统可编

程,亦适于常规编程器。在单芯片上,

拥有灵巧的8 位CPU 和在系统可编

程Flash,使得AT89S52为众多嵌入

式控制应用系统提供高灵活、超有效

的解决方案。 AT89S52具有以下标准

功能: 8k字节Flash,256字节RAM,图5-8 AT89S52引脚图 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)定时器/计数器2 的触发输入(P1.1/T2EX),在flash编程和校验时,P1口接收低8位地址字节。

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

端口引脚第二功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 INTO(外中断0)

P3.3 INT1(外中断1)

P3.4 TO(定时/计数器0)

P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通)

P3.7 RD(外部数据存储器读选通)

RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为

0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

图5-9 单片机内部框图

本设计中用AT89S52作为控制芯片,经ADC0809转换后的数字量送到该芯片中,通过编程判断该电压是不是有探测到金属时的电压,若是,则进行声音报警,驱动蜂鸣器工作,达到金属探测的功能。

5.4 基准电压采集结束部分

图5-6中的P3.0脚经一个5.1k的电阻跟发光二极管相连。程序中当基准电压已经采集结束会输出给P3.0低电平,使得发光二极管发光,从而达到提示可以探测金属的目的。

5.5 报警部分

图5-6中的P3.1脚跟蜂鸣器相连,当程序中此刻得出电压与基准电压的差值超过设定的差值时,说明此刻探测到周围有金属,则P3.1输出高电平,使得蜂鸣器工作,达到报警的功能。

5.6 显示部分

为了便于调试和了解电路的运行情况,在单片机AT89S52的基础上加了四位的数码管显示电路。利用P2口作为数码管的段选端,P0口作为数码管的位选端,

显示出的即是此刻采集进来的电压值。

5.7 电源部分

图5-10 变压电路图图5-11 LM7805引脚图由于该金属探测器是属于便携式,需要在移动的情况下工作,所以电源必须由电池来提供。市场上的电池电压不能直接满足电压要求,需要经过变换电路来实现稳定的5V电压。根据以前接触过的稳压芯片,选用LM7805,将9V的电池电压变压为设计所需的5V电压。LM7805的管脚功能如图5-11,从正面看,1脚是输入,2脚接地,3脚输出,从3脚输出稳定的5V电压。

6 工作原理简述

工作过程中,由555定时器构成的多谐振荡器产生一个频率为24KHz的脉冲信号。此脉冲信号经过缓冲和放大之后,形成频率稳定度高、功率较大的脉冲信号输入到探测线圈中,通电的线圈周围就会产生磁场。此时,固定在线圈L1中心的霍尔元件UGN3503U就会感应到线圈周围的磁场,并将磁场强度信号线性地转变成电压信号。

,该电压信号很微弱,属mv级在无金属的情况下,假设霍尔输出电压为u

经过放大电路放大,再通过峰值检波电路,得到相应的0V-5V的峰值输信号,u

出电压,以满足ADC0809的量程,经AD转换后,将此输出电压的数字量输入到单片机储存起来。继续采集,当采集到的数据有六个时,单片机通过算出算术平

作为基准电压,并输出低电平到P3.0驱动发光均根的方式得到此时的平均值U

二极管,以提示探测者采集完基准电压,可以进行金属探测。此后,以该电压信号作为基准电压,与A/D转换器采集到的电压信号进行比较判断。

当探测线圈L1靠近金属物体时,由于电磁感应现象,会使探测电感值发生变化,从而使其周围的磁场发生变化,霍尔元件感应到该变化的磁场,并将其线性地转变成电压信号ux该变化的电压经放大电路、峰值检波电路后,得到相应的0V-5V的峰值输出电压,然后经AD转换后,输入到单片机,继续采集。采集的数据达到六个后,经单片机处理算出此时的Ux,再与基准电压U。的比较,二者比较得到一个差值,此差值与预设的灵敏度△U再作比较。当然,△U大小的

)>△U,就确定为探测到金属,CUP输出设定决定着系统精度的高低。若(Ux一U

口P3.1控制蜂鸣器发出声响,进行声音报警。除此,该电路还设计了四个数码管显示部分,以显示此时输入的电压值,方便检测。

7 系统软件设计

图7-1 程序原理框图

软件是本系统最重要的部分,在设计软件中,本文从系统的实用性、可靠性及方便灵活等几个方面出发,使程序满足设计的功能要求。

基本思想流程如图7-1,在实际编写中,灵活运用C 语言的优势,充分利用了AT89S52所具备的功能,完成了定时器T0提供ADC0809一定周期的信号供其工作,软件处理数据进行滤波,实时显示输入电压值等功能。详细程序见附录二。 金属探测器的噪声抑制能力是金属探测器的主要设计指标。由于在采集电压量时经常会碰到各种瞬时干扰,而采用硬件滤波存在硬件电路复杂等诸多弊端,因此本设计中采用算术平均滤波法,即在一次电压量的采集中,在很短的时间内对它进行6次采集,将它转换为数字量后求和,分析出6次输入中的最大值和最小值,然后减去最大值和最小值,除以4得到平均值的方法,完成一次数据采集的软件滤波。用软件代替硬件,从而省去了复杂的硬件,而且能够取得好而精确的效果。 Y Y N

N

Y

N

Y Y 开始

系统初始化

是否已采集U0

采集的数据 采集到的数据=6

算术平均值滤波 基准电压采集结束 采集数据 采集到的数据=6

算术平均值滤波并保存Ux |Ux-U0|>△U

蜂鸣器报警

N

8 设计部分仿真

由于设计中霍尔传感器那部分不方便仿真,故直接给控制电路提供一个0V-5V之间的电压。

图8-1 采集到基准电压仿真图

如图8-1,此状态是刚启动电路后的显示,此时数码管显示2.549V,电压表的电压为 2.55V,在误差允许范围内数码管显示的是此时输入的电压值。P3.0脚接的二极管此时是亮着的,说明基准电压U

已经采集,即为此时的2.55V.P3.1接的蜂鸣器的两端都是低电平,说明此时蜂鸣器不工作,不报警。

图8-2 未探测到金属仿真图

在软件仿真中此时程序设定的灵敏度为1V,因此,如果此时电压|U

X -U

|>1V,

则应该报警,如图8-2,此时电压为3.549V,差值未超过灵敏度,所以P3.1脚依然是低电平,不报警,为探测过程中未探测到金属的状态图。

图8-3 探测到金属仿真图

数码管显示此时电压值为3.607V ,差值大于灵敏度,应为报警状态,图中此时显示蜂鸣器报警,即仿真结果判断此时探测到金属,符合本设计要求。 9 主要技术指标分析

9.1 金属探测器的工作频率

24 KHz ,选择24KHz 的超长波频率是为了减少土壤对电磁波的影响。

9.2 灵敏度分析

仪器的灵敏度受到磁场变化幅度的影响,故由公式(3-2),即

t R x I R u Nu B m

r ωcos )(2232220+= 可知:

1.检测线圈的尺寸对仪器的灵敏度有影响。

探测器的灵敏度与探测线圈的尺寸大小有关,尺寸大即探测面积大,则线圈中心磁场强度低,在靠近线圈附近磁场强度较高,霍尔元件固定在线圈中心,为了确保通过其磁通量,探测线圈的尺寸就不宜太大,具体尺寸通过实验确定。

2.检测线圈的匝数对仪器的灵敏度有影响。

当检测线圈尺寸一定时,则匝数越少其灵敏度越高。但为了确保通过霍尔元件的磁通量,匝数的减少也是有限的,需通过实验来确定最佳匝数。

9.3 稳定性分析

工作过程中存在的部分干扰:

1.线圈的杂散电容与人体感应电容均可引起频率变化而产生伪信号。

2.环境温度的变化,仪器元件参数也会改变,影响仪器工作的稳定。

3.应尽量减少线圈与电路之间引线的长度,以减少分布电容,采用屏蔽线减少外界对其干扰。

本设计中,为提高系统的稳定性,采用了以下两种方法:

1.一次电压量的采集中,在很短的时间内采集6次,转换为数字量后求和,分析出6次输入中的最大值和最小值,然后减去最大值和最小值,除以4得到的平均值作为一次的电压值。这种方法能够滤除伪信号,使得得到的数据更准确,更具科学性。

2.对于不一样的环境,单片机采集到的基准电压是不一样的,这样的设计使得环境对检查结果的干扰大大降低了。另外,灵敏度△U的数值是可以通过编程调节的,对于特定的环境,可以根据实际实验的结果设定最合适的△U,使得仪器满足设计中探测大块金属时,探头距金属物体20cm扬声器就会发出声音的要求,甚至可以满足能够检测到曲别针、一枚大头针的要求。

参考文献

[1] 3503 RATIOMETRIC LINEAR HALL-EFFECT SENSORS. Copyright @ 1985 2002Allegro MicroSystems, Inc.

[2] 童诗白,华成英.模拟电子技术基础(第三版)[Z].北京:高等教育出版社249-272

[3] 周省三.电磁场基本教程[Z].北京:高等教育出版社248-249

[4] 胡汉才.单片机原理及接口技术[Z].北京:清华大学出版社(第二版)北京:清华大学出版社49-64 313-320

[5]程守沫,江之永.普通物理学2[Z].北京:高等教育出版社180-182 204-205

[6] 减春华.电子线路设计与应用[Z].北京高等教育出版社9-73

[7] 郁有为,常健,程继红.传感器原理及工程应用[Z].西安电子科技大学出版社116-123

[8]范丽华,李树华.基于单片机控制的只能型金属探测器的设计[J].内蒙古大学学报,2006,37(2) 185-189

[9] 沙占友,王彦朋,孟志永.单片机外围电路设计[Z].电子工业出版社86-92

[10] 金戌,沈庆阳,郭庭吉吴.8051单片机实践与应用[Z].清华大学出版社153-158

[11] 张毅刚,彭喜元,姜守达.新编MCS-51单片机应用设计[Z].哈尔滨工业大学出版社215-218

附录一电路原理图

附录二源程序

#include"reg51.h"

#define uchar unsigned char

#define uint unsigned int

#define LED_DIGPORT P0; //数码管位选接上拉电阻

#define AD_DATAPORT P1; //A/D数据口

#define LED_WORDPORT P2; //数码管段码

sbit AD_EOC=P3^3; //A/D转换结束信号输出端

sbit AD_CLK=P3^4; //A/D时钟信号输入端

sbit AD_START=P3^6; //启动A/D转换控制信号输入端

sbit AD_OE=P3^7; //A/D输出允许控制端

sbit WARM=P3^1; //控制蜂鸣器输出端sbit LED=P3^0; //基准电压采集结束显示灯

uchar code

Seg_Code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

//共阳极段码uchar code

SegNode_Code[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};

//有小数点段码uchar a[4],dig=0x01;

uchar flag;

uchar i,max,min,count;

long int sum=0,sum1,sum2;

uchar tab[6];

void Delay(uchar t1,uchar t2)

//延时子程序,t1,t2是无符号的字符型全局变量{ f or(;t1>0;t1--)

for(;t2>0;t2--);

}

void Led_Display() //数码管显示子程序{ uchar i;

for(i=0;i<4;i++) //4个数码管{ LED_WORDPORT=0xff; //显示清屏

LED_DIGPORT=dig<

LED_WORDPORT=a[i]; //段码

Delay(1,200); //延时

}

}

void time0() interrupt 1

{

AD_CLK=~AD_CLK; //A/D时钟信号}

void AD_init()

{

for(count=0;count<6;count++) //采集六次转换后的数字量{

while(!AD_EOC);

//若AD_EOC为低电平,即转换期间,等待,直到转换结束AD_START=1; //给START一个高电平,上升沿复位内部寄存器

AD_OE=1; //数据输出有效,允许输出 tab[count]=AD_DATAPORT; //转换后的数字量放tab里Delay(1,10); //延时,给START一个正脉冲AD_OE=0; //数据输出无效,不允许输出AD_START=0; //给START一个低电平,启动ADC0809工作Delay(1,10); //延时一段时间,使得AD转换次数少些,等待AD转换

相关主题
文本预览
相关文档 最新文档