0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >安防监控 > 基于AT89C2051单片机的电子储物柜系统门禁系统设计方案

基于AT89C2051单片机的电子储物柜系统门禁系统设计方案

来源: elecfans
2021-11-18
类别:安防监控
eye 22
文章创建人 拍明

原标题:基于AT89C2051单片机的门禁系统设计方案

基于AT89C2051单片机的电子储物柜系统门禁系统设计方案

在本设计方案中,我们将详细阐述基于AT89C2051微控制器的电子储物柜门禁系统的实现。该系统旨在提供一种安全、便捷的储物管理解决方案,适用于学校、健身房、办公室等多种场景。核心目标是实现用户身份验证、储物柜锁定/解锁控制、状态显示以及必要的报警功能。我们将深入探讨每个关键元器件的选择理由、功能及其在整个系统中的作用,并提供优选元器件型号,以确保系统的稳定性、可靠性和成本效益。

image.png

系统概述与设计目标

电子储物柜门禁系统的核心功能是实现对储物柜的自动化管理。用户通过输入正确的密码或刷卡(如果扩展)来访问其指定的储物柜。系统需要能够准确识别用户身份,控制电磁锁的开闭,并实时显示储物柜状态。设计目标包括:

  1. 安全性: 确保储物柜内容的安全,防止未经授权的访问。

  2. 便捷性: 提供简单直观的用户操作界面。

  3. 可靠性: 系统长期稳定运行,元器件故障率低。

  4. 可扩展性: 预留接口,方便未来功能升级,如网络化管理、多种验证方式等。

  5. 低功耗: 优化设计,降低系统整体功耗,延长待机时间。

核心控制器:AT89C2051单片机

我们选择AT89C2051单片机作为本系统的核心控制器。

  • 选择理由:

    • 成本效益高: AT89C2051是一款经典的8位CMOS微控制器,因其成熟的技术和低廉的价格而在嵌入式系统设计中广受欢迎,非常适合成本敏感型项目。

    • 集成度高: 芯片内部集成了2KB可擦写可编程只读存储器(EEPROM)、128字节RAM、两个16位定时器/计数器、一个全双工串行口以及一个片内振荡器,减少了外部元器件的需求,简化了硬件设计。

    • 功耗低: 相较于一些更复杂的单片机,AT89C2051在低功耗模式下表现出色,有利于延长系统在电池供电情况下的运行时间。

    • 易于开发: 广泛的开发工具和社区支持,便于程序编写、调试和烧录。

    • 引脚数量适中: 20引脚封装,对于控制电磁锁、键盘和显示器等常见外设而言,引脚数量完全够用,同时避免了复杂布线的困扰。

  • 功能: AT89C2051负责整个系统的逻辑控制,包括:

    • 读取键盘输入,解析用户密码。

    • 与存储的密码进行比对,验证用户身份。

    • 根据验证结果控制电磁锁的开闭。

    • 驱动LCD或数码管显示储物柜状态、提示信息。

    • 管理定时器,实现延时、超时报警等功能。

    • 处理复位、中断等异常情况。

  • 优选元器件型号: AT89C2051-24PCAT89C2051-24PI。后缀“-24”表示最高工作频率为24MHz,提供足够的处理能力;“PC”表示塑料DIP封装,适合焊接和调试;“PI”表示工业级温度范围,适用于更广泛的环境。

人机交互接口

1. 键盘模块

键盘是用户输入密码的主要途径。

  • 选择理由:

    • 直观易用: 物理按键提供清晰的触觉反馈,降低误操作率。

    • 成本低廉: 薄膜键盘或矩阵键盘成本极低,易于集成。

    • 可靠性高: 机械结构简单,不易损坏。

  • 功能: 接收用户输入的数字和功能指令,例如密码、确认键、清除键等。

  • 优选元器件型号: 4x4矩阵键盘3x4矩阵键盘。对于储物柜系统,3x4键盘(数字0-9、*、#)通常足够满足密码输入需求。4x4键盘可以提供更多功能键,如“开锁”、“关锁”等,但会占用更多单片机引脚。我们倾向于选择3x4键盘,因为它节省引脚且功能足够。键盘的行和列分别连接到AT89C2051的I/O端口,通过扫描法读取按键状态。

2. 显示模块

显示模块用于向用户提供系统状态和操作提示。

  • 选择理由:

    • 信息直观: 直观地显示当前时间、密码输入状态、储物柜开/关状态、错误提示等。

    • 低功耗: 部分显示模块如LCD具有较低的功耗。

  • 功能: 显示当前操作提示(“请输入密码”)、密码输入内容、验证结果(“开锁成功”、“密码错误”)、储物柜状态(“已上锁”、“已开锁”)以及报警信息。

  • 优选元器件型号:

    • 优选型号: 数码管(共阴或共阳)配合74HC595移位寄存器

    • 选择理由: 74HC595可以通过串行数据输入,并行数据输出,仅用3个引脚就可以控制8个LED或数码管段,大大节省AT89C2051的I/O引脚。对于多位数字显示,这种方案比直接驱动更加高效。

    • 选择理由: 1602 LCD是一种非常普及的字符型液晶显示屏,能显示2行16个字符,足以满足储物柜系统的基本信息显示需求。其驱动方式简单,与AT89C2051接口方便,且成本低廉。它支持并行通信,直接连接到AT89C2051的I/O口,或者通过74HC595等移位寄存器节省引脚。

    • 功能: 显示如“请输密码”、“开锁成功”、“密码错误”、“储物柜已满”等文本信息。

    • 1602 LCD液晶显示屏: LCM1602A

    • 数码管显示器(可选): 如果只需要显示简单的数字信息,例如储物柜编号或简单的倒计时,数码管显示器也是一个更低成本的选择。

储物柜控制模块

1. 电磁锁

电磁锁是储物柜安全的关键执行部件。

  • 选择理由:

    • 高安全性: 电磁锁在通电或断电时保持锁定状态,只有在满足特定条件时才能解锁。

    • 结构简单: 内部多为线圈和铁芯结构,故障率低。

    • 响应速度快: 电磁吸合或弹开速度快,实现即时锁定/解锁。

    • 易于控制: 仅需通过开关电源即可控制其状态。

  • 功能: 接受单片机发出的指令,实现储物柜的锁定和解锁。通常有两种类型:通电开锁(断电上锁)和断电开锁(通电上锁)。根据系统安全要求选择,通常选择断电上锁型电磁锁,以在系统断电时储物柜仍能保持锁定状态,增加安全性。

  • 优选元器件型号: DC 12V 小型电磁锁。具体型号需根据储物柜的尺寸和所需的锁紧力进行选择。例如,常见的型号有JX-0520B等,其特点是体积小巧,功耗适中,推拉力足够。

2. 驱动电路(ULN2003A)

由于单片机的I/O口电流驱动能力有限,无法直接驱动电磁锁这类大电流负载,因此需要驱动电路。

  • 选择理由:

    • 大电流驱动: ULN2003A是一款达林顿晶体管阵列,内部集成了7个达林顿管,每个通道可承受高达500mA的电流,足以驱动小型电磁锁。

    • 高电压承受: 它可以承受高达50V的电压,与电磁锁的工作电压匹配。

    • 集成二极管: 每个达林顿管都内置了续流二极管,用于吸收感性负载(如电磁锁线圈)关断时产生的反向电动势,保护单片机和其他电路。

    • 易于接口: 直接与单片机I/O口连接,输入为TTL/CMOS电平,输出为集电极开路,使用方便。

  • 功能: 作为单片机和电磁锁之间的接口,放大单片机的微弱信号,提供足够的电流驱动电磁锁线圈,使其吸合或释放。

  • 优选元器件型号: ULN2003APG4ULN2003ADRG4。这些是常用的DIP封装和SOP封装,前者适合焊接调试,后者适合批量生产。

状态检测与报警模块

1. 门状态检测(霍尔传感器或微动开关)

为了实时监测储物柜门的状态(开/关),需要门状态传感器。

  • 选择理由:

    • 霍尔传感器: 非接触式检测,寿命长,不易磨损,适用于频繁开关的场合。对环境的适应性强。

    • 微动开关: 成本极低,结构简单,安装方便,但属于接触式检测,长期使用可能存在机械磨损。

  • 功能: 当储物柜门打开或关闭时,向单片机提供一个电平信号,指示当前门的开合状态。这对于实现门未关好报警、非法闯入报警等功能至关重要。

  • 优选元器件型号:

    • 霍尔传感器: OH49EA3144E。这些是线性或数字输出的霍尔传感器,通过检测磁铁的有无来判断门的状态。在门上安装一个小磁铁,在门框上安装霍尔传感器。

    • 微动开关: 常见的KW10-3F等小型微动开关。成本最低,但需要确保安装位置能被门板准确压下。

2. 蜂鸣器报警模块

蜂鸣器用于在系统出现异常时发出声音警报。

  • 选择理由:

    • 提供听觉反馈: 及时告知用户系统状态,如密码错误、超时未关门、非法开门等。

    • 成本低廉: 蜂鸣器价格便宜,易于驱动。

    • 功耗低: 有源蜂鸣器内部集成震荡源,只需通电即可发声,功耗较低。

  • 功能: 在密码输入错误次数过多、储物柜门长时间未关闭、非法开门等情况下,发出报警声。

  • 优选元器件型号: 5V 有源蜂鸣器。有源蜂鸣器使用方便,只需通过三极管驱动即可。例如,常见的型号有HY-T05N等。

电源模块

电源模块为整个系统提供稳定的直流电源。

  • 选择理由:

    • 提供稳定电压: 确保单片机和所有外设在正确的电压下工作,避免因电压波动导致系统不稳定。

    • 保护电路: 包含过流、短路保护,确保系统安全。

  • 功能: 将外部电源(如市电经过变压、整流、滤波后的直流电,或电池)转换为系统所需的稳定直流电压(通常为5V和12V)。5V用于单片机和数字逻辑电路,12V用于电磁锁驱动。

  • 优选元器件型号:

    • LM7805三端稳压器: 将12V降压至5V,为AT89C2051、LCD和键盘等提供稳定电源。

    • 滤波电容: 配合电解电容和陶瓷电容(如100uF电解电容和0.1uF陶瓷电容)进行滤波,确保电源的纯净度。

    • 选择理由: 7805是经典的线性稳压器,输出稳定,外围元件少,成本极低。虽然效率不如开关电源,但对于功耗不高的数字电路而言,其简单可靠性更具优势。

    • 功能: 提供5V稳定电压。

    • 电源适配器(外部): DC 12V/1A或2A开关电源适配器。提供系统主电源。

    • 降压稳压模块(内部):

复位电路与晶振电路

1. 复位电路

  • 选择理由:

    • 系统初始化: 在上电或系统出现异常时,将单片机复位到初始状态,确保程序从头开始正确执行。

    • 稳定性: 防止程序跑飞或死锁。

  • 功能: 产生一个复位信号,当系统上电或遇到错误时,强制单片机重新启动。通常采用RC上电复位电路。

  • 优选元器件型号: 一个10kΩ电阻和一个10uF电解电容。电阻连接VCC和RST引脚,电容连接RST引脚和GND。同时可以增加一个复位按键,用于手动复位。

2. 晶振电路

  • 选择理由:

    • 提供时钟源: 单片机内部指令的执行需要稳定的时钟信号。

    • 时间精度: 确保定时器、串行通信等功能的准确性。

  • 功能: 为AT89C2051提供精确的时钟脉冲。AT89C2051内部集成了振荡器,只需外部接晶振和两个匹配电容。

  • 优选元器件型号:

    • 选择理由: 11.0592MHz是一个常用频率,因为它是19200波特率的倍数,便于串行通信的精确波特率设置。12MHz也是一个常用频率,计算方便。

    • 功能: 为单片机提供稳定高效的时钟源。

    • 11.0592MHz或12MHz晶振:

    • 30pF或22pF瓷片电容(两个): 配合晶振使用,用于提供稳定的振荡频率。

EEPROM数据存储(可选,用于存储配置信息或日志)

如果需要存储更大量的用户密码、储物柜使用记录、系统配置参数等,单片机内部的RAM和EEPROM可能不足。

  • 选择理由:

    • 非易失性存储: 断电后数据不会丢失。

    • 扩展存储空间: 提供比单片机内部存储更大的容量。

  • 功能: 存储用户密码、储物柜状态信息、操作日志等。

  • 优选元器件型号: 24C02/24C04/24C08等I2C接口EEPROM

    • 选择理由: 24C系列EEPROM通过两线I2C总线与单片机通信,占用引脚少(SDA和SCL),编程简单。不同的型号提供不同的存储容量。例如,24C02提供256字节,24C04提供512字节,以此类推。

    • 功能: 扩展系统的数据存储能力,使系统能够保存更多的用户密码或记录更长的操作日志,提高系统的智能化水平和管理能力。

系统整体设计与工作流程

  1. 上电初始化: 系统上电后,AT89C2051执行复位操作,初始化所有I/O端口、定时器、串行口(如果使用)等,并在LCD上显示欢迎信息和提示用户输入密码。

  2. 密码输入: 用户通过键盘输入6-8位数字密码。单片机实时读取键盘输入,并在LCD上显示“*”或实际数字。

  3. 密码校验: 用户按下确认键后,单片机将输入的密码与内部(或外部EEPROM)存储的预设密码进行比对。

    • LCD显示“密码错误”。

    • 如果密码错误次数达到预设阈值(例如3次),系统将锁定键盘一段时间(例如30秒),并通过蜂鸣器发出短促报警。

    • AT89C2051控制ULN2003A驱动电磁锁,使其解锁。

    • LCD显示“开锁成功”,并开始计时(例如,10秒内)。

    • 在计时结束前,如果门被打开并通过霍尔传感器检测到开门信号,则LCD显示“请关门”。

    • 如果门在规定时间内未关,蜂鸣器发出报警声,直到门关闭。

    • 门关闭后,电磁锁自动上锁,LCD显示“已上锁”。

    • 密码正确:

    • 密码错误:

  4. 门状态监控: 霍尔传感器(或微动开关)持续监测储物柜门的状态。

    • 若门在解锁后未及时关闭,或在未授权情况下被打开,单片机检测到异常后,蜂鸣器发出报警,LCD显示报警信息。

  5. 系统管理模式(可选): 可以设置一个高级管理员密码,进入管理模式。在此模式下,管理员可以添加/删除用户密码、重置储物柜状态、查看日志等。

软件设计概要

软件部分是实现上述功能的关键。它将由C语言编写,并使用Keil uVision等IDE进行编译和调试。

  1. 主程序循环: 负责系统初始化,然后进入无限循环,不断扫描键盘输入、更新显示、检测门状态、处理定时器事件等。

  2. 键盘扫描子程序: 采用行扫描列读取或列扫描行读取的方式,判断哪个按键被按下。需要进行消抖处理,以避免误判。

  3. LCD/数码管显示驱动程序: 根据系统状态和用户输入,更新显示内容。

  4. 密码管理模块:

    • 密码存储:将用户密码存储在AT89C2051内部EEPROM或外部24Cxx EEPROM中。

    • 密码校验:实现密码比对算法。

    • 密码修改:允许用户或管理员修改密码。

  5. 电磁锁控制程序: 控制单片机引脚输出高低电平,通过ULN2003A驱动电磁锁的通断。

  6. 定时器中断服务程序: 用于实现各种延时、超时检测、键盘锁定计时等功能。

  7. 门状态检测程序: 实时读取霍尔传感器或微动开关的状态,判断门是否打开或关闭。

  8. 报警处理程序: 根据不同的报警条件(密码错误、门未关、非法开门等),控制蜂鸣器发出不同频率或持续时间的警报声。

未来扩展与优化

  • RFID/NFC模块: 引入RC522 RFID读卡器模块,支持刷卡验证,提高便捷性和安全性。

  • 指纹识别模块: 整合AS608指纹识别模块,提供生物识别功能,进一步提升安全性。

  • 网络化管理: 增加ESP8266 Wi-Fi模块,实现储物柜的远程监控和管理,例如管理员可以通过手机APP远程开锁、查看储物柜状态、修改密码等。

  • 备用电源: 增加小型锂电池或铅酸电池作为备用电源,确保在市电中断时系统仍能运行一段时间。

  • 储物柜占用状态指示: 在每个储物柜上增加一个LED指示灯,显示该储物柜是否被占用。

  • 短信/APP通知: 当发生异常情况时(如非法开门),系统可以通过GSM模块发送短信或通过Wi-Fi模块推送APP通知给管理员。

总结

基于AT89C2051单片机的电子储物柜门禁系统,通过精心选择和合理配置关键元器件,能够实现安全、可靠、便捷的储物管理功能。AT89C2051以其高性价比和易用性,非常适合此类中小型嵌入式应用。通过对键盘、显示、电磁锁、传感器和报警模块的协同控制,以及考虑未来的扩展性,本设计方案为构建一个功能完善、性能稳定的电子储物柜系统奠定了坚实的基础。通过持续优化软件算法和硬件布局,系统的用户体验和整体性能将得到进一步提升。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告