基于ATMEGA32的指纹识别防盗门锁的设计

分享到:

  0 前言

  人体生物特征是人体所固有的生理特征与行为特征,如指纹、掌纹、面像、眼虹膜、视网膜、声音、签字、步态等。这些特征具有随身性,因而使用方便,不易遗忘或丢失;人体的生物特征与人体又是唯一绑定的,且具有人人不同的唯一性,因而防伪性好,不易伪造或被盗。所以,用人体生物特征来代替传统的以物识人的方法来鉴定个人的身份是一种认人不认物的直接验证方法,显然是最为安全可靠的,这也是现代社会发展的需要。

  随着光电等科学技术的发展,人体生物特征识别这一实用性很强的高新技术也获得很大的发展与应用。其中以指纹识别技术发展最成熟,应用最早、也最广泛。由于每一个人的指纹的纹路在图案、断点和交叉点上各不相同,因而其指纹特征是唯一的,并且终身不变。依靠这种唯一性和稳定性,我们就可以把一个人同他的指纹对应起来。出现很多指纹识别传感器模块,本文设计了一款基于ATMEGA32作为核心处理器,采用上海一维公司的MRB200指纹识别模块,此指纹识别模块可以独立运行(脱离PC机运行),整个系统具有成本低,应用简单、易于开发等优点。

  1、控制方案设计

  系统功能框图如图1


图1系统功能框图

  本指纹识别门锁设计以单片机作为核心,通过MRB200指纹模块的采集系统采集指纹数据,具体方案为:接触指纹传感器时启动系统进入指纹对比状态,由CPU通过串口发对比命令给指纹识别模块,指纹识别模块收到CPU发来命令便开始采集用户指纹,并将采集到的指纹数据与指纹库里的所有指纹进行一一对比,如有相同则返回对比成功报文给CPU,指纹识别模块采集过程需进行三次,指纹识别模块将返回每次采样结果,CPU记录下三次的采集成功次数,如三次都采集成功,CPU便驱动蜂鸣器响一声,告诉来宾的指纹通过对比,同时CPU通过驱动电路控制电控锁打开门锁。按键和显示用来进行指纹管理。

  2、系统硬件设计

  本系统采用ATMEGA32单片机作为控制核心,控制系统主要包括MRB200指纹识别模块、液晶显示、设置按键、电子锁、蜂鸣器等部件。

  系统硬件设计如图2


图2 系统硬件设计图

  本设计采用了Atmel公司的AVR单片机Atmega32作为控制核心。AVR单片机的单周期指令能够保证高的执行效率和低成本,是精简指令集CPU中的高性能器件。AVR单片机可以提供高达16MIPS的执行时间,具有32K字节的可编程Flash存储器,同时具备2K字节的静态RAM。AVR单片机自带看门狗定时器,在强烈的电磁干扰条件下可以防止程序跑飞。本设计中采用的Atmega32还具有以下特点:

  (1)内部包含有硬件乘法器,加快乘法运算速度;I/O端口引脚数多达23根;

  (2)支持在线可编程功能,不需要频繁从电路板插拔芯片;带有可编程的支持同步传输的UART端口;

        (3)支持三线传输SPI端口;具有方便的I2C总线端口;

        (4)支持JTAG边界扫描电路;具有BOD低电压检测功能;

        (5)内部有8路10位的A/D变换器;具有4个PMW,可以协同或单独工作;

        (6)内部带有实时时钟电路;工作频率最高可达16MHz。

        CPU与MRB200指纹识别模块的通讯接口说明

        MRB200的VIN脚电源正输入端接4~6.5V,500mA;SLEEP脚睡眠状态控制(Low:关闭模块电源,High使模块处于正常上电状态,上电600ms后进入正常工作状态)与CPU的O脚相连;FINGERON脚采集状态标志(Low:不进行指纹采集,High指纹采集进行中)与CPU的I脚相连;TX脚异步串行输出(3.3V逻辑电平)与CPU的RX脚相连;RX(3.3V逻辑电平)脚异步串行输入与CPU的TX脚相连;两芯片的GND直接相连。

        CPU与指纹模块通讯为半双工异步串口通讯,CPU通过串口与指纹识别模块进行通讯,完成对指纹的录入、删除、身份确认,通过验证后去驱动电路控制门锁执行开关门的动作。

        为适应不同CPU的通讯速率,本指纹识别模块的通讯速率默认为19200bt/s,也可设置为(9600bt/s,19200bt/s,38400bt/s,57600bt/s,115200bt/s),传输帧格式为10位,1位起始位,8位数据位,1位停止位,无奇偶效验位。

        指纹识别模块分为光电感应式和压电感应式两钟,光电感应式基本工作原理:光源发出一组光线,经过全反射棱镜一直角边照到压有手指指纹的玻璃表面,其反射光线经棱镜另一直角边投射到了CCD或CMOS半导体光电成像器件上。由于手指指纹的脊和谷对光线的反射不同,因而CCD或CMOS光电成像器件输出随手指指纹图像明暗变化而改变的电信号,经视频放大、A/D转换,输出数字指纹图像信息。压电感应式工作机理是基于对手指指纹的凹凸的不同压力感,利用半导体压敏传感器阵列的顶层的表面是具有弹性的压敏介质材料,当手指按压其上时,根据手指指纹的外表脊纹线的凹凸压力的大小转化为相应的电子信号,继而形成指纹图像。由于前者受光路的限制,无畸变型采集器的外形尺寸较大;而后者传感器厚度薄,采集面积较大,功耗与成本较低,容易集成到各类识别应用产品中。现在产品开发者越来越倾向后者。

        本系统使用上海一维科技有限公司生产的MRB200压电感应式指纹识别传感器,它是一款体积小,感应能力强的指纹识别传感器,MRB200指纹模块采用了高速DSP作为核心处理器,它是一款能存储500枚指纹的独立采集比对模块,主要由指纹采集单元和指纹处理单元两部分组成。指纹采集系统主要负责采集指纹图象并传给指纹处理单元。指纹处理单元根据来自异步串行通讯口的命令来完成一系列的操作。如指纹比对、指纹登记、指纹删除等。指纹处理单元提供了与指纹采集单元相连的接口和与外部控制系统相连的异步串行通讯口。用户按照MRB200模块提供的控制指令,可自行开发出功能强大的指纹识别应用系统,无需具备指纹识别专业知识。.指纹识别模块通过串口与外部进行数据通讯

        因为本系统为脱机运行系统,为方便用户使用,系统设置了4个按键和小型液晶显示:

        通过按键和显现实现指纹管理操作步骤:

        (1):指纹录入:通过按键和液晶显示的提示可登记用户指纹,考虑到指纹录入的保密性,在登记指纹时,需输入管理员密码或先用管理员指纹登入管理操作界面,方可进行指纹的录入,同时显示该指纹的ID号,每录入成功一次蜂鸣器会响一声。

        (2):指纹筛除:通过按键和液晶显示的提示输入管理员密码或先用管理员指纹登入管理操作界面,进入筛除用户指纹目录,输入指纹的ID号(如不知ID号可通过ID号查询功能查询自身的ID号),便可筛除该ID号的指纹。

        (3):查询指纹ID号:通过按键和液晶显示的提示输入管理员密码或先用管理员指纹登入管理操作界面,进入指纹ID号查询目录,将手指放与识别头上,指纹识别模块采集指纹信息与指纹库对比并通过液晶显示对应的指纹ID号。

        蜂鸣器:蜂鸣器用来提醒用户操作是否成功或是发出信息提示以及作报警之用。

        电子锁:中控驱动电压12V(由于单片机的驱动能力极其有限,所以这里采用放大电路对单片机的输出进行驱动放大实现驱动)。

  3、系统软件设计

本系统软件设计采用结构化和模块化设计方法,便于功能扩展,本系统的软件设计采用C语言编写。程序模块包括:主程序、指纹采集、指纹比对等。

主程序的功能:系统在启动或复位之后,需要对系统硬件和软件运行环境进行初始化,这些工作由启动程序完成,其中包括MRB200、ATMEGA32等的初始化。系统上电时,Atmega32通过串口通讯对MRB200进行设置,初始化CPU的I/O口,开启片内看门狗。进入主程序,扫描按键是否触发,如有按键触发则进入指纹管理界面(录入,筛除,查询指纹操作功能)。如未扫描到按键触发码则判断指纹识别头上是否有指纹(通过串口向指纹识别模块发送命令获得),如无指纹则整机进入休眠,如有指纹则通过串口发送指纹采集命令,(指纹识别模块自动将采集到的指纹数据与指纹库指纹进行一一对比并自动向CPU发送对比结果信息),如对比成功则进行第二次同样过程对比,直到三次对比都成功则CPU通过驱动电路控制电控锁打开门锁。如其中有一次对比失败则退出本次对比过程。

系统的低功耗设计:初始化配置完毕后,便等待用户的要求,此时为节省功耗,可将系统置于低功耗状态,如将CPU置于省电休眠模式。一旦用户有了输入,系统便退出低功耗状态,进入正常执行状态,控制软件判断用户的需求,执行相应的功能。

系统主要程序软件流程图如图3所示。


图3系统主程序软件流程图

  4、结语

  本文采用性价比优异的指纹识别模块MRB200,设计了一种可防盗的指纹锁,体积小、性能稳定可高,除了提供方便的指纹开门外,还可提供门铃和多种报警功能:如使用非法手段开门时系统进行“非法开门报警”,掉电时系统进行“掉电报警”,指纹门锁遇非法拆卸时系统进行“非法拆卸”报警等。

  文章创新点:本文设计了一个单片机ATMEGA32及MRB200指纹识别模块的防盗门锁(传统的指纹识别系统大多是基于以PC机为上位机的进行开发的系统),在产品设计中直接采用专业厂家的功能模块,不但能增加产品功能,还能节约开发成本,缩短开发周期。该系统外观小巧,工作性能稳定,适合于金融、保险、证券行业,信息产业,安防业等各个需要身份确认的场合。

  本产品的电子设计单价20000元,由于它适用面广,特别可应用在安防业上,而当前的一方面房产(房价以近二位数涨与经济增长近乎持平)热,另一方面普通民众,对安全的迫切期望,由于指纹识别的唯一性,防伪性好,不易伪造或被盗。决定了它在广阔的房地产安防方面占有一席之地,因此可以说市场需求可观,按年销售2000套,则项目年经济效益四百万元。

  作者简介:叶国文(1966-),男,汉族,1966年9月出生,浙江丽水人,教师,高级工程师,硕士,主要研究方向:传感器、自动控制、仪器仪表等方面.E-mail:ygw116@sohu.com

  参考文献:

  [1]谢键阳,李铁才等.指纹识别系统的设计与实现[J].微计算机信息,2006,09-2:156-157

  [2]郭晶莹,吴晴等,基于TMS320VC5509A的指纹识别系统的硬件设计[J].微计算机信息,2006,09-2:151-154

  [3]陈阳,谭思云.基于DSP的指纹识别系统的设计[J].计算机测量与控制,2005,12:1339-1341

  [4]翟庆一.指纹识别模块Sm61的单片机控制[J].信息技术与信息化,2006,5:113-117

继续阅读
基于ATmega32单片机的灭火机器人设计与实现

机器人竞赛是近年来迅速开展起来的一种对抗活动,它涉及人工智能、机械、电子、传感器、精密机械等诸多领域。通过竞赛可以培养学生的创新意识、动手能力、团队写作能力等。其中灭火比赛是开展范围最广、影响最大的机器人竞赛项目之一。

基于ATmega32的漏电保护器智能化测试仪的设计

本测试仪操作简单,解决了手动测试方法存在的测量不准确的问题,达到了自动测量的目的,可检测在线与非在线运行的漏电保护器,提高了检测漏电保护器性能的水平,为进行漏电保护器工作性能的研究、品质检验及生产调试提供了技术手段。仪器设计充分利用了ATmega 32内置的各种功能,使硬件电路结构简单,有效提高了仪器的性价比,已在多家企业和科研单位使用,使用结果表明,仪器工作可靠,达到预期的技术指标。

基于AVR单片机的LED显示屏的灰度设计与实现

LED点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的显示屏。目前,LED显示屏已被广泛应用于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还

基于ATmega32的遥控采摘机器人设计

针对机器视觉采摘机器存在的技术不成熟,成本过高等不足,提出采用人工操控的半自动采摘技术,并进行了探索研究。设计了一款模拟采摘机器人,机器人以履带底盘为基座,三自由度机械臂,红外遥控操作。硬件电路以ATmega32为系统控制核心,采摘机器人的动作采用BL35P12为核心红外遥控控制。系统软件基于AVR Studio4开发环境,实现对机械臂运动的全方位精确控制。采摘机器人采用模块化设计,抓取速度快,成本低,易于实现,可扩展性强。

ATMEGA32熔丝位设置

首先说明熔丝位修改的意义:AVR单片机出厂用的默认内部时钟如1M,也就是说工作在这种情况下,外部可以不接时钟,也可以正常工作,但这样工作频率不高,效率比较低,所以要修改熔丝位,用外部时钟。网上看到多好

©2018 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss