趙廣元,汪志偉
(西安郵電大學(xué) 陜西 西安 710021)
一種改進(jìn)的點(diǎn)光源跟蹤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
趙廣元,汪志偉
(西安郵電大學(xué) 陜西 西安 710021)
提出一種改進(jìn)的點(diǎn)光源跟蹤方案,采用MSP430F149作為主控制器,分光源發(fā)送端和光源跟蹤端兩部分研究。發(fā)送端發(fā)送1KHz頻率的光,跟蹤端用光敏三極管檢測(cè)點(diǎn)光源信號(hào),對(duì)其進(jìn)行1KHz的帶通濾波和A/D轉(zhuǎn)換,然后分析點(diǎn)光源的移動(dòng)方向,并控制舵機(jī)跟蹤點(diǎn)光源。軟件部分用基本控制和中心控制兩種算法互相補(bǔ)充、交叉控制,提升了系統(tǒng)性能。測(cè)試結(jié)果表明,系統(tǒng)跟蹤快速且準(zhǔn)確、運(yùn)行穩(wěn)定。
點(diǎn)光源跟蹤;光信號(hào)檢測(cè);巴特沃茲濾波器;MSP430
光推動(dòng)著人類(lèi)的社會(huì)進(jìn)步,對(duì)光的有效利用,一直是科研人員的努力方向。在自動(dòng)化技術(shù)高速發(fā)展的今天,對(duì)光信號(hào)的檢測(cè)與跟蹤有著廣泛的應(yīng)用價(jià)值。文[1]和文[2]所設(shè)計(jì)的點(diǎn)光源跟蹤系統(tǒng),均能基本實(shí)現(xiàn)對(duì)點(diǎn)光源的基本跟蹤,但是它們的檢測(cè)部分采用了靈敏度不高的光敏二極管。文[3]通過(guò)光敏三極管檢測(cè)光信號(hào),在一定程度上提升了光源跟蹤系統(tǒng)的精度。但上述文獻(xiàn)均片面地對(duì)光強(qiáng)度進(jìn)行分析,導(dǎo)致系統(tǒng)受外界光線影響較大,特別是在某些需對(duì)特殊光信號(hào)進(jìn)行精確跟蹤的情況下,這些裝置的應(yīng)用有局限。文[4]設(shè)計(jì)了一種自適應(yīng)帶通濾波器,能用來(lái)對(duì)特定頻率的信號(hào)進(jìn)行自動(dòng)跟蹤,但并未將帶通濾波技術(shù)應(yīng)用到光源跟蹤系統(tǒng)中。為此,本文擬利用帶通濾波器實(shí)現(xiàn)對(duì)特定頻率點(diǎn)光源信號(hào)的提取,通過(guò)光敏三極管檢測(cè)光信號(hào),設(shè)計(jì)一種改進(jìn)的點(diǎn)光源跟蹤裝置,并在此基礎(chǔ)上提出對(duì)應(yīng)的控制算法,期望達(dá)到在抑制外界光線的干擾的同時(shí),實(shí)現(xiàn)對(duì)點(diǎn)光源精確跟蹤的效果。
系統(tǒng)由光源發(fā)送端和光源跟蹤端兩部分組成,兩部分均以TI公司的MSP430F149單片機(jī)作為主控制器[5-6]。發(fā)送端采用4片TPS61062芯片并聯(lián),使驅(qū)動(dòng)電流達(dá)到350 mA以驅(qū)動(dòng)1W的LED發(fā)出頻率為1KHz的方波光信號(hào)。跟蹤端選用光敏三極管檢測(cè)光信號(hào),然后將其進(jìn)行帶通濾波處理,將獲取主要頻率為1 kHz的信號(hào)進(jìn)行A/D轉(zhuǎn)換和分析,最終控制舵機(jī)跟蹤點(diǎn)光源的移動(dòng)。這樣便能從混雜的信號(hào)中分離出點(diǎn)光源信號(hào),然后進(jìn)行分析控制,達(dá)到抑制外界光干擾的效果。系統(tǒng)結(jié)構(gòu)如圖1所示。
需要指出的是,跟蹤端采用3個(gè)光敏三極管分3通道檢測(cè)點(diǎn)光源信號(hào),對(duì)每一通道檢測(cè)到的信號(hào)分別進(jìn)行帶通濾波和A/D轉(zhuǎn)換,通過(guò)比較不同通道的峰峰值(此處峰峰值指單通道多次A/D轉(zhuǎn)換的峰峰值)來(lái)判斷點(diǎn)光源移動(dòng)方向,然后控制舵機(jī)轉(zhuǎn)動(dòng)。
2.1 光信號(hào)濾波
文中選用MAX260[7]芯片實(shí)現(xiàn)帶通濾波。MAX260是MAXIM公司推出的CMOS雙二階通用開(kāi)關(guān)有源濾波器。他由2個(gè)二階濾波器(A和B兩部分)組成,中心頻率 的范圍為75 KHz,可通過(guò)微處理器接口配置各種類(lèi)型的濾波器。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure diagram
在本文的設(shè)計(jì)過(guò)程中,帶通濾波器的技術(shù)指標(biāo)為:中心頻率 f0=1 kHz,通帶頻率fp1=950 Hz、fp2=1 050 Hz,阻帶頻率 fs1=800 Hz、fs2=2 000 Hz ,通帶最大衰減αp=0.7 dB ,阻帶最小衰減 αs=18 dB,系統(tǒng)為MAX260提供的時(shí)鐘頻率fclk=120 kHz。基于此,設(shè)計(jì)一個(gè)模擬四階巴特沃茲帶通濾波器,并通過(guò)MAX260芯片實(shí)現(xiàn),則其編程參數(shù)為:濾波器A,模式1,NF=17,Q=121;濾波器B,模式1,NF=8 ,Q=121。將濾波器A與B級(jí)聯(lián)組成一個(gè)四階帶通濾波器,可實(shí)現(xiàn)本文需要的濾波效果。單片MAX260濾波效果如圖2所示。圖中三角波表示光敏三極管感應(yīng)到的信號(hào),正弦波表示經(jīng)MAX260帶通濾波后的信號(hào)??梢钥闯?,文中MAX260的這些參數(shù)起到了很好的濾波效果。
圖2 MAX260帶通濾波前后波形比較Fig.2 Comparison of band pass filter with MAX260
文中用主控制器模擬PWM方波為MAX260提供外部時(shí)鐘,這種方法可通過(guò)軟件改變?yōu)V波器芯片的輸入時(shí)鐘,便于調(diào)試和修改濾波器的各項(xiàng)參數(shù)。光源跟蹤端3片MAX260的時(shí)鐘共用,數(shù)據(jù)和地址線分時(shí)復(fù)用,通過(guò)每一通道的寫(xiě)使能管腳選通。
2.2 光電檢測(cè)電路
跟蹤端采用光敏三極管對(duì)點(diǎn)光源信號(hào)進(jìn)行檢測(cè),其應(yīng)用電路如圖3所示。其中滑動(dòng)變阻器R1用于調(diào)節(jié)傳感器的感光靈敏度。傳感器在檢測(cè)線處成“一”字形均勻排列,使光敏傳感器采集到最多的點(diǎn)光源信息。從左至右分別為每個(gè)傳感器編號(hào)為1#、2#和3#。當(dāng)點(diǎn)光源在正中間時(shí),調(diào)節(jié)傳感器的靈敏度,使2#采集到光信號(hào)的峰峰值最大,1#和3#相等,且比2#小100~150個(gè)A/D采樣精度。則當(dāng)點(diǎn)光源移動(dòng)時(shí),可根據(jù)傳感器的最大值出現(xiàn)在哪一通道,迅速判斷出點(diǎn)光源的移動(dòng)方向,從而控制舵機(jī)跟蹤。光敏三極管的排列和編號(hào)如圖4所示。
圖3 光敏三極管應(yīng)用電路Fig.3 Application circuit of phototransistor
圖4 光敏三極管的排列和序號(hào)Fig.4 The arrangement and sequence number of phototransistors
2.3 舵機(jī)驅(qū)動(dòng)
系統(tǒng)所使用舵機(jī)的工作頻率為100 Hz,此時(shí)占空比可在4%~24%內(nèi)連續(xù)變化,相應(yīng)的轉(zhuǎn)動(dòng)角度在0~200度的范圍內(nèi)變化,即占空比每變化1%,舵機(jī)轉(zhuǎn)動(dòng)10度。在硬件連接中,占空比為20%時(shí),舵機(jī)指向中心位置,當(dāng)占空比變小時(shí),舵機(jī)右轉(zhuǎn),占空比變大時(shí),舵機(jī)左轉(zhuǎn)。軟件環(huán)境下,可控制占空比在18.00%~22.00%內(nèi)變化,舵機(jī)的角度在40度范圍內(nèi)變化。本文為獲得最大的跟蹤精度,使占空比的每次變化都不超過(guò)0.01%,相應(yīng)舵機(jī)每次約變化1度。顯然,舵機(jī)的緩慢變化影響了系統(tǒng)的跟蹤時(shí)間,本文正是犧牲系統(tǒng)的跟蹤時(shí)間,換取更大的跟蹤精度。
軟件設(shè)計(jì)部分包括初始化編程和跟蹤控制算法等。光源跟蹤端采用了基本控制和中心控制兩種算法進(jìn)行控制,兩種算法互相補(bǔ)充、交叉控制,實(shí)現(xiàn)了快速、準(zhǔn)確的點(diǎn)光源跟蹤。其中基本控制算法用于實(shí)現(xiàn)簡(jiǎn)單的點(diǎn)光源跟蹤;中心控制算法用于確定點(diǎn)光源位置,抑制激光筆抖動(dòng)。
跟蹤端軟件流程框架如圖5所示。需要說(shuō)明的是,點(diǎn)光源硬件中心為舵機(jī)占空比為20%時(shí)所指向的位置,而中心控制算法中討論的光源中心是指以點(diǎn)光源為參考點(diǎn)的中心位置,兩者不是同一概念。
3.1 初始化編程
初始化主要是主控制器的初始化。主控制器上電首先關(guān)閉看門(mén)狗,并配置時(shí)鐘MCLK和SMCLK的輸出頻率為8MHz。A/D轉(zhuǎn)換選用多通道多次轉(zhuǎn)換模式,每通道采樣32個(gè)點(diǎn),然后通過(guò)各通道的峰峰值判斷點(diǎn)光源的移動(dòng)方向,控制舵機(jī)跟蹤。需要注意的是,多通道多次轉(zhuǎn)換模式下停止A/D轉(zhuǎn)換,須先修改控制寄存器到多通道單次轉(zhuǎn)換模式,然后清零ADC12CTL0的ENC位,否則會(huì)導(dǎo)致轉(zhuǎn)換數(shù)據(jù)的不可靠[4]。本文A/D轉(zhuǎn)換初始化程序如下。
圖5 跟蹤端軟件流程Fig.5 Software flow of LR
定時(shí)器初始化包括Timer_A和Timer_B兩部分。其中Timer_B主要產(chǎn)生頻率為120 kHz、占空比為50%的方波。Timer_A產(chǎn)生頻率為100 Hz的方波;另外須使能Timer_A的溢出中斷,用于喚醒下一輪的A/D轉(zhuǎn)換,以使系統(tǒng)達(dá)到不間斷跟蹤的效果。
3.2 基本控制算法
基本控制算法用于實(shí)現(xiàn)簡(jiǎn)單的點(diǎn)光源跟蹤。其方法是求每一通道A/D轉(zhuǎn)換的峰峰值,然后求這3路峰峰值中的最大值,即若1#或3#通道的峰峰值最大,則相應(yīng)的控制舵機(jī)在當(dāng)前角度的基礎(chǔ)上向左或向右轉(zhuǎn)動(dòng)1度;若2#通道的最大,則保持舵機(jī)當(dāng)前角度不變。本輪控制完成后,等待10 ms定時(shí)中斷的到來(lái),在中斷服務(wù)子程序中喚醒下一輪A/D轉(zhuǎn)換,當(dāng)這一輪A/D轉(zhuǎn)換數(shù)據(jù)完成后,繼續(xù)執(zhí)行如上控制。這樣當(dāng)2#的峰峰值不是最大時(shí),舵機(jī)便會(huì)一直轉(zhuǎn)動(dòng),直到2#的峰峰值最大為止,如此便保證了系統(tǒng)持續(xù)的跟蹤點(diǎn)光源?;究刂扑惴ㄋ枷肓鞒倘鐖D6所示。
然而采用上述控制思想只能基本完成跟蹤功能,跟蹤效果并不理想。如峰峰值的誤差較大,這會(huì)導(dǎo)致激光筆在點(diǎn)光源左右連續(xù)的抖動(dòng),本文采用中心控制算法解決該問(wèn)題。
3.3 中心控制算法
中心控制算法用于確定點(diǎn)光源位置,并抑制激光筆的抖動(dòng)。仔細(xì)觀察激光筆的抖動(dòng)問(wèn)題,發(fā)現(xiàn)其實(shí)系統(tǒng)已經(jīng)找到點(diǎn)光源的位置,只是各通道峰峰值的最大值在1#與3#之間來(lái)回跳變,才導(dǎo)致這種不平穩(wěn)的現(xiàn)象。
中心控制算法主要判斷1#與3#通道峰峰值的差值,每當(dāng)它們相差小于或等于1時(shí),記下此時(shí)舵機(jī)角度,當(dāng)差值第18次到達(dá)這種情況時(shí),便認(rèn)為已經(jīng)找到點(diǎn)光源的位置,此時(shí)先給光源中心位置上鎖(即標(biāo)志位置位),再對(duì)這18個(gè)轉(zhuǎn)角進(jìn)行軟件濾波(剔除最大值和最小值,求余下16個(gè)數(shù)的平均值),得到角度Central作為點(diǎn)光源的中心位置。一旦光源中心位置上鎖,則并行的通過(guò)如下兩種軟件補(bǔ)償方法抑制激光筆的抖動(dòng):1)在每次求得各通道峰峰值后,給2#通道峰峰值加50,以保證2#通道的峰峰值最大;2)控制舵機(jī)在Central左右1度范圍內(nèi)變化,即若1#通道峰峰值最大,則舵機(jī)在位置Central基礎(chǔ)上向左轉(zhuǎn)動(dòng)1度,若3#通道峰峰值最大,則舵機(jī)在位置Central基礎(chǔ)上向右轉(zhuǎn)動(dòng)1度。這樣便保證了舵機(jī)一直在跟蹤光源,但激光筆的抖動(dòng)卻不會(huì)很大。因?yàn)槿艄庠粗行奈恢蒙湘i,則光源當(dāng)前位置的Central值便保持不變,如果2#通道峰峰值的補(bǔ)償能保證其最大,舵機(jī)就不會(huì)抖動(dòng),即使2#通道峰峰值不是最大,舵機(jī)也只是在Central左右1度范圍內(nèi)波動(dòng)而已。
當(dāng)然,為保證系統(tǒng)的連續(xù)跟蹤,還需在點(diǎn)光源離開(kāi)當(dāng)前位置時(shí)給光源中心位置解鎖(即標(biāo)志位清零)。經(jīng)過(guò)實(shí)際調(diào)試,當(dāng)1#與3#通道的峰峰值相差大于200時(shí),相當(dāng)于點(diǎn)光源向左或右移動(dòng)距離超過(guò)了3 cm,此時(shí)即認(rèn)為光源已經(jīng)離開(kāi)當(dāng)前位置,須給光源中心位置解鎖。然后再次運(yùn)用如上所討論的方法,找到新的點(diǎn)光源位置。中心控制算法流程如圖6所示,由圖可知,兩種算法確實(shí)是互相補(bǔ)充、交叉控制的。
跟蹤端傳感器呈“一”字形排布,且只采用了一個(gè)舵機(jī)對(duì)點(diǎn)光源的左右軌跡進(jìn)行跟蹤,因此本文主要測(cè)試點(diǎn)光源沿圓弧運(yùn)動(dòng)的相關(guān)參數(shù)。激光與點(diǎn)光源垂直距離表示兩點(diǎn)的垂直距離,而非其直線距離;抖動(dòng)時(shí)間表示激光筆跟蹤點(diǎn)光源到達(dá)不再抖動(dòng)所用的時(shí)間,是中心控制算法調(diào)節(jié)的時(shí)間,而非跟蹤速度的性能指標(biāo)。
在本文所設(shè)計(jì)的點(diǎn)光源B(占空比為10%的光照強(qiáng)度)旁放一個(gè)相同型號(hào)的點(diǎn)光源C,點(diǎn)光源C由直流電源驅(qū)動(dòng),其發(fā)出的光不是以1 kHz為主要頻率,但是亮度比點(diǎn)光源B大。經(jīng)測(cè)試,跟蹤端能完全屏蔽點(diǎn)光源C的干擾,依然跟蹤點(diǎn)光源B的移動(dòng)而移動(dòng)。具體測(cè)試數(shù)據(jù)見(jiàn)表1。
表1 兩個(gè)點(diǎn)光源比較Tab.1 Comparison of two different light sources
依本文的設(shè)計(jì)思路,激光筆在跟蹤過(guò)程中會(huì)產(chǎn)生抖動(dòng),抖動(dòng)的時(shí)間直接影響著系統(tǒng)的性能。表2所示為點(diǎn)光源B在占空比為10%的光照強(qiáng)度時(shí),不同位置的跟蹤端對(duì)其跟蹤性能比較。
表2 兩個(gè)點(diǎn)光源比較Tab.2 Comparison of two different light sources
以上數(shù)據(jù)的測(cè)試環(huán)境為:1)所有數(shù)據(jù)均為3次以上的平均值;2)陽(yáng)光明媚的上午,實(shí)驗(yàn)室內(nèi),A/D轉(zhuǎn)換的峰峰值約為900個(gè)轉(zhuǎn)換精度;3)電池都充滿(mǎn)電為7.8 V;4)發(fā)送端與跟蹤端的中心距離為(268±5)cm。
文中提出了一種改進(jìn)的點(diǎn)光源跟蹤方案,并在1 kHz頻率的基礎(chǔ)上完成了系統(tǒng)的軟硬件功能。系統(tǒng)由光源發(fā)送端和跟蹤端兩部分組成,采用MSP430F149單片機(jī)作為主控制器,發(fā)送端通過(guò)1 W的LED燈發(fā)出1 kHz頻率的光,跟蹤端用光敏三極管分3路采集點(diǎn)光源信號(hào),用MAX260濾波器實(shí)現(xiàn)有源帶通濾波,通過(guò)分析比較每通道A/D轉(zhuǎn)換的峰峰值,控制舵機(jī)轉(zhuǎn)動(dòng)大小和方向,跟蹤點(diǎn)光源。軟件部分采用基本控制算法連續(xù)跟蹤點(diǎn)光源,用中心控制算法確定點(diǎn)光源位置,并抑制激光筆的抖動(dòng)。兩種算法在程序中互相補(bǔ)充,交叉控制,達(dá)到了快速、準(zhǔn)確跟蹤點(diǎn)光源位置的效果。經(jīng)實(shí)際測(cè)試,系統(tǒng)具有很強(qiáng)的抗干擾能力和跟蹤精度,且跟蹤精度一般在1.5 cm以?xún)?nèi)。系統(tǒng)設(shè)計(jì)思想可用于提升太陽(yáng)能熱水器或太陽(yáng)能電池等產(chǎn)品的能效。
[1] 朱麗霞.基于MSP430的點(diǎn)光源跟蹤系統(tǒng)的設(shè)計(jì)[J].信息技術(shù),2010(11):160 - 162.
ZHU Li-xia.Design of tracking system for a point source based on MSP430[J].Information Technology,2010(11):160 - 162.
[2] 廉春原,徐艾.基于MSP430單片機(jī)的光源跟蹤系統(tǒng)[J].科協(xié)論壇,2010(11):68 - 69.
LIAN Chun-yuan,XU Ai.A source tracking system based on MSP430 MCU[J].Science & Technology Association Forum,2010(11):68 - 69.
[3] 張倩.基于MSP430的光源追蹤系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2011,27(5):83 - 84.
ZHANG Qian.The design of source tracking system based on MSP430[J].Microcomputer Information,2011,27(5):83 - 84.
[4] 于巍巍,顏德田,楊樾.基于MAX260的自動(dòng)跟蹤濾波器的工程設(shè)計(jì)與應(yīng)用[J].現(xiàn)代電子技術(shù),2008(5):76-78.
YU Wei-wei,YAN De-tian,YANG Yue.Research on an automatic tracking filter based on MAX260 and its application[J].Modern Electronics Technique,2008(5):76 - 78.
[5] Texas Instruments Incorporated,MSP430x1xx Family User's Guide[EB/OL](2006).http://www.ti.com.cn.
[6] 王東升,周杏鵬.基于MSP430及UC/OS-II的智能溫度測(cè)控系統(tǒng)[J].自動(dòng)化與儀表,2010(11):41-44.
WANG Dong-sheng,ZHOU Xing-peng.Design of Intelligent Temperature Measurement and Control System Based on MSP430 and UC/OS-II[J].Automation & Instrumentation,2010(11):41- 44.
[7] MAXIM Incorporated.MAX260/MAX261/MAX262 User's Guide [EB/OL](2002)http://www.maxim-ic.com.
An improved light source tracking system
ZHAO Guang-yuan,WANG Zhi-wei
(Xi'an University of Posts & Telecommunications,Xi'an 710021,China)
This paper presents an improved light source tracking scheme,which consists of two parts-Light Transmitter(LT)and Light Receiver(LR),and adopts MSP430F149 MCU as its main controller.LT sends out light of 1 KHz,LR detects the signal of source light by using phototransistor,gets the signal to go through analog band-pass filter and A/D converter;then analyzes the move direction of light source and controls the servo to track it.Two control algorithms are used complementally to improve the system's performance in part of software.Tested results show that the system is stable and can track the LT rapidly and accurately.
light source tracking;light detection;butterworth filter;MSP430
TN713
A
1674-6236(2014)11-0035-04
2014-03-26 稿件編號(hào):201403291
陜西普通本科高等學(xué)校重點(diǎn)教學(xué)改革研究項(xiàng)目(11BZ56);陜西省教育廳自然科學(xué)研究專(zhuān)項(xiàng)基金項(xiàng)目(2013JK1087);第二批國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(教高司函[2013]8號(hào))
趙廣元(1975—),男,山西山陰人,碩士,副教授。研究方向:智能交通信息檢測(cè)、系統(tǒng)仿真、嵌入式系統(tǒng)設(shè)計(jì)。