信息钮扣iButton的电子锁设计原理

控制/MCU

1879人已加入

描述

 

  这种电子锁可用于任何类型的iButton您可能已经因为唯一需要的是内部的序列号,它的每iButton的不同。用来读取序列号的命令是为所有的iButton的相同。iButton的家庭与每个iButton的代码,可以是任何东西,是作为整个序列号的一部分计算。我们也必须注意到,DS1990A系列iButton的是最便宜的的。

  

 

  

 

  这种电子锁设计,独立工作,可以很容易地构造。用户看到的(门例如外)是一个iButton的插座和LED。从门里面,我们可以使用一个简单的按钮打开它。对于门的实际锁定一个电磁阀和一个大胆的使用 。电磁阀必须额定电压为12VDC 。iButton的序列号存储在内存中,可以删除和更新,在需要的时候 。一个主键是用来管理他们的休息 。共9种不同的键可以存储在内存中。

  示意图如图1所示。该电路是围绕一个爱特梅尔89 彗星2051(U1)的微控制器 。端口1(P1)MCU是用来连接一个7段共阳极LED显示屏。此LED显示屏将用于编程的附加 ??键。出于同样的原因,一个按钮SB1的标记是连接P.3.7 。iButton的序列号存储在24C02的EEPROM(U3)。它是连接到P3.4(SDA)和P3.5 U1(沙中线)。iButton的嵌外部连接端口P3.3通过XP2的针脚阵列。其余元件VD4,R3,VD5 和 VD6 用于保护MCU端口。一个上拉电阻R4用作从1 - Wire协议。另外一个iButton的套接字连接预定义平行引脚的XS1。这一个是用于编程的钥匙。开门按钮连接P3.2通过XP1专用连接器,用上述同样的保护元件。XT1连接器,电磁锁,是连接 。电磁阀控制,从功率MOSFET 的540 (VT 3 )。,二极管VD7添加到保护MOSFET由于电磁电感电压罢工。三极管VT3,VT2的控制,这颠倒的逻辑状态,P3.0出现,所以我们在VT3的输出0V和12V。这种额外的晶体管是有用的,因为它能够解释的MCU的逻辑电平为0V和12V,能够驱动电磁 。

  

信息钮扣

 

  图0.1 示意图iButton的电子锁

  一个LED用于指示的电子锁,这是从电磁针控制的状态,使用晶体管TV1。这导致连接使用相同的针脚阵列XP2的董事会。但是,我们必须确保没有监督的情况下,该电路将始终工作。出于这个原因,我们ADM1232(U2),MCU复位引脚控制。该芯片内部计数器和电压的测试电路。单片机在引脚P3.1产生脉冲时,作品的权利。如果是有原因的MCU冻结,那么U2乐队发送一个复位脉冲和恢复工作。

  这种电子锁有它自己的电源板,变压器T1,整流桥VD9,VD12和稳压器U4的等组成 。作为备用电源使用10节AA电池阵列(BT1 - BT10)。总容量为800MAH。当电路连接主电压电池组充电通过R10的电流为20mA。此电流等于为0.025C(其中C是电池的容量),这是一个非常小的电流,根据总容量的。这是把一个稳定的充电电池之间的时间,以弥补损失,并没有充电完成检测需要 。可以做的,多余的能量消耗的热量,即不能损害其低电池 。

  整体电路板尺寸为 150 х 100 х 60 毫米。大部分组件都放在董事会,包括变压器。电池放在电池盒。在AA电池的地方,我们可以使用一个12V密封铅酸电池-铅酸电池。船上有2或3针连接器连接外部元件。使用部分号码HG 1 , SB 1和XS 1 。LED VD3可以放在面对的外壳,指示正确的电路板电源。一个连接图图2显示。

  

信息钮扣

 

  图0.2 连接图

  当门去打开,一个3秒的脉冲触发电磁阀。当我们按??下开门按钮的大门仍然开放,只要我们推。

  电子锁可以注册9个按键,外加一个主键。师父的序列号存储在MCU。其余的按键都存储在外部存储器根据插槽1至9。要添加或删除一个新的密钥,你应该有主键。另外,主密钥可用于开门。

  

信息钮扣

 

  图 3编程步骤添加一个新的关键

  要添加一个新的的关键,应遵循以下步骤:

  按编程按钮。

  LED显示字母 “ P » 表明您进入编程模式。

  触摸插座的主按钮。

  LED显示屏 « 1 »。“ S的内存中的当前选定的插槽。

  按下编程按钮来选择不同的编程插槽为您的新的关键。

  触摸新的插座键。

  LED显示屏闪烁,说明准备程序。

  触摸新的密钥再次确认报名到内存。

  如果注册成功,显示停止闪烁。

  5秒钟后,从编程模式,程序退出。

  图3显示注册一个新的关键是编程过程示意图。

  ,如果你想注册更多的键,然后从第9步,您可以直接进入第5步。这些步骤可以修改为你喜欢的很多倍。

  如果第7步后,你发现,你选择了错误的插槽数,你不想松动键,按下编程按钮,或只是等待5秒钟。当你按下按钮的插槽数量增加一个内存还没有改变。如果等待5秒,将退出编程模式并没有什么要登记在内存中。一般来说,在任何编程步骤,您可以等待5秒退出编程模式。

  要删除一个已经注册的关键,你跟着一个几乎相同的程序,只使用主密钥。基本上,它就像您想删除的内存插槽上注册主键。此过程如图4所示。

  

信息钮扣

 

  图0.4 删除一个关键的编程步骤 。

  在编程模式时,门才会开启按OPEN按钮。此外,由于两个iButton的插座并联连接,你应该避免同时在两个插座触摸键。

  大师的关键序列号存储在单片机的程序存储器,地址2FDH开始。序列号的长度是8个字节 。iButton的从左至右阅读的情况下,打印序列必须是平等的 。在内存地址 2FDH 的注册,然后在 地址2FEH - 303H未来6个字节的注册,最重要的字节开始。最后,家庭代码字节存储在地址304H 。例如,一个完整的串行代码应该像这样:67 00 00 02 D 6 85 26 01

  软件框图显示在图5。程序启动后,询问是否已进入一个关键。如果输入的关键是,那么它读取内部的序列号。下一步是检查,如果这是主键或在内存中已经注册的另一个关键。如果关键是验证,然后门被打开。也是开放的按钮被选中,如果是按门打开了。

  

信息钮扣

 

  图0.5 软件 的 框图

  对于编程模式存在两个子程序:PROGT和progs的,其框图如图6所示。首先是所谓的时读取序列号,在编程阶段和第二的编程按钮被按下时调用。编程的一个新的关键是在三个阶段完成。当我们按下编程按钮,我们进入编程模式。在这种状态下,LED显示 “ P» 的关键序列号检查,看看这是主键,因为这关键是需要进行编程步骤。

  如果这是主键,我们进行第2阶段。现在,LED显示当前选定的内存插槽的数量,改变按编程按钮。如果我们再次触摸键,然后它是注册的内存,我们通过第3期。如果我们接触的另一个关键,这也是注册和我们通过第2阶段。按下按钮,我们通过第2阶段,没有注册任何键。

  如果我们不碰任何东西在5秒内 ,从编程模式,程序退出 。图5和6的框图简化,但这些程序的功能作为一个整体感给 。

  根据您的愿望,这是延长这个方案的能力,因为它是开源的,以满足您的特殊需要。

  

信息钮扣

 

  图0.6 编程模式子程序框图

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分