基于STC89C52单片机的金属探测器制作
2020-05-18周游宇林朝勇
周游宇 林朝勇
摘 要:金属探测器是日常生活中专门用于探测金属物质的仪器,文章对常规金属探测器进行研究后设计了一款基于STC89C52RC单片机的智能金属探测器,将振荡电路产生的正弦波经脉冲转换电路送到单片机检测频率的变化。当线圈位置出现金属物质时,由于电磁感应原理,线圈Q值发生改变,原有振荡频率会发生变化,单片机检测到频率变化后报警,能在安检、工业生产等领域得到广泛应用。
关键词:单片机;金属探测器;电磁感应
中图分类号:TH89;TP368.1 文献标识码:A 文章编号:2096-4706(2020)20-0054-03
Fabrication of Metal Detector Based on STC89C52 Single-Chip Microcomputer
ZHOU Youyu,LIN Chaoyong
(College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,China)
Abstract:Metal detector is an instrument specially used to detect metal substance in daily life. After studying the conventional metal detector,an intelligent metal detector based on STC89C52RC single-chip microcomputer is designed. The sine wave generated by the oscillation circuit is sent to the single-chip microcomputer to detect the change of frequency through the pulse conversion circuit. When the metal material appears in the coil position,due to the electromagnetic induction principle,the coil Q value changes,and the original oscillation frequency will change. The microcontroller will give an alarm when it detects the frequency change. It can be widely used in security inspection,industrial production and other fields.
Keywords:single-chip microcomputer;metal detector;electromagnetic induction
0 引 言
基于贵州大学大數据与信息工程学院进行的便携式金属检测仪实验课题,本文设计了一款基于STC89C52RC单片机的便携式智能金属探测器,笔者为了实现更快和更精准的金属检测,以及降低金属探测器的成本,根据电磁感应原理中金属能影响振荡电路中电感Q值的特性进行设计。为解决频率检测精准度的问题,将振荡电路产生的振荡信号经整形后送至能快速侦测电平变化的单片机中实现振荡频率变化检测。有效地解决了现有金属探测器存在的成本高、普适性较低、价格高昂等问题。还可通过键盘设置检测灵敏度,同时具有良好的人机交互界面,并具有简洁易用等特点。通过金属探测器检测出危险金属物质可以避免许多安全隐患,如检测是否携带危险管制刀具等。
1 系统方案设计
本次设计采用STC89C52RC单片机作为金属探测器的核心控制处理器件,通过添加晶振电路提供系统工作时钟,通过复位电路实现复位功能[1]。通过电容三点式振荡电路产生正弦波,转换后传递到单片机检测频率的变化。当遇到金属时,电容三点式振荡电路的原振荡会受到影响,频率会发生变化,单片机会检测到这种变化,并在液晶显示器上显示和报警,还可以通过键盘设置探测金属物质的灵敏度。本系统主要由单片机最小工作系统、电源电路、振荡电路、脉冲变换电路、声光报警电路、键盘电路和显示电路构成。
2 系统硬件设计
2.1 单片机最小工作系统
单片机最小工作系统是指利用最少的电子元件构成的可以独立运行的单片机工作系统。本次设计采用的STC89C52RC型号单片机是由STC公司生产的低功耗、高性能CMOS8位微控制器,具有8 kB系统可编程闪存。在使用灵活性上兼容51单片机,且性能远远超过51单片机,具有更快的运行速度以及更加丰富的外设接口电路,同时具有功耗更低的特点[2]。
单片机最小工作系统的硬件结构非常简单,仅仅需要添加电源电路为整个工作系统提供驱动电压,以及添加复位电路为整个工作系统中的硬件构成提供一个运行的初始状态,并防止系统出现意外中断的情况,方便进行紧急恢复,即当单片机系统受到环境干扰程序跑飞的情况下,就可以按下复位按钮,这样单片机内部的程序会自动从头开始执行,最后添加晶体振荡电路为整个工作系统提供工作时钟,晶振也可以采用不同的振荡频率,如8 MHz或者11.059 2 MHz,通常情况下,越高频率的晶振,51单片机的处理速度就越快。单片机最小工作系统硬件原理如图1所示[3]。
2.2 电源电路设计
选用LM7805三端稳压芯片,实际应用中,应在LM7805三端稳压芯片上安装足够大的散热器,因为稳压管的稳压性能会随着温度升高而变差,甚至损坏。在本设计中,由于将9 V的电池电压变压为设计所需的5 V电压,这个过程中功率变化不是很大,因此不必添加散热器。LM7805三端稳压芯片的管脚功能从正面看,1脚是输入,2脚接地,3脚输出,从3脚输出稳定的5 V电压[4]。
2.3 振荡电路设计
振荡电路是决定整个金属探测器性能的关键,利用电容三点式振荡电路产生一个频率小于300 kHz的稳定振荡源,目的是使金属探测器在正常工作时能够不受广播频段的影响。当谐振回路中的电感线圈中存在金属物质时,线圈电感的Q值将随之发生改变,当线圈电感增加时,电路的谐振频率将减小,反之,线圈电感减小时,电路的谐振频率将增加。
2.4 脉冲变换电路设计
从谐振回路传过来的正弦波信号传送给电压比较器对其进行整形,以产生规则的方波送入单片机。电压比较器选用LM393,LM393的反向端接收滑动变阻器上的电压,同向端接收振荡电路产生的正弦波,这样就能把正弦波信号经过电压比较变成单片机能够处理的方波信号[5]。
2.5 声光报警电路设计
当检测到金属时,系统会发出报警提示,报警电路是为了优化人机交互性,提醒使用者已检测到金属物质,用单片机控制三极管驱动蜂鸣器报警。因单片机直驱能力不够,故采用三极管8550起到驱动大电流的作用,当三极管输入端为低电平时,此时导通,蜂鸣器接收到控制信号,产生自激振荡,通过内部芯片驱动发出报警声[6]。
2.6 键盘电路设计
当按下按键时,单芯片引脚和GND连接到低电平;当松开按键时,线路断开,电流不能通过,此时单片机默认是高电平,可以通过判断单片机IO口的高低电平来判断是否有按键按下。
2.7 显示电路设计
采用LCD1602液晶显示模块来显示相关信息,最多可同时显示16×2个字符,即总共可以显示32个字符。LCD1602液晶显示器的原理是利用液晶的物理特性通过电压来控制显示区域,即可以显示图形。用来显示当前振荡电路的频率值,以及人工设定的报警警戒值。液晶模块的RS、RW、EN引脚与单片机P25~P27管脚相连接,液晶模块的D0~D7数据接口和单片机的P0口连接[7]。
3 软件设计
3.1 检测频率程序设计
频率的测定是通过定时器T0和计数器T1完成的,即计算T0时间内检测到的脉冲数T1的个数。为了方便计算,程序中所检测的频率都是在1 s内统计的脉冲总数,即1 s内检测到多少次脉冲就是多少赫兹,因金属探测器的检测频率较低,所以可以适当延长检测时间,这样系统更加稳定。
3.2 声光报警程序设计
当检测到金属物质时,主程序对当前频率进行判断,控制声光报警系统工作。声光报警系统包括蜂鸣器和LED灯。
3.3 按键检测程序设计
程序每执行一次都要执行一次按键检测操作以判断是否有按键按下,每200 ms检测一次是否有按键操作,然后改变设置的频率值,并在LCD1602液晶显示器上显示。
3.4 显示程序设计
显示是为了优化人机交互性能和体验感,能让人对当前设备状态有清晰的认识。本设计采用LCD1602液晶显示器显示当前频率和设置的频率,并且能对当前频率进行实时显示。
4 系统的整体测试
4.1 程序调试
在本次的程序设计中,使用Keil5编译环境,用C语言对程序进行编写,在Keil5中新建项目工程,选择单片机型号STC89C52RC,编译后生成单片机可执行的程序文件。下载到单片机后即可进行实际运行观察[8]。
4.2 硬件调试
由于本次设计需要进行电路焊接,在完成硬件电路设计之后,需要按照元件清单和PCB布局进行焊接,整机原理图如图2所示。
焊接完成后,首先检查有无虚焊、漏焊等情况,然后再进行硬件调试,主要有以下步骤[9]:
(1)检查原理图,确保每个器件对应原理图上的连线都正确,对芯片的电源连线进行观察,以防接反烧毁芯片[10];
(2)在实物上运行时,观察其是否稳定运行,以及是否按预想情况运行。
5 实物测试结果
5.1 软硬联调
当未检测到金属时,调试结果如图3所示。
从图3中可以看出,当前频率为173.3 kHz,设置的频率为173.4 kHz,由于未检测到金属,此时报警电路未工作,不发出报警提示音。
当检测到金属时,调试结果如图4所示。
从图4中可以看出,当前频率为173.6 kHz,设置的频率为173.4 kHz,频率增大,检测到金属,此时报警。
6 结 论
本文實现通过检测振荡源频率的变化来进行金属检测的功能,同时具有检测灵敏度设置功能以及良好的人机交互界面。使用STC89C52RC单片机作为控制核心,通过三点式振荡电路产生振荡源,利用线圈电感变化影响振荡频率,通过中断检测频率变化,按键设置检测灵敏度,使用LCD1602液晶显示器显示当前频率值。本次设计的金属检测器还存在一些不完善的地方,如探测距离不够远,以及定位不够精确,后续工作可以提高线圈功率,使用多组线圈,以提高检测精度以及扩大检测范围。
参考文献:
[1] 李建忠.单片机原理与应用:第2版 [M].西安:西安电子科技大学出版社,2008.
[2] 陈海宴.51单片机原理及应用:基于Keil C与Proteus [M].北京:北京航空航天大学出版社,2010.
[3] 郑婷,彭龑,杨洋.一种基于单片机的多功能智能台灯的设计 [J].电子世界,2020(17):93-94+98.
[4] 汪建关,邵春枫,谷高明,等.基于STC89C52单片机的电子密码锁设计 [J].现代信息科技,2019,3(22):38-40.
[5] 童诗白,华成英.模拟电子技术基础:第5版 [M].北京:高等教育出版社,2015.
[6] 陈杰,黄鸿.传感器与检测技术:第2版 [M].北京:高等教育出版社,2010.
[7] 谭浩强.C语言程序设计:第3版 [M].北京:清华大学出版社,2014.
[8] 周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真 [M].北京:北京航空航天大学出版社,2006.
[9] 赵全利.单片机原理及应用教程:第3版 [M].北京:机械工业出版社,2013.
[10] 麻锐敏.基于单片机的电子安全密码锁的设计初探 [J].科技风,2018(23):24.
作者简介:周游宇(1996—),男,汉族,湖南长沙人,硕士在读,研究方向:嵌入式软件;林朝勇(1977—),男,汉族,贵州贵阳人,高级工程师,学士学位,研究方向:航空电子产品。