基于STCl2C2052單片機(jī)的無(wú)電源電子鎖系統(tǒng)的設(shè)計(jì)
O 引言
目前,市場(chǎng)上有多種基于IC卡設(shè)計(jì)的電子鎖,廣泛應(yīng)用于賓館、公寓、倉(cāng)庫(kù)、學(xué)校等場(chǎng)所。這些場(chǎng)合能夠提供很好的直流或交流電源,電子鎖的控制部分可以長(zhǎng)時(shí)間方便地獲取穩(wěn)定的電源。但是,在野外環(huán)境中往往不能為控制部分方便地提供電源,需要手持部分為控制部分提供電源,執(zhí)行開(kāi)鎖和閉鎖操作,因此傳統(tǒng)由控制部分提供電源的電子鎖不能滿足野外環(huán)境的需要,例如采油井、注水站、電信通訊井等,在這些地方,尤其是偏遠(yuǎn)的地方,往往對(duì)安全性要求較高,提供電源又較為困難。
本文介紹了一種電子鎖,電子鎖系統(tǒng)分為控制和手持兩部分。手持部分的電源采用鋰電池,控制部分的工作電源由手持部分提供,數(shù)據(jù)線和電源線共用一根線,有效解決了上述問(wèn)題,使用方便。
1 硬件系統(tǒng)設(shè)計(jì)
電子鎖由控制部分和手持部分組成??刂撇糠钟?strong>STCl2C2052單片機(jī)、信號(hào)接收電路、電機(jī)驅(qū)動(dòng)電路、保護(hù)電路構(gòu)成,主要完成電子鎖鑰匙密碼的接收、驗(yàn)證、直流電機(jī)驅(qū)動(dòng)、電機(jī)保護(hù)功能;手持部分主要由STCl2C2052單片機(jī)、可充電電源電路、信號(hào)發(fā)送電路、鎖開(kāi)關(guān)按鍵電路構(gòu)成,主要完成電子鎖系統(tǒng)電源的提供,開(kāi)鎖、閉鎖信號(hào)和鑰匙密碼信號(hào)的發(fā)送功能。為了使用方便,控制部分和手持部分的連接采用紐扣式接頭,外部為地,內(nèi)部為電源線,通過(guò)單根電源線實(shí)現(xiàn)數(shù)據(jù)傳輸和控制功能。開(kāi)鎖、閉鎖操作的執(zhí)行由3 V直流變速電機(jī)完成,直流變速電機(jī)可以降低轉(zhuǎn)速,增大力矩。硬件系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
1.1 STCl2C2052單片機(jī)
控制部分和手持部分微處理器采用STCl2C2052單片機(jī)。STCl2C2052除了具有運(yùn)算器、控制器、RAM、FLASH、定時(shí)器、串行接口等功能部件外,還具有以下特點(diǎn):SOP-20封裝,體積??;3.5~5.5 V寬工作電壓,具有ESD保護(hù),高抗靜電干擾,抗4 kV快速脈沖干擾;-40~+80℃工作溫度范圍,低功耗的空閑和掉電工作模式,2 KB芯片內(nèi)E2PROM,ISP系統(tǒng)在線可編程,硬件看門(mén)狗(WDT)等特點(diǎn),適用于野外環(huán)境。
1.2 信號(hào)發(fā)送電路
手持部分的信號(hào)發(fā)送電路將開(kāi)鎖、閉鎖信號(hào)和鑰匙密碼信號(hào)通過(guò)電源線發(fā)送到控制部分。信號(hào)發(fā)送電路由三極管Q1、二極管D1、電阻R1和線圈L1構(gòu)成,如圖2所示。當(dāng)單片機(jī)的P3.1輸出高電平時(shí),Q1截止,輸出低電平時(shí),Q1導(dǎo)通,電源正極通過(guò)D1、限流電阻R1和Q1接地。此時(shí),會(huì)在電源線上產(chǎn)生一個(gè)瞬時(shí)的低脈沖,表明有信號(hào)發(fā)送,低脈沖信號(hào)的不同頻率代表發(fā)送的是“O”,還是“1”。
1.3 信號(hào)接收電路
控制部分信號(hào)接收電路通過(guò)電源線接收開(kāi)鎖、閉鎖控制信號(hào)和鑰匙密碼信號(hào)。接收電路包括電容C1,三極管Q2和一個(gè)反向器。電源通過(guò)線圈L2給控制部分提供電源,如圖3所示。手持部分通過(guò)電源線發(fā)送信號(hào),產(chǎn)生瞬時(shí)的低電平脈沖,低脈沖信號(hào)通過(guò)C1加載到Q2的基極,使得Q2處于截止?fàn)顟B(tài)。此時(shí),反向器輸出低電平信號(hào)。無(wú)脈沖信號(hào)時(shí),Q2處于飽和導(dǎo)通狀態(tài)。此時(shí),反向器輸出高電平信號(hào)。根據(jù)信號(hào)頻率可以判斷發(fā)送來(lái)的是“0”,還是“1”。1.4 直流電機(jī)倒向驅(qū)動(dòng)電路
系統(tǒng)采用帶有變速器的3 V直流電機(jī),通過(guò)電機(jī)的順時(shí)針、逆時(shí)針旋轉(zhuǎn)完成開(kāi)鎖、閉鎖操作。倒向驅(qū)動(dòng)電路由三極管Q4,Q6,Q8,Q10,Q5,Q7,Q9,Q11組成,單片機(jī)的P1.O,P1.1,P1.2,P1.3分別經(jīng)反相器后接Q4,Q6,Q8,Q10的基極。電路如圖4所示。
當(dāng)單片機(jī)的P1.O,P1.1,P1.2,P1.3為低電平時(shí),Q4,Q6,Q8,Q10截止,V1和V2處于浮空狀態(tài),電機(jī)靜止;當(dāng)開(kāi)鎖時(shí),單片機(jī)的P1.0,P1.3為高電平,P1.1,P1.2為低電平,Q4,Q5,Q10,Q11導(dǎo)通,Q6,Q7,Q8,Q9截止,V1為正,V2為負(fù),電機(jī)正轉(zhuǎn)開(kāi)鎖;當(dāng)閉鎖時(shí),單片機(jī)的P1.0,P1.3為低電平,P1.1,P1.2為高電平,Q4,Q5,Q10,Q11截止,Q6,Q7,Q8,Q9導(dǎo)通,V1為負(fù),V2為正,電機(jī)反轉(zhuǎn)閉鎖。
在程序?qū)崿F(xiàn)時(shí),必須注意嚴(yán)禁P1.0,P1.1,P1.2,P1.3同時(shí)為高電平,即Q4,Q6,Q8,Q10同時(shí)處于導(dǎo)通狀態(tài)。
1.5 電機(jī)保護(hù)電路
直流變速電機(jī)執(zhí)行開(kāi)鎖、閉鎖操作一定時(shí)間后,外部機(jī)械裝置會(huì)迫使電機(jī)停止轉(zhuǎn)動(dòng),如果不采取措施,會(huì)產(chǎn)生較大電流,損壞直流電機(jī),所以保護(hù)電路是必不可少的。
保護(hù)電路由TLV2252運(yùn)算放大器、電阻R4,R5,R6組成,電路如圖5所示。TLV2252的1IN+(引腳3)接R5,R6構(gòu)成分壓電路;11N-(引腳2)接電阻R4,電阻R4串聯(lián)到電機(jī)倒向驅(qū)動(dòng)電路的公共輸出端。當(dāng)電機(jī)正常工作時(shí),通過(guò)R4的電流較小,TLV2252的輸出(引腳1)經(jīng)兩個(gè)反向驅(qū)動(dòng)后送給單片機(jī)的P3.3,此時(shí)為“1”,進(jìn)行正常的開(kāi)關(guān)操作。當(dāng)外部機(jī)械裝置迫使電機(jī)停止轉(zhuǎn)動(dòng)時(shí),由于直流電機(jī)負(fù)載過(guò)大,通過(guò)R4的電流較大,這時(shí)放大器TLV2522輸出經(jīng)兩個(gè)反向驅(qū)動(dòng)后送給單片機(jī)的P3.3,此時(shí)為“O”,利用此信號(hào)產(chǎn)生中斷信號(hào),停止開(kāi)鎖、閉鎖操作,以此起到對(duì)電機(jī)的保護(hù)作用。
2 軟件系統(tǒng)設(shè)計(jì)
系統(tǒng)軟件由控制部分主程序、數(shù)據(jù)接收程序、電機(jī)驅(qū)動(dòng)程序、手持部分主程序、數(shù)據(jù)發(fā)送程序組成??刂撇糠峙c手持部分傳送開(kāi)門(mén)、關(guān)門(mén)信號(hào)和鑰匙密碼信號(hào),其中鑰匙密碼信號(hào)用1l位二進(jìn)制數(shù),具有較好的安全性。
2.1 數(shù)據(jù)“0”,“1”傳送方法
采用異步FSK通訊方式,使用信號(hào)的不同頻率來(lái)區(qū)分“0”和“1”,如圖6所示。
當(dāng)信號(hào)頻率為20 kHz時(shí),代表傳輸為“O”;當(dāng)信號(hào)頻率為10 kHz時(shí),代表傳輸為“1”。當(dāng)晶振為12 MHz時(shí),機(jī)器周期大約為1μs。在接收部分,定時(shí)器/計(jì)數(shù)器1用來(lái)記錄機(jī)器周期的個(gè)數(shù)。當(dāng)記錄的機(jī)器周期個(gè)數(shù)在30~70之間時(shí),可以確定接收到的是“O”(O的標(biāo)準(zhǔn)個(gè)數(shù)為50個(gè));當(dāng)記錄的機(jī)器周期個(gè)數(shù)在80~120之間時(shí),確定接收到的是“1”(1的標(biāo)準(zhǔn)個(gè)數(shù)為100個(gè)),其他情況按錯(cuò)誤處理。
2.2 通信協(xié)議設(shè)計(jì)
在傳送的信息中,一部分是開(kāi)鎖、閉鎖控制命令信號(hào),另一部分是鑰匙密碼信息??刂撇糠纸邮盏借€匙密碼信息,經(jīng)驗(yàn)證與本機(jī)的密碼一致后可以執(zhí)行開(kāi)鎖、閉鎖操作。采用異步通信方式,定義協(xié)議格式為起始位、鑰匙密碼信息位、開(kāi)/關(guān)位、校驗(yàn)位。其中,起始位為1位;鑰匙密碼信息為11位;開(kāi)/關(guān)位為1位;校驗(yàn)位為4位。當(dāng)起始位為“0"時(shí),表示一幀數(shù)據(jù)的開(kāi)始,加上此后連續(xù)的16位為一幀數(shù)據(jù)。鑰匙信息共有2048種組合,開(kāi)/關(guān)位為“1”,代表開(kāi)鎖操作;開(kāi)/關(guān)位為“0”,代表閉鎖操作;校驗(yàn)位由11鑰匙信息位和1為開(kāi)/關(guān)位共12位(由高到低4位為1組)經(jīng)2次異或操作得到。
2.3 程序設(shè)計(jì)
手持部分主程序完成系統(tǒng)初始化、讀取按鍵,形成數(shù)幀,啟動(dòng)發(fā)送等任務(wù)。使用定時(shí)中斷T1,完成數(shù)據(jù)的發(fā)送過(guò)程。當(dāng)為數(shù)據(jù)“0”時(shí),定時(shí)器初值為65 535-50=65 485=FFCO(H);當(dāng)為數(shù)據(jù)“1”時(shí),定時(shí)器初值為65535-100=FF9B(H),逐次發(fā)送各位,直到將一幀數(shù)據(jù)發(fā)送結(jié)束。手持部分主程序和T1中斷程序流程如圖7和圖8所示。
控制部分采用定時(shí)器T0和外部中斷O實(shí)現(xiàn),初始化設(shè)置定時(shí)器為內(nèi)部計(jì)數(shù)方式,計(jì)數(shù)初值為0。當(dāng)手持部分信號(hào)到達(dá)控制部分時(shí),單片機(jī)的外部中斷O產(chǎn)生中斷,在中斷程序中讀取計(jì)數(shù)器的計(jì)數(shù)值t。當(dāng)30≤t≤70時(shí),接收到的位為“0”;當(dāng)80≤t≤120時(shí),接收到的位為“1”。將接收的各位組合起來(lái)恢復(fù)發(fā)送的一幀數(shù)據(jù),經(jīng)檢驗(yàn)處理正確無(wú)誤后進(jìn)行開(kāi)鎖或閉鎖操作。
3 結(jié)語(yǔ)
電子鎖系統(tǒng)的數(shù)據(jù)線和電源線采用一線制連接,使用方便;鑰匙密碼以加密的方式寫(xiě)入存儲(chǔ)器中,具有很高的安全性;不需要現(xiàn)場(chǎng)提供電源,解決了傳統(tǒng)電子鎖需要現(xiàn)場(chǎng)提供電源的問(wèn)題。電子鎖系統(tǒng)已在勝利油田孤島采油廠、東辛采油廠注水井的安全保護(hù)和東營(yíng)移動(dòng)通信公司通信線路地井的防盜裝置上得到了應(yīng)用,具有較好的實(shí)用推廣價(jià)值。