四川省大学生电子设计大赛 坦克打靶设计报告.docx
《四川省大学生电子设计大赛 坦克打靶设计报告.docx》由会员分享,可在线阅读,更多相关《四川省大学生电子设计大赛 坦克打靶设计报告.docx(26页珍藏版)》请在冰豆网上搜索。
四川省大学生电子设计大赛坦克打靶设计报告
2010年
四川省
电子设计大赛
C题
参赛学校:
成都理工大学
参赛选手:
指导老师:
坦克打靶设计报告
【摘要】:
本系统采用反射式红外光电传感器ST188对引导轨迹和炮击点进行检测,用光敏三极管对目标靶的光源进行定位,并通过MSP430单片机编程控制ST188和光敏三极管以及直流电机、步进电机等使坦克快速完成循迹、行进、扫描、定位、发炮等系列动作,实现激光打靶,并适时的伴有声光报警。
【关键词】:
坦克、轨迹探测、炮击点检测、光靶检测、声光报警
【Abstract】:
Weadoptthephotointerrupter(Reflective)ST188todetecttheorbitandshellingpointinthissystem.Also,weusethephototransistortolocatethelighttarget.BYwritingtheprogramsofMSP430,wecantakecontrolofST188,phototransistor,D.C.motorsandstepmotorandsoontotakeaseriesofactionsquickly,includingtracking,marching,scanning,locating,andshelling,thatis,tofinishshootingwithlaser.Duringthecourse,acousto-opticalarmistimelyused.
【Keywords】:
Tank、OrbitDetection、ShellingpointDetection、
LightTargetDetection、acousto-opticalarm
目录
1.方案论证………………………………………4
1.1总体方案…………………………………4
1.2单元电路方案比较……………………………4
1.3提高效率的方法及实现方案…………………
2.电路设计及参数计算……………………………6
2.1主回路器件的选择及参数计算…………………6
2.2控制电路设计与参数计算……………………6
2.3效率的分析与计算……………………………7
3.电路图及设计文件……………………………8
3.1主回路及单元电路图………………………8
3.2设计流程图…………………………………11
3.3程序设计…………………………………14
4.测试方法与数据………………………………16
4.1测试仪器…………………………………16
4.2测试条件…………………………………17
4.3测试方法…………………………………17
4.4测试数据…………………………………17
5.问题分析及改进方法…………………………18
5.1问题分析…………………………………18
5.2改进方法…………………………………19
1.方案论证
1.1总体方案
根据题目要求,系统划分为控制部分和信号检测部分。
其中,控制部分包括两个直流电机的驱动模块、一个步进电机的驱动模块和声光报警模块;信号检测模块主要是引导轨迹及炮击线的检测模块和检测目标靶上光源的模块。
本系统主体采用ST188对引导轨迹和炮击线进行检测,用光敏三极管对目标靶的光源进行定位,用直流电机驱动小车行进,用步进电机对炮塔进行控制,并通过MSP430单片机编程控制使坦克按要求实现激光打靶,并适时的伴有声光报警。
1.2部分单元电路方案比较
1.2.1引导轨迹探测模块设计方案与比较
方案一:
利用发光二极管发光,用光敏二极管接收
由于光敏二极管受可见光的影响较大,误测几率大,稳定性差,使用过程中易出现问题。
方案二:
采用CCD传感器
采用CCD单色摄像头配计算机主板及图像采集卡,虽然能对引导轨迹进行准确完备的反应,但它成本高,体积大,而且它的使用会加重单片机的处理负担,不利于实现更好的控制策略。
因而在小车上,CCD传感器很难得到实际应用。
方案三:
利用三只反射式红外光电传感器ST188
ST188体积小,成本低,数据处理方便,同时易于控制。
其内部采用的高发射功率红外光电二极管和高灵敏度光电晶体管,使灵敏度和可靠性得到保证。
测量时采用非接触测量的方法,易于实现。
综上所述,本系统采用三只反射式光电传感器ST188,临近置于车头,以进行引导轨迹的探测和小车行进方向的控制。
1.2.2炮击点检测设计方案与比较
炮击点的设置采用黑线,故原理同引导轨迹的探测部分类似,仍然可以采用ST188。
利用两只反射式红外光电传感器ST188置于车头两侧,对炮击点黑线进行探测。
1.2.3目标靶探测设计方案与比较
方案一:
光敏电阻
光敏电阻要求外部光源极稳定,易受环境光线和测试路面状况的影响。
当光敏电阻受到脉冲光照时,光电流要经过一段时间才能达到稳态值,光照突然消失时,光电流也不立刻为零。
这说明光敏电阻有时延特性。
方案二:
光敏二极管
光敏二极管的光电流小,输出特性线性度好,响应时间快。
虽然一定程度上,外界光线较强时会受影响,但是光敏二极管的探测电路简单,面积小,使用简单。
方案三:
光敏三极管
光敏三极管的光电流大,响应时间稍慢,但较光敏二极管有更好的灵敏度。
实际制作中,光敏三极管易坏,稳定性无法保证。
综上所述,本系统采用相对保险的方案二光敏二极管,并对其采取一定的遮光措施。
1.2.4电机部分设计方案与比较
1.2.4.1直流电机
方案一:
H型全桥式驱动电路
这种电路可以方便的实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。
但实际中使用独立原件构成H型电路,略显麻烦。
方案二:
继电器+半导体功率器件
继电器有着电流大,工作稳定的优点,可以大大简化驱动电路的设计。
继电器是用小电压控制大电压电路,比较安全,但继电器电路中要注意防电弧放电。
方案三:
采用L298驱动芯片
L298芯片是集成有桥式电路的电机专用驱动芯片,性能比较稳定可靠。
加上保护电路和隔离电路,抗干扰能力更高。
实际使用中,较H型全桥更为方便。
综上所述,本系统采用方案三,使用L298驱动芯片驱动直流电机。
1.2.4.2步进电机
方案一:
H型全桥式驱动电路
电流在绕组中运行的方向是完全相反的,推动级的信号逻辑应使对角晶体管不能同时导通,以免造成高低压管的直通而烧坏。
另外,步进电机的开环特性非常好,能比较精确的控制转角。
方案二:
采用ULN2003驱动芯片
ULN2003是高耐压、大电流、达林顿管陈列,由七个硅NPN达林顿管组成的集成块。
实际使用中较分离原件更为方便,效果也更好。
综上所述,本系统采用方案二,使用ULN2003专用驱动芯片驱动步进电机。
步进电机和直流电机一样都是将电能转换成机械能。
步进电机将电脉冲转换成特定的旋转运动,每个脉冲所产生的运动是精确的,并可重复。
步进电机产生的是扭力,直流电机更侧重于提供动力。
本系统采用L298驱动直流电机为两后轮提供动力,用ULN2003驱动步进电机进而控制坦克的炮塔。
1.2.5声光报警电路设计方案与比较
方案一:
使用简单的LED、电阻、三极管、蜂鸣器
此方法构成的电路极为简单,控制起来也极为方便,使用效果明显。
方案二:
使用555集成块
使用555构成的声光报警电路,虽然效果也很好,发声清脆,但其电路相对复杂,控制稍显不便。
综上所述,同等情况下,本系统采用方案一,便可以很好地进行测试中的声光报警。
1.3提高效率的方法及实现方案
为提高电路的抗干扰能力,步进电机的驱动电路亦可以在与单片机接口处通过光耦元件连接进行隔离。
各个模块的使用都需要程序来驱动,因此驱动程序的编写优化显得至关重要。
一个好的驱动程序可以极大的提高整个系统的运行效率。
传感器ST188及光敏二极管的选用,其参数应尽量接近,如果可能的话,最好参数一致。
2.电路设计及参数计算
2.1主回路器件的选择及参数计算
主回路控制器采用TI公司MSP430F149款单片机,用以驱动系统各模块电路。
其采用了数字控制振荡DCO,从低功耗模式到唤醒模式耗时不超过6us。
它具有丰富的片上外围模块和强大的处理能力,功耗低,编程灵活,广泛应用于各个领域。
2.2控制电路设计与参数计算
2.2.1引导轨迹及炮击线循迹模块的设计与参数计算
引导轨迹的检测采用5个反射式红外光电传感器ST188来实现。
其摆放位置至关重要。
本系统将5个ST188摆放车头一直线上,中间三个临近,内侧距离为8mm,另两个置于偏两侧,距离最中间一个40mm。
炮击线的检测采用两个ST188,原理同引导轨迹。
此两个ST188摆放较引导轨迹用ST188稍靠后,置于两侧,其内侧距离43mm。
2.2.2目标靶光源检测模块的设计及参数计算
将参数一致光敏二极管在水平面上按不同角度展开,在寻找光源时根据每个光敏二极管接收到光线的有无或强弱来得出光源的位置即射击目标点。
靶场分布参数、光靶的设置:
靶场长L=4m光靶与靶场最远距离D=3m光靶长l=50cm。
考虑打靶的极限距离为(4-0.25)*(4-0.25)+3*3的算术平方根约为4.8m,最小为1.5m。
因此,光源检测的理想感光距离最好在3——4m。
2.2.3直流电机的驱动模块设计及参数计算
直流电机的驱动使用集成有桥式电路的电机专用驱动芯片L298,性能比较稳定可靠。
但直流电机启动电流很大,可达额定电流的10~20倍。
这样大的启动电流,会使电刷下产生强烈的火花,对电刷与换向器有较大的损坏,因而应把启动电流限制在额定电流的2.5倍。
2.2.4步进电机驱动电路模块设计与参数计算
步进电机的驱动主体是采用高耐压大电流达林顿管陈列由七个硅NPN达林顿管组成的集成块ULN2003。
其灌电流可达500mA,并且能在关态时承受50V的电压。
2.3效率的分析
整体上,该系统能很好地完成基础部分的设计要求,发挥部分部分任务能很好地完成。
效率虽低,亦还还可以提升的。
3.电路图及设计文件
3.1主电路及单元电路图
3.1.1MSP430F149
整个系统的控制核心采用MSP430F149构成的最小系统。
其核心如图:
3.1.2引导轨迹及炮击线
引导轨迹及炮击线的检测都采用多个反射式红外光电传感器ST188并用来实现。
单路具体电路如图所示:
该电路连接简单,光电传感器输出的信号送入集成运放LM324AD。
用LM324来确定红外接收信号电平的高低,以电平高低判断黑线有无。
通过改变LM324输入端所接滑线变阻器的阻值来提供合适的比较电压。
3.1.3目标靶上的光源检测
系统采用光敏二极管来检测目标靶上的光源。
将四个二极管成一定角度在坦克炮筒下展开,便于从各个方向检测光源。
其电路采最为简单的与电阻直接相连。
精度问题,由MSP430单片机内的AD进行序列通道单次转换来处理。
具体电路如图所示:
3.1.4直流电机
直流电机启动电流大,在L298驱动电机的两个引脚上加装八个续流二极管,电源通过电容交流到地,可以起到一定的保护作用。
另外,前级输入时采用了光电隔离电路,从而可以避免直流电机对前级单片机的干扰。
3.1.5步进电机
采用ULN2003实现步进电机的驱动,电路连接简单,工作相对也比较可靠,成本低,技术成熟。
其原理图如下:
3.1.6声光报警电路
使用简单的LED、电阻、三级管、蜂鸣器构成如下电路。
如图:
该电路简单而适用,效果亦很好。
3.2设计流程图
3.2.1单片机主体控制框图
整个系统可由各个单元模块组成,他们都受控并服务于MSP430单片机。
其主体控制框图如图所示:
单片机控制系统方框图
3.2.2引导轨迹检测流程图
引导轨迹的检测主要源于ST188传感器的循迹。
其过程图如下:
引导轨迹检测流程图
事实上,直流电机的驱动过程、光靶的检测以及步进电机的驱动与此类似,具体实现由软件编程实现。
3.2.3系统整体流程图
系统整体完成功能的过程如图所示:
3.3部分程序文件及其实现功能
引导轨迹探测部分:
#pragmavector=PORT2_VECTOR
__interruptvoidport2_int(void)
{
/*如果最右边的产生中断则左转并点灯报警*/
if((P2IFG&BIT0)==BIT0)
{
P4OUT&=~BIT0;
P4OUT&=~BIT1;
P4OUT|=BIT2;
P4OUT&=~BIT3;
P4OUT&=~BIT4;
P4OUT|=BIT5;
}
/*如果最左边的产生中断则右转并点灯报警*/
if((P2IFG&BIT4)==BIT4)
{
P4OUT&=~BIT2;
P4OUT&=~BIT3;
P4OUT|=BIT0;
P4OUT&=~BIT1;
P4OUT&=~BIT4;
P4OUT|=BIT5;
}
/*如果右边的产生中断则左转并灭灯关报警*/
if((P2IFG&BIT1)==BIT1)
{
P4OUT&=~BIT0;
P4OUT&=~BIT1;
P4OUT|=BIT2;
P4OUT&=~BIT3;
P4OUT|=BIT4;
P4OUT&=~BIT5;
}
/*如果最左边的产生中断则右转并灭灯关报警*/
if((P2IFG&BIT3)==BIT3)
{
P4OUT&=~BIT2;
P4OUT&=~BIT3;
P4OUT|=BIT0;//left+
P4OUT&=~BIT1;//left-
P4OUT|=BIT4;
P4OUT&=~BIT5;
}
/*正中间的产生中断则前进并灭灯关报警*/
if((P2IFG&BIT2)==BIT2)
{
P4OUT|=BIT0;//left+
P4OUT&=~BIT1;//left-
P4OUT|=BIT2;//right+
P4OUT&=~BIT3;//right-
P4OUT|=BIT4;
P4OUT&=~BIT5;
}
if((P1IN&BIT0)!
=BIT0)
{
if(((P2IFG&BIT5)==BIT5)||((P2IFG&BIT6)==BIT6))
{
P4OUT&=~(BIT0+BIT1+BIT2+BIT3);//电动机停转
P4OUT&=~BIT4;//亮灯
P4OUT|=BIT5;//报警
flag1=1;
}
}
if((P1IN&BIT0)==BIT0)
{
if(((P2IFG&BIT5)==BIT5)||((P2IFG&BIT6)==BIT6))
{
P4OUT|=BIT4;
P4OUT&=~BIT5;
flag1=1;
}
}
P2IFG=0x00;//清除标志位
}
备注:
此部分程序除了实现引导轨迹的探测外,后面粗体部分相当于基础部分与发挥部分的选择分隔选择程序,由外部输入P1.0实现。
60s超时报警部分:
voidInit_Timer_A(void)
{
TACTL=TASSEL1+TACLR;//SMCLK,clearTAR
CCTL0=CCIE;//CCR0interruptenabled
CCR0=65535;
TACTL|=MC1;//StartTimer_Aincontinuousmode
}
#pragmavector=TIMERA0_VECTOR
__interruptvoidTimerA0(void)
{
m++;//m为之前声明的unsignedint型全局变量
while(m>=7285)
{
P4OUT&=~(BIT0+BIT1+BIT2+BIT3);
P4OUT&=~BIT4;//亮灯
P4OUT|=BIT5;//报警
}
}
备注:
实际测试中,坦克运行良好,此部分并未得到展示,故特意在此列出。
其主体是由初始化子函数和中断服务程序构成。
另外,直流电机驱动程序、步进电机驱动程序、光源探测的ADC程序等不再一一列出。
4.测试方法与数据
4.1测试仪器
秒表、电子秤、铁块
4.2测试条件
按题目给定的尺寸条件,自制实验场地及光靶,·让坦克沿引导轨迹行进并完成打靶。
测试可分在白天黑夜进行。
4.3测试方法
测试之前连线需要注意的是基础部分与发挥部分略有不同。
根据所编写程序的要求,基础部分测试时候P1.0需接在P1.1上,发挥部分需将其接在P1.2上。
基础部分:
将坦克放于起跑线,开启电源开关,秒表开始计时。
当坦克检测到第一条炮击线时,发炮完成激光打靶并给予声光报警。
记录全程行驶时间、基准偏离次数、和累计弹着点偏差。
发挥部分:
负重发挥部分基本方法类似。
用电子秤称负重质量,记录。
并记录全程行驶时间、基准偏离次数、和累计弹着点偏差。
4.4测试数据
总共进行10次测量,基础部分和发挥部分各五次。
记录全程行驶时间、基准偏离次数、和累计弹着点偏差如下:
5.问题分析及改进方法
5.1问题分析
实验中出现一些问题:
感光部分不灵敏,以至于有时候检测不到光,源弹着点偏差稍大。
直流电机驱动的轮子运行不太平稳,摆动大,影响循迹的准确性。
5.2改进方法
本系统着重设计的是简单实用的简易系统,部分选材上有所舍弃,改进后效果自是可以大幅提升。
。
感光的传感器部分,实际测试中效果并不算很理想,如能换得可靠性更强感光性更好参数更一致的元件,弹着点偏差就会偏小。
另外,可将驱动轮子的直流电机更换为PWM控制的步进电机,其开环特性非常好,能够不经过闭环控制而达到很高的控制精度,可以更好地控制转角,减小车体摆动,车速也相应提高,可以缩短系统运行时间。
总体上,该系统还有提升的空间。