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