1 引言
隨著工業(yè)環(huán)境的日益復雜化,有效且價格低廉的監(jiān)控系統(tǒng)對工業(yè)的發(fā)展來說正變得越來越重要。對開發(fā)者來說,開發(fā)界面友好的、更經(jīng)濟的、有著最少硬件需求的監(jiān)控系統(tǒng),無疑是面臨的一場新的挑戰(zhàn)。計算機是一個真正令人稱奇的機器,它可以幫助我們在眾多的領域執(zhí)行多個任務,它是現(xiàn)代社會的信息基礎設施。計算機的多任務特性對用戶來說有著更大的吸引力,一個單獨的計算機既能夠做日常工作,同時也能夠被用作監(jiān)控系統(tǒng)。本監(jiān)控系統(tǒng)是一個以Windows 軟件為基礎的系統(tǒng),采用Delphi 設計用于向用戶提供圖形用戶界面。使用Windows 環(huán)境的一個好處是,軟件可以在網(wǎng)絡上共享,監(jiān)控系統(tǒng)對所有用戶是透明的,因而可以被許多計算機使用。這個系統(tǒng)可以實現(xiàn)全天候監(jiān)控,并且可以打印24 小時內(nèi)的所有監(jiān)控記錄。硬盤能夠保存3 個月的監(jiān)控數(shù)據(jù)。
這個系統(tǒng)的安裝非常的靈活,可以適應不同的工作環(huán)境,并且具有極小的安裝空間。該監(jiān)控系統(tǒng)有著不同的應用。它可被用于產(chǎn)品輸送和車輛速度感知,辦公室、體育館、電影院以及大型超市的路口監(jiān)控。
2 系統(tǒng)設計
2.1 基本系統(tǒng)設計
這個系統(tǒng)是實現(xiàn)一個入口監(jiān)控系統(tǒng),由兩個傳感器、一個可自動開關的門和一臺計算機組成,門在計算機發(fā)出的控制信號的作用下自動開啟和關閉。計算機根據(jù)傳感器提供的數(shù)據(jù)向控制門的電機發(fā)出開或關的控制信號。當?shù)谝粋€傳感器被激活的時候,就向計算機發(fā)出一個信號,計算機對入口進行錄像并命令門打開,人進入后觸發(fā)第二個傳感器。第二個傳感器安裝在門的另一側。第二個傳感器亦發(fā)出一個信號給計算機,這時計算機向門發(fā)出關閉命令。
如果人經(jīng)過第一個傳感器后未經(jīng)過第二個傳感器而是從第一個處返回,則系統(tǒng)不保存這個人的進入記錄。
2.2 控制系統(tǒng)的設計
這個系統(tǒng)主要是用來控制進入的人數(shù)。計算機軟件隨時保留著已進入的人的數(shù)目,被允許進入的人的總數(shù)由用戶事先設定。如果進入的人的數(shù)目超出設定范圍,計算機將不再發(fā)出開門指令并在屏幕上顯示警告信息,門的關閉狀態(tài)將會被自動保持。如果一個里面的人想要出去,門將為他打開并且里面產(chǎn)生一個空位,這時門就能夠為任何想進入的人打開。所有這些決策和處理由計算機自動完成,計算機基于已有的記錄數(shù),給門發(fā)送適當?shù)闹噶钜钥刂迫藛T的進出??刂葡到y(tǒng)的結構如圖1 所示。
圖 1 控制系統(tǒng)結構
3.紅外感知系統(tǒng)的設計
感知器采用紅外射線(IR)傳感器來實現(xiàn)。IR 發(fā)射器產(chǎn)生IR 波束,波束被IR 接收器連續(xù)地接收。IR 接收器放在與IR 發(fā)送器相同的高度上,其中間無障礙物遮擋。當侵入者干擾了光束時就會為計算機產(chǎn)生一個中斷,如圖2 所示。
圖 2 傳感器安裝
3.1 IR 發(fā)射器
本文中使用的 IR 發(fā)射器是一個簡單的IR LED。由于IR 發(fā)出的IR 紅外線由于光的干涉現(xiàn)象會在空氣中被吸收,所以為了使IR 的光束不被干擾,這里使用了一個40KHz 的調(diào)制方案解決這個問題,如圖3 所示。通過一個40KHz 信號的控制,發(fā)送器發(fā)出光脈沖。這個40KHz的信號由一個555 定時器產(chǎn)生,信號輸出幅度為為0V 和5V。
圖 3 紅外發(fā)射器模塊圖
3.2 IR 接收器
IR 接收器通過使用一個光電晶體管實現(xiàn)。光電晶體管通過位于基底的接收器以適當?shù)墓ぷ髂J浇邮誌R 紅外線。然而在接收站需要一個帶通濾波器,因為發(fā)送器發(fā)出的IR 紅外線是以40KHz 被調(diào)制的。為防止傳輸中的干擾,需要在光電晶體管后面加一個濾波器,濾波器輸出5V 信號。光電晶體管和濾波器電路合并在一起形成一個可重復使用的模塊,稱為IR 接收模塊。模塊化可使IR 接收器提高工作的可靠性并降低價格。IR 接收模塊的輸出被傳送至計算機。
4 計算機接口連接
4.1 并行接口連接
計算機通過并行口與 IR 接收模塊連接。并行口對外圍電路的控制具有功能強大、造價低的特點。并行口的主要應用是連接打印機和計算機,因為并行口通常用于這種目的,所以它又常被稱為打印機并行口。它是一個25 針的母口連接器(DB25)。DB25 連接器的針腳如圖4 所示。
圖 4 并行口引腳排列和分組
DB25 連接器的針腳可以分成三種類型:數(shù)據(jù)線(數(shù)據(jù)總線)、控制線和狀態(tài)線。數(shù)據(jù)、控制和狀態(tài)線被連接到計算機中的三個相應的觸發(fā)器上。所以通過在程序中操作這些觸發(fā)器,我們可以容易地用程序語言編程讀寫并行口。
寫一個并行口讀寫程序在 DOS 系統(tǒng)下是非常容易簡單的。但是進入Windows 系統(tǒng)后,象Windows2000,XP 等,所有這些簡單性將不復存在。作為一個非常安全的操作系統(tǒng),Windows 分配一些權限和限制到運行在它上面的各種不同類型的程序。我們通常編寫的程序都是用戶模式的,用戶模式的應用程序被限制使用某些指令如IN,OUT 等。無論什么時候操作系統(tǒng)發(fā)現(xiàn)一個用戶模式的程序試圖執(zhí)行這種指令,操作系統(tǒng)將停止這些用戶程序的執(zhí)行并顯示一個錯誤信息。但是內(nèi)核模式的程序不在限制執(zhí)行這類指令之列。設備驅(qū)動程序能夠以內(nèi)核模式運行。所以解決上述的問題的一個好的方案就是編寫一個內(nèi)核模式的驅(qū)動程序,該驅(qū)動能夠向并行口讀寫數(shù)據(jù),并且使用戶模式的應用程序能夠與驅(qū)動程序通信。
本系統(tǒng)的并行口驅(qū)動程序以動態(tài)連接庫文件 DrivDb25.dll 的形式提供。它能夠在不改變用戶代碼或DLL 本身的情況下在任何Windows 版本下工作。當函數(shù)被調(diào)用的時候驅(qū)動程序?qū)z測操作系統(tǒng)版本,當操作系統(tǒng)是Win9X 時,驅(qū)動程序使用_inp()和_outp 函數(shù)讀寫并行口;當操作系統(tǒng)是Windows NT, 2000 或XP 時,它將安裝一個內(nèi)核模式的驅(qū)動,然后通過這個驅(qū)動和并行*互。這樣用戶代碼就無需關心操作系統(tǒng)的版本。程序流程圖如圖5 所示。
圖5 并行口驅(qū)動流程圖
4.2 硬件接口中的問題及解決方法
并行口從傳感器中讀取數(shù)據(jù)后,計算機將按照算法執(zhí)行相應的動作。但由于信號的波動,計算機執(zhí)行的結果可能并不象預料的那樣。在正常的程序操作下,計算機大約每1 個微秒從傳感器中抽樣一次數(shù)據(jù)。這個微妙級的抽樣將導致計算機接收甚至是傳感器輸出的最輕微的信號波動。由于功率波動,環(huán)境條件,輕微的自然震動等,導致傳感器輸出有許多波動,這些波動會對計算機產(chǎn)生錯誤的中斷,導致算法將被不期望地觸發(fā),最終導致錯誤動作。
信號波動在傳感器觸發(fā)期間會變得更加明顯。當入侵者經(jīng)過觀測區(qū),IR 束被擾亂并給出一個信號,由于明顯的身體上的原因,波束將被大約以毫秒級擾亂好幾次。這將會對計算機產(chǎn)生多個虛假的中斷。
這個問題可以通過改變抽樣時間解決,也可以通過采用適當?shù)乃惴ń鉀Q。算法程序被設計成可以識別出傳感器發(fā)出的是真實的信號還是虛假的信號。在本系統(tǒng)中使用的方法是只接收傳感器觸發(fā)產(chǎn)生的第一次中斷,其他所有傳感器產(chǎn)生的跟隨中斷被拋棄,如果它們發(fā)生的非??斓脑?,這可以通過在程序代碼中放置一個有條件的跳轉(zhuǎn)實現(xiàn)。當來自傳感器的第一個中斷被計算機接收時,程序流將跳轉(zhuǎn)到一個等待狀態(tài)中,等待下一個傳感器的中斷。
5 軟件設計
監(jiān)控系統(tǒng)的軟件用 Delphi6 開發(fā)。Delphi 一種面向?qū)ο蟮?、可視化的快速應用開發(fā)工具,提供了容易使用的圖形用戶界面(GUI),能夠運行在各種Windows 操作系統(tǒng)版本上。軟件使用了Delphi6 中通常的組件,如按紐、文本框、對話框、標簽等??刂撇⑿锌诘拿钣蒁rivDb25.dll 驅(qū)動程序提供。軟件的主界面如圖6 所示,軟件流程圖如圖7 所示。
圖 6 監(jiān)控軟主界面
圖7 監(jiān)控軟件流程圖
6.自動門的設計
自動門根據(jù)計算機發(fā)出的信號執(zhí)行開啟和關閉的動作。門的自動開和關通過在適當位置使用一個直流電機實現(xiàn)。一個傳動裝置連接到電機的軸上,傳動裝置的齒輪壓著門框,當軸轉(zhuǎn)動時,門邊沿著它的軌跡轉(zhuǎn)動,門的開和關由電機軸的轉(zhuǎn)動方向所控制。當電機軸順時針方向轉(zhuǎn)動時為開,逆時針方向轉(zhuǎn)動時為關。電機是順時針還是逆時針方向轉(zhuǎn)動由提供給電機的電壓的極性決定。
計算機通過繼電器與電機連接。繼電器有這樣的好處,它能夠使大電機與計算機安全地相連。繼電器應當安裝在容易更換的位置,以便在燒毀或粘連時方便更換。
7 實驗及結論
模擬實驗顯示,在模擬進出 1400 次時,系統(tǒng)只有1 次誤動作,經(jīng)分析與繼電器疲勞有關,排除繼電器壽命的影響,該系統(tǒng)有著非常高的可靠性。將該系統(tǒng)進行簡單的改造,即可用于移動物體的計數(shù)和速度的監(jiān)測,因此該系統(tǒng)有著廣泛的用途。