2012年全国大学生电子设计竞赛自动射击报靶装置(E题)【LN08-01组】2012年8月8日摘要本作品模仿炮台自动寻迹、发射、报靶而制作,以激光笔代替炮弹,以步进电机组成可自动/手动控制的炮台,以OV6620采集图像信息进行处理、反馈,以LCD动态显示着弹点位置,ISD4003进行语音报靶。
主要研究工作如下:1、对自动报靶系统的总体方案进行设计,包括软件设计和硬件设计两部分。
构建了炮台自动打靶、报靶系统的硬件设计平台及其相应的控制程序。
2、研究了靶面图像获取及图像处理技术。
分析研究了中值滤波、图像差影、等图像预处理的相关算法,对着弹点识别和环值判定方法、炮台自动调整及显示进行了详细的研究,采用图像差影技术有效提取着弹点并分别加以仿真实现。
关键词:图像获取图像处理自动打靶报靶目录1系统方案 (4)1.1 核心控制电路模块的论证与选择 (4)1.2 信号采集模块的论证与选择 (5)1.3 电机驱动模块(炮台)的论证与选择............................................................................ (5)1.4 报靶模块的论证与选择 (7)2系统理论分析与计算 (8)2.1 自动打靶报靶系统的分析 (8)2.2 OV6620数字摄像头部分的计算 (8)2.3 MSP430G2553控制电机算法 (9)2.4 语音模块ISD4004控制算法 (9)3电路与程序设计 (9)3.1电路的设计 (9)3.2程序的设计 (13)4 测试方案与测试结果 (16)4.1 LCD测试: (16)4.2 步进电机测试: (17)4.3 语音模块测试: (17)4.4 图像传感器OV6620测试 (17)附录1:系统总电路图.................................................................................. 错误!未定义书签。
附录2:实物图.............................................................................................. 错误!未定义书签。
附录3:源程序..................................................................................................................................自动射击报靶装置(E题)【LN08-01组】1系统方案本作品是一套价格低廉、性能稳定、具有图像采集处理、炮台自动寻靶、自动调靶射击和记录、显示结果的完整自动射击报靶的系统,主要由核心控制电路模块、信号采集模块、报靶模块、电机驱动(炮台)模块、系统电源模块、激光枪组成(如图1.1所示),每个模块又均包含相应的硬件电路及软件程序。
本系统中若第一次激光笔未击中十环可继续自动调整打靶,同时可以通过自动/手动转换按钮完成自动/手动切换控制炮台寻、打靶。
图1.1:系统模拟简化图1.1 核心控制电路模块的论证与选择方案一:89C5289C52是常用的单片机,我们对它非常熟悉。
89C52单片机本身的电源电压是5V,有空闲和掉电两种低功耗方式在掉电状态下,在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
但是80C52单片机是8位单片机,存在运行速度较慢,且不能在线编程等缺点。
方案二:MSP430G2553MSP430G2553是最近刚接触的一款低功耗的十六位单片机。
MSP430系列单片机是TI的一种16位超低功耗、具有精简指令集的混合信号处理器的全新机型。
其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。
该系列单片机广泛应用于需要电池供电的便携式仪器仪表中。
由于MSP430G2553拥有相较于89C52单片机处理能力强、运算速度快(接25M晶振)、超低功耗、片内资源丰富等优点。
因此我们选用方案二作为系统MCU。
1.2信号采集模块的论证与选择方案一:利用光敏电阻采集电压信号利用光敏电阻组成矩阵,每个光敏电阻串联一1K电阻,在两电阻中间引出一引脚接555芯片。
当激光枪照射后光敏电阻阻值减小,555芯片输入端由低电平跳变为高电平在其输出端产生二进制脉冲经整形后送入MCU,从而实现信号的检测。
然而该方案存电路焊接困难、当激光打到两电阻之间时采集不到信号。
尤其是当靶的面积大时这些缺点便更加突出。
方案二:摄像头采集图像信息利用OV6620图像传感器获取靶的着弹点的图像信息,然后进行图像分析,通过分析计算出光源所在位置。
该方案具有稳定性强,信息可靠性高等优点,同时克服了方案一中所存在的缺点,尤其是如本作品要求中胸环靶较大的情况下,这些优点便表现的更加突出。
综合比较以上两种方案,选择方案三。
1.3 电机驱动模块(炮台)的论证与选择1.3.1 控制电机论证与选择方案一:采用减速电机作为炮台的转动电机。
减速电机就是在普通的直流电机前边加了一个齿轮减速器。
电机的启动停止正反转是通过电位器进而改变电机的输入电压而实现的。
但其存在着定位不够准确的缺点。
方案二:采用步进电机作为炮台的转动电机。
步进电机是一种感应电机,是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度。
相较于减速电机而言,应用步进电机进行炮台的转动电机具有操作更简单,对光靶的定位更精确的明显优点。
由于炮台的转动电机需要精确定位,因此为了让激光打在光靶上取得更高的精确度,我们采用方案二。
1.3.2 步进电机驱动模块论证与选择方案一:中功率三极管直接搭建在电机驱动要求不高的地方可以用三极管直接搭建一个驱动电路,使用三极管搭建的电机驱动电路具有电路简单的优点,但功率和性能一般。
对输入信号要求较高,输出性能只能满足一般要求。
方案二:UCN5804B芯片UCN5804B芯片适用于四相步进电机的单极性驱动,它最大能输出1.5A电流、3.5V电压。
内部集成有驱动电路,上电自行复位,可以控制转向和输出使能。
电路更简单,编程更简便。
UCN5804B芯片驱动电路如图1所示。
其中4、5、12、13脚为接地引脚,1、3、6、8脚为输出引脚,电动机各相的接线如图1.3.11所示,14脚是控制电机的转向,其中低电平为正转,高电平为反转,11脚是步进脉冲的输入端,9、10脚决定工作方式:00为双四拍、01为八拍、10为单四拍、11为禁止。
但其存在UCN5804B芯片市场需求不高,而且其驱动电压需要28V,不易获得等缺点。
图1.3.11 UCN5804B芯片驱动电路方案三:ULN2003A芯片ULN2003A是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。
ULN2003A 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003A工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。
ULN2003A的输出结构是集电极开路的,所以要在输出端接一个上拉电阻,在输入低电平的时候输出才是高电平。
在驱动负载的时候,电流是由电源通过负载灌入ULN2003A的。
图1.3.12为ULN2003A芯片的引脚图。
图1.3.12 ULN2003A引脚图ULN2003A芯片适用于四相步进电机的单极性驱动,而且单片机控制简单,能实现较容易,器件常用,电源只需+5V,功能实现可行性较好。
ULN2003A芯片驱动电机的原理图如图1.3.13所示。
图1.3.13 ULN2003A芯片驱动电机原理图综合比较上述三种方案,ULN2003A芯片更常用,而且电源只需+5V,故选择方案二,四相步进电机的驱动芯片采用ULN2003A。
1.4 报靶模块的论证与选择本模块由显示报靶与语音报靶两部分组成。
其中语音芯片选择了ISD4003,该芯片可反复录音超过十万次,可在断电情况下百年不丢失,且能够非常真实、自然地再现语音、音乐,音调和效果声对于显示报靶部分则具有以下两个可行方案:方案一:数码管显示利用数码管显示具有电路连接简单、编程控制简单等优点。
但是在本系统中只能显示弹着点的环数,存在着不能显示方位等缺点。
方案二:QC12864B液晶屏显示QC12864B为汉字图形点阵液晶显示模块,可显示汉字及图形通过8 位并口或串行于MUC相连接,并配备LED背光。
在该系统中不仅能动态显示环数,且可显示出着弹点的方位信息,并可模拟胸环靶图形模拟显示方位、环数。
考虑到本系统对报靶显示部分的要求较高,因此选择方案二2系统理论分析与计算2.1 自动打靶报靶系统的分析2.1.1 OV6620数字摄像头部分由于OV6620数字摄像头的像素同步信号比MSP430G2452的指令周期要小很多,用MSP430G2452很难捕捉到其像素信息,故需在二者之间加一个数据存储器作为数据存储和缓冲。
单片机从数据存储器的像素信息矩阵表中逐行的读出信息,与事先采集到的红色像素信息进行比较(红色像素信息值为一数据区间,以保证能准确的获取红色像素信息),如果读出值代表红色信息,则输出对应的行和列,通过串口通信发回控制台。
该方案不需存储大量的图像数据,而是以数据流的形式进行处理,有效地节省了存储空间,提高了运算速度,并且算法简单,易于实现。
2.1.2步进电机部分MSP430G2553收到到反馈回的行和列的信号后,通过程序计算、处理去控制电机的转动方向和转动步数参量,使激光光斑能够自动寻靶。
2.1.3 报靶模块MSP430G2553行、列信息处理后,通过程序计算,控制LCD和语音部分,显示光斑的位置信息及ISD4004电路的语音报靶。
2.2 OV6620数字摄像头部分的计算2.2.1 图像采集行列数目计算根据本题目要求胸环靶直径为60cm,激光枪在把靶环上光斑小于5mm。
以5mm计算,若要采取隔行扫描方式且不丢失激光枪在胸环靶上的光标信息,则所需采样行、列数均需120以上。