您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 基于单片机的金属探测器的课程设计报告
摘要本文着重介绍了一种基于AT89S52单片机控制的智能型金属探测器的硬件组成、软件设计、工作原理及主要功能。该金属探测器以AT89S52单片机为核心,采用线性霍尔元件UGN3503作为传感器,来感应金属涡流效应引起的通电线圈磁场的变化,并将磁场变化转化为电压的变化,单片机测得电压值,并与设定的电压基准值相比较后,决定是否探测到金属。系统软件采用汇编语言编写。在软件设计中,采用了数字滤波技术消除干扰,提高了探测器的抗干扰能力,确保了系统的准确性。适用于对邮件、行李、包裹及人体夹带的伤害性金属物品(如:刀具、枪械、武器部件、弹药和金属包装的炸药等)的检测,可用于海关、机场、车站、码头的安全检查。目录第1章分析探测金属的理论依据…………………………………………………………1第2章硬件电路设计………………………………………………………………………12.1系统组成………………………………………………………………………………12.2硬件电路功能描述……………………………………………………………………12.3整机工作原理描述……………………………………………………………………4第3章系统软件设计………………………………………………………………………53.1软件设计思想…………………………………………………………………………53.2数字滤波计算法说明…………………………………………………………………63.3主程序流程图…………………………………………………………………………6第4章仿真、调试结果分析………………………………………………………………84.1仿真、调试目的与内容………………………………………………………………84.2仿真结果分析…………………………………………………………………………84.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的脉冲信号。振荡器的频率计算公式为:2ln)2(1111110CRRf图示参数对应的频率为24KHz,选择24KHz的超长波频率是为了减弱土壤对电磁波的影响。从多谐振荡器输出的正脉冲信号经过电容C8输入到Q1的基极(Q1为β≥125的9013H),使其导通,经Q1放大之后,就形成了频率稳定度高、功率较大的脉冲信号输入到探测线圈L1中,在线圈内产生瞬间较强的电流,从而使线圈周围产生恒定的交变磁场。2.2.2数据采集电路图3数据采集电路电路原理图如图3所示。由线性霍尔传感器、放大和峰值检波电路构成。线性霍尔传感器选用的是美国ALELGRO公司生产的UGN3503U,主要功能是可将感应到的磁场强度信号线性地转变为电压信号。由于UGN35O3U线性霍尔元件采集到的电压信号是一个毫伏级的信号,信号十分微弱,所以,在对其进行处理前,首先要进行放大。经前级运算放大器放大的信号经耦合电容C2输入到后级峰值检测电路中。峰值检测电路由两级运算放大器组成,通过峰值检波和后级缓冲放大电路,将采集到的微弱电压信号放大至0V-5V的直流电平。2.2.3A/D转换电路图4A/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片内含8KBytesISP的可反复擦写1000次的Flash只读程序存储器,还兼具AT89C52的其他优点:AT89S52是一个低功耗,高性能CMOS8位单片机。40个引脚,8KBytesFlash片内程序存储器,256bytes的随机存取数据存储器(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的下一次转换。经过数据软件滤波之后将其存放在单片机RAM21H中,作为基准电压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),即NiixNkx11)((3-1)其中N为采样次数,xi为第i次的采样值。显然N越大,信号平滑度越高,灵敏度就会降低,但是本设计中需要较高的灵敏度,所以N取值不易过大,这里我选择了N=6,选择取6个数进行计算的原因,就是因为在汇编中做计算是非常麻烦的,取6个数,减去最大值和最小值后,取平均值是除4,计算机的内部计算都是二进制,而二进制每除一个2,实际上是向右移一次。所以为了计算方便,我选择取6个数,最后在算除法的时候,只需要用单片机自带的右移位命令移2次就行了。3.3主程序流程图开始系统初始化,开中断键盘控制选通道置连续采样个数启动A/D转换器等待转换完毕连续采样个数到?采集数据U0?算术平均值滤波保存U0到21H中置数据U0已采样标志启动A/D等待转换完毕,读取Ux连续采样个数到?算术平均值滤波保存平均值Ux到数据缓冲区判断|Ux-U0|∆Ui?显示,CPU发出报警信号结束NNYNYNY
本文标题:基于单片机的金属探测器的课程设计报告
链接地址:https://www.777doc.com/doc-5333419 .html