TI杯竞赛论文
课题: 激光自动射击装置(E题)
指导教师: 张云洲
参赛学生: 邓 迅
常韫恒
方 智
摘要:
为了满足激光自动射击装置的设计要求,设计了以微控制器为核心的控制系统和算法。首先进行了各单元电路方案的比较论证,确定了硬件设计方案。激光自动射击装置采用了摄像头进行激光落点识别,采用基于Cortex-M4内核的微控制器MK60DN512ZVLQ104作为控制核心,该芯片具有主频高、存储空间大、片内资源丰富等特性。通过舵机及PID控制算法实现了对激光笔的精准控制。系统显示单元选用了图形点阵式高速LCD128,通过串行数据通信实现系统的调试。实际测试表明,所采用的设计方案先进有效,完全达到了设计要求。
关键词:自动射击,摄像头,舵机
1、系统方案的设计与论证
1.1 系统总体框架
整个系统主要分为处理器模块、视频采集模块、MSP430处理模块、激光笔控制模块、液晶显示模块。各模块的系统框图如图1所示。
图1.1 系统模块框图
1.2 方案论证与比较
(1)控制模块
方案一:采用组委会提供的基于MSP430单片机的LaunchPad开发板。虽然其具有功耗低、考性高、低成本等优点,但是结合本题实际情况需要选取高主频大RAM类型的单片机配合采集存储图像。
方案二:采用MK60DN512是一款功能强大的32位ARM,它具有512K超大RAM能够满足我们视频采集的实时性以及精确度。配以简单可靠低功耗的MSP430微处理器进行对激光笔等外设的动作控制。
(2)激光笔控制方案
方案一:采用步进电机细分控制来对激光笔的角度进行调节。虽然能实现对电机实现较为精准的控制,但是考虑到步进电机较为笨重且需驱动电路以及较为复杂
的控制程序,故放弃此方案。
方案二:采用舵机进行激光机的指向控制。舵机相比步进电机具有控制程序简单、不需要驱动电路等优点。虽然其具有一定死区精度与采用细分控制的步进电机相比较低,但经过分析本题中胸环靶较大采用舵机控制精度完全符合本题要求。
基于上述理论分析,我们选择方案二。
(3)着弹点采集
方案一:采用红外传感器。由于红外传感器的分辨能力十分有限及时采用多个传感器也无法实现次功能。故放弃此方案。
方案二:才用摄像头对胸环靶图像进行实时采集。该方案具有分辨精度高、
实时性较好等优点。故最终采用此方案。
(4)显示系统方案
方案一:采用 普通LCD128进行显示。此种液晶虽能实现本题要求,但是其刷新速度较低,无法实现整幅图像的实时更新
方案二:采用高速LCD 液晶显示器。次LCD 有明显的优点:显示速度极快、微功耗、显示信息量大、字迹清晰、美观、视觉舒适,使整个控制系统更加人性化。在实际使用中能够实现采集图像的实时同步显示。
因此,决定选用方案二。
1.3 方案描述
综合以上各部分的比较结果,决定以MSP430微控制器为核心,由MK60DN512实现对图像的采集以及处理通过舵机控制激光笔的指示方向,由摄像头采集胸环靶上激光点位置,最终由LCD128进行显示,并通过ISD1730语音芯片进行语音播报环数以为着弹点方位。
2理论分析与计算
2.1弹着点检测原理分析、计算
对于着弹点位置的采集,我们对摄像头采集后的图像进行矫正以及分析。通
过找寻最亮点来标定着弹点位置。有与摄像头距离胸环靶较远且靶环较细摄像头
很难识别,故不对靶环进行识别。通过计算着弹点与靶心减距离来判断着弹点环数。
2.2激光自动控制原理分析、计算
本方案采用两个舵机来控制激光笔出射的角度,利用其中一个舵机控制水平方向的角度,另一个控制竖直方向的角度。最终实现了通过激光笔控制着弹点在胸环靶上的自由移动
对于着弹点位置的采集,我们对摄像头采集后的图像进行矫正以及分析。通过找寻最亮点来标定着弹点位置。有与摄像头距离胸环靶较远且靶环较细摄像头
很难识别,故不对靶环进行识别。通过计算着弹点与靶心减距离来判断着弹点环数。
在标定了靶心,识别了着弹点以后。就可以在靶上给定任意坐标,通过PID调节来时先着弹点对给定点的跟踪。
横向舵机摆角给定=KP1*(目标点横坐标—当前着弹点横坐标)
纵向舵机摆角给定=KP2*(目标点纵坐标坐标—当前着弹点纵坐标)
3 电路与程序设计
3.1电路设计
3.1.1供电模块
采用镍铬电池对整套系统进行供电,电源经由TI公司的LM2940调整到5V与3.3V供外围电路以及单片机使用。
原理图如下图所示:
图3.1 供电模块原理图
3.1.2视频分离电路部分
将视频信号经过TI公司LM1881分离出奇偶场同步信号,复合同步信号,由单片机捕捉,用于同步场中断和行中断。从而准备的采集视频信号。视频信号采集模块的电路原理图设计图所示。
图3.2 硬件二值化电路
3.1.3动态镜像阈值电路的设计
将视频信号经过一个PNP三级管8550反相,通过集电极的电位器将反相视频信号调整到合适电位,并将视频信号与反相视频信号同时接到TI公司的LM393比较器的两个输入引脚,反相视频信号作为参考电压。比较器的输出即为二值化的视频信号。动态镜像阀值电路原理设计图如图3.6所示。
图3.3 动态镜像阀值电路原理图
3.1.4语音模块
语音模块采用ISD1730集成语音芯片,与单片机通过SPI接口进行通信,实现程控播报。
电路图如下图所示:
图3.4 语音模块电路原理图
由于其他模块如舵机接口、拨码开关、按键、液晶等接口电路十分常见此处不再介绍。
3.2软件设计
系统软件采用C语言开发,在IAR环境下调试并实现功能。主程序流程如图7所示,进入主程序并初始化后,判断拨码开关键值后执行相应的程序。软件程序设计采用模块化的结构,便于分析和实现功能。
程序采用模块化编写便于调试与继承,利用状态机实现程序中各种功能之间的切换,大大提高程序整体执行效率与代码的可靠性。
程序框图如下:
图3.4 程序流程图
4、系统实测
在系统各部分硬件搭建完毕,软件调试结束后,我们对系统进行了实际测试。数据表格分别如表1-表3所示。
报靶测试:
试验次数 | 第1次 | 第2次 | 第3次 | 第4次 | 第5次 | 第6次 | 第7次 | 第8次 | 第9次 |
实际环数 | 4环 | 5环 | 6环 | 7环 | 8环 | 9环 | 9环 | 10环 | 10环 |
测得环数 | 4环 | 5环 | 6环 | 7环 | 8环 | 9环 | 9环 | 10环 | 10环 |
方位测试:
试验次数 | 第1次 | 第2次 | 第3次 | 第4次 | 第5次 | 第6次 | 第7次 | 第8次 |
实际方位 | 正上 | 右上 | 正右 | 右下 | 正下 | 左下 | 正左 | 左上 |
测得方位 | 正上 | 右上 | 正右 | 右下 | 正下 | 左下 | 正左 | 左上 |
自动打靶测试:
试验次数 | 第1次 | 第2次 | 第3次 | 第4次 | 第5次 | 第6次 | 第7次 | 第8次 |
目标环数 | 左上 4环 | 右上 5环 | 正上 6环 | 正下 7环 | 正右 8环 | 正左 9环 | 左下 9环 | 正中 10环 |
实际环数 | 左上 4环 | 右上 5环 | 正上 6环 | 正下 7环 | 正右 8环 | 正左 9环 | 左下 9环 | 正中 10环 |
5. 结论
通过合理的系统构建和软件编程,本系统能够完成题目要求,实现报靶、液晶显示着弹点、自动打靶、语音播报等功能。实际测试表明,所设计的软件和硬件系统具备良好的稳定性,完整的实现了题目的要求。
由于时间的原因,在设计时有部分因素未能实现,如视频采集部分未能有效实际识别靶环等。