基于单片机的金属探测器的课程设计报告

更新时间:2024-05-21 05:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要

本文着重介绍了一种基于AT89S52单片机控制的智能型金属探测器的硬件组成、软件设计、工作原理及主要功能。该金属探测器以AT89S52单片机为核心,采用线性霍尔元件UGN3503作为传感器,来感应金属涡流效应引起的通电线圈磁场的变化,并将磁场变化转化为电压的变化,单片机测得电压值,并与设定的电压基准值相比较后,决定是否探测到金属。系统软件采用汇编语言编写。在软件设计中,采用了数字滤波技术消除干扰,提高了探测器的抗干扰能力,确保了系统的准确性。适用于对邮件、行李、包裹及人体夹带的伤害性金属物品(如:刀具、枪械、武器部件、弹药和金属包装的炸药等)的检测,可用于海关、机场、车站、码头的安全检查。

目录

第1章 分析探测金属的理论依据………………………………………………………… 1 第2章 硬件电路设计……………………………………………………………………… 1 2.1系统组成……………………………………………………………………………… 1 2.2硬件电路功能描述…………………………………………………………………… 1 2.3整机工作原理描述…………………………………………………………………… 4 第3章 系统软件设计……………………………………………………………………… 5 3.1软件设计思想………………………………………………………………………… 5 3.2数字滤波计算法说明………………………………………………………………… 6 3.3主程序流程图………………………………………………………………………… 6 第4章 仿真、调试结果分析……………………………………………………………… 8 4.1仿真、调试目的与内容……………………………………………………………… 8 4.2仿真结果分析………………………………………………………………………… 8 4.3试验总结……………………………………………………………………………… 9 第5章 结论………………………………………………………………………………… 10 参考文献…………………………………………………………………………………… 10 附录………………………………………………………………………………………… 11

第1章 分析探测金属的理论依据

金属探测器是采用线圈的电磁感应原理来探测金属的。根据电磁感应原理,当有金属物靠近通电线圈平面附近时,将发生线圈介质条件的变化和涡流效应两个现象。当有金属物靠近通电线圈平面附近时,无论是介质磁导率的变化,还是金属的涡流效应均能引起磁感应强度B的变化。对于非铁磁性的金属μr≈1,σ较大,可以认为是导电不导磁的物质,主要产生涡流效应,磁效应可忽略不计;对于铁磁性金属μr很大,σ也较大,可认为是既导电又导磁物质,主要产生磁效应,同时又有涡流效应。 本设计正是基于这样的理论,来寻找一种适合的传感器来感应线圈的磁场变化,并把磁场信号的变化转变成电信号的变化,从而实现单片机的控制。

第2章 硬件电路设计

2.1 系统组成

如图1所示,整个探测系统以8位单片机AT89S52作为控制核心,其硬件电路分为两个部分,一部分为线圈振荡电路,包括:多谐振荡电路、放大电路和探测线圈;另一部分为控制电路,包括:UGN3503型线性霍尔元件、前置放大电路、峰值检波电路ADC0809模数转换器、AT89S52单片机、LED显示电路、声音报警电路及电源电路等。具体电路原理图参看附录1。

键盘控制探测线圈霍尔元件报警放大电路放大峰值检波A/DCPUAT89S52显示多谢振荡器电源a线圈震荡电路b控制电路图1 系统结构框图

2.2 硬件电路功能描述

2.2.1 线圈振荡电路

图2 线圈振荡电路原理图

电路原理图如图2所示。工作过程中,由555定时器构成一个多谐振荡器,产生一频率为24KHz、占空比为2/3的脉冲信号。振荡器的频率计算公式为:

f?1(R10?2R11)C11ln2

图示参数对应的频率为24KHz,选择24KHz的超长波频率是为了减弱土壤对电磁波的影响。从多谐振荡器输出的正脉冲信号经过电容C8输入到Q1的基极(Q1为β≥125的9013H),使其导通,经Q1放大之后,就形成了频率稳定度高、功率较大的脉冲信号输入到探测线圈L1中,在线圈内产生瞬间较强的电流,从而使线圈周围产生恒定的交变磁场。

2.2.2 数据采集电路

图3 数据采集电路

电路原理图如图3所示。由线性霍尔传感器、放大和峰值检波电路构成。线性霍尔传感器选用的是美国ALELGRO公司生产的UGN3503U,主要功能是可将感应到的磁场强度信号线性地转变为电压信号。由于UGN35O3U线性霍尔元件采集到的电压信号是一个毫伏级的信号,信号十分微弱,所以,在对其进行处理前,首先要进行放大。经前级运算

放大器放大的信号经耦合电容C2输入到后级峰值检测电路中。峰值检测电路由两级运算放大器组成,通过峰值检波和后级缓冲放大电路,将采集到的微弱电压信号放大至0V-5V的直流电平。

2.2.3 A/D转换电路

图4 A/D转换电路

为了将采集到的模拟量信息,转换为单片机能够直接处理的数字信息,这里选用了ADC0809型A/D转换器,完成由模拟量到数字量的转换。当地址锁存允许信号ALE=1时,3位地址信号A、B、C送入地址锁存器,选择8路模拟量中的一路实现A/D变换。本设计使用通道NI0,所以,地址译码器ABC直接接地为000,采用线选法寻址。ADC0809的数据输出口直接于单片机的数据总线P0口相连接,这里利用AT89S52提供的地址锁存允许信号ALE经计数器74LS163构成的4分频器分频获得。ALE引脚的频率是单片机时钟频率的1/6,单片机时钟频率为12MHZ,则ALE引脚频率约为2MHZ,再经4分频后为500kHZ,所以ADC0809能可靠工作。ADC0809的模拟输入范围:单极性0~5V,设计中采用+5V单电源供电。电路原理图如图4所示。

2.2.4 系统控制单元

单片机AT89S52与AT89C52相比较,其优点在于AT89S52片内含8K Bytes ISP的可反复擦写1000次的Flash只读程序存储器,还兼具AT89C52的其他优点:AT89S52是一个低功耗,高性能CMOS 8位单片机。40个引脚,8K Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,看门狗定时(WDT)电路,2个数据指针,3个16位可编程定时计数器,5个中断优先级2层中断嵌套中断,2个全双工串行通信口,片内时钟振荡器。其工作电压为5V,晶振频率采用12MHz。

2.2.5 键盘控制电路

键盘控制电路K1键作为功能键设置灵敏度△U,灵敏度是可调的,K2和K3分别作为加1,减1键来调节灵敏度,K4是确定键,当K4键按下时,灵敏度值确定。

2.2.6 显示报警电路

AT89S52的串行口RXD和TXD为一全双工串行通信口,但在工作方式0下可作同步移位寄存器用,其数据由RXD(P3.0)端输出或输入;当键盘控制部分各键按下时,LED显示相对应灵敏度数值,显示电路如图5所示。

图5 显示报警电路

一旦发现金属出现,则被测物理量超限由单片机I/O口P1.0输出信号驱动发光二极管发光报警,P1.6触发无源蜂鸣器用声报警提醒检测人员注意,进行必要的定位搜身检查。

2.2.7 电源电路

电路原理图如图6所示,电源供电由9V电池和板内稳压电源组成。

图6 电源电路

2.3整机工作原理描述

在工作过程中,由555定时器构成的多谐振荡器产生一个频率为24KHz的脉冲信号,

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

在无金属的情况下,假设霍尔输出电压为u0,该电压信号u0很微弱,属mV级信号,u0经过放大电路放大,再通过峰值检波电路,得到相应的0V~5V的峰值输出电压U0,以满足ADC0809的量程,经A/D转换后,将U0的数字量输入到单片机储存起来。此后,以该电压信号作为基准电压,与A/D转换器采集到的电压信号进行比较判断。

当探测线圈L1靠近金属物体时,由于电磁感应现象,会使探测电感值发生变化,从而使其周围的磁场发生变化,霍尔元件感应到该变化的磁场,并将其线性地转变成电压信号ux,该变化的电压经放大电路、峰值检波电路后,得到相应的0V-5V的峰值输出电压Ux,然后经A/D转换后,输入到CPU,由CPU完成Ux与基准电压U0的比较,二者比较? Ux—U0?得到一个差值,此差值与预设的灵敏度△U再作比较。灵敏度由键盘控制电路中各键输入,显示电路部分则显示各键按下后的相应数值,当然,△U大小的设定决定着系统精度的高低。若|Ux-U0|>△U,就确定为探测到金属,CUP输出口P1.0输出信号驱动发光二极管发光报警,同时P1.6控制蜂鸣器发出声响,进行声音报警。

第3章 系统软件设计

3.1 软件设计思想

主程序初始化以后置位AT89S52的中断控制位EA,使CPU开放中断。通过检测RAM中21H中数值的值来判断是否采集基准电压U0,如果未采集过U0,则启动ADC0809对NIO通道的模拟输入量进行A/D转换。

在电路设计中,ADC0809与AT89S52是采用中断方式连接的,所以系统的数据采集处理功能是在中断服务程序中完成的,从原理图看出,ADC0809的EOC端通过反相器接AT89S52的NIT1端,作为中断申请。采用中断方式,可大大节省CPU时间。软件编程允许AT89S52响应外部中断1,且设置其响应方式为边沿触发。当A/D转换完毕后,ADC0809的EOC端向AT89S52的INT1的返向端送入一个中断申请信号,AT89S52接此信号后响应中断请求,调用中断服务子程序INTl,中断服务程序进行压栈,保护现场,读取来自ADC0809数据输出口的8位数字量,并将数字量储存到单片机RAM中,然后启动ADC0809的下一次转换。

经过数据软件滤波之后将其存放在单片机RAM 21H中,作为基准电压U0。反复实验测得的灵敏度△U的值被存放在单片机RAM地址为20H的存储器中。在检测过程中,将A/D转换器采集到的电压信号经数据软件滤波后存入内部RAM以30H为首址的数据存储

器中,然后将此数据Ux二和基准电压U0进行比较,二者差值U存放在单片机ARM地址为22H的存储器中。而后再通过判据算法将此差值U与灵敏度△U进行比较,以确定是否报警键盘控制电路各键控制灵敏度的值,并在显示电路部分显示按键后的对应数值。

3.2 数字滤波及算法说明

金属探测器的噪声抑制能力是金属探测器的主要设计指标。由于在采集电压量时经常会碰到各种瞬时干扰,而采用硬件滤波存在硬件电路复杂等诸多弊端,因此本设计中采用算术平均滤波法,即在一次电压量的采集中,在很短的时间内对它进行6次采集,将它转换为数字量后求和,分析出6次输入中的最大值和最小值,然后减去最大值和最小值,除以4得到平均值的方法,完成一次数据采集的软件滤波。用软件代替硬件,从而省去了复杂的硬件,而且能够取得好而精确的效果。

在一个采样周期内,对信号X的N次测量值进行算术平均,作为时刻K的输出x(k),

x(k)?即

1NN?xi?1i (3-1)

其中N为采样次数,xi为第i次的采样值。

显然N越大,信号平滑度越高,灵敏度就会降低,但是本设计中需要较高的灵敏度,所以N取值不易过大,这里我选择了N=6,选择取6个数进行计算的原因,就是因为在汇编中做计算是非常麻烦的,取6个数,减去最大值和最小值后,取平均值是除4,计算机的内部计算都是二进制,而二进制每除一个2,实际上是向右移一次。所以为了计算方便,我选择取6个数,最后在算除法的时候,只需要用单片机自带的右移位命令移2次就行了。

3.3 主程序流程图

开始系统初始化,开中断键盘控制选通道置连续采样个数采集数据U0?Y启动A/D转换器N启动A/D等待转换完毕等待转换完毕,读取UxN连续采样个数到?Y算术平均值滤波连续采样个数到?Y算术平均值滤波N保存U0到21H中保存平均值Ux到数据缓冲区置数据U0已采样标志N判断|Ux-U0|>?Ui?显示,CPU发出报警信号结束

图7 主程序流程图

3.3.1 键盘控制程序设计(如图8所示)

图8 键盘控制流程图

图10 显示与报警流程图 图9 数字滤波流程图 3.3.2 数字滤波程序设计(如图9所示) 3.3.3 显示与报警程序设计(如图10所示)

第4章 仿真、调试结果分析

4.1 仿真、调试目的与内容

仿真调试的内容是要把程序修改正确,使编译能够通过,而且还要用Proteus仿真软件中的一些功能来查看程序所实现的功能是否能够和预期的功能相符合。需要反复调试,直到能够实现预期结果为止。本次设计是在仿真软件Keil来进行编译和调试的。

4.2 仿真结果分析

本次设计的仿真结果如下所述:

振荡电路输出的是一方波,可以读出占空比和输出脉冲的频率,其仿真结果如图11所示

U0T1T2图11 多谐输出

t

从调试的结果中可以读出T1的值为:0.028ms,T2的值为:0.014ms。输出频率等于23.573KHZ,而理论上输出脉冲的频率是24KHZ,从读出的结果可以看出与理论值有一定的误差,这是由于调试过程中如环境、仪器设备等因素造成的,虽然结果有误差,但基本上是正确的,说明多谐振荡器部分电路是正确的。

显示部分显示的数据是设定的灵敏度值,当按下各键盘部分各个键时,在显示电路部分显示相对应的数据,显示结果如图12所示。

初始状态 加1显示值

图12 显示值

加15显示值 减11显示值

蜂鸣器显示部分,从P1.6口接出来的蜂鸣器电路用来发出探测到金属时的报警信号,蜂鸣器的发出警告声响。

4.3 实验总结

由于未能找到合适部分芯片和器件,通过调试程序,电路仿真时出现了现实模糊、不稳定等一些问题,但最终的结果基本正确,得到了较为理想的显示数据。

第5章 结论

本设计首先介绍了探测金属的理论依据,当有金属靠近通电线圈平面附近时将发生线圈介质条件的变化和涡流效应两个现象,根据电磁感应原理来设计金属探测器。

硬件电路的设计分为两个部分,一部分为线圈振荡电路,包括:多谐振荡电路、放大电路和探测线圈;另一部分为控制电路,包括:线性霍尔元件、前置放大电路、峰值检波电路ADC0809模数转换器、AT89S52单片机、LED显示电路、声音报警电路及电源电路,通过这些电路将磁场强度信号变为电压信号,再进行电压信号的拾取,放大等。

软件设计中,从系统的实用性、可靠性及方便灵活等几个方面出发,使程序满足设计的功能要求。整个系统的软件包括主程序、一个外部中断服务程序、数字滤波程序、比较判断子程序及发光报警等若干个子程序,采用汇编语言编写。

最后分析了设计中的主要技术指标,包括金属探测器的工作频率(12KHZ),灵敏度(包括:检测线圈的尺寸对仪器灵敏度的影响和匝数对灵敏度的影响)以及稳定性等技术指标。

参考文献

[1] 程守洙、江之水,《普通物理学2》,高等教育出版社,2001,180-182 204-205 [2] 涂有瑞,《霍尔传感元器件及其应用》, 《电子元器件应用》,高等教育出 版社,2002 ,Vol.4 No.3 53-57

[3] 蔡明生,《电子设计》,高等教育出版社,2003,3-846

[4] 何立民,《单片机应用系统设计》,北京航空航天大学出版社,2004,32-65 [5] 吴金戌、沈庆阳、郭庭吉 ,《8051单片机实践与应用》,清华大学出版社,2004,153-158

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

[7] 李全利、迟荣强 ,《单片机原理及接口技术》,高等教育出版社,2003,61-83 [8] 沙占友、王彦朋、孟志永等 ,《单片机外围电路设计》,电子工业出版社,86-92 [9] 房小翠,《单片机实用系统设计技术》,国防工业出版社,2006,142-159 [10] 杨振江、杜铁军、李群,《流行单片机实用子程序及应用实例》,西安电子科技大学出版社,2004,93-96

[11] 李伯成,基于MCS-51单片机的嵌入式系统设计,北京电子工业出版社,2004,1-146

附 录:电路原理图

本文来源:https://www.bwwdw.com/article/gad7.html

Top