1、01 系统方案设计及论证1.1 系统结构分析通过对本次设计要求的具体分析和实验验证,确定了系统结构如图 1 所示 。本系统拥有两个微处理器,STM32F4 用于处理摄像头采集回来的胸环靶上的光斑图片,得到位置信息;MSP430F149 用于控制两个步进电机带动激光头做二维运动。摄像头受 STM32F4 控制用来检测激光点的位置,TFT 及 12864 上同步显示激光点信息,步进电机受 MSP430F149 控制带动激光头对胸环靶进行射击,进而完成题目要求的动作。按键模块及显示器实现人机交互功能,根据人为的模式选择让激光头进行不同的射击。M S P 4 3 0 F 1 4 9S T M 3 2键
2、盘摄像头L M 7 8 0 51 2 V 锂电池 步进电机T B 6 5 6 0 驱动器显示器激光头图 1 系统框图1.2 方案比较选择1.2.1 电源模块方案一:采用开关型降压稳压器 LM2576。LM2576 最大输出电流 3A,内部含有频率补偿和一个固定频率的振荡器,所需外围器件极少,效率高,纹波较小。1方案二:采用三端线性稳压集成电路 LM7805。LM7805 集成稳压电源芯片所需的外围元件极少,线性稳压度好,芯片内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜,用它给控制系统供电足以满足需求。方案三:采用三段线性稳压器 LM2940。LM2940 为低压差稳压
3、器件,输入电压范围宽泛,输出电流能达到 1.25A,稳压性好,但是相比于其他稳压器件,价格较贵。电源模块作为控制器的供电单元,它的好坏直接关系到系统的稳定性,根据供电的电流需求以及成本考虑综,本次设计选择相对价格较低的方案一和方案二分别给 STM32F4 和 MSP430F149 供电。1.2.2 电机选择方案一:两个伺服电机。伺服电机自带高精度编码器,便于进行速度的闭环控制,驱动能力强,机械性能也好。在实验中发现,虽然进行了闭环控制,控制也很平缓,但是打靶的精度也只能基本达到要求。方案二:两个步进电机。步进电机具有快速启动能力,转换精度高,正反转控制灵活,可以轻松达到通过脉冲进行控制。在实验
4、中发现,当步进电机进行一定的细分之后,精度可以很好地控制,完全能满足控制要求。方案三:步进电机加舵机。舵机使用方便,扭矩大,控制简单,机械性能好,但是在实验中发现,舵机的转动靠脉冲宽度来调节,它的转动精度不能达到基本要求,误差很大。电机作为此次设计最主要的执行单元,它的好坏直接关系到指标的完成情况,对控制精度要求很高,综合考虑以上因素,本次设计选择方案二。1.2.3 电机驱动方案一:使用 L298N 电机驱动芯片。L298N 是一个具有高电压大电流的全桥驱动芯片,响应频率高,自带使能控制端,操作方便,性能稳定,一个 L298N2就可以控制一个两相四线步进电机。但是 L298N 不能进行细分,步
5、进电机转动所需要的精度不能得到有效的调节。方案二:使用半桥驱动芯片 BTS7960,需要 2 个芯片来驱动一个电机,电流最高 43A,由于其内阻很小,驱动过程中发热不明显,但其价格较高,并且经过实验,它不能满足细分的精度要求。方案三:使用东芝公司的 TB6560AQH 驱动芯片,可以输出高达 3A 的驱动电流,集成度高所需外围器件少,使用方便,并且经过芯片自带的细分设置后能够很好地满足控制电机时的转动精度要求,芯片自带的衰减模式也非常利于调节电机的震动。电机驱动主要受 MSP430F149 控制用去驱动本设计的主要执行单元步进电机 ,它的好坏直接影响到执行单元的运行稳定性。综合考虑转动精度,电
6、流衰减等因素,选择方案三。1.2.4 摄像头传感器方案一:采用索尼公司的 1/3 480 线 CCD 摄像头,该摄像头具有超过 38 万的像素,清晰度很高,价格适中。该摄像头为多电源供电,供电复杂,通过CCD 摄像头采集回来的图像需要经过 AD 转换后再通过预处理器预处理,处理过程较为复杂。在实验中发现使用这种摄像头,单片机无法快速完成图像处理工作,在时间上不能给主控制器足够的时间进行步进电机控制,不能满足控制要求。方案二:采用 OV7670 摄像头集成模块,该摄像头为 30 万(640*480)像素,内部集成了 AGC、AWB、AEC 多种功能,集成度极高。OV7670 对环境的适应性好,不
7、依赖于特定环境,能很好地进行自我调节。该摄像头模块集成了一定容量的存储空间可以缓存一部分图像,对于单片机处理采集回来的图像增加了更多的时间,对于电机控制器也增加了有效的定位时间。OV7670 摄像头价格便宜,对于此次设计所需要的图像采集精度信息量完全足够,在实验中也能完全满足测试要求。摄像头作为此次设计的唯一传感器,是此设计的核心器件之一。它的好坏3直接影响到 PID 算法中的反馈信息,对执行单元的调节直接构成影响。综合以上考虑,此设计选择方案二。1.2.5 控制器方案一:采用 MSP430F149 单片机作为控制器。MSP430F149 单片机具有丰富的接口资源且为即插型可编程器件,编程方便
8、,同时它可以直接驱动96LCD。MSP430F149 功耗极低,价格便宜,是低功耗要求下的的一款首选处理器。 方案二:采用可编程器件 CPLD 作为控制器。CPLD 可以实现各种复杂的逻辑功能、规模大、密度小、体积小、稳定性高、IO 资源丰富,易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的核心,但是功耗大价格也相对昂贵。方案三:采用 STM32F4 单片机作为控制器,STM32F4 为 32 位处理器数据处理能力比普通单片机更强,并且最高可达到 72MHz 的主频,处理速度极快,端口资源丰富,价格便宜,适合作为一个自动控制系统的控制器。MSP430 系
9、列单片机在低功耗情况下是极好的处理器,但是由于 ROM 很小,MSP430 系列单片机不具备处理包含大量信息的图片,STM32 系列单片机恰好弥补了 MSP430 系列单片机在此次设计中的缺陷,考虑到功耗、价格以及数据处理能力等因素,选择方案一和方案三。MSP430F149 作为主控制器控制执行单元,STM32F4 作为副控制器负责处理摄像头采集回来的数据。2 理论分析与计算2.1 激光靶点分析2.1.1 激光点运动轨迹分析在胸环靶面上建立一个直角坐标系,根据匀速直线运动公式: ,t*VS激光点从任一点到达指定点它的位移等于 X 方向与 Y 方向的和位移,由此可知4(2-1)2Syx通过运动路
10、径分析(如图 2) ,只要分别满足了 X 方向和 Y 方向的位移,则它的运动轨迹即和位移也就确定了,就可达到任一点移动要求。xy0s ys xs图 2 运动路径分析2.1.2 打靶精度分析如图 3,抽象出激光打靶的数学模型。对于同心圆,在水平方向和竖直方向所需要的位移量是相等的,即控制激光点水平和竖直移动所需要的位移量精度是相等的。根据自主选择的胸环靶以及设计要求可知:(2-2)cm30L(2-3)H5(2-4)c2(2-5)mL3(2-6)21H(2-7)tan*2(2-8)HLrt)/(L35LHL 2L 1L 3图 3 激光打靶模式数学模型根据数学模型推导如下:(2-9)2arctnHL
11、(2-10)arctn()t(3L-激光点距胸环靶水平距离H-胸环靶中心距地面垂直距离-激光点在胸环靶上最小水平移动距离对应移动角-激光点在胸环靶上最小竖直移动距离对应移动角2.2 图像定位分析2.2.1 激光点环数信息分析在胸环靶面上正上、正下、正左、正右四个方向各有一个蓝色的小圆形纸片作为标示,每个纸片距离最外环的距离为 5cm。正上方为蓝色标识 1,正下方为蓝色标识 2,正右方为蓝色标识 3,正左方为蓝色标识 4。定位坐标如图 4。64 图像定位坐标由得到的四个标识点的坐标 , , , ,),(1yxb),(2yx),(3yxb),(4yx建立一个直角坐标系,并可计算出整个胸环靶的半径为
12、,每两环之间的距离为 。4/|)|(|241xxr 7/r当检测到激光点的坐标为 时,依据 和 ( 为激光点到原点的距离)(yxrd)的关系:2yxd(2-11)1(nd就可判定激光点位置。2.2.2 激光点方位信息分析由标记点建立的坐标系可知,激光点的坐标满足如下关系:(2-12)右 下正 右右 上正 上,3,3xyxxy左 上正 左左 下正 下,33,3yxyyx时,根据激光点的坐标信息即可知道激光点对应的方位信息。73 电路与程序设计3.1 电路设计3.1.1 电源电路设计系统电源的供电设计在整个系统中至关重要,它对单片机系统是否正常工作起着关键作用。在设计中,为了达到电压稳定的目的,采
13、用 12V1A 的开关电源给系统供电,通过 LM2576 和 LM7805 稳压芯片将 12V 电压降至 5V 再经过AMS1117-3.3 给 MSP430F149 和 STM32 微控制器供电。部分电路如图 6。S2W-DPTGN1VOUI.4AkR9580EHeadrXCuf/vLF图 6 电源模块电路3.1.2 电机驱动电路设计BT6560AQH 是内含两个 H 桥的高电压大电流双全桥式多功能驱动器其电路如图 7。 8TQ21CLK3ENAB4RS5GD6O7VMU_9P0FrotecW/YHvIufids.pak X图 7 步进电机驱动模块电路3.1.3 控制电路与接口设计系统采用了
14、 MSP430 系列单片机中的 MSP430F149,其电路如图 8。y-+Jn下lhgw图 8 控制电路与接口设计93.2 程序设计此次设计中程序主要包含了图像的采集与处理算法,在得到图像信息后,主控器进入不同的模式执行不同的功能,在各个模式的执行中,主要运用 PID算法来提高控制精度。程序流程图如下所示:开始结束图像采集与处理工作模式选择模式2模式 1模式 6模式 7初始化设备模式 4模式 8模式 5模式3是否再次选择模式YN模式9图 9 主程序流程图行扫描 , 检测蓝点标记开始1 0 个像素点领域扩展记录该点坐标并标记 , 改该点为黑色行扫描 , 检测红色激光点是否 B - G 3 0
15、,B - R 2 0YN是否 B - G 3 0 ,B - R 2 0扩展领域是否 B - G 3 0 ,B - R 2 0是否已经找到 个标记点Y是否 R - B 3 0 ,R - G 2 01 0 个像素点领域扩展Y扩展领域是否 R - B 3 0 ,R - G 2 0Y记录该点坐标并标记 , 改该点为黑色返回图 10 图像处理子程序流程图104 测试方案与测试结果4.1 测试方案设计4.1.1 测试仪器器件 精度 备注直尺 1mm卷尺 1cm秒表 0.01s4.1.2 测试方法:按要求调节激光头打至所需环数,记录液晶显示器上显示的位置信息和实际的位置信息。测量激光中心点打靶时,根据蜂鸣器
16、提示记录实际的环数信息和显示器上的环数信息以及偏差距离,同时用秒表测量每次中心打靶所需要的时间。4.2 弹着点环数与方位信息显示测试及结果当激光点打到胸环靶上某一具体位置时,显示器上进行环数和方位信息的显示。测试结果如表1。表1 环数与方位信息显示测试数据序号 实际环 数 测量环数 实际方位 测量方位 环数误差 是否有方位 误差1 9 9 左上 左上 0 否2 10 10 中心 中心 0 否3 7 7 正下 正下 0 否4 8 8 右下 右下 0 否5 5 5 右上 右上 0 否114.3 弹着点图像显示测试及结果(发挥部分)当激光点打在胸环靶上时,胸环靶及弹着点的相应图形都在图形点阵显示器上
17、进行显示,同时闪烁提示。测试结果如表2。表2 弹着点图像显示测试数据显示 实际环数与方位 是否有误差序号环数 方位 环数 方位 环数 方位误差环数1 10 中心 10 中心 否 否 02 9 左上 9 左上 否 否 03 8 右下 8 右下 否 否 04 7 正下 7 正下 否 否 05 6 左下 6 左下 否 否 06 6 右上 6 右上 否 否 04.4 自动中心打靶测试及结果(发挥部分)激光点从任意指定位置打到中心点。测试结果如表3。表3 自动中心打靶测试数据序号 设定环数 是否到达中心 误差环数偏差距离耗时蜂鸣器是否指示1 9 是 0 0.6cm 1.02s 是2 6 是 0 0.8c
18、m 0.96s 是3 8 是 0 1.0cm 0.95s 是4 5 是 0 0.5cm 1.21s 是5 7 是 0 0.8cm 1.13s 是6 10 是 0 0.5cm 0.78s 是124.5 任一点打靶测试及结果(发挥部分)通过键盘设定510的任意环数,激光点自动打到设定环数。测试结果如表4。表4 任一点打靶测试数据序号 设定环数 实际环数 误差环数1 5 5 02 6 6 03 7 7 04 8 8 05 9 9 04.6 移动中心定点打靶(发挥部分)在此模式下,激光枪处于常开状态并打向中心,缓慢移动胸环靶,激光枪自动调节始终打向胸环靶中心。4.7 结论与分析通过表格中数据分析,各项指标均达到设计要求,证明该自动射击装置具有较高的可靠性、稳定性,能够快速地进行图像扫描和处理,在多种模式下快速有效的进行射击打靶。5 参考文献1 日绪方胜彦.离散时间控制系统M.西安:西安交通大学出版社 .1990.2 刘金琨.先进 PID 控制机器 MATLAB 仿真M.北京:电子工业出版社.2003.3 徐文尚.计算机控制系统M.北京:北京大学出版社 .2003.4谢楷.赵建,MSP430 系列单片机系统工程设计与实践M.北京:机械工13业出版社.2009.5黄贤武.郑莜霞,传感器原理与应用M, 成都:电子科技大学出版社,2006