信息鈕扣iButton的電子鎖原理及設(shè)計(jì)
這種電子鎖可用于任何類型的iButton您可能已經(jīng)因?yàn)槲ㄒ恍枰氖莾?nèi)部的序列號(hào),它的每iButton的不同。用來(lái)讀取序列號(hào)的命令是為所有的iButton的相同。iButton的家庭與每個(gè)iButton的代碼,可以是任何東西,是作為整個(gè)序列號(hào)的一部分計(jì)算。我們也必須注意到,DS1990A系列iButton的是最便宜的的。
這種電子鎖設(shè)計(jì),獨(dú)立工作,可以很容易地構(gòu)造。用戶看到的(門例如外)是一個(gè)iButton的插座和LED。從門里面,我們可以使用一個(gè)簡(jiǎn)單的按鈕打開(kāi)它。對(duì)于門的實(shí)際鎖定一個(gè)電磁閥和一個(gè)大膽的使用 。電磁閥必須額定電壓為12VDC 。iButton的序列號(hào)存儲(chǔ)在內(nèi)存中,可以刪除和更新,在需要的時(shí)候 。一個(gè)主鍵是用來(lái)管理他們的休息 。共9種不同的鍵可以存儲(chǔ)在內(nèi)存中。
示意圖如圖1所示。該電路是圍繞一個(gè)愛(ài)特梅爾89 彗星2051(U1)的微控制器 。端口1(P1)MCU是用來(lái)連接一個(gè)7段共陽(yáng)極LED顯示屏。此LED顯示屏將用于編程的附加 ??鍵。出于同樣的原因,一個(gè)按鈕SB1的標(biāo)記是連接P.3.7 。iButton的序列號(hào)存儲(chǔ)在24C02的EEPROM(U3)。它是連接到P3.4(SDA)和P3.5 U1(沙中線)。iButton的嵌外部連接端口P3.3通過(guò)XP2的針腳陣列。其余元件VD4,R3,VD5 和 VD6 用于保護(hù)MCU端口。一個(gè)上拉電阻R4用作從1 - Wire協(xié)議。另外一個(gè)iButton的套接字連接預(yù)定義平行引腳的XS1。這一個(gè)是用于編程的鑰匙。開(kāi)門按鈕連接P3.2通過(guò)XP1專用連接器,用上述同樣的保護(hù)元件。XT1連接器,電磁鎖,是連接 。電磁閥控制,從功率MOSFET 的540 (VT 3 )。,二極管VD7添加到保護(hù)MOSFET由于電磁電感電壓罷工。三極管VT3,VT2的控制,這顛倒的邏輯狀態(tài),P3.0出現(xiàn),所以我們?cè)赩T3的輸出0V和12V。這種額外的晶體管是有用的,因?yàn)樗軌蚪忉尩腗CU的邏輯電平為0V和12V,能夠驅(qū)動(dòng)電磁 。
圖0.1 示意圖iButton的電子鎖
一個(gè)LED用于指示的電子鎖,這是從電磁針控制的狀態(tài),使用晶體管TV1。這導(dǎo)致連接使用相同的針腳陣列XP2的董事會(huì)。但是,我們必須確保沒(méi)有監(jiān)督的情況下,該電路將始終工作。出于這個(gè)原因,我們ADM1232(U2),MCU復(fù)位引腳控制。該芯片內(nèi)部計(jì)數(shù)器和電壓的測(cè)試電路。單片機(jī)在引腳P3.1產(chǎn)生脈沖時(shí),作品的權(quán)利。如果是有原因的MCU凍結(jié),那么U2樂(lè)隊(duì)發(fā)送一個(gè)復(fù)位脈沖和恢復(fù)工作。
這種電子鎖有它自己的電源板,變壓器T1,整流橋VD9,VD12和穩(wěn)壓器U4的等組成 。作為備用電源使用10節(jié)AA電池陣列(BT1 - BT10)???cè)萘繛?00MAH。當(dāng)電路連接主電壓電池組充電通過(guò)R10的電流為20mA。此電流等于為0.025C(其中C是電池的容量),這是一個(gè)非常小的電流,根據(jù)總?cè)萘康?。這是把一個(gè)穩(wěn)定的充電電池之間的時(shí)間,以彌補(bǔ)損失,并沒(méi)有充電完成檢測(cè)需要 ??梢宰龅?,多余的能量消耗的熱量,即不能損害其低電池 。
整體電路板尺寸為 150 х 100 х 60 毫米。大部分組件都放在董事會(huì),包括變壓器。電池放在電池盒。在AA電池的地方,我們可以使用一個(gè)12V密封鉛酸電池-鉛酸電池。船上有2或3針連接器連接外部元件。使用部分號(hào)碼HG 1 , SB 1和XS 1 。LED VD3可以放在面對(duì)的外殼,指示正確的電路板電源。一個(gè)連接圖圖2顯示。
圖0.2 連接圖
當(dāng)門去打開(kāi),一個(gè)3秒的脈沖觸發(fā)電磁閥。當(dāng)我們按??下開(kāi)門按鈕的大門仍然開(kāi)放,只要我們推。
電子鎖可以注冊(cè)9個(gè)按鍵,外加一個(gè)主鍵。師父的序列號(hào)存儲(chǔ)在MCU。其余的按鍵都存儲(chǔ)在外部存儲(chǔ)器根據(jù)插槽1至9。要添加或刪除一個(gè)新的密鑰,你應(yīng)該有主鍵。另外,主密鑰可用于開(kāi)門。
圖 3編程步驟添加一個(gè)新的關(guān)鍵
要添加一個(gè)新的的關(guān)鍵,應(yīng)遵循以下步驟:
按編程按鈕。
LED顯示字母 “ P » 表明您進(jìn)入編程模式。
觸摸插座的主按鈕。
LED顯示屏 « 1 »。“ S的內(nèi)存中的當(dāng)前選定的插槽。
按下編程按鈕來(lái)選擇不同的編程插槽為您的新的關(guān)鍵。
觸摸新的插座鍵。
LED顯示屏閃爍,說(shuō)明準(zhǔn)備程序。
觸摸新的密鑰再次確認(rèn)報(bào)名到內(nèi)存。
如果注冊(cè)成功,顯示停止閃爍。
5秒鐘后,從編程模式,程序退出。
圖3顯示注冊(cè)一個(gè)新的關(guān)鍵是編程過(guò)程示意圖。
,如果你想注冊(cè)更多的鍵,然后從第9步,您可以直接進(jìn)入第5步。這些步驟可以修改為你喜歡的很多倍。
如果第7步后,你發(fā)現(xiàn),你選擇了錯(cuò)誤的插槽數(shù),你不想松動(dòng)鍵,按下編程按鈕,或只是等待5秒鐘。當(dāng)你按下按鈕的插槽數(shù)量增加一個(gè)內(nèi)存還沒(méi)有改變。如果等待5秒,將退出編程模式并沒(méi)有什么要登記在內(nèi)存中。一般來(lái)說(shuō),在任何編程步驟,您可以等待5秒退出編程模式。
要?jiǎng)h除一個(gè)已經(jīng)注冊(cè)的關(guān)鍵,你跟著一個(gè)幾乎相同的程序,只使用主密鑰。基本上,它就像您想刪除的內(nèi)存插槽上注冊(cè)主鍵。此過(guò)程如圖4所示。
圖0.4 刪除一個(gè)關(guān)鍵的編程步驟 。
在編程模式時(shí),門才會(huì)開(kāi)啟按OPEN按鈕。此外,由于兩個(gè)iButton的插座并聯(lián)連接,你應(yīng)該避免同時(shí)在兩個(gè)插座觸摸鍵。
大師的關(guān)鍵序列號(hào)存儲(chǔ)在單片機(jī)的程序存儲(chǔ)器,地址2FDH開(kāi)始。序列號(hào)的長(zhǎng)度是8個(gè)字節(jié) 。iButton的從左至右閱讀的情況下,打印序列必須是平等的 。在內(nèi)存地址 2FDH 的注冊(cè),然后在 地址2FEH - 303H未來(lái)6個(gè)字節(jié)的注冊(cè),最重要的字節(jié)開(kāi)始。最后,家庭代碼字節(jié)存儲(chǔ)在地址304H 。例如,一個(gè)完整的串行代碼應(yīng)該像這樣:67 00 00 02 D 6 85 26 01
軟件框圖顯示在圖5。程序啟動(dòng)后,詢問(wèn)是否已進(jìn)入一個(gè)關(guān)鍵。如果輸入的關(guān)鍵是,那么它讀取內(nèi)部的序列號(hào)。下一步是檢查,如果這是主鍵或在內(nèi)存中已經(jīng)注冊(cè)的另一個(gè)關(guān)鍵。如果關(guān)鍵是驗(yàn)證,然后門被打開(kāi)。也是開(kāi)放的按鈕被選中,如果是按門打開(kāi)了。
圖0.5 軟件 的 框圖
對(duì)于編程模式存在兩個(gè)子程序:PROGT和progs的,其框圖如圖6所示。首先是所謂的時(shí)讀取序列號(hào),在編程階段和第二的編程按鈕被按下時(shí)調(diào)用。編程的一個(gè)新的關(guān)鍵是在三個(gè)階段完成。當(dāng)我們按下編程按鈕,我們進(jìn)入編程模式。在這種狀態(tài)下,LED顯示 “ P» 的關(guān)鍵序列號(hào)檢查,看看這是主鍵,因?yàn)檫@關(guān)鍵是需要進(jìn)行編程步驟。
如果這是主鍵,我們進(jìn)行第2階段?,F(xiàn)在,LED顯示當(dāng)前選定的內(nèi)存插槽的數(shù)量,改變按編程按鈕。如果我們?cè)俅斡|摸鍵,然后它是注冊(cè)的內(nèi)存,我們通過(guò)第3期。如果我們接觸的另一個(gè)關(guān)鍵,這也是注冊(cè)和我們通過(guò)第2階段。按下按鈕,我們通過(guò)第2階段,沒(méi)有注冊(cè)任何鍵。
如果我們不碰任何東西在5秒內(nèi) ,從編程模式,程序退出 。圖5和6的框圖簡(jiǎn)化,但這些程序的功能作為一個(gè)整體感給 。
根據(jù)您的愿望,這是延長(zhǎng)這個(gè)方案的能力,因?yàn)樗情_(kāi)源的,以滿足您的特殊需要。
圖0.6 編程模式子程序框圖