摘 要: 描述了一種運(yùn)用多普勒效應(yīng),基于ARM處理器實(shí)現(xiàn)的智能燈光控制系統(tǒng)。該系統(tǒng)利用ARM處理器的定時(shí)器輸入捕獲功能測(cè)量信號(hào)的多普勒頻率,通過(guò)計(jì)算模型獲得移動(dòng)物體的速度,并預(yù)測(cè)其位置,控制燈光的點(diǎn)亮和持續(xù)時(shí)間,從而達(dá)到智能燈光照明控制,在提供照明的同時(shí)又可以節(jié)約電能,并可通過(guò)顯示屏顯示動(dòng)態(tài)測(cè)量結(jié)果。
關(guān)鍵詞: 多普勒效應(yīng); 多普勒頻率; ARM微處理器; 智能燈控系統(tǒng)
中圖分類(lèi)號(hào): TN911.23?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)11?0133?03
Abstract: An intelligent lighting control system based on Doppler effect and ARM processor is described in this paper. The system uses the timer′s input capture function of the ARM processor to detect the signal′s Doppler frequency, acquires the speed of moving target through the calculation model and predicts its location, and controls the startup time and duration time of the lights to realize the intelligent lighting control. The system can provide lighting, save the electric energy, and display the dynamic measurement results through the display screen.
Keywords: Doppler effect; Doppler frequency; ARM processor; intelligent lighting control system
近年來(lái),隨著中國(guó)經(jīng)濟(jì)的高速發(fā)展,道路交通網(wǎng)絡(luò)越來(lái)越完善,汽車(chē)逐漸普及,城市的交通問(wèn)題已經(jīng)成為人們關(guān)注的焦點(diǎn),城市道路照明的重要性也日益增大。我國(guó)大部分城市的路燈照明都采用恒定的光照度進(jìn)行照明,這種方式不能很好地節(jié)約城市的用電量,不符合低碳經(jīng)濟(jì)的原則,部分城市采用光控和時(shí)控方式,只是按照不同時(shí)間段分次變化路燈的光照度,或采用ZigBee組網(wǎng)技術(shù)進(jìn)行光照度的智能控制[1]。多普勒智能燈控系統(tǒng)能根據(jù)行駛車(chē)輛的相應(yīng)速度對(duì)路燈進(jìn)行開(kāi)關(guān)的智能控制,節(jié)約電能。
1 多普勒測(cè)速原理
多普勒效應(yīng)是普遍的波動(dòng)現(xiàn)象,當(dāng)信號(hào)源相對(duì)接收者有徑向運(yùn)動(dòng)時(shí),接收信號(hào)的頻率將改變[2]。系統(tǒng)采用的多普勒模塊不停地向外發(fā)出探測(cè)信號(hào),如果探測(cè)信號(hào)接觸到移動(dòng)的物體,探測(cè)信號(hào)的頻率升高或者降低的數(shù)值為多普勒頻率。
2 多普勒測(cè)速系統(tǒng)電路設(shè)計(jì)
系統(tǒng)采用HB100多普勒微波傳感器,當(dāng)HB100檢測(cè)到物體的運(yùn)動(dòng),微波頻率將產(chǎn)生偏移[5],但是HB100檢測(cè)到的信號(hào)不能直接被微處理器處理。檢測(cè)到的信號(hào)要經(jīng)過(guò)一個(gè)信號(hào)調(diào)理系統(tǒng)[6],經(jīng)過(guò)放大和整形后才能接入微處理器,從而利用微處理器對(duì)信號(hào)進(jìn)行處理,再計(jì)算出所需的結(jié)果。
多普勒智能燈光控制電路主要由探測(cè)電路、晶體管放大電路、555整形電路以及以ARM Cortex?M3處理器為核心的處理電路組成,如圖1所示。IF 的輸出幅度與物體的大小、距離有關(guān),由于從HB100的IF端口輸出的信號(hào)只有微伏級(jí)別,不利于實(shí)現(xiàn)信號(hào)的探測(cè)處理,所以必須經(jīng)過(guò)放大、濾波以及整形處理。最后,信號(hào)再經(jīng)過(guò)由ARM Cortex?M3內(nèi)核的開(kāi)發(fā)板組成的處理電路計(jì)算出人或車(chē)輛經(jīng)過(guò)的時(shí)間,確定亮燈時(shí)間,LED就按照確定的亮燈時(shí)間被點(diǎn)亮。
3 多普勒測(cè)速系統(tǒng)的軟件設(shè)計(jì)
3.1 控制模塊及定時(shí)器輸入捕獲功能
STM32F103RBT6是基于ARM Cortex?M3內(nèi)核的微處理器。ARM Cortex?M3內(nèi)核具有高性?xún)r(jià)比、開(kāi)發(fā)門(mén)檻底、易于使用、成本低、功耗小的優(yōu)點(diǎn)。在處理器中加入了中斷控制器(NVIC)功能,使得可以輕易地配置中斷處理,常用于工業(yè)控制動(dòng)力設(shè)備,工廠(chǎng)自動(dòng)化及控制以及樓宇家庭智能控制等領(lǐng)域[7?8]。STM32F103RBT6產(chǎn)品中內(nèi)置3個(gè)同步的標(biāo)準(zhǔn)定時(shí)器,任意一個(gè)標(biāo)準(zhǔn)定時(shí)器都能用于產(chǎn)生PWM輸出,每個(gè)定時(shí)器都有獨(dú)立的DMA請(qǐng)求機(jī)制,輸入捕獲模式可以用來(lái)測(cè)量脈沖寬度或者測(cè)量頻率。
3.2 主程序設(shè)計(jì)
系統(tǒng)軟件采用Keil軟件開(kāi)放平臺(tái),利用C語(yǔ)言進(jìn)行編程。在主程序中,對(duì)各個(gè)要應(yīng)用到的模塊進(jìn)行初始化配置并允許使用相應(yīng)的功能。串口的初始化可以使ARM處理器與計(jì)算機(jī)進(jìn)行通信。通過(guò)在計(jì)算機(jī)端安裝串口軟件,能便利地在計(jì)算機(jī)上查看測(cè)量的結(jié)果。時(shí)鐘是處理器工作的重要條件之一,時(shí)鐘的中斷設(shè)置關(guān)系到程序能否正常運(yùn)行。對(duì)于GPIO管腳的設(shè)置,在程序中設(shè)置了三個(gè)板載的LED燈以及定時(shí)器的輸入管腳。對(duì)于測(cè)量的結(jié)果,既可以利用串口,通過(guò)計(jì)算機(jī)觀(guān)察,又可以利用開(kāi)發(fā)板具有的顯示屏來(lái)觀(guān)察。在對(duì)測(cè)量結(jié)果顯示前,要對(duì)顯示器初始化。最后是配置定時(shí)器,可以設(shè)置定時(shí)器的自動(dòng)重載值、時(shí)鐘分頻、通道、觸發(fā)信號(hào)、輸入預(yù)分頻等參數(shù)。
這一系列的設(shè)置都完成后,程序就進(jìn)入一個(gè)檢測(cè)狀態(tài)。不斷地檢測(cè)PA7管腳的電平狀態(tài)。當(dāng)PA7的電平大于2 V,程序進(jìn)入定時(shí)器中斷;反之,繼續(xù)檢測(cè)PA7的電平狀態(tài)。主程序流程圖如圖2所示。
3.3 定時(shí)器中斷子程序設(shè)計(jì)
定時(shí)器中斷為電平觸發(fā)方式,當(dāng)PA7管腳有2~3.3 V的脈沖輸入時(shí),進(jìn)入定時(shí)器中斷程序[9]。定時(shí)器記錄接收到第一個(gè)上升沿的時(shí)間,當(dāng)檢測(cè)到第二個(gè)上升沿時(shí),定時(shí)器再記錄一次時(shí)間,這樣就可以知道輸入脈沖的頻率。
進(jìn)入定時(shí)器中斷子程序后,首先將中斷標(biāo)志位清除以免不能跳出中斷。將定時(shí)器之前記錄的時(shí)間賦值給IC2變量。然后對(duì)IC2進(jìn)行檢測(cè),當(dāng)IC2等于0,跳出定時(shí)器中斷子程序。當(dāng)IC2不等于0,則根據(jù)IC2計(jì)算出信號(hào)的頻率,再利用本系統(tǒng)的測(cè)速算法得出被測(cè)物體的速度。點(diǎn)亮LED,延遲LED燈的點(diǎn)亮?xí)r間。這里的延時(shí)是被測(cè)物體以當(dāng)前速度經(jīng)過(guò)20 m距離的時(shí)間。最后,將測(cè)量的結(jié)果用開(kāi)發(fā)板的TFT LCD屏幕顯示出來(lái),然后跳出定時(shí)器中斷,返回主程序,如圖3所示。
3.4 計(jì)算模塊設(shè)計(jì)
在式(1)中,發(fā)射頻率取決于多普勒探測(cè)模塊,對(duì)于本系統(tǒng)使用的HB100多普勒模塊,其發(fā)射頻率為10.525 GHz,c為光速,為0°,多普勒頻率由處理器測(cè)量。因此多普勒頻率為未知變量,只要將多普勒頻率測(cè)出來(lái)就可以知道物體移動(dòng)的速度。
3.5 亮燈模塊設(shè)計(jì)
在STM32F103RBT6板中,GPIO最常用來(lái)控制LED的亮滅、產(chǎn)生PWM信號(hào)和驅(qū)動(dòng)蜂鳴器等。通過(guò)軟件的配置可以將GPIO端口的每個(gè)位設(shè)置成多種模式。每個(gè)GPIO端口位可根據(jù)需要來(lái)編程,但是在訪(fǎng)問(wèn)GPIO端口寄存器時(shí)一定要按32 B。GPIO輸入輸出速度有2 MHz,10 MHz,50 MHz三種。在開(kāi)發(fā)板中,配備了3個(gè)LED指示燈,由GPIO管腳控制LED的亮滅,當(dāng)GPIO管腳輸出為低電平時(shí),LED指示燈亮。反之,當(dāng)GPIO管腳輸出為高電平時(shí),LED指示燈滅。
3.6 延時(shí)模塊設(shè)計(jì)
SysTick定時(shí)器是ARM Cortex?3內(nèi)核的一部分。SysTick實(shí)際就是系統(tǒng)滴答定時(shí)器,主要是為系統(tǒng)提供一個(gè)硬件上的中斷。SysTick部分內(nèi)容屬于NVIC控制部分,可以為系統(tǒng)提供一個(gè)時(shí)基,同時(shí)SysTick的精確定時(shí)也可以用來(lái)作為延時(shí)。
3.7 顯示模塊設(shè)計(jì)
在STM32F103RBT6主板上外接2.8寸TFTLCD屏幕,采用ILI9320控制器,LCD屏為320×240分辨率,16位真彩顯示。ILI9320控制器利用帶有262 144種顏色的單芯片SoC驅(qū)動(dòng),利用LCD顯示屏將測(cè)量到的數(shù)據(jù)顯示在屏幕上,方便查看結(jié)果。
4 實(shí)驗(yàn)測(cè)試結(jié)果
利用信號(hào)發(fā)生器的TTL輸出對(duì)硬件電路的輸入信號(hào)進(jìn)行模擬。信號(hào)發(fā)生器輸出的是2.5 V的高電平,而且是頻率可調(diào)節(jié)的信號(hào)。將TTL信號(hào)接入處理器的PA7管腳。TTL信號(hào)如圖4所示,輸入TTL信號(hào)時(shí)處理器顯示的數(shù)據(jù)如圖5所示。顯示屏上依次顯示輸入信號(hào)的頻率、該頻率對(duì)應(yīng)的速度和LED燈的亮燈時(shí)間。其中亮燈時(shí)間是根據(jù)所測(cè)速度通過(guò)20 m距離的時(shí)間確定的。
在軟件測(cè)試時(shí)不斷地改變TTL輸入信號(hào)的頻率,并記錄處理器測(cè)量的結(jié)果。將測(cè)量到的數(shù)據(jù)畫(huà)成頻率數(shù)據(jù)折線(xiàn)圖,如圖6所示。在軟件測(cè)試過(guò)程中,處理器可測(cè)到35 Hz~80 kHz之間的頻率。在測(cè)速系統(tǒng)中,只需要準(zhǔn)確測(cè)到35~3 500 Hz之間的頻率,這個(gè)頻率范圍對(duì)應(yīng)的速度是0.5~50 m/s,即1.8~180 km/h。
5 結(jié) 語(yǔ)
本文著重介紹了多普勒測(cè)速系統(tǒng)的硬件和軟件設(shè)計(jì)。由以上實(shí)驗(yàn)結(jié)果可知,處理器能準(zhǔn)確測(cè)到35 Hz~3 500 Hz的頻率,對(duì)應(yīng)的速度為0.5~50 m/s。在實(shí)際的路面交通情況中,這個(gè)速度范圍已經(jīng)足夠。系統(tǒng)采用微波測(cè)速方法,測(cè)量精度較高。多普勒智能燈控系統(tǒng)符合低碳經(jīng)濟(jì)的原則,而且有利于達(dá)到節(jié)能減排的目的。結(jié)合ARM處理器高性能、廉價(jià)、耗能低的特點(diǎn),該系統(tǒng)具有良好的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 張艷.基于ZigBee的LED路燈智能控制系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2014(9):89.
[2] 劉廣生,李慧.多普勒效應(yīng)及其應(yīng)用[J].南陽(yáng)師范學(xué)院學(xué)報(bào),2006(6):37?38.
[3] 彭登,徐建閩,曾翼.基于ARM920T內(nèi)核的雷達(dá)測(cè)速儀設(shè)計(jì)與算法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(1):99?102.
[4] 辛紅偉,唐慧強(qiáng),彭樹(shù)生.多普勒路燈智能控制器及其應(yīng)用方案研究[J].電力電子技術(shù),2007,41(10):31?33.
[5] 孫靜.城市交通區(qū)間測(cè)速算法研究[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2012(18):15?16.
[6] 閻平,藍(lán)天,李翠玲,等.激光多普勒測(cè)速實(shí)驗(yàn)系統(tǒng)的信號(hào)處理[J].光學(xué)技術(shù),2000,26(4):377?382.
[7] 陳致遠(yuǎn),朱葉承,周卓泉,等.一種基于STM32的智能家居控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(9):138?140.
[8] 李漢.基于ARM7的精確測(cè)速系統(tǒng)設(shè)計(jì)[J].電氣自動(dòng)化,2010,32(2):82?85.
[9] 王耿,王金明,張鵬.一種基于ARM和DSP的信號(hào)處理平臺(tái)[J].軍事通信技術(shù),2011,32(1):50?54.