控制/MCU
这种电子锁可用于任何类型的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 编程模式子程序框图
全部0条评论
快来发表一下你的评论吧 !