張倫++潘秀秀++張亞洲
摘 要:本項目針對家用車庫存在的安全性、便捷性等問題進行研究,通過無線通信實現便捷的車庫控制、防盜、視頻監控等,并實現利用超聲波測距方式解決汽車出入庫過程中的刮蹭問題。項目基于ARM內核的STM32嵌入式處理器進行設計與研究,實現的功能包括無線遙控車庫門、視頻監控、紅外防盜、車距探測與預警、電子密碼鎖等,本項目力求在未來的智能家居中發揮作用。
關鍵詞:超聲波測距;STM32;嵌入式處理器;智能車庫;視頻監控
中圖分類號:TP393;TN92 文獻標識碼:A 文章編號:2095-1302(2017)09-00-03
0 引 言
隨著別墅型住宅日漸流行,智能車庫的控制和管理系統也得到了廣泛應用。但傳統車庫控制通常依賴互聯網,存在網絡安全風險與缺陷。例如家用私人車庫面積有限,車主駕駛車輛進出車庫時經常會發生刮蹭;車庫防盜系統依賴車庫攝像探頭,但它只支持發生盜竊后的證據記錄,并不能做到真正的防盜報警,且攝像頭一直處于工作中,對存儲、查看、耗能等都是一個考驗。我們針對傳統智能車庫存在的網絡安全、缺少刮蹭警示、車庫防盜等級較低、便捷性較差等問題提出了合理的解決方案,并建立了基于ARM處理器和無線全雙工通信控制的家用智能車庫系統。
1 設計目標
本項目力求實現智能車庫性價比高、成本低、操作簡便、安全性強、更加智能與人性化的目標,支持低成本、低功耗、高質量的智能化家居理念,為未來人性化智能私人車庫的發展做鋪墊。主要實現以下目標:
(1)用戶使用遙控板無線控制車庫大門的啟閉;
(2)利用紅外人體感應模塊和報警器(在設計中使用蜂鳴器,蜂鳴頻率5 Hz)實現車庫的防盜報警;
(3)利用超聲波測距模塊實現探測與顯示車庫墻壁與車兩側的距離,并在距離小于等于4 cm時提醒報警(在設計中使用蜂鳴器,蜂鳴頻率2 Hz);
(4)車庫門同時支持電磁鎖,在無線控制失效的情況下仍然可以開關門;
(5)遙控板可以打開或關閉車庫內的攝像探頭,亦可在遙控板上查看視頻圖像。
設計指標要求如下:
(1)實現遙控板和車庫主控板之間的全雙工無線通信;
(2)無線圖像傳輸分辨率不低于CIF圖像格式(352×288像素)標準,顏色信息為國際廣播電視標準RGB422;
(3)超聲波測距模塊在40 kHz載頻下探測誤差小于或等于2 cm;
(4)紅外人體感應范圍不小于20 m2;
(5)系統能夠長時間可靠工作。
2 系統功能設計與實現
本項目基于低成本考慮和外圍接口的設計需求,選用ST公司生產的ARMCortex?-M4結構嵌入式處理器ST M32F407作為系統核心。該處理器具有實時控制、高速存儲、FSMC、DMA等功能,能夠滿足項目需求。軟件開發平臺選用Keil Software公司的MDK5,它滿足ARM Cortex?微控制器軟件接口標準(Cortex Microcontroller Software Interface Standard,CMSIS),可方便的添加STM32處理器的固件庫。
2.1 無線全雙工通信的實現
目前常用的無線傳輸模塊有藍牙模塊,WiFi模塊、433長波模塊、nRF模塊等。藍牙模塊應用最廣泛,其優點是近距離匹配容易、成本較低、編程簡單;缺點是遠距離匹配失效、穿墻效果差、傳輸速度低,不適合視頻圖像的遠距離傳輸。WiFi模塊主要應用于互聯網通信,它是目前傳輸速率最快的無線通信模塊,具有高穿透性和高數據流傳輸特性,但其協議棧過于復雜、編程匹配困難、成本與功耗相對較高;433長波模塊適合遠距離數據傳輸,但成本過高;nRF模塊傳輸速度快、功耗低、協議棧簡單、成本低,廣泛應用于智能家居中的短距離信號流傳輸,不論成本、性能還是功耗,均符合本系統的要求。
通過比較廠家資料可知,選擇nRF24L01作為本系統的無線通信模塊。nRF24L01采用2.4 GHz國際開放的ISM頻段。該模塊利用高斯頻移鍵控(GFSK)調制信號,功率譜密度集中且具有恒幅包絡特性。調制出的恒定包絡單位時間內傳輸內容較多,不僅速度快、節能,還能使數據在空中的停留時間較短,確保收到的干擾較少,誤碼率大幅降低,傳輸過程可靠、高效。
本系統需要傳輸格式為CIF的圖像數據,CIF的分辨率為352×288,RGB422色彩模式下每像素色彩信息占用8位二進制數,每幀所需的位數為352×288×8=811 008 b。假設每秒傳輸18幀畫面,則每秒需要的位數為14.6 Mb,即每秒需要的字節數為1 825 KB。增加無線通信的起始位和校驗位后,無線模塊的數據傳輸速率大約為1.9 Mb/s,小于nRF24L01的最大數據傳輸速度2 Mb/s。該模塊完全能夠滿足本項目的需求。以上計算基于非壓縮的圖像數據格式,如果選擇支持幀內數據壓縮的MJPEG數據傳輸格式,還可以進一步降低數據傳輸帶寬,提高系統冗余度,或根據需要選擇更高的圖像分辨率。
nRF24L01采用SPI通信總線,確保收發信號能夠同步進行,但單一的收發不能保證數據傳輸的可靠性,高速的數據傳輸需要校驗和收發確認。nRF24L01提供了兩種不同的收發模式,分別為Enhanced ShockBurstTM和ShockBurstTM,兩種模式由CE端口和CONFIG寄存器共同控制。本系統使用的編程方式(引腳電平使能和寄存器寫值)選擇Enhanced ShockBurstTM模式,它支持自動確認字符(ACK)和自動重發。通信收發的地址和頻道同樣由程序來控制。
2.2 超聲波測距的實現
超聲波在相同的傳播媒介中(大氣條件)傳播速度相同,它借助傳播介質的分子運動而傳播,波動方程描述方法與電磁波類似。endprint
A = A(X)cos(ωt+ kx) (1)
A(X) = A0e-αx (2)
其中:A(X) 為振幅,A0為常數,ω為圓頻率,t為時間,X為傳播距離,k=2π/λ為波數,λ為波長,α為衰減系數。衰減系數與聲波所在介質及頻率的關系如下:
α=af2 (3)
式中:a為介質常數,f為振動頻率。空氣中,a=2×10-13s2/cm,將振動的聲波頻率f=40 kHz(超聲波)代入式(3)可得:α=3.2×10-4cm-1,即1/α=31 m;若f=30 kHz,則1/α=56 m。其物理意義為:聲波在空氣媒介里傳播,因空氣分子運動摩擦等原因,能量被吸收損耗。在(1/α)長度上,平面聲波的振幅衰減為原來的e分之一。
由此可以看出,頻率越高,衰減越大,傳播的距離也就越短。但頻率太低則不易測準。在30~40 kHz范圍內的波長為8~10 mm,可滿足測量要求。本系統選用信號載波頻率f=40 kHz的超聲波測距模塊HC-SR04。
HC-SR04有兩個編程控制I/O口,分別為TRIG和ECHO,編程實現測距的步驟為:
(1)首先TRIG口高電平觸發測距,給出≤10 μs的高電平信號;
(2)TRIG觸發后,模塊自動發送8個40 kHz的方波,自動檢測是否有信號返回;
(3)若有信號返回,則通過ECHO口輸出一個高電平,高電平持續的時間就是超聲波從發射到返回的時間,讀出定時計數器時間。測試距離=(高電平時間×聲速(340 m/s))/2。
單片機的信號采集與處理會出現延時,通過實驗測量,HC-SR04的最小探測距離為2 cm,將4 cm作為車與墻壁的報警提醒距離,則不會出現由于系統誤差導致報警距離失效的情況出現。當車與墻壁的距離小于4 cm時,則蜂鳴器發出2 Hz報警聲,即單片機將一個2 Hz(高電平持續和間距時間為500 ms)的方波傳送給蜂鳴器的使能端,2 Hz方波通過定時器控制產生。
2.3 監控圖像的處理
為了產生系統需求的CIF格式(或相近格式)圖像且圖像顏色信息質量不低于RGB422標準,選擇OV2640作為圖像采集模塊。OV2640是OmniVision公司生產的一顆1/4英寸的CMOS UXGA(1 632×1 232)圖像傳感器,該傳感器體積小、工作電壓低,提供單片UXGA攝像頭和影像處理器的所有功能,它利用窗縮小方式提供按任何比例縮小的UXGA圖像,這里根據顯示屏的大小,選用圖像大小為400×300、每秒15幀的圖像。圖像傳感器與STM32通過DCMI接口連接,圖像數據利用DMA方式采集到內存中。
圖像使用高斯最小頻移鍵控(Gaussian Filtered Minimum Shift Keying,GMSK)調制方式,這種方式使信號具有低通效應,所以設計中無需在解調之后加裝低通濾波器。系統本身的電器特征會產生高頻雜波,對圖像產生干擾,使400×300分辨率的圖像內產生與原信號不同的噪點,需要用軟件編程方式濾除這些噪點從而矯正圖像,矯正方式如圖1所示。采用均值濾波法修正噪點的顏色信息,即把噪點周圍圖像的顏色信息相加后求均值,將該均值賦給噪點,從而達到修正圖像的目的。
2.4 紅外人體感應報警的實現
自然光包含著各種頻譜的光,利用菲涅爾透鏡從自然光中取出特定區域頻譜的光,即人體的紅外光,再利用光感探頭將篩選出的光轉化成電信號并放大,最終將電信號傳入單片機內,從而實現紅外人體感應。
菲涅爾透鏡利用透鏡的特殊光學原理,在探測器前方產生一個交替變化的“盲區”和“高靈敏區”,以提高其探測準確度。當有人從菲涅爾透鏡前走過時,人體發出的紅外線就不斷交替,從“盲區”進入“高靈敏區”,這樣使得接收到的紅外信號以強弱交替的脈沖形式輸入,所以只有當帶有一定可被探測到的紅外光譜的物體或人正在運動時才能被探測到。
本系統選擇HR-SR501模塊實現紅外線人體感應功能。HR-SR501模塊由一個菲涅爾透鏡和一個德國原裝進口LHI778光感探頭組成,具有全自動感應、光敏控制、高靈敏度、溫度補償、雙觸發方式、支持感應封鎖時間、工作電壓范圍寬、微功耗等特點。
HR-SR501有三個端口,分別是兩個電源口和一個OUT信號口,當單片機采集到OUT口有上升沿電平時,開啟定時器中斷并執行中斷程序,中斷程序內放置蜂鳴器5 Hz聲響警報的控制程序。為了區分車主和盜竊者,我們在車庫門控制程序處設置了一個狀態位OPEN,當OPEN值為1時代表車主正在車庫內,此時即使OUT輸出上升沿信號,也不會觸發警報,只有當OPEN為0且OUT輸出信號后才會觸發警報。5 Hz警報同樣用定時計數器來實現(端口電平變化時間為200 ms)。
2.5 車庫門自動開關
為確保車庫門打開或關閉時不發生損壞,車庫的開關門必須由一個擁有精確轉速和旋轉距離的電機控制,即需要一個步進電機。為了便于研究,本項目使用小型五線四相步進電機28BYJ-48進行模擬,該電機是一個四端控制一端公共的5V供電步進電機,減速比為1/64,廣泛用于教學科研中。嵌入式處理器無法直接驅動這樣的高耗能器件,必須為步進電機增加一個穩壓且高電流的驅動器。在此選用由LN2003驅動芯片做成的驅動器,LN2003芯片內部結構是8個達林頓管的列陣,達林頓管由兩個三極管組成,兩個三極管串聯。第一個管子的發射極接第2個管子的基極,所以達林頓管的放大倍數是兩個三極管放大倍數的乘積,具有很高的放大倍數。集電極開路,能輸出較大的電流(集電極電位高)。
步進電機驅動LN2003連接到單片機的引腳有四個,分別對應步進電機的四個控制端,所以控制電機的方式也是這四個端口如何獲得電平的方式。這四個端口同時被賦值以控制方向,步進電機的速度由端口兩種賦值間的延時時間決定。endprint
車庫的開關門設置一個OPEN狀態標志位,同時還設置一個ORC(OPEN or CLOSE)狀態位,該狀態位的值直接取自nRF24L01無線接收數據的第1位,接收的數據來自控制板發送的字串,該字串第一位的值由是否按下開門按鈕決定。當按下開門按鈕時,車庫控制核心辨別nRF24L01接收數據的第一位數據值,為1則開門,并將OPEN設為1;為0則關門,同時將OPEN設為0,從而實現自動門的控制。在開關門程序失效或無線模塊不工作的情況下,系統將自動打開電磁鎖的繼電器,即使控制系統不工作,車主仍可以使用鑰匙開關門。
2.6 遙控板
遙控板使用飛思卡爾公司的嵌入式處理器K60作為控制核心,同時,還配置了4個按鈕、1個nRF24L01無線模塊和1個LCD顯示屏。4個按鈕分別對應OV2640攝像頭的開關、超聲波測距警告開關、紅外人體感應報警開關、車庫門開關。
攝像頭開啟及其他功能的控制實現與車庫門開關所用方式相同,即控制按鈕按下后,nRF24L01隨即將發送字串的第x位置數,接收端車庫控制核心提取接收字串的第x位數值并進行相應控制。顯示屏為一塊4.0英寸TFTLCD屏,具有亮度好、對比度高、層次感強、顏色鮮艷的特點,控制核心K60通過FSMC(可變靜態存儲控制器)與其通信。
2.7 系統長時間工作的實現
在由單片機構成的微型計算機系統中,由于單片機的工作常常會受到來自外界電磁場的干擾,造成程序異常而陷入死循環,導致程序的正常運行被打斷,由單片機控制的系統無法繼續工作,使系統陷入停滯狀態,因此要使整個車庫系統可靠穩定的工作,就必須用到看門狗電路。看門狗電路在啟動正常運行時系統不能復位,在系統陷入死循環的情況下強迫系統復位,程序重新執行。STM32F407單片機內置了兩種看門狗電路,一種是獨立看門狗,另一種是窗口看門狗。獨立看門狗可使系統得到可靠的檢查糾錯機制,即使在CPU掉電的情況下依舊可工作,但檢錯時間周期長,精確任務中的細微錯誤并不能檢測出來;窗口看門狗和CPU同時工作,其檢錯周期可由開發人員根據實際情況任意設置,適合精確任務的判錯。智能車庫系統中有很多精確且高速的任務(比如超聲波測距),所以本系統選擇窗口看門狗進行系統檢錯復位工作。
3 系統測試
3.1 無線通信測試
(1)圖像傳輸正常,其最大傳輸命令或圖像的速度可達1.92Mb/s。
(2)3 m內近距離圖像無明顯失真;9.4 m內中距離會導致圖像噪點增多,且部分圖像區域噪點不可抑制,經天線進行增益發射后,噪點可控。
(3)在450 m無建筑物阻擋長遠距離測試中,圖像失穩,但增高發射天線后,圖像可基本保持穩定傳輸,控制指令略有延遲。
3.2 圖像顯示測試
在遙控板的圖像顯示實驗中,我們發現屏幕長時間顯示后會出現刷新緩慢且圖像拼合(上一幀和下一幀部分重合)的情況,改變刷屏方向和供電電壓特性后,上述現象消失。
3.3 紅外報警測試
菲涅爾透鏡廣角170°,我們將其設置在3.4 m范圍內進行人體探測時,可靠的探測區域面積大約為60 m2,可覆蓋探測整個車庫。但當有火源、高溫物體時,探測結果會出現嚴重偏差。
3.4 測距防撞報警結論
超聲波可實現精確測距,車與墻壁距離在4 cm范圍內時,蜂鳴器立即報警。
3.5 開關門結論
(1)車庫門的開啟和關閉過程精確可靠,步進電機旋轉角度準確勻速。
(2)在尚未完全閉合時進行打開操作,系統略有延遲。
(3)將車庫主控板上的nRF24L01取下時,車庫成功自動給電磁鎖上電。
4 結 語
系統雖然總體運行正常,但依舊存在許多問題,有待進一步優化。該系統實現了智能車庫的人性化和便捷化,用戶在安全性和智能化方面得到了保障,基于無線通信控制的家用智能車庫系統開發設計取得了理想的效果。
參考文獻
[1]樊昌信.通信原理(第二版)[M].北京:國防工業出版社,2015.
[2]周立功.ARM嵌入式系統基礎教程(第二版)[M].北京:北京航空航天大學出版社,2008.
[3]張洋,劉軍,嚴漢宇.原子教你玩STM32 庫函數版[M].北京:北京航空航天大學出版社,2013.
[4]張洋.精通STM32F4 庫函數版[M].北京:北京航空航天大學出版社,2015.
[5]隋金雪,楊莉,張巖.飛思卡爾杯智能車設計與實例教程[M].北京:電子工業出版社,2014.
[6]胡學龍.數字圖像處理[M].北京:電子工業出版社,2006.
[7]盧有亮.基于STM32的嵌入式系統原理與設計[M].北京:機械工業出版社,2014.
[8]張浩,李曉娜.基于RFID技術的城市聯網智能停車系統的設計[J]. 物聯網技術,2013,3(6):14-15.endprint