谭翠兰
(江汉大学物理与信息工程学院,湖北武汉430056)
点光源跟踪系统的设计
谭翠兰
(江汉大学物理与信息工程学院,湖北武汉430056)
以TI公司的单片机MSP430F149为核心,设计了一个点光源跟踪系统。该系统主要由白光LED驱动电路、光源检测、数据处理及跟踪控制4部分构成。单片机对光敏电阻检测到的光照强度进行处理,判断点光源的位置,跟踪算法通过PWM方式控制X/Y方向的两个步进电机转动,从而带动激光笔跟踪光源。实验结果表明,本系统能较好地跟踪光源并具有自适应性,在对太阳能的跟踪方面具有参考价值。
MSP430F149;点光源跟踪;光敏电阻;步进电机
当今社会,石油、煤炭等传统能源日益紧缺,环境污染日益加剧,如何高效、全方位地实现对太阳能利用的研究具有现实意义。在太阳能热水器、太阳能电池板等领域中普遍存在能源转换效率偏低的问题,多数场合的太阳能设备采用固定朝南安装的方式对太阳能进行采集,有的根据太阳的运动规律定时对太阳进行跟踪,但这些方法都没有充分利用太阳能资源[1]。对太阳进行实时跟踪可较大限度改善太阳能设备的工作效率,充分提高太阳能的利用率。笔者在实验室中,采用激光笔对亮度可调的点光源进行实时跟踪,其原理在对太阳能的自动跟踪研究具有参考价值[2]。
点光源跟踪系统要求能够检测并指示光源位置(见图1)。点光源B为功率1W的单只白光LED,固定在一支架上。LED的电流能够在150~350mA的范围内调节。初始状态下光源中心线与支架间的夹角θ为60°,光源距地面高约为100 cm,支架可以用手动方式沿着以A为圆心、半径r约173 cm的圆弧在不大于±45°的范围内移动,也可以沿直线LM移动。在光源后3 cm的距离内、光源中心线垂直平面上设置一直径不小于60 cm的暗色纸板。点光源跟踪系统A放置在地面,通过使用光敏器件检测光照强度来判断光源B的位置,并以激光笔实时跟踪指示光源的位置。
图1 点光源跟踪系统实验室模型Fig. 1 Experimental model of point light source tracking system
2.1 设计原理
为实现对点光源位置的判断,将跟踪用的激光笔放置于激光笔筒中心,笔筒长约15 cm,直径约5 cm,并在笔筒靠近底部的内壁上均匀布置4个光敏电阻,用于接收并检测点光源B的光照强度,激光笔筒内壁为黑色涂层,可有效降低环境光的干扰。通过光电转换电路将光敏电阻接收到的光照强度信号转变成电信号,送至单片机进行AD采样,光敏电阻接收的光照强度不同,采样值就会变化。通过适当的算法,根据4个光敏电阻采样值的变化可以判断光源的位置。
激光笔筒俯视图如图2所示,正中心点为激光笔,圆筒底部内壁右下左上4个方向的光敏电阻分别标号1、2、3、4。
2.2 系统框图
整个系统的方案原理框图见图3。
图2 光敏电阻在圆筒底部的分布图Fig.2 Photosensitive resistances d istribution in cylinder bottom
图3 系统原理框图Fig.3 System p rincip le diagram
本系统工作时,由光敏电阻接收LED光,经光电转换电路处理后,送入单片机采样。单片机首先对环境光采集并存储,采集环境光时,可以通过系统板上的按键调节步进电机带动激光笔转动指向点光源,当对准光源后按下系统板上的确认键记录下环境光线值,以后每次都将采集的信号与环境光值进行分析比较,从而判断激光笔是否偏离了点光源。根据比较的结果,单片机会控制步进电机运转从而带动激光笔实时跟踪LED光源。
3.1 LED驱动电路
本实验系统要求点光源为150~350mA范围可调的恒流源供电,可利用运算放大器和三极管组成恒流电路驱动LED发光,如图4所示。
图4 LED驱动电路Fig.4 LED d rive circuit
该恒流源电路为V/I转换电路,三极管3DD207起反向放大和电流输出作用,由TL431产生2.5 V电压经过电位器分压后输入到运放正相端口。由于TLC272的开环增益和输入电阻足够大,输出电流只与电路参数和输入电压有关,而与负载电阻无关,电路具有恒流性能。
3.2 光电转换电路
用于接收光源信号的4个光敏电阻均匀地分布在笔筒靠近底部的内壁上。由光敏电阻构成的光电转换电路如图5所示。
图5 光电转换电路Fig.5 Photoelectric conversion circuit
当光敏电阻表面受到LED灯光照射较强时,其电阻阻值变小。在实际情况中,光敏电阻R5偏离光源就会导致其阻值发生变化。由于分压电路的作用,提供给运放输入端的信号电压也会随之产生变化。在图5所示的电路中,第一级运放起信号放大作用;第二级运放为电压跟随器,又起隔离作用。第二级运放输出直接送至单片机进行AD采样。这样,4路光敏电阻经过光电转换电路后可由MSP430F149单片机采得各路的AD值。
3.3 步进电机驱动控制电路
步进电机驱动采用Leetro公司的DMD402A两相步进电机驱动器。其最大细分数256,最大输出电流2 A(峰值),可半流调节,具有短路、过热保护功能。步进电机细分驱动器接线图如图6所示。
1)上排端子:DC+,DC-接电源(DC14V~DC40V,最好为非稳压型电源,纹波峰值不超过40V),A+、A-接电机A相,B+、B-接电机B相。
2)下排端子:Ena-、Ena+不接,Dir-、Pul-两线均接地。Dir+接单片机IO口,当Dir+=1时,电机顺时针转;当Dir+=0时,电机逆时针转。Pul+接单片机的PWM输出口,当有PWM输出时,驱动电机转动[3]。
电机的安装说明如下:在实验中为使激光笔能准确跟踪光源,需要控制激光笔能上下移动和左右移动,因此要使用水平方向和垂直方向两个电机带动激光笔转动,图7为电机基座结构图,图中电机1主轴转动时可带动激光笔上下转动,电机2主轴转动时可带动激光笔左右转动,两个电机之间用90°转角支架相连。
图6 步进电机驱动器接线图Fig.6 Stepperm otor driver w iring diagram
图7 电机基座结构图Fig.7 M otor foundation structure
如图6、图7所示,P2.0口控制竖直方向电机的转动,当P2.0=0时,P4.2引脚输出PWM波,驱动电机1逆时针转动,带动激光笔往上移动;当P2.0=1时,P4.2引脚输出PWM波,驱动电机1顺时针转动,带动激光笔往下移动。P2.2口控制水平方向电机的转动,当P2.2=0时,P4.1引脚输出PWM波,驱动电机2逆时针转动,带动激光笔往左移动;当P2.2=1时,P4.1引脚输出PWM波,驱动电机2顺时针转动,带动激光笔往右移动[4]。电机驱动程序如下。
/********控制PWM运行或者停止*********/ channel:1:TB1(P4.1)通道,2:TB2(P4.2)通道onoff:0:停止PWM输出,1:开始PWM输出/****************************************/
void GoPwm(unsigned char channel,unsigned char onoff){
switch(channel){
case 1://PWM 1
if(onoff==ON){
TBCCR1=iScale1;
TBCCR0=iFre;
TBCTL|=TBSSEL_2+ MC_1;//打开定时器,计数模式1
}
else
TBCCR1=0;
break;
case 2://PWM 2
if(onoff==ON){
TBCCR2=iScale2;
TBCCR0=iFre;
TBCTL|=TBSSEL_2+ MC_1;//打开定时器,计数模式1
}
else
TBCCR2=0;
break;
default:
break;
}
}
若要电机转动带动激光笔往上移动,只需执行如下代码:
P2OUT&=~BIT0;
GoPwm(2,ON);//笔往上移
同理,可得出激光笔往左右和往下移动的代码。
在系统跟踪前测试一组激光笔对准点光源的数据,此数据为环境光线值,然后将激光笔调偏离点光源后再测试几组数据,激光笔偏离点光源后的数据与环境光线值作比较,可得出数据变化的规律,从而找到有效的跟踪算法。在设计跟踪算法前,需测试多组数据分析其变化规律,作为确定算法的依据,以下取一组典型数据进行说明(见表1)。
根据测试数据可得出如下规律:①当激光笔往下偏时,下面光敏电阻接收到的光增多,上面光敏电阻接收的光减少;当笔往上偏时,则相反。②当激光笔往右偏时,右边光敏电阻接收的光增多,左边光敏电阻接收的光减少;当笔往左偏时,则相反。③激光笔上下移动时,左右两边的光线差值变化不大;激光笔左右移动时,上下两边的光线差值变化不大。
根据以上规律,可得出算法,下面以控制激光笔左右移动作进行说明,上下移动类推。
1)若左边值远大于右边值,则激光笔应右移。
2)若右边值远大于左边值,则激光笔应左移。
3)当左右值比较接近时,进行趋势判断:若当前左右差值减去初始环境光左右差值大于某值,则说明激光笔在左右方向上偏离了光源,那么需要调节水平方向的电机转动,具体转动依据如下:
a)若左边增加,右边减小,说明激光笔往左偏离了光源,则激光笔应往右转。
表1 测试采样值Tab.1 Tested sam p ling value
b)若左边减小,右边增加,说明激光笔往右偏离了光源,则激光笔应往左转。
c)若左边减小,右边减小,则说明背光了,应将当前电机转动方向取反。
在单片机的内存单元中开辟一组缓存存放AD采样数据,AD_NUM为缓存长度,其值可在头文件中定义,定义上下左右的AD值储存缓存数组分别为ad_up[AD_NUM]、ad_down[AD_NUM]、ad_left[AD_NUM]、ad_right[AD_NUM]。其中ad_up[0]、ad_down[0]、ad_left[0]、ad_right[0]为当前最新的AD值,ad_up[AD_NUM-1]、ad_down[AD_NUM-1]、ad_left[AD_NUM-1]、ad_right[AD_NUM-1]为最旧AD值,每次AD采样将缓存数据进行更新。
系统上电后,可通过系统板上按键调整激光笔对准点光源,以获得初始环境光线值。在系统板上设置两个按键分别控制跟踪任务的开启和停止,当保存了环境光线值后启动跟踪,只要不按下系统板上停止按键,则该系统一直实时跟踪光源,具体软件算法流程如图8所示。
需要指出的是:程序算法里采用差值进行比较,判断差值的增量是否超过设定值△,而不是用绝对值作比较。因为环境光线随时会发生变化,但这种变化对于上下左右4个方向光敏电阻的影响基本一致,采用差值可消除环境光的影响,也可消除LED光源变化带来的影响。控制激光笔水平移动和上下移动时,涉及到具体的算法,这里给出水平移动相关的算法,竖直移动的算法可类推(程序中用dlt为根据测试数据设定的一常量)。
if(ad_left[0]>ad_right[0]+dlt)
{电机右移}
else if(ad_righ[0]>ad_left[0]+dlt)
{电机左移}
else//趋势判断
{
图8 软件算法流程图Fig.8 Software algorithm flow chart
if((ad_left[0]>ad_left[AD_NUM-1])&&(ad_right[0]<ad_right[AD_NUM-1]))
{激光笔右移}
else if((ad_left[0]<ad_left[AD_NUM-1])
&&(ad_righ[0]<ad_right[AD_NUM-1]))
{电机朝相反方向转}
else if((ad_left[0]<ad_left[AD_NUM-1])
&&(ad_righ[0]>ad_right[AD_NUM-1]))
{激光笔左移}
}
经过测试,本系统可较好地跟踪点光源,当光源在移动时可对其实现实时跟踪,整个系统功能完善,所采用的算法在光源信号强度发生改变时具有较好的自适应性,在对太阳能的跟踪控制方面具有一定的参考价值。
[1]MECKE R,HARZH.太阳光源跟踪伺服系统建模与仿真分析[J].魏厚震,袁海文,王秋生,译.电力电子,2011(1):15-18.
[2]陈丽娟,周鑫.基于ARM嵌入式图像处理平台的太阳跟踪系统[J].现代电子技术,2012,35(4):71-74.
[3]曹磊.MSP430单片机C程序设计与实践[M].北京:北京航空航天大学出版社,2007.
[4]沈建华,杨艳琴,翟骁曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.
Design of Point Ligh t Sou rce Track ing System
TAN Cui-lan
(Schoolof Physics and Information Engineering,Jianghan University,Wuhan 430056,Hubei,China)
Designs a point light source tracking system based on TI Company′s MCU MSP430F149.The system is composed of four parts:white LED driver circuit,light source detect⁃ing circuit,data processing and tracking control device.The MCU processes the data of light intensi⁃ty which detected with photosensitive resistances device,and two steppermotorsmoving in X/Y di⁃rection with PWM method,so as tomake the laser pen track the lightsource.Introduces theworking principle of the system,gives the hardware design circuitand partofmechanical structure,and elab⁃orates the key tracking algorithm.The experiment results show that this system can track the light source better and has self-adaptability;ithas good reference value in the tracking of solar energy.
MSP430F149;point light source tracking;photosensitive resistance;stepper motor
TP23
A
1673-0143(2014)01-0049-06
(责任编辑:曾婷)
2013-12-03
谭翠兰(1981—),女,实验师,硕士,研究方向:单片机及嵌入式系统。