項東,石存金,王憲磊
(塔里木大學,新疆阿拉爾,843300)
隨著互聯網以及計算機技術的發展,智能鎖市場已經成熟。指紋智能鎖的開發得益于現代集成電子制造技術和快速安全算法的研究,雖然指紋只是很小的一種,除了人的皮膚外,用于鑒別的數據非常大,對這些數據進行比較不是一個簡單的平衡問題,而是一個需要模糊分配算法的問題。同時,個人計算機計算速度的迅速發展使得能夠在微型計算機甚至是微型計算機上進行兩次指紋匹配操作。此外,在20 世紀70 年代,微波技術的發展出現不僅提高了操作算法的可靠性,而且是非常實用的指紋識別方法[1]。20 世紀80 年代進入了快速發展時期,而且是大大改善。使它更適合工業和生活。在20 世紀90 年代電子鎖技術,如IC,TM,RF 等,已經得到了改善,智能型鎖也作為智能型家庭的一個重要分支迅速發展[2]。
本此設計拉桿箱采用市場上較好的行李箱材質,使用優質輕質材料而不增加行李箱的總重量。本項目旨在改進傳統的行李解鎖方式和應用方式,應用非常廣泛的STC89C52 單片機作為核心微控制器,通過單片機的串口通信發送指紋,控制指紋識別模塊基于指紋技術存儲指紋。在行李箱上設計指紋識別電子密碼鎖,并設計其防盜報警裝置,方便簡捷,提高行李箱安全防盜性能,省去了傳統行李箱滾輪式解鎖的繁瑣步驟,同時消除因忘記密碼而強行撬鎖的可能,延長行李箱使用周期,具有一定的研究和使用價值。
單片機主控芯片為系統核心部件,獨立按鍵模塊起初始化作用,用于原始指紋的輸入與鎖定,也就是起到原始密碼的存儲以及新密碼的設定,指紋模塊的作用是收集指紋信息,并把指紋數據存儲并發送給單片機,進而單片機進行數據的整合與處理并且發出命令控制其他設備,如圖1 所示。

圖1 控制系統圖
指紋模塊的作用是收集指紋信息,并把指紋數據存儲并發送給單片機,進而單片機進行數據的整合與處理并且發出命令控制其他設備。顯示模塊用于顯示一些對用戶來說重要的信息,如鎖的狀態,時間與日歷,蓄電池電量,報警狀態等等。電機驅動模塊就是行李箱鎖的執行機構,通過單片機電機的轉動使得鎖開與合。報警模塊就是指紋識別多次未匹配成功,單片機就視為這是屬于偷竊行為,便會使得報警模塊發出動作,警示偷竊者,從而提高行李箱的安全性。電源供給模塊,就是給該項目涉及的電子元器件提供電能的,系統是基于電能的基礎上工作的。為了響應國家提倡節能減排的號召,本項目的電能由行李箱底盤滑輪的機械能由發電機轉化成電能并補給蓄電池以及蓄電池共同供給,使得能量得以部分循環,并且也增加密碼鎖的使用周期。

圖2 系統整體框架圖
該項目分為7 個模塊,分別為主控芯片模塊,指紋模塊,按鍵模塊,顯示模塊,驅動模塊,報警模塊以及電源模塊。如圖3 所示。

圖3 系統整體框架圖
主控芯片模塊,需要構建單片機最小系統,包括主控單片機芯片、復位電路、晶振電路、電源電路。
顯示模塊用于顯示一些對用戶來說重要的信息,如鎖的狀態,時間與日歷,蓄電池電量,報警狀態等等。電機驅動模塊就是行李箱鎖的執行機構,通過單片機電機的轉動使得鎖開與合。
電機驅動模塊, 本項目采用的電機為舵機,別名伺服電機,可以通過軟件程序規律性地控制其轉角。它是由直流電機、減速齒輪組合、傳感器以及控制電路組成的一個自動控制系統電機。通過單片機發送的脈沖信號,進而舵機輸出軸旋轉一定角度。一般地,舵機都有與之對應的最大轉向角度(比如160 度)。其工作機制:由單片機發信號,經由舵機中的接收信號通道,送到其具有信號處理轉化的芯片組中去,隨之就有一個直流電壓脈沖產生,產生之后會與舵機上電位器的電壓進行比較,得到一個壓差的輸出,電壓差信號到達電機的驅動芯片,進而驅動電機轉動,這個電壓差的正與負,使得電機的正反轉動與之對應。單片機對舵機的控形機制:單片機擔任舵機控制單元一職,它能夠通過其自身所帶的定時器,產出PWM 脈沖信號,并且它的時間是微秒級別的,可以達到舵機的控制要求,總的來說,單片機通過算法控制,將計算的結果變成PWM,一個周期高電平帶占有一定比例的的脈沖信號,最后輸送給舵機系統。單片機要想成功把控舵機的輸出角度,要實現:第一首先它得產生基本的PWM的周期信號,也就是它需要的20ms 的周期信號,第二,單片機要能進行正信號在其一周期內的比例的調整,即占空比的調整,脈沖對應的電機轉動角度關系如表1 所示。
報警模塊就是指紋識別多次未匹配成功,單片機就視為這是屬于偷竊行為,便會使得報警模塊發出動作,警示偷竊者,從而提高行李箱的安全性。
電源模塊,本項目的電能由行李箱底盤滑輪的機械能由發電機轉化成電能并補給蓄電池以及蓄電池模塊組成,使得能量得以部分循環,增且也增加密碼鎖的使用周期。七個模塊的共同作用完成了項目想要的功能。根據以上內容進行設計,并進行繪制出硬件基本電路圖,如圖4 所示。

圖4 硬件電路圖

表1 不同脈沖對電機控制角度
本項目需要四個軟件模塊,單片機作為核心大腦來儲存數據信息,發送命令信息控制所有用到的外設,軟件開始時需要進行初始化,包括單片機的初始化、1602 液晶的軟件初始化,初始化完成后單片機開始按程序要求正常工作,LCD1602 按程序顯示必要信息。其他模塊按照單片機發出的指令來進行動作。
其流程主要是,初始化后,首先進行指紋數據的儲存,第二次開始開始指紋數據的收集與之前單片機儲存的數據進行對比,如何對比成功,則單片機發出命令控制舵機轉動,鎖就會打開,如何五次都沒有識別成功,單片機就會驅使報警模塊(蜂鳴器),發出聲音。1602 液晶顯示密碼鎖的狀態,報警狀態起流程如圖5 所示。
顯示模塊軟件設計,LCD1602 液晶的數據手冊表明它有讀狀態、讀數據、寫指令、寫數據功能,可以嚴格的根據ASCII 碼表進行數據與字符的轉換,并在其液晶顯示屏上顯示其字符形狀,表達設計者想要給用戶的有用信息。LCD 1602 液晶在進行數據處理工作之前要進行一系列的開始步驟,在寫命令之前要進行引腳的的掃描,只有最高位是低電平才能進行數據的處理,進而執行初始化命令,接收顯示數據,完成字符的顯示,表達想要信息。單片機傳給液晶的數據會儲存在LCD 1602 液晶內的RAM 中進行緩沖,檢完忙后在進行命令的執行,當密碼鎖處于安全并上鎖,單片機發送相應數據LED 顯示“祝您生活愉快!!!”,當鎖打開時:單片機發送相應數據,LED 鎖狀態欄顯示“yes”,報警狀態顯示“NO”,當多次未能識別成功,單片機發出控制報警模塊的命令,軟件進行定時器中斷,不斷產生高低電平,與此同時蜂鳴器發聲。這時單片機發出顯示數據密碼鎖鎖狀態NO,報警狀態顯示:yes(注:1602 液晶只具備顯示字母字符的功能,沒有能顯示實際的字的能力)。
指紋模塊軟件設計,本項目采用FPC1011F 指紋傳感器硬件,主要負責指紋數據的采集,并且發送給單片機,單片機的串口通信接口一位數據一位數據接收,并進行儲存,需要軟件編程來實現,當單片機接收完傳感器傳來的數據并儲存后,接下來進行數據收集與原數據對比,對比成功,則進行開鎖,LCD1602 顯示鎖的狀態,不成功則繼續下一次的檢測,5 次未成功單片機將發出報警命令,蜂鳴器叫,LCD1602 顯示報警狀態。

圖5 軟件部分的設計流程圖
電動機驅動模塊軟件設計,舵機是一個交流電機,它的動作需要脈沖的驅動,單片機中斷可以滿足其工作要求,舵機需要20ms 的脈沖,由于占空比不一樣,因此轉動角度就不一樣,鎖的開與關就是通過舵機的轉動實現的,指紋對比成功后,單片機驅動舵機,軟件設置單片機定時器的初值,到時產生中斷,20ms 時間需要的機器周期通過計算得出,與溢出值之(65536)差就是定時器的初值,差值占空比是高電平需要的時間,其他為低電平的時間,分別記算,設定定時器的相應的初值,單片機就會產生脈沖(PWM),舵機就開始工作了。
報警系統的軟件設計,本項目報警器采用無源蜂鳴器,無源蜂鳴器工作需要500Hz 的脈沖,蜂鳴器才會發聲,一次脈沖的時間1/500s,根據這個時間計算出需要多少個機器周期,一個機器周期為12/11059200,通過以下公式:

就得出需要的初值,把這個初值給定時器,他就會按時溢出,一直循環,就會產生500Hz 的脈沖,只有當多次指紋識別失敗,單片機才觸發中斷命令,報警發聲也不是無限循環的,十五秒之后就停止,在此之間,其他模塊該怎么進行,在此之間行李箱密碼識別成功,報警立馬停止,舵機就會按程序轉動一定角度,密碼鎖打開,這時候,1602LED顯示報警:NO,鎖狀態:yes。
本項目通過STC89C52 單片機作為核心微控制器通過單片機串口通信發送指令控制指紋識別模塊進行存貯指紋比對指紋技術完成開鎖。獨特的自供電方式,使能夠將滑輪的機械能轉化為電能,以供電子鎖具工作用電。本項目不僅對傳統行李箱的開鎖方式進行改造、且供電方式和管理模式有所創新。在其防盜性能上也加以創新,而且該模型可移植與拓展。