一种改进的点光源跟踪系统设计与实现
2014-09-03赵广元汪志伟
赵广元,汪志伟
(西安邮电大学 陕西 西安 710021)
一种改进的点光源跟踪系统设计与实现
赵广元,汪志伟
(西安邮电大学 陕西 西安 710021)
提出一种改进的点光源跟踪方案,采用MSP430F149作为主控制器,分光源发送端和光源跟踪端两部分研究。发送端发送1KHz频率的光,跟踪端用光敏三极管检测点光源信号,对其进行1KHz的带通滤波和A/D转换,然后分析点光源的移动方向,并控制舵机跟踪点光源。软件部分用基本控制和中心控制两种算法互相补充、交叉控制,提升了系统性能。测试结果表明,系统跟踪快速且准确、运行稳定。
点光源跟踪;光信号检测;巴特沃兹滤波器;MSP430
光推动着人类的社会进步,对光的有效利用,一直是科研人员的努力方向。在自动化技术高速发展的今天,对光信号的检测与跟踪有着广泛的应用价值。文[1]和文[2]所设计的点光源跟踪系统,均能基本实现对点光源的基本跟踪,但是它们的检测部分采用了灵敏度不高的光敏二极管。文[3]通过光敏三极管检测光信号,在一定程度上提升了光源跟踪系统的精度。但上述文献均片面地对光强度进行分析,导致系统受外界光线影响较大,特别是在某些需对特殊光信号进行精确跟踪的情况下,这些装置的应用有局限。文[4]设计了一种自适应带通滤波器,能用来对特定频率的信号进行自动跟踪,但并未将带通滤波技术应用到光源跟踪系统中。为此,本文拟利用带通滤波器实现对特定频率点光源信号的提取,通过光敏三极管检测光信号,设计一种改进的点光源跟踪装置,并在此基础上提出对应的控制算法,期望达到在抑制外界光线的干扰的同时,实现对点光源精确跟踪的效果。
1 系统设计方案
系统由光源发送端和光源跟踪端两部分组成,两部分均以TI公司的MSP430F149单片机作为主控制器[5-6]。发送端采用4片TPS61062芯片并联,使驱动电流达到350 mA以驱动1W的LED发出频率为1KHz的方波光信号。跟踪端选用光敏三极管检测光信号,然后将其进行带通滤波处理,将获取主要频率为1 kHz的信号进行A/D转换和分析,最终控制舵机跟踪点光源的移动。这样便能从混杂的信号中分离出点光源信号,然后进行分析控制,达到抑制外界光干扰的效果。系统结构如图1所示。
需要指出的是,跟踪端采用3个光敏三极管分3通道检测点光源信号,对每一通道检测到的信号分别进行带通滤波和A/D转换,通过比较不同通道的峰峰值(此处峰峰值指单通道多次A/D转换的峰峰值)来判断点光源移动方向,然后控制舵机转动。
2 硬件设计
2.1 光信号滤波
文中选用MAX260[7]芯片实现带通滤波。MAX260是MAXIM公司推出的CMOS双二阶通用开关有源滤波器。他由2个二阶滤波器(A和B两部分)组成,中心频率 的范围为75 KHz,可通过微处理器接口配置各种类型的滤波器。
图1 系统结构框图Fig.1 System structure diagram
在本文的设计过程中,带通滤波器的技术指标为:中心频率 f0=1 kHz,通带频率fp1=950 Hz、fp2=1 050 Hz,阻带频率 fs1=800 Hz、fs2=2 000 Hz ,通带最大衰减αp=0.7 dB ,阻带最小衰减 αs=18 dB,系统为MAX260提供的时钟频率fclk=120 kHz。基于此,设计一个模拟四阶巴特沃兹带通滤波器,并通过MAX260芯片实现,则其编程参数为:滤波器A,模式1,NF=17,Q=121;滤波器B,模式1,NF=8 ,Q=121。将滤波器A与B级联组成一个四阶带通滤波器,可实现本文需要的滤波效果。单片MAX260滤波效果如图2所示。图中三角波表示光敏三极管感应到的信号,正弦波表示经MAX260带通滤波后的信号。可以看出,文中MAX260的这些参数起到了很好的滤波效果。
图2 MAX260带通滤波前后波形比较Fig.2 Comparison of band pass filter with MAX260
文中用主控制器模拟PWM方波为MAX260提供外部时钟,这种方法可通过软件改变滤波器芯片的输入时钟,便于调试和修改滤波器的各项参数。光源跟踪端3片MAX260的时钟共用,数据和地址线分时复用,通过每一通道的写使能管脚选通。
2.2 光电检测电路
跟踪端采用光敏三极管对点光源信号进行检测,其应用电路如图3所示。其中滑动变阻器R1用于调节传感器的感光灵敏度。传感器在检测线处成“一”字形均匀排列,使光敏传感器采集到最多的点光源信息。从左至右分别为每个传感器编号为1#、2#和3#。当点光源在正中间时,调节传感器的灵敏度,使2#采集到光信号的峰峰值最大,1#和3#相等,且比2#小100~150个A/D采样精度。则当点光源移动时,可根据传感器的最大值出现在哪一通道,迅速判断出点光源的移动方向,从而控制舵机跟踪。光敏三极管的排列和编号如图4所示。
图3 光敏三极管应用电路Fig.3 Application circuit of phototransistor
图4 光敏三极管的排列和序号Fig.4 The arrangement and sequence number of phototransistors
2.3 舵机驱动
系统所使用舵机的工作频率为100 Hz,此时占空比可在4%~24%内连续变化,相应的转动角度在0~200度的范围内变化,即占空比每变化1%,舵机转动10度。在硬件连接中,占空比为20%时,舵机指向中心位置,当占空比变小时,舵机右转,占空比变大时,舵机左转。软件环境下,可控制占空比在18.00%~22.00%内变化,舵机的角度在40度范围内变化。本文为获得最大的跟踪精度,使占空比的每次变化都不超过0.01%,相应舵机每次约变化1度。显然,舵机的缓慢变化影响了系统的跟踪时间,本文正是牺牲系统的跟踪时间,换取更大的跟踪精度。
3 软件设计
软件设计部分包括初始化编程和跟踪控制算法等。光源跟踪端采用了基本控制和中心控制两种算法进行控制,两种算法互相补充、交叉控制,实现了快速、准确的点光源跟踪。其中基本控制算法用于实现简单的点光源跟踪;中心控制算法用于确定点光源位置,抑制激光笔抖动。
跟踪端软件流程框架如图5所示。需要说明的是,点光源硬件中心为舵机占空比为20%时所指向的位置,而中心控制算法中讨论的光源中心是指以点光源为参考点的中心位置,两者不是同一概念。
3.1 初始化编程
初始化主要是主控制器的初始化。主控制器上电首先关闭看门狗,并配置时钟MCLK和SMCLK的输出频率为8MHz。A/D转换选用多通道多次转换模式,每通道采样32个点,然后通过各通道的峰峰值判断点光源的移动方向,控制舵机跟踪。需要注意的是,多通道多次转换模式下停止A/D转换,须先修改控制寄存器到多通道单次转换模式,然后清零ADC12CTL0的ENC位,否则会导致转换数据的不可靠[4]。本文A/D转换初始化程序如下。
图5 跟踪端软件流程Fig.5 Software flow of LR
定时器初始化包括Timer_A和Timer_B两部分。其中Timer_B主要产生频率为120 kHz、占空比为50%的方波。Timer_A产生频率为100 Hz的方波;另外须使能Timer_A的溢出中断,用于唤醒下一轮的A/D转换,以使系统达到不间断跟踪的效果。
3.2 基本控制算法
基本控制算法用于实现简单的点光源跟踪。其方法是求每一通道A/D转换的峰峰值,然后求这3路峰峰值中的最大值,即若1#或3#通道的峰峰值最大,则相应的控制舵机在当前角度的基础上向左或向右转动1度;若2#通道的最大,则保持舵机当前角度不变。本轮控制完成后,等待10 ms定时中断的到来,在中断服务子程序中唤醒下一轮A/D转换,当这一轮A/D转换数据完成后,继续执行如上控制。这样当2#的峰峰值不是最大时,舵机便会一直转动,直到2#的峰峰值最大为止,如此便保证了系统持续的跟踪点光源。基本控制算法思想流程如图6所示。
然而采用上述控制思想只能基本完成跟踪功能,跟踪效果并不理想。如峰峰值的误差较大,这会导致激光笔在点光源左右连续的抖动,本文采用中心控制算法解决该问题。
3.3 中心控制算法
中心控制算法用于确定点光源位置,并抑制激光笔的抖动。仔细观察激光笔的抖动问题,发现其实系统已经找到点光源的位置,只是各通道峰峰值的最大值在1#与3#之间来回跳变,才导致这种不平稳的现象。
中心控制算法主要判断1#与3#通道峰峰值的差值,每当它们相差小于或等于1时,记下此时舵机角度,当差值第18次到达这种情况时,便认为已经找到点光源的位置,此时先给光源中心位置上锁(即标志位置位),再对这18个转角进行软件滤波(剔除最大值和最小值,求余下16个数的平均值),得到角度Central作为点光源的中心位置。一旦光源中心位置上锁,则并行的通过如下两种软件补偿方法抑制激光笔的抖动:1)在每次求得各通道峰峰值后,给2#通道峰峰值加50,以保证2#通道的峰峰值最大;2)控制舵机在Central左右1度范围内变化,即若1#通道峰峰值最大,则舵机在位置Central基础上向左转动1度,若3#通道峰峰值最大,则舵机在位置Central基础上向右转动1度。这样便保证了舵机一直在跟踪光源,但激光笔的抖动却不会很大。因为若光源中心位置上锁,则光源当前位置的Central值便保持不变,如果2#通道峰峰值的补偿能保证其最大,舵机就不会抖动,即使2#通道峰峰值不是最大,舵机也只是在Central左右1度范围内波动而已。
当然,为保证系统的连续跟踪,还需在点光源离开当前位置时给光源中心位置解锁(即标志位清零)。经过实际调试,当1#与3#通道的峰峰值相差大于200时,相当于点光源向左或右移动距离超过了3 cm,此时即认为光源已经离开当前位置,须给光源中心位置解锁。然后再次运用如上所讨论的方法,找到新的点光源位置。中心控制算法流程如图6所示,由图可知,两种算法确实是互相补充、交叉控制的。
4 测试数据
跟踪端传感器呈“一”字形排布,且只采用了一个舵机对点光源的左右轨迹进行跟踪,因此本文主要测试点光源沿圆弧运动的相关参数。激光与点光源垂直距离表示两点的垂直距离,而非其直线距离;抖动时间表示激光笔跟踪点光源到达不再抖动所用的时间,是中心控制算法调节的时间,而非跟踪速度的性能指标。
在本文所设计的点光源B(占空比为10%的光照强度)旁放一个相同型号的点光源C,点光源C由直流电源驱动,其发出的光不是以1 kHz为主要频率,但是亮度比点光源B大。经测试,跟踪端能完全屏蔽点光源C的干扰,依然跟踪点光源B的移动而移动。具体测试数据见表1。
表1 两个点光源比较Tab.1 Comparison of two different light sources
依本文的设计思路,激光笔在跟踪过程中会产生抖动,抖动的时间直接影响着系统的性能。表2所示为点光源B在占空比为10%的光照强度时,不同位置的跟踪端对其跟踪性能比较。
表2 两个点光源比较Tab.2 Comparison of two different light sources
以上数据的测试环境为:1)所有数据均为3次以上的平均值;2)阳光明媚的上午,实验室内,A/D转换的峰峰值约为900个转换精度;3)电池都充满电为7.8 V;4)发送端与跟踪端的中心距离为(268±5)cm。
5 结 论
文中提出了一种改进的点光源跟踪方案,并在1 kHz频率的基础上完成了系统的软硬件功能。系统由光源发送端和跟踪端两部分组成,采用MSP430F149单片机作为主控制器,发送端通过1 W的LED灯发出1 kHz频率的光,跟踪端用光敏三极管分3路采集点光源信号,用MAX260滤波器实现有源带通滤波,通过分析比较每通道A/D转换的峰峰值,控制舵机转动大小和方向,跟踪点光源。软件部分采用基本控制算法连续跟踪点光源,用中心控制算法确定点光源位置,并抑制激光笔的抖动。两种算法在程序中互相补充,交叉控制,达到了快速、准确跟踪点光源位置的效果。经实际测试,系统具有很强的抗干扰能力和跟踪精度,且跟踪精度一般在1.5 cm以内。系统设计思想可用于提升太阳能热水器或太阳能电池等产品的能效。
[1] 朱丽霞.基于MSP430的点光源跟踪系统的设计[J].信息技术,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].科协论坛,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的光源追踪系统的设计[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的自动跟踪滤波器的工程设计与应用[J].现代电子技术,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的智能温度测控系统[J].自动化与仪表,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 稿件编号:201403291
陕西普通本科高等学校重点教学改革研究项目(11BZ56);陕西省教育厅自然科学研究专项基金项目(2013JK1087);第二批国家级大学生创新创业训练计划项目(教高司函[2013]8号)
赵广元(1975—),男,山西山阴人,硕士,副教授。研究方向:智能交通信息检测、系统仿真、嵌入式系统设计。