车电子竞赛论文.docx
- 文档编号:24581820
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:33
- 大小:273.98KB
车电子竞赛论文.docx
《车电子竞赛论文.docx》由会员分享,可在线阅读,更多相关《车电子竞赛论文.docx(33页珍藏版)》请在冰豆网上搜索。
车电子竞赛论文
2006年吉林化工学院电子设计竞赛
自动排爆车
参赛队员:
王雷雷、李源、张潇
张东旭、吴丽娟
指导教师:
刘刚
目录
摘要3
1.方案比较与论证4
1.1方案一4
1.2方案二4
1.3方案论证4
2.系统设计4
2.1总体要求4
2.2总体设计5
2.3系统设计详细电路图5
2.3模块设计7
电机驱动模块设计7
光电隔离模块设计8
金属传感器模块8
寻迹模块9
2.4单片机嵌入式操作系统设计13
(1)总体设计思路13
(2)WDT中断处理13
(3)P1中断13
(4)P2中断13
3、系统调试14
3.1.硬件调试14
(1)车体驱动电源14
(2)行程开关14
3.2.软件调试15
4、指标测试15
4.1.测试仪器15
4.2.测试指标15
4.3测试结果15
5、结论15
摘要
该作品主要制作一个自动排爆小车,共有七部分组成,分别为车架、单片机系统、驱动电路、寻迹电路、光电隔离电路、摆臂电路、金属探测及金属处理电路组成。
车架用来支撑和摆放各电路及达到运动的目的;单片机系统是通过控制各部分电路达到控制整个小车有序运动及显示运动时间的目的;驱动电路是给各个部分供电;寻迹电路是用来采集‘黑线’信号;光电隔离电路是把外部高电压与单片机隔离开,达到保护单片机的目的;摆臂电路是控制横臂的转动;金属探测及金属处理电路是通过金属探测器来探测并将探测到的信号送回单片机系统,通过单片机系统反馈出的信号来控制对金属的拾、放动作。
该系统的主要实现对可疑金属的探测及对可疑金属的处理,通过寻迹电路使车体在预定的范围内行使,同时金属探测及处理电路对可以金属进行扫描及扫到后的处理。
光电隔离可以有效保护单片机系统的安全工作。
1.方案比较与论证
1.1方案一
让车从四周以螺旋线轨迹向中间移动,并在车头装上横向扫描的探头,车每行动一步,让探头来回扫描一次。
但很快被否决了,因为想让车以螺旋线行走,得经过很复杂的计算,包括行进时车体旋转角度及行动距离,并且必须使用步进电机,步进电机功耗较大,因此舍弃了此方案。
芯片的选用,我们选用msp430f449。
因为430系列芯片一款精简指令、超低功耗的芯片,外部电路灵活而且功能强大。
而51虽然比较普遍,比起430功能实现比较困难,不适合制作本系统,因此选用了msp430f449
1.2方案二
除一些最基本的电路外,整个设计都以msp430f449单片机为载体,该单片机功耗极低,外部电路灵活而且功能强大,有多种省电模式,大大节约了能源。
1.3方案论证
经过比较,虽然两种方案都可以实现此功能,但51需要的外部电路特别复杂,因此实现起来比较困难,而且功耗比起msp430要大很多,因此我们选用了方案二作为最终方案。
2.系统设计
2.1总体要求
设计并制作一个能自动进入危险现场排除险情的简易排爆机器人小车,危险现场如图1所示。
进入危险现场通道起点距危险现场1.3m,通道宽25cm,画有1cm宽的黑色中心线,危险现场为直径1m的圆形平面场所,边长1.5cm的可疑铁磁材料薄片任意放置于场内,现场所有的边界均为宽2cm的黑线。
1.要求机器人小车进入现场找到可疑铁磁材料薄片,并将其转移到防爆处理库的危险品储仓,在整个搜索和转移过程中机器人小车除探头和机械手外均不得接触边线和可疑铁磁材料薄片。
图1现场示意图
2.送入危险品储仓后机器人小车要回到出发点。
2.2总体设计
首先,让车沿黑线直线进入圆内,行进的同时通过车体周围的寻迹传感器随时矫正车体,防止车轮触及黑线。
进入圆形区域后,让车体沿左边沿着圆环内圈运动,同时让摆臂向右摆动,摆臂前的金属探头开始扫描。
扫描一次,当摆臂碰到行程开关后,让摆臂往回摆动,摆臂复位,碰到另一个行程开关,一次扫描结束。
小车边运动,摆臂边扫描,如此往复运动,直到扫描到可疑金属后,摆臂稍做调整,用电磁铁将可疑金属物吸起,发出声光警报,并让摆臂复位。
小车沿着圆内线继续运动直到扫描到通道中间的黑线,车体骑着黑线运动。
到危险品储仓时,让车转过90度角,进入仓库,把危险品放入防爆处理库。
车体转过180度角,离开车库。
最后回到出发点。
整个过程,时间由液晶显示频显示。
2.3系统设计详细电路图
图一为msp430f449基本功能电路图
图二为外围电路电路图
2.3模块设计
本方案硬件方面运用了电机驱动模块、光电隔离模块、金属传感器模块、寻迹模块。
在软件方面运用单片机嵌入式操作系统,实现了对单片机的控制及时间的显示功能。
电机驱动模块设计
电机驱动主要由L293D构成,由外部的输入IN1与IN2经芯片比较,通过控制输出的OUT1和OUT2高低电平来控制电机的正反转与停止。
光电隔离模块设计
光电隔离主要用了发光管和受光管构成。
通过对光电隔离模块的运用,使芯片只对外输出高低电平信号,不与外部高电压接触,能有效保护芯片,不至于被外部高电压所损坏。
而由芯片所发出的高低电平信号也不会由于外部信号的影响而出现混乱。
金属传感器模块
当金属探测器探测到金属时,电感线圈中的电感迅速变化,从而产生感应电流,电流经过三极管的放大,改变了输出电流。
将输出信号变送给单片机。
这样,系统就检测到金属传感器探测到可疑金属片,并对摆臂和电磁铁进行控制,使得电磁铁将可疑金属片吸引起来。
寻迹模块
如下图,寻迹传感器主要由发光管和光电管组成。
寻迹其实就是寻找黑线的过程。
当传感器工作时,有一端一定会在白纸上,另一端可能在黑线上也可能在白纸上。
其寻迹的工作原理是:
发光管两端有固定的电压,发出一定的光强,因为白纸与黑线对光的反射效果不同,因此光电管在同一光强上表现的吸收效果就不同,从而表现出的外部特性即电阻阻值出现较大变化,导致与其串联的电阻两端电压出现明显变化,将两个传感器输出的电压值做比较,就可以得出传感器是在白纸上还是在黑线上,达到寻迹的目的。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
红外探测器探测距离有限,一般最大不应超过15cm。
对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。
由于发光管与光电二极管在制造工艺水平比较低,所购买的元件存在明显的个体差异,因此在把二者组合的之前,我们首先对它们做了测试,以确保达到预期的目的。
具体测试方法如下:
拿同一发光管与其它光电管组合,分别测它们在同一外部条件下,在黑线与白纸上,测得与光电管串联的电阻两端的电压。
并计算出差值,从而比较并挑选出合适的发光管与光电管的组合。
具体测试数据如下:
(单位:
V)
发光管1
白纸上
黑线上
差值
光电管1
1.20
0.27
0.93
光电管2
0.81
0.21
0.60
光电管3
0.64
0.12
0.52
光电管4
1.25
0.23
1.02
光电管5
0.98
0.18
0.80
光电管6
0.96
0.16
0.80
光电管7
1.43
0.37
1.06
光电管8
0.70
0.10
0.60
发光管2
白纸上
黑线上
差值
光电管1
2.13
0.90
1.23
光电管2
1.37
0.61
0.76
光电管3
1.25
0.55
0.70
光电管4
1.64
0.61
1.03
光电管5
1.53
0.63
0.90
光电管6
2.24
1.44
0.80
光电管7
1.73
0.64
1.09
光电管8
1.37
0.41
0.90
发光管3
白纸上
黑线上
差值
光电管1
2.02
0.93
1.09
光电管2
1.55
0.57
0.98
光电管3
1.21
0.55
0.66
光电管4
1.83
0.81
1.02
光电管5
1.70
0.60
1.10
光电管6
2.12
1.01
1.11
光电管7
1.90
0.80
1.10
光电管8
1.30
0.56
0.74
发光管4
白纸上
黑线上
差值
光电管1
2.30
0.80
1.50
光电管2
1.27
0.67
0.60
光电管3
1.20
0.50
0.70
光电管4
1.80
0.70
1.10
光电管5
1.54
0.62
0.92
光电管6
1.56
0.56
1.00
光电管7
1.51
0.60
0.91
光电管8
1.20
0.50
0.70
发光管5
白纸上
黑线上
差值
光电管1
2.56
1.70
0.95
光电管2
2.00
1.07
0.93
光电管3
1.85
0.90
0.95
光电管4
2.68
1.60
1.08
光电管5
2.50
1.55
0.95
光电管6
2.35
1.35
1.00
光电管7
2.24
1.10
1.14
光电管8
1.90
0.80
1.10
发光管6
白纸上
黑线上
差值
光电管1
2.40
0.90
1.50
光电管2
1.40
0.72
0.68
光电管3
1.02
0.50
0.72
光电管4
2.00
0.98
1.02
光电管5
1.24
0.84
0.40
光电管6
1.56
0.74
0.82
光电管7
1.22
0.54
0.68
光电管8
0.85
0.44
0.41
发光管7
白纸上
黑线上
差值
光电管1
1.45
0.60
0.85
光电管2
1.01
0.40
0.61
光电管3
0.24
0.02
0.22
光电管4
1.01
0.35
0.66
光电管5
1.20
0.54
0.66
光电管6
1.20
0.46
0.74
光电管7
1.30
0.52
0.78
光电管8
0.85
0.27
0.58
发光管8
白纸上
黑线上
差值
光电管1
2.50
1.66
0.84
光电管2
2.12
1.15
0.97
光电管3
0.45
0.27
0.18
光电管4
2.41
1.44
0.97
光电管5
1.76
0.89
0.87
光电管6
1.10
0.35
0.75
光电管7
1.40
0.60
0.80
光电管8
0.78
0.27
0.51
初步选定组合:
发光管
光电管
白纸上
黑线上
差值
1
1
2.28
0.76
1.52
2
8
2.45
1.16
1.29
3
6
0.90
0.34
0.54
4
4
1.45
0.55
0.90
5
3
1.56
0.68
0.88
6
7
1.32
0.57
0.75
7
2
1.86
0.84
1.02
8
5
1.23
0.48
0.75
经过进一步的测试,最终选定了以下六组
发光管
光电管
1
1
2
8
4
4
5
3
7
2
6
5
红外探头的安装
在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,在小车底盘安装6个红外探头。
2.4单片机嵌入式操作系统设计
(1)总体设计思路
开始工作后,首先对单片机各功能模块进行初始化:
将定时器、LCD显示器、各个端口分别进行初始化,然后小车开始运动。
(2)WDT中断处理
WDT在工作中起主要作用,处理大部分的中断,包含了小车在行进过程中的主要函数功能的完成。
(3)P1中断
P1端口负责在小车行进中通过行程开关控制摆臂往返运动。
(4)P2中断
P2端口负责金属探测(探测到金属后产生中断)。
3、系统调试
3.1.硬件调试
(1)车体驱动电源
原方案:
只用一个电源给小车(除单片机外)供电,发现小车耗电量很大,一段时间后就不能正常工作。
改进:
用双电源分别给电机供电,使小车可以长时间稳定工作。
(2)行程开关
原方案:
将行程开关放在两段(图一),其中一个行程灵活性不好,碰到后不能正常返回。
改进:
将一个开关用线与摆臂相连,用摆臂给线的牵引力代替碰撞,解决了这个问题。
(如下图)
3.2.软件调试
因为红外管的性能影响,在白天和晚上的时候光电探头的A/D转换部分在程序设计的黑线和白纸上差异较大。
因此,要根据当时的光强确定其比较数值。
4、指标测试
4.1.测试仪器
电源、金属铁片、白纸黑线场地
4.2.测试指标
(1)车轮是否触及边线
(2)电磁铁能否将可疑金属片吸起
(3)能否正常返回
4.3测试结果
由于光电探头与车轮几乎在一条直线上,因此运动时可能会稍微触及边线。
电磁铁基本都可以吸引铁片。
正常返回时,在入库的时候,车容易迷失方向。
5、结论
本次设计我组基本完成了题目要求,在整个竞赛过程中独立设计了众多模块,实现了多项题目要求。
因为个人能力所限,及所购买的元件质量问题,我们的作品仍然存在着很多问题,请评委批评指正。
6、收获
通过本次的电子竞赛,让我们学到了许多书本上学不到的许多知识。
在刘老师的精心指导和大家互相协作的基础上,我们基本完成了本次任务,并且认识到了合作的重要性。
在电子竞赛中学到的知识,能让我们在以后学习生活中受益无穷。
大家都希望以后可以有更多的机会去多锻炼自己。
小车整个排爆过程:
1.直线阶段:
光电探头5始终沿中间的黑线前进(正对),探头4(左侧)负责检测左边路黑线,当检测为黑线时小车向右转(车体一直来回摆动),而检测不为黑线时,小车左转,就这样探头4控制着小车沿左边路黑线行进。
2.进入雷区:
当探头5离开中间黑线时,表明小车进入雷区,此时小车启动扫描程序。
具体步骤为让小车前进一小段距离(小于金属探测器探测范围),摆臂一次,直到探测到金属片,启动电磁铁,进行拾取。
具体为:
发现金属片后,让小车单步后退(距离小于电磁铁吸引范围),然后用电磁铁吸引金属片。
3.拾取后,小车返库阶段:
小车沿左边线前进,同时开启探头6,当6检测到黑线时,说明小车已处于仓库入口,调整车速,沿一定角度入库。
同时开启光电探头1检测到黑线时左转,探头3检测到黑线时车体右转。
当1检测到两次以上黑线时,开启探头2,沿入库的黑线进入。
当2检测到白色区域,说明小车就位,放下金属片,进入调头步骤,原地左转(左轮后退,右轮前进)。
4.回起点:
当光电探头1检测到黑线时左转,探头3检测到黑线时车体右转。
当1检测到两次以上黑线时,读取探头2。
当1、2、3全部检测到黑线时,车左转。
当探头3检测到白色区域,再次检测到黑线时,读取探头1,沿着边线运动。
当1、2、3全部检测到黑线时,车转身回到初始位置。
(注:
关闭与开启的意思就是是否读取数据)
整个过程的源程序
/*调试内容:
整个排爆过程*/
/********输入、输出端口分配*******/
/*
寻迹传感器OUT1P6.0/A095
寻迹传感器OUT2P6.1/A196
寻迹传感器OUT3P6.2/A297
寻迹传感器OUT4P6.3/A302
寻迹传感器OUT5P6.4/A403
寻迹传感器OUT6P6.6/A604
左电机E1端P3.5/TB466
左电机IN1端+P3.368
左电机IN2端-P3.467
右电机E2端P2.2/TB177
右电机IN3端-P3.170
右电机IN4端+P3.269
摆臂电机E1端P2.3/TB276
摆臂电机IN1端+P2.772
摆臂电机IN2端-P3.071
行程开关1P1.087
行程开关2P1.186
金属传感器OUTP2.574
电磁铁驱动信号P2.673
声光报警P3.6/TB565
*/
/*********光电探头数据范围*********/
/*ADC_result[0]>340&&ADC_result[0]<400//A0光电探头1
ADC_result[1]>310&&ADC_result[1]<360//A1光电探头2
ADC_result[2]>320&&ADC_result[2]<360//A2光电探头3
ADC_result[3]>355&&ADC_result[3]<480//A3光电探头4
ADC_result[4]>370&&ADC_result[4]<400//A4光电探头5
ADC_result[5]>350&&ADC_result[5]<365//A4光电探头6
*/
#include
chardigit[10]=
{
0xD7,/*"0"LCD段a+b+c+d+e+f*/
0x06,/*"1"*/
0xE3,/*"2"*/
0xA7,/*"3"*/
0x36,/*"4"*/
0xB5,/*"5"*/
0xF5,/*"6"*/
0x07,/*"7"*/
0xF7,/*"8"*/
0xB7/*"9"*/
};
intccr2,ccr1=80,ccr4=50,ccr0=512;
/*ccr2摆臂电机调速,ccr1右电机调速,ccr4左电机调速,ccr0PWM周期*/
floatADC_result[6];
inta,b[6],c[8],d[4],e;//切换控制变量
inttdly[2]={1,0};//延时tdly[0]为0时进入延时模式为1时正常工作tdly[1]为延时时长
voidtd(void)/*延时函数*/
{
tdly[1]++;
if(tdly[1]==30)
{tdly[0]=1;tdly[1]=0;}
}
voidLCDclr(void)/*LCD清空*/
{
inti;
for(i=0;i<10;i++)
LCDMEM[i]=0x00;
}
voidinit_LCD(void)/*LCD初始化*/
{
LCDCTL=LCDON+LCD4MUX+LCDP1;//设置LCD4Mux,S0-S20
BTCTL=BT_fLCD_DIV32;//设置LCD频率
P5SEL=0xFC;//COM和Rxx都被选中
LCDclr();
LCDMEM[0]=0xD7;//零位
LCDMEM[1]=0xD7;
LCDMEM[3]=0xD7;
LCDMEM[4]=0xD7;
LCDMEM[6]=0xD7;
LCDMEM[7]=0xD7;
}
voidinit_TB_PWM(void)/*PWM电机调速驱动*/
{
TBCTL=TBSSEL0+TBCLR;//ACLK,清零TBR
TBCCR0=ccr0-1;//PWM周期
TBCCTL1=OUTMOD_7;//输出模式:
复位、置位模式
TBCCR1=ccr1;//TB1占空比
TBCCTL2=OUTMOD_7;
TBCCR2=ccr2;//TB2占空比
TBCCTL4=OUTMOD_7;
TBCCR4=ccr4;//TB4占空比
P3DIR=0x3F;//P3、P2初始化
P3SEL=0x20;//TB4
P3OUT=0x0C;
P2DIR=0xCC;
P2SEL=0x0C;//TB1,TB2
P2OUT=0x80;
P2IES=0x10;
P2IE|=0x30;
P2IFG&=0x00;
TBCTL|=MC0;//增模式启动TB
}
voidADC_res(void)/*读AD数据*/
{
ADC_result[0]=ADC12MEM0>>2;
ADC_result[1]=ADC12MEM1>>2;
ADC_result[2]=ADC12MEM2>>2;
ADC_result[3]=ADC12MEM3>>2;
ADC_result[4]=ADC12MEM4>>2;
ADC_result[5]=ADC12MEM5>>2;
ADC12CTL0|=ADC12SC;//启动转换
}
voidinit_ADC12(void)/*ADC初始化*/
{
inti;
P6SEL|=0x1F;//使能A/D通道A0~A4
ADC12CTL0=ADC12ON+SHT0_2+REFON+MSC+REF2_5V;//接通并设置ADC12
ADC12CTL1=SHP+CONSEQ_1;//使用采样定时器
ADC12MCTL0=INCH_0+SREF_0;//序列开始
ADC12MCTL1=INCH_1+SREF_0;
ADC12MCTL2=INCH_2+SREF_0;
ADC12MCTL3=INCH_3+SREF_0;
ADC12MCTL4=INCH_4+SREF_0;
ADC12MCTL5=INCH_5+SREF_0+EOS;//序列结束
for(i=0;i<0x3600;i++)//延时等待启动参考电源
{
}
ADC12CTL0|=ENC;//使能转换
ADC12CTL0|=ADC12SC;//启动转换
}
voidinit_Js(void)/*行程开关初始化*/
{
P1SEL&=0xFC;
P1DIR&=0xFC;
P1IES&=0xFC;
P1IE|=0x03;//P1.0,1.1中断使能
}
voidtimer(void)/*计时器*/
{
inttime[6];
staticinth,m,s,t,n=64;
t++;
if(t==n)
{
if(n%2==0)
n=65;
else
n=64;
s++;
t=0;
if(s==60)
{
m++;
s=0;
if(m==60)
{
h++;
m=0;
if(h==24)
h=0;
}
}
LCDclr();
time[0]=s%10;
time[1]=s/10;
time[2]=m%10;
time[3]=m/10;
time[4]=h%10;
time[5]=h/10;
LCDMEM[0]=digit[time[5]];
LCDMEM[1]=digit[time[4]];
LCDM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 竞赛 论文