智能小车Word文档格式.docx
- 文档编号:18846241
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:19
- 大小:491.19KB
智能小车Word文档格式.docx
《智能小车Word文档格式.docx》由会员分享,可在线阅读,更多相关《智能小车Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
第二章主要介绍了小车的总体方案的选取,对单片机资源的分配作了说明。
第三章对小车的硬件设计进行了详细的介绍,主要介绍了电路的设计;
第四章描述了小车的软件设计和相关算法。
第五章中叙述了我们在设计过程中遇到的问题和解决方法。
第二章方案
根据设计的要求,确定如下方案:
在现有小车的基础上,加装一些模块,实现对智能小车的速度和方向的控制,自动循迹,由单片机根据所检测的各种信息实现对小车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
智能小车系统主要包括以下模块:
C51单片机模块、电机驱动模块、红外蔽障模块、LED灯模块和蜂鸣器模块一共五六个模块。
整体结构框图如图2.1所示。
图2.1智能小车系统功能模块图
以C51为核心,设计方案以实现小车能够从容自动蔽障和接受遥控控制为目的,尽可能的提高检测(信号接收)系统的灵敏度以及电机的配合程度,以增强小车的控制精确性。
2.1、单片机与伺服电机的选取
于此同时,安装KeiluVision2.
2.2、伺服电机控制信号
首先进行伺服电机的安装
while
(1)
{
P1_0=1;
//P1_0输出高电平
delay_nus(1500);
//延时1.5ms
P1_0=0;
//P1_0输出低电平
delay_nus(20000);
//延时20ms
}
第三章小车硬件设计
3.1、单片机模块
图3.1
功能:
启动电动小车,处理红外线传感器传来的信息,然后发出指令,让四个直流电机分别改变运转状态,最终实现题目所要求的功能。
3.1.1单片机的特点
1、具有优异的性能价格比2、集成度高、体积小、可靠性高3、控制功能强4、低电压、低功耗
3.1.2单片机的基本组成
它由CPU、存储器(包括RAM和ROM)、I/O接口、定时/计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。
3.1.3输入/输出引脚P0、P1、P2、P3的功能
1、P0.0~P0.7,P0口是一个8位漏极开路型双向I/O端口。
在访问片外存储器时,它分时作低8位地址和8位双向数据总线用。
在EPROM编程时,由P0输入指令字节,而在验证程序时,则输出指令字节。
验证程序时,要求外接上拉电阻。
P0能以吸收电流的方式驱动8个LSTTL负载。
2、P1.0~P1.7(1~8脚):
P1是一上带内部上拉电阻的8位双向I/O口。
在EPROM编程和验证程序时,由它输入低8位地址。
P1能驱动4个LSTTL负载。
3、P2.0~P2.7(21~28脚):
P2也是一上带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,由它输出高8位地址。
在对EPROM编程和程序验证时,由它输入高8位地址。
P2可以驱动4个LSTTL负载。
4、P3.0~P3.7(10~17脚):
P3也是一上带内部上拉电阻的双向I/O口。
在MCS-51中,这8个引脚还用于专门的第二功能。
P3能驱动4个LSTTL负载。
P3.0RXD(串行口输入)、P3.1TXD(串行口输出)、P3.2INT0(外部中断0输入)、P3.3INT1(外部中断1输入)、P3.4T0(定时器0的外部输入)、P3.5T1(定时器1的外部输入)、P3.6WR(片外数据存储器写选通)、P3.7RD(片外数据存储器读选通)。
3.2、LED灯模块
时序图——反应高、低电压信号与时间的关系图
单灯闪烁:
使用P1端口的第一脚(P1_0)来控制发光二极管(LED)闪烁。
//P1_0输出高电平
delay_nms(500);
//延时500ms
//P1_0输出低电平
3.3、红外障碍模块
搭建IR发射和探测器对
非接触式导航,探测距离更远
输出:
红外LED,38.5kHz左右
输入:
红外接收器
3.4、电源模块设
电源模块为系统其它各个模块提供所需要的电源,设计中,除了要考虑到电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化。
可靠的电源方案是整个硬件电路稳定可靠运行的基础。
第四章小车软件设计
系统软件设计说明
在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。
因此,软件设计在微机控制系统设计中占重要地位。
对于本系统,软件更为重要。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。
本系统软件采用模块化结构,由主程序﹑避障子程序﹑中断子程序﹑算法子程序构成。
本作品的核心电路是一片AT89C52。
它是整个控制部分的核心,负责行车控制、电动机驱动、障碍检测躲避等功能。
4.1后轮电机的控制
因为后轮电机有单片机通过驱动芯片进行驱动。
方向的控制很简单,前面说过电机和至单片机的的1234四个是一一对应的,其中12是一个通道,使能为ENA脚控制,高电平有效,34是第二个通道,使能由ENB控制。
因此可以把电机接在12脚上,因此如果接单片机的12脚分别接在51单片机的P1.0,P1.1两脚如果在程序中令P1.0=0;
P1.1=0;
,两个电机一个正转一个停止转动实现小车直行;
P1.0=1;
(P1.0=0;
P1.1=1;
)两个电机一个正转另一个停止转动实现小车的转向功能。
4.2蜂鸣器播放音乐
附:
程序代码
#include<
reg51.h>
sbitspeaker=P1^2;
unsignedchartimer0h,timer0l,time;
//生日歌
codeunsignedcharsszymmh[]={5,1,1,5,1,1,6,1,2,5,1,2,1,2,2,7,1,4,
5,1,1,5,1,1,6,1,2,5,1,2,2,2,2,1,2,4,
5,1,1,5,1,1,5,2,2,3,2,2,1,2,2,7,1,2,6,1,2,
4,2,1,4,2,1,3,2,2,1,2,2,2,2,2,1,2,4};
//音阶频率表高八位
codeunsignedcharFREQH[]={
0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,//1,2,3,4,5,6,7,8,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
};
//音阶频率表低八位
codeunsignedcharFREQL[]={
0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,//1,2,3,4,5,6,7,8,i
0xEE,0x44,0x6B,0xB4,0xF4,0x2D,
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};
voiddelay(unsignedchart)
{
unsignedchart1;
unsignedlongt2;
for(t1=0;
t1<
t;
t1++)
for(t2=0;
t2<
8000;
t2++)
;
}
TR0=0;
voidt0int()interrupt1
speaker=!
speaker;
TH0=timer0h;
TL0=timer0l;
TR0=1;
voidsong()
delay(time);
voidmain(void)
unsignedchark,i;
TMOD=1;
//置CT0定时工作方式1
EA=1;
ET0=1;
//IE=0x82//CPU开中断,CT0开中断
while
(1)
i=0;
while(i<
75){//音乐数组长度,唱完从头再来
k=sszymmh[i]+7*sszymmh[i+1]-1;
timer0h=FREQH[k];
timer0l=FREQL[k];
time=sszymmh[i+2];
i=i+3;
song();
4.3遥控器控制代码
/*-----------------------------------------------
名称:
遥控器红外解码数码管显示
日期:
2009.5
修改:
无
内容:
按配套遥控器上1-9会在数码管上对应显示
------------------------------------------------*/
#include<
reg52.h>
//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
stdio.h>
intrins.h>
#defineTURE1
#defineFALSE0
sbitIR=P3^2;
//红外接口标志
sbitP0_1=P0^1;
unsignedcharconstdofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/******************************************************************/
/*变量声明*/
unsignedcharirtime;
//红外用全局变量
intflag;
bitirpro_ok,irok;
unsignedcharIRcord[4];
unsignedcharirdata[33];
/*函数声明*/
voidDelay(unsignedcharmS);
voidIr_work(void);
//判断键值
voidIrcordpro(void);
//解码函数
/*定时器0中断服务函数*/
voidtim0_isr(void)interrupt1using1//定时器0中断服务函数
irtime++;
//用于计数2个下降沿之间的时间
}
/*外部中断0函数*/
voidex0_isr(void)interrupt0using0//外部中断0服务函数
staticunsignedchari;
//接收红外信号处理
staticbitstartflag;
//是否开始处理标志位
if(startflag)
if(irtime<
63&
&
irtime>
=33)//引导码TC9012的头码,9ms+4.5ms
irdata[i]=irtime;
//存储每个电平的持续时间,用于以后判断是0还是1
irtime=0;
i++;
if(i==33)
irok=1;
else
{irtime=0;
startflag=1;
/*定时器0初始化*/
voidTIM0init(void)//定时器0初始化
TMOD=0x02;
//定时器0工作方式2,TH0是重装值,TL0是初值
TH0=0x00;
//重载值
TL0=0x00;
//初始化值
//开中断
/*外部中断初始化*/
voidEX0init(void)
IT0=1;
//指定外部中断0下降沿触发,INT0(P3.2)
EX0=1;
//使能外部中断
EA=1;
//开总中断
/*红外键值处理*/
voidIr_work(void)//红外键值散转程序
switch(IRcord[2])//判断第三个数码值
//需改动的代码部分
case0x0c:
flag=1;
break;
//按键1
case0x18:
flag=2;
//按键2
case2:
//3
case3:
P0=dofly[3];
//4
case4:
P0=dofly[4];
//5
case5:
P0=dofly[5];
//6
case6:
P0=dofly[6];
//7
case7:
P0=dofly[7];
//8
case8:
P0=dofly[8];
//9
case9:
P0=dofly[9];
irpro_ok=0;
//处理完成标志
/*红外解码函数处理*/
voidIrcordpro(void)//红外码值处理函数
{
unsignedchari,j,k;
unsignedcharcord,value;
k=1;
for(i=0;
i<
4;
i++)//处理4个字节
for(j=1;
j<
=8;
j++)//处理1个字节8位
cord=irdata[k];
if(cord>
7)//大于某值为1,这个和晶振有绝对关系,这里使用12M计算,此值可以有一定误差
value=value|0x80;
else
value=value;
if(j<
8)
value=value>
>
1;
k++;
IRcord[i]=value;
value=0;
}irpro_ok=1;
//处理完毕标志位置1
/////////////////////////////////////////////////////////////////
voidmain(void)
EX0init();
//初始化外部中断
TIM0init();
//初始化定时器
//P2=0x00;
//1位数码管全部显示
while
(1)//主循环
if(irok)//如果接收好了进行红外处理
{
Ircordpro();
irok=0;
if(irpro_ok)//如果处理好后进行工作处理,如按对应的按键后驱动相应电机
Ir_work();
//电机驱动方案
if(flag==1)
else(flag==2)
第五章测试数据及结论
测试方法与仪器:
1、测试仪器
测试仪器包括数字万用表、信号发生器、华泰电池、笔记本电脑
2、测试方法
数字万用表主要用来测试分立元件的电阻、压降、漏电流、截止/导通状态等参数;
信号发生器与电脑于测试各光电传感器信号的接收与传输;
直流稳压电源在测试期间为各待测系统供电;
2、结论
本设计采用的是AT89S52单片机,这主要是因为该单片机的稳定性比较好。
还可以采用其它系列的单片机。
小车能够完成预设的几个基本动作,红外蔽障、遥控等功能也能够实现。
不足的是电路设计不是很合理,偶尔会出现单个部件供电不足情况。
第六章总结
经过小组成员的一致努力,设计出了具有一定功能的电动小车,达到了预期的目的。
这一个月的学习,使我收获特别多。
我们以小组的形式一同制作了宝贝车我了解和知道了很多以前不知道的东西,而且学会了焊接技术,尝试了很多课本里学习不到的东西。
在制作期间,总是容易把电路搭错,而造成小车在后期阶段的问题,从中吸取教训,知道要细化到每一个小步骤的零件焊接。
增强了实践能力和协作精神,而且懂得了联系实际的重要性,这对我们以后的学习和工作不无裨益。
总之,这一个月让我受益匪浅,我很舍不得结课,更喜欢这种可以自己动手和合作的方式学习知识。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 小车