论文部分内容阅读
研究内容
本课题最终制作的激光笔,具有控制电脑鼠标指针跟随激光光斑移动的功能。激光笔的制作涉及激光笔光斑的坐标识别技术、激光笔的俯仰角及方位角检测技术、激光笔与电脑的无线通信技术及激光笔在电脑上的控制程序。对于这些内容,只有激光笔光斑的坐标识别技术是本研究的核心内容,也是具有创新的内容。基于此,本论文将只阐述研究的核心内容。
研究过程与方法
计算方法的理论依据
现有获取激光光斑坐标的方法都需要使用单独的摄像装置。为什么不能将摄像装置直接安装在激光笔上从而提高易用性呢?经过分析,主要有2个原因:其一,这些方法都要求摄像装置正对着投影屏幕,并且与投影屏幕间是相对静止的,而激光笔在使用时与投影屏幕间一定存在相对运动,并且无法保证固定的拍摄方向;其二,如果将摄像装置安装在激光笔上,那么在操作激光笔时,摄像装置必须实时对拍摄图像进行动态识别,这对图像处理器件的运算能力要求很高,无论是芯片的处理能力还是芯片需要的功耗都难以在激光笔上实现。
针对当前实现方法的缺陷,提出改进设计。分析如下:可以使用线阵图像传感器捕捉激光笔在屏幕上形成的光斑。因为线阵图像传感器可以识别图像的亮度,而且识别方法简单易实现,可以通过检测图像的亮度值分辨出光斑边界。各种成像方法比较,只有小孔成像没有聚焦的问题,且易于实现,所以可以考虑将投影屏幕的光线通过小孔成像的方法将光斑成像在线阵传感器上。本着化繁为简的原则,先假设激光笔与投影屏幕的位置是固定的,并且垂直于投影屏幕。
综合以上分析,在水平方向上,抽象出投影屏幕与激光笔的应用示意图,如图1所示。在图1中,矩形是激光笔的外壳。激光笔内的粗线是线阵传感器。激光笔的激光从D点发出,照射到端点为A和B的投影屏幕上,交于C點。投影屏幕的端点A和B的光线经过小孔D照射到线阵传感器上,形成的像分别为G和E点。激光发射线DC的反向延长线,交线阵传感器于F点。因为线阵传感器与投影屏幕平行,所以△ABD与△EGD是相似三角形,故可推导出AC/AB FG/EG。因为线阵传感器的像素数量及每个像素的尺寸是确定的,通过分析线阵传感器上像的编号即可计算出EF和FG的长度。这样,就可以计算出C点在投影屏幕AB上水平方向的相对位置。
实际上,激光笔与投影屏幕不可能总是垂直的关系,会有一定的夹角,比如激光笔从左向右或从右向左指向投影屏幕。分析这2种情况可知(推导略),激光笔与投影屏幕任意夹角时,也都可以得到激光光斑的相对坐标值。
综上,在水平方向上将激光笔与投影屏幕抽象成数学上的几何关系,可以计算出激光光斑在投影屏幕上的水平和相对垂直方向上的位置。另外,在上述推导过程中,所有使用到的参数都与激光笔到投影屏幕的距离无关。这说明该计算方法完全适用于激光笔在投影屏幕前任意角度、任意距离的情况。
激光笔成像小孔的设计
线阵传感器能否识别投影屏幕的光通过小孔成的像,是研究的关键。首先是必须保证通过小孔的光能够正常成像;其次必须保证线阵图像传感器能够正确识别图像的边界。
小孔的选择经历了多次实验。实验结果表明,用不锈钢薄刀片制作的、宽度为0.5mm矩形狭缝(见图2)成像效果较好。
狭缝的宽度在0.4~0.6mm之间的效果差别不大。狭缝宽度过小,通过狭缝进入线阵传感器的光线强度变弱,图像的边界会变得模糊,使光斑位置检测的精确度下降,同时产生抖动。狭缝宽度过大,线阵传感器上图像的边界与真实的边界对应关系将变差,同样会使光斑位置检测的精确度下降。
线阵图像传感器及其驱动
线阵图像传感器选择的是东芝公司的TCD1254,共使用了4片。该传感器有效像素2500个,感光面长度13.13mm。4片TCD1254的安装布局如图3所示。水平2传感器用于识别投影屏幕的水平边界,垂直2传感器用于识别投影屏幕的垂直边界。
带有狭缝的板子安装在线阵图像传感器感光面上,与传感器间的距离为5mm。线阵图像传感器的工作需要一系列满足特定时序要求的脉冲信号。φM是TCD1254工作的主时钟,典型频率是1 MHz。OS是传感器输出的模拟图像信号。SH和ICG是2个输入信号,需要满足特定的时序,才能保证在OS引脚输出正确的图像信号。这几个信号需要由外部驱动电路提供。
综合考虑,选择单片机生成线阵传感器驱动信号最为适合。通过使用单片机提供的定时器时钟输出功能,可以得到稳定的1MHz的方波信号,用它作为φM信号。通过单片机的计数功能对φM信号进行计数,并辅以一定的逻辑处理,就可以获得需要的SH和ICG信号。
将STC15L104W输出的φM、SH及ICG信号连接至4个线阵图像传感器的相应引脚。4个线阵图像传感器的OS信号输出端通过跟随器,进入主控单片机的模数转换引脚。由单片机将这4个模拟图像信号转换为数字量,并存储在单片机的内容RAM中。然后,单片机根据前述的计算方法计算出激光光斑的坐标,进而将坐标值传送给电脑。电脑上的应用程序根据激光光斑的坐标控制鼠标的移动。
结果及分析
激光笔的核心器件是线阵图像传感器,而φM、SH及ICG信号的时序关系是保证线阵图像传感器正常工作的前提。与TCD1254产品手册要求的时序信号对比,关键的切换点都符合要求。在时序信号的驱动下,线阵传感器可以正常工作,并在激光笔指向投影屏幕不同位置时,输出期望的波形。
为了验证单片机模数转换后得到数据的正确性,在单片机中编写了诊断输出程序,用于将图像的数字量信号输出给电脑进行分析。在上述波形输出下,将单片机输出的数字量数值通过Excel绘制成的曲线图再与示波器显示波形进行对比,可以发现二者完全是对应的。这说明单片机正确获取了投影屏幕图像的数字量。
为了了解实际制作的激光笔获取激光光斑坐标的效果,进行了如下测试。 将电脑桌面墙纸设置为含有100个格子的图片。然后将激光笔置于电脑屏幕前方大约30cm处,保持激光笔与屏幕的夹角在±30°以内。移动激光笔,让光斑呈蛇形照遍这100个格子,使用摄像机记录下整个过程。
测试结果表明,激光光斑在相邻格子之间移动时,鼠标指针跟随的延迟时间大约在100ms以内。激光光斑快速从最左端移动到最右端,延迟时间不超过500 ms。这样的延迟时间,对于普通PPT演示的操作,基本不会造成太大的影响。
鼠标指针跟随激光光斑的精度基本能控制在1个格子内。这表示任何时刻,当激光光斑稳定时,鼠标指针和激光光斑问的最大距离都小于1个格子的对角线长度。
讨论
关于线阵图像传感器的可变积分时间的设置,需要根据实际情况动态设置。可变积分时间设置得过小,线阵图像传感器将检测不到投影屏幕像的边界。设置得过大,则线阵图像传感器将出现光饱和现象。正确的积分時间下,OS的输出波形应该具有一定的变化幅值(0.5V以上),同时波形不会出现底部平坦的情况。
当投影屏幕的光线以较大倾角通过小孔成像在线阵传感器上时,光线的强度较弱,表现在波形上就是波形的上升沿不够陡峭,这给边界识别带来一定的难度。现在的做法是首先获取大量的数据,然后分析出最可能的临界值。
激光笔在实际运行时,单片机连续取5个图像数值,然后判断其平均值是否大于临界值。如果大于临界值,则认为上升沿出现,找到图像的边界值。激光笔样机见图4。
结论
本论文提出了一种全新的在投影屏幕上获取激光光斑坐标的方法。该方法以光学及数学理论为依据,经过严密的数学推导得出。使用该方法制作的激光笔样机,经实际测试完全能够实现电脑上的鼠标指针跟随激光笔光斑的坐标进行同步移动。鼠标指针跟随激光笔光斑移动的跟随时间在100ms左右,跟随精度完全可以满足一般的PPT演示需要。
由于该激光笔是通过获取投影屏幕的边界,而不是激光点光斑计算激光光斑位置的,所以该激光笔工作时,完全可以关闭激光发射,对激光笔的正常使用没有任何影响。这使它非常适合某些不允许发射激光的特殊场合。
目前对于投影屏幕不同的亮度,需要手动调整线阵传感器的光积分时间以得到最佳的识别效果。后续将研究通过光敏器件自动调节光积分时间。另外,对于激光笔方位角的检测还没有找到性价比较高并且数值准确的解决方案,还在继续探索中。此外,激光笔在使用时,不允许激光笔本体有左右翻滚的情况,否则识别精度将大大下降,这是后续设计要改进的地方。
该项目获得第32届全国青少年科技创新大赛创新成果竞赛项目中学组工程学一等奖。
专家评语
该项目制作的激光笔可直接获取光斑的位置信息,并实时传递给计算机,方法简便、快捷、准确、成本低,具有较好的使用价值与良好的市场前景。以图像传感器获取屏幕的边界并经理论计算获取光斑的坐标值,进而通过无线方式传递信号控制计算机动作,方法上为首次提出,无申报专利。当投影边界不清晰时,存在边界不能识别或识别不清的可能,建议进一步改进程序,增加图像复杂边界的处理能力。
本课题最终制作的激光笔,具有控制电脑鼠标指针跟随激光光斑移动的功能。激光笔的制作涉及激光笔光斑的坐标识别技术、激光笔的俯仰角及方位角检测技术、激光笔与电脑的无线通信技术及激光笔在电脑上的控制程序。对于这些内容,只有激光笔光斑的坐标识别技术是本研究的核心内容,也是具有创新的内容。基于此,本论文将只阐述研究的核心内容。
研究过程与方法
计算方法的理论依据
现有获取激光光斑坐标的方法都需要使用单独的摄像装置。为什么不能将摄像装置直接安装在激光笔上从而提高易用性呢?经过分析,主要有2个原因:其一,这些方法都要求摄像装置正对着投影屏幕,并且与投影屏幕间是相对静止的,而激光笔在使用时与投影屏幕间一定存在相对运动,并且无法保证固定的拍摄方向;其二,如果将摄像装置安装在激光笔上,那么在操作激光笔时,摄像装置必须实时对拍摄图像进行动态识别,这对图像处理器件的运算能力要求很高,无论是芯片的处理能力还是芯片需要的功耗都难以在激光笔上实现。
针对当前实现方法的缺陷,提出改进设计。分析如下:可以使用线阵图像传感器捕捉激光笔在屏幕上形成的光斑。因为线阵图像传感器可以识别图像的亮度,而且识别方法简单易实现,可以通过检测图像的亮度值分辨出光斑边界。各种成像方法比较,只有小孔成像没有聚焦的问题,且易于实现,所以可以考虑将投影屏幕的光线通过小孔成像的方法将光斑成像在线阵传感器上。本着化繁为简的原则,先假设激光笔与投影屏幕的位置是固定的,并且垂直于投影屏幕。
综合以上分析,在水平方向上,抽象出投影屏幕与激光笔的应用示意图,如图1所示。在图1中,矩形是激光笔的外壳。激光笔内的粗线是线阵传感器。激光笔的激光从D点发出,照射到端点为A和B的投影屏幕上,交于C點。投影屏幕的端点A和B的光线经过小孔D照射到线阵传感器上,形成的像分别为G和E点。激光发射线DC的反向延长线,交线阵传感器于F点。因为线阵传感器与投影屏幕平行,所以△ABD与△EGD是相似三角形,故可推导出AC/AB FG/EG。因为线阵传感器的像素数量及每个像素的尺寸是确定的,通过分析线阵传感器上像的编号即可计算出EF和FG的长度。这样,就可以计算出C点在投影屏幕AB上水平方向的相对位置。
实际上,激光笔与投影屏幕不可能总是垂直的关系,会有一定的夹角,比如激光笔从左向右或从右向左指向投影屏幕。分析这2种情况可知(推导略),激光笔与投影屏幕任意夹角时,也都可以得到激光光斑的相对坐标值。
综上,在水平方向上将激光笔与投影屏幕抽象成数学上的几何关系,可以计算出激光光斑在投影屏幕上的水平和相对垂直方向上的位置。另外,在上述推导过程中,所有使用到的参数都与激光笔到投影屏幕的距离无关。这说明该计算方法完全适用于激光笔在投影屏幕前任意角度、任意距离的情况。
激光笔成像小孔的设计
线阵传感器能否识别投影屏幕的光通过小孔成的像,是研究的关键。首先是必须保证通过小孔的光能够正常成像;其次必须保证线阵图像传感器能够正确识别图像的边界。
小孔的选择经历了多次实验。实验结果表明,用不锈钢薄刀片制作的、宽度为0.5mm矩形狭缝(见图2)成像效果较好。
狭缝的宽度在0.4~0.6mm之间的效果差别不大。狭缝宽度过小,通过狭缝进入线阵传感器的光线强度变弱,图像的边界会变得模糊,使光斑位置检测的精确度下降,同时产生抖动。狭缝宽度过大,线阵传感器上图像的边界与真实的边界对应关系将变差,同样会使光斑位置检测的精确度下降。
线阵图像传感器及其驱动
线阵图像传感器选择的是东芝公司的TCD1254,共使用了4片。该传感器有效像素2500个,感光面长度13.13mm。4片TCD1254的安装布局如图3所示。水平2传感器用于识别投影屏幕的水平边界,垂直2传感器用于识别投影屏幕的垂直边界。
带有狭缝的板子安装在线阵图像传感器感光面上,与传感器间的距离为5mm。线阵图像传感器的工作需要一系列满足特定时序要求的脉冲信号。φM是TCD1254工作的主时钟,典型频率是1 MHz。OS是传感器输出的模拟图像信号。SH和ICG是2个输入信号,需要满足特定的时序,才能保证在OS引脚输出正确的图像信号。这几个信号需要由外部驱动电路提供。
综合考虑,选择单片机生成线阵传感器驱动信号最为适合。通过使用单片机提供的定时器时钟输出功能,可以得到稳定的1MHz的方波信号,用它作为φM信号。通过单片机的计数功能对φM信号进行计数,并辅以一定的逻辑处理,就可以获得需要的SH和ICG信号。
将STC15L104W输出的φM、SH及ICG信号连接至4个线阵图像传感器的相应引脚。4个线阵图像传感器的OS信号输出端通过跟随器,进入主控单片机的模数转换引脚。由单片机将这4个模拟图像信号转换为数字量,并存储在单片机的内容RAM中。然后,单片机根据前述的计算方法计算出激光光斑的坐标,进而将坐标值传送给电脑。电脑上的应用程序根据激光光斑的坐标控制鼠标的移动。
结果及分析
激光笔的核心器件是线阵图像传感器,而φM、SH及ICG信号的时序关系是保证线阵图像传感器正常工作的前提。与TCD1254产品手册要求的时序信号对比,关键的切换点都符合要求。在时序信号的驱动下,线阵传感器可以正常工作,并在激光笔指向投影屏幕不同位置时,输出期望的波形。
为了验证单片机模数转换后得到数据的正确性,在单片机中编写了诊断输出程序,用于将图像的数字量信号输出给电脑进行分析。在上述波形输出下,将单片机输出的数字量数值通过Excel绘制成的曲线图再与示波器显示波形进行对比,可以发现二者完全是对应的。这说明单片机正确获取了投影屏幕图像的数字量。
为了了解实际制作的激光笔获取激光光斑坐标的效果,进行了如下测试。 将电脑桌面墙纸设置为含有100个格子的图片。然后将激光笔置于电脑屏幕前方大约30cm处,保持激光笔与屏幕的夹角在±30°以内。移动激光笔,让光斑呈蛇形照遍这100个格子,使用摄像机记录下整个过程。
测试结果表明,激光光斑在相邻格子之间移动时,鼠标指针跟随的延迟时间大约在100ms以内。激光光斑快速从最左端移动到最右端,延迟时间不超过500 ms。这样的延迟时间,对于普通PPT演示的操作,基本不会造成太大的影响。
鼠标指针跟随激光光斑的精度基本能控制在1个格子内。这表示任何时刻,当激光光斑稳定时,鼠标指针和激光光斑问的最大距离都小于1个格子的对角线长度。
讨论
关于线阵图像传感器的可变积分时间的设置,需要根据实际情况动态设置。可变积分时间设置得过小,线阵图像传感器将检测不到投影屏幕像的边界。设置得过大,则线阵图像传感器将出现光饱和现象。正确的积分時间下,OS的输出波形应该具有一定的变化幅值(0.5V以上),同时波形不会出现底部平坦的情况。
当投影屏幕的光线以较大倾角通过小孔成像在线阵传感器上时,光线的强度较弱,表现在波形上就是波形的上升沿不够陡峭,这给边界识别带来一定的难度。现在的做法是首先获取大量的数据,然后分析出最可能的临界值。
激光笔在实际运行时,单片机连续取5个图像数值,然后判断其平均值是否大于临界值。如果大于临界值,则认为上升沿出现,找到图像的边界值。激光笔样机见图4。
结论
本论文提出了一种全新的在投影屏幕上获取激光光斑坐标的方法。该方法以光学及数学理论为依据,经过严密的数学推导得出。使用该方法制作的激光笔样机,经实际测试完全能够实现电脑上的鼠标指针跟随激光笔光斑的坐标进行同步移动。鼠标指针跟随激光笔光斑移动的跟随时间在100ms左右,跟随精度完全可以满足一般的PPT演示需要。
由于该激光笔是通过获取投影屏幕的边界,而不是激光点光斑计算激光光斑位置的,所以该激光笔工作时,完全可以关闭激光发射,对激光笔的正常使用没有任何影响。这使它非常适合某些不允许发射激光的特殊场合。
目前对于投影屏幕不同的亮度,需要手动调整线阵传感器的光积分时间以得到最佳的识别效果。后续将研究通过光敏器件自动调节光积分时间。另外,对于激光笔方位角的检测还没有找到性价比较高并且数值准确的解决方案,还在继续探索中。此外,激光笔在使用时,不允许激光笔本体有左右翻滚的情况,否则识别精度将大大下降,这是后续设计要改进的地方。
该项目获得第32届全国青少年科技创新大赛创新成果竞赛项目中学组工程学一等奖。
专家评语
该项目制作的激光笔可直接获取光斑的位置信息,并实时传递给计算机,方法简便、快捷、准确、成本低,具有较好的使用价值与良好的市场前景。以图像传感器获取屏幕的边界并经理论计算获取光斑的坐标值,进而通过无线方式传递信号控制计算机动作,方法上为首次提出,无申报专利。当投影边界不清晰时,存在边界不能识别或识别不清的可能,建议进一步改进程序,增加图像复杂边界的处理能力。