迷宫论文Word格式文档下载.docx
《迷宫论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《迷宫论文Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
1任务设计与要求..........................................4
1.1设计任务.............................................4
1.2基本要求.............................................4
2.硬件系统设计...........................................4
2.1总体设计..............................................4
2.2单元电路设计..........................................4
2.2.传感器单元电路的设计................................4
2.2.2电机驱动单元电路的设计..............................5
2.2.3电源模块单元电路的设计..............................6
2.2.4液晶显示单元电路设计................................6
3软件系统设计............................................6
3.1总体设计..............................................6
3.2各子模块的设计........................................6
3.2.1转弯模块的设计......................................6
4.系统程序:
..............................................6
5.心得体会与致谢.........................................10
6.参考文献...............................................10
7.附录:
...............................................10
1.任务设计与要求
1.1设计任务:
设计并制作了一个智能小车,使其按一定规格的迷宫路线以最短的时间顺利行驶,直至到达迷宫的终点。
1.2基本要求:
(1)车辆从起跑线出发(出发前,车体不得超出起跑线)。
(2)小车能自动感应障碍物的存在并避开。
(记录显示装置要求安装在车上)。
2硬件系统设计
2.1总体设计
有光敏传感器进行信号采集,经电压比较器LM393处理后直接传给AT89C52,单片机对信号按照预定的程序进行处理,将处理的结果通过IO口传给74LS08,通过与PWM波合成后给L298N(直流电机驱动芯片)信号,通过L298N进行控制小车两轮子,以实现左右微调,左右转弯,前进与原地旋转等动作。
小车每到路口都进行相关的记忆处理,以便最优返回。
图2.1总体设计框架图
2.2单元电路设计
2.2.1传感器单元电路的设计
图2.2传感器单元电路
当传感器进入迷宫中时,由发射管发射的不可见光被吸收,不能被接收器接收到,故接收一侧电路不导通,LM393的同向输入为高,输入比较器输出为高,其输出高电压为5V,低电压为0V,故可以直接传给单片机。
而电压比较器的输出端所接的LED能够实时的显示传感器的工作状况。
本题目要求小车能顺利走出迷宫,由于迷宫比较复杂且小车相对运动速度快,故要求传感器单元必须较为灵敏,相应时间短,反应速度快。
我们采用的LM393电压比较器,其工作电源电压范围宽,单电源、双电源均可工作,消耗电流小,输入失调电压小,共模输入电压范围宽,反应时间快,其内部结构图如图2.3所示。
图2.3LM393内部结构图
2.2.2
电机驱动单元电路的设计
图2.4电机驱动电路图
由于要对电机实行加速减速刹车的控制,故采用由L298N和74LS08构成的驱动电路,由1.0和1.1口负责控制1号电机的前进与后退,而与他们一起走与门74LS08的1.4口负责输出PWM波,由PWM波负责控制小车的减速与加速以及制动的控制。
同时与门也起到了扩大单片机输出电流的作用,由于L298N需要的输入电流AT89C52无法驱动,与门在此起到一定的上拉作用。
因为要用单片机对电动机进行四象限的控制,由于控制象限的复杂以及驱动电机功率的问题,这里我们需要采用电动机驱动芯片来实现,我们采用的是L298N这款电机驱动芯片,该芯片具备控制简单,反应快,输出功率大,支持外接电机工作电源等一系列优点。
其结构图如图2.5所示。
图2.5L298N内部结构图
2.2.3电源模块单元电路的设计
图2.6电源模块单元电路图
由于整个控制板都需要5V电压,考虑到电池随着使用时间的增强,电压会有所下降,故我们选用直流稳压电源9V进行供电,由于多方同时分流,有可能造成电量不足,为了保持电压能够稳定在5V,故选用L7805进行稳压。
在其输出输入端口各并联一个电容,以起到保护芯片的作用。
2.2.4液晶显示单元电路设计
图2.8液晶显示单元电路图
采用1602液晶进行时间和方向的显示,我们采用单独的AT89S52来控制液晶,减少其对小车控制的干扰,然后由2根数据线让其与主控AT89S52进行通信,以此来显示小车运行的时间和方向。
图2.8中R38用来控制液晶字幕的清晰度,R37用来控制液晶屏幕的对比度。
3软件系统设计
3.1总体设计
小车自上电时程序开始运行,我们依着左手原则为小车寻迹方法,左为先。
自上电后小车进入初始化阶段之后转入主函数,我们将小车能遇到的各种情况进行一一排列出来,这样无论传感器反馈回来什么样的信号都有与之对应的命令,分为以下10种情况:
左微调,右微调,前进,左转,右转,T型,左T,右T,十字路口,死胡同。
3.2各子模块的设计
3.2.1转弯模块的设计
为了让小车能够顺利并且及时的停止转弯,我们将其转弯的停止标志设为当检测前方是否有路的传感器遇到障碍物,即表示其已完成转弯,这样避免了小车转弯过大或者过小的问题。
#include<
reg52.h>
sbitdj1_1=P1^0;
sbitdj1_2=P1^1;
sbitdj2_1=P1^2;
sbitdj2_2=P1^3;
sbitcgqzuo=P2^3;
sbitcgqzhong=P2^4;
sbitcgqyou=P2^5;
#defineucharunsignedchar;
#defineuintunsignedint;
uchartimer,z,x,y;
ucharpwmzj,pwmzt,pwmyj,pwmyt;
uintt=0;
voidzd()
{TMOD=0x01;
TH0=0x00;
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
}
voiddelay(z)//(Nouchar)
{ucharx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
voiddjzuojin(pwmzj)
{if(timer<
pwmzj)
{dj1_1=0;
dj1_2=1;
}}
voiddjzuotui(pwmzt)
{if(timer<
pwmzt)
{dj1_1=1;
dj1_2=0;
voiddjyoujin(pwmyj)
pwmyj)
{dj2_1=0;
dj2_2=1;
}}
voiddjyoutui(pwmyt)
pwmyt)
{dj2_1=1;
dj2_2=0;
voidjin()
{djzuojin(22);
djyoujin(22);
voidzuo()
{djzuotui(21);
djyoujin(22);
}
voidyou()
djyoutui(21);
voidtui(){
djzuotui(22);
main(){
zd();
while
(1)
{if(timer>
=23)
{dj1_1=0;
dj2_1=0;
if(cgqzuo==1&
&
cgqzhong==1&
cgqyou==1)
jin();
if(cgqzuo==0&
cgqzhong==0&
{tui();
delay(20);
you();
delay(50);
cgqyou==1){
tui();
cgqyou==0)
zuo();
cgqyou==0)
cgqyou==1)
delay(100);
delay(200);
}}}
voidzhongduan0(void)interrupt1
{TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
timer++;
timer=timer%50;
5.致谢
感谢在本次设计参赛中老师对我们的指导和帮助,我们会以优异的赛绩来回报老师。
6.参考文献
谭浩强第二版《C程序设计》
马西秦第三版《自动检测技术》
元件清单:
元件
数量
AT89S52单片机
1片
1602LCD
小车
1部
发光二极管
若干
带锁按钮
2个
不带锁按钮
3个
12MHz晶振
1个
16位排线
1条
排针
电阻
电容
导线