智能小车说明书.docx
《智能小车说明书.docx》由会员分享,可在线阅读,更多相关《智能小车说明书.docx(13页珍藏版)》请在冰豆网上搜索。
智能小车说明书
基于STC12C5A60S2单片机智能轮式小车设计
摘要:
以STC12C5A60S2单片机为核心,由主控模块、传感器模块、电机驱动模块等组成,完成路面信息检测、循迹,寻找火源,直流电机控制等功能。
路面信息检测、循迹采用红外光电寻迹传感器判断接收地面反射光线的方式反馈,通过高低电平来进行路面检测、路径判断;寻找火源采用火焰传感器判断火源所在方位;电机直流驱动则用来保证小车以最快的速度行驶.
关键词:
智能小车、STC12C5A60S2单片机、红外传感器、循迹传感器、碰撞传感器、直流电机
引言
只能作为现代社会的新产物是以后的发展方向。
它可以按照预先设定的模块在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或更高的目标。
本次设计一智能小车,小车能够沿着特定轨迹行驶,躲避障碍物并能准确寻找到火源,发出警告功能。
在此过程中要通过单片机和各种传感器实现小车的前进、后退、左转和右转等基本操作.通过这些基本功能再加上相关的传感器实现具有特定功能的智能小车.这里在履带式小车上加装红外反射、循迹、火焰传感器,在STC12C5A60S2单片机的管理和相关程序的控制下,能完成自动循迹及在复杂地形的迷宫中寻找出路的功能.
作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例,该系统将会有更广阔的开发前景。
一.总体设计方案
1.1设计方案论证
本次设计采用红外传感器来判定前方障碍的有无,使小车遇到障碍物时能即使的避免的功能;采用火焰传感器来实现寻找火源的功能;采用红外寻迹传感器来实现小车沿黑线前进的寻迹功能;采用STC12C5A60S2单片机来控制小车的各项基本操作。
1.2方案的总体设计框图
二.硬件模块设计
2.1硬件模块组成
本次创新设计所用到的硬件模块有:
中央处理器模块、传感器模块、直流电机驱动模块、调试电路模块.
2.2中央处理器模块
本文采用的STC12C5A60S2单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8—12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
2.3传感器模块
本次课程设计所用到的传感器有:
碰撞传感器、寻迹传感器、火焰传感器。
(1)红外寻迹传感器:
工作原理:
红外寻迹模块是利用红外线反射的原理,根据反射的强度来判定颜色.本寻迹模块是用来识别黑白线,黑线输出高电平,白线输出低电平.由于使用的是红外线,所以抗干扰能力很强。
这样做更加确保了机器人的稳定性。
(2)红外线反射型传感器
工作原理:
红外线反射传感器是利用红外线反射的原理,根据反射的强度来判定前方障碍的有无.当电源接通后,红外线传感器就开始工作了,当小车距离障碍物达到所设定的范围时,传感器接收到反射回来的红外线达到一定程度后,传感器内部通过三极管放大作用,输出低电平,我们可以利用CPU判断后,执行相应的程序,达到绕开障碍物的目的。
在距离适中的时候测量精度很高.由于使用的是红外线,所以抗干扰能力很强。
这样做更加确保了小车的稳定性。
应用领域:
一般可以制作料位液位计、报警器、自动门、倒车防撞仪、玩具等。
制作时只要安装正确,上电即可工作,无需调整.
如有特殊要求可定制开发。
(3)火焰传感器:
工作原理:
火焰的热辐射具有离散光谱的气体辐射和连续光谱的固体辐射。
不同燃烧物的火焰辐射强度、波长分布有所差异,但总体来说,其对应火焰温度的1—2微米近红外波长域具有最大的辐射强度。
火焰传感器是机器人专门用来搜寻火源的传感器。
火焰传感器利用对红外线特别敏感的特点,将火焰的亮度转化成高度变化的电平信号,输入到处理器中。
应用领域:
火焰模块主要用于测量环境光的强弱。
例如:
灭火比赛时用于测量火焰值;
足球比赛时,用于确定足球的方向,等等.
三.功能介绍
本次创新设计主要实现的功能是:
首先在预先设定的区域,小车沿黑线前进,在沿黑线前进过程中如果遇到障碍物则自行绕过并继续沿黑线前进。
火焰热源传感器会搜寻一定范围内是否有火源,如果有则在行至火源处停止并警报,然后继续搜寻下一个火源,搜寻可探测范围内是否有火源。
四.软件设计
//#include”reg52。
h"
#include#include"STC12C5A60S2.h”
sbitTL=P3^2;//左传感器
sbitTR=P3^1;//右传感器
sbitred=P0^3;//红外传感器
sbitfmq=P0^6;//蜂鸣器
floatFire=0;//火焰电压值
sbitMR1=P3^7;//右轮
sbitMR2=P3^6;
sbitML1=P3^5;//左轮
sbitML2=P3^4;
bitflag=0;
voidDelay_Ms(unsignedintms)
{unsignedinti;
while(ms--)
for(i=0;i<125*10;i++)
{
if((TL==1||TR==1)&&flag)
return;
}
}
voidbeep(void)
{
unsignedchari;
for(i=0;i〈5;i++)
{
fmq=0;Delay_Ms(200);
fmq=1;Delay_Ms(200);
}
}
voidMRF()
{
MR1=1;
MR2=0;
}
voidMRB()
{
MR1=0;
MR2=1;
}
voidMRP()
{
MR1=0;
MR2=0;
}
voidMLF()
{
ML1=1;
ML2=0;
}
voidMLB()
{
ML1=0;
ML2=1;
}
voidMLP()
{
ML1=0;
ML2=0;
}
voidForward()//前
{
MRF();
MLF();
}
voidTurnLeft()//左
{
MRP();
MLF();
}
voidBack()//退
{
MRB();
MLB();
}
voidStop()//停
{
MRP();
MLP();
}
voidTurnRight()//右
{
MLP();
MRF();
}
voidxunji(void)
{
if(TL==0&&TR==0)//循迹
{
MRF();
MLF();
}
if(TL==1&&TR==0)
{
TurnLeft();
}
if(TL==0&&TR==1)
{
TurnRight();
}
}
/*************AD模块**********/
floatADC_L()
{
floatADC_Result;
P1ASF=0x40;//P1ASF=01000000P1^6口作为模拟A/D转换口
AUXR1=0x04;//ADRJ=1,高2位放在ADC_RES中,低8位放在ADC_RESL中,转换结果=1024*Vin/Vcc
ADC_CONTR=0x8E;//ADC_CONTR=10001110,即ADC_Power=1,ADC_STart=1;
Delay_Ms(10);
ADC_Result=ADC_RESL+ADC_RES*256;//取值
ADC_Result=(ADC_Result*500)/1024;//转换为电压
ADC_CONTR=0x00;//关闭ADC以节约能量
returnADC_Result;
}
voidavoid()
{
Back();
Delay_Ms(100);//倒退延时
TurnLeft();
Delay_Ms(400);//左转延时
Forward();
Delay_Ms(400);//前进延时
flag=1;
TurnRight();
Delay_Ms(400);//右转延时
Forward();
Delay_Ms(400);//前进延时;过障碍
TurnRight();
Delay_Ms(350);//右转延时
flag=0;
}
voidmain()
{
floatADC_Val;
//SP=0x70;
P1M0|=0x40;
P1M1|=0x40;
Forward();
while
(1)
{
ADC_Val=ADC_L();
if(TL==1&&TR==1)//循迹
Forward();
elseif(TL==1&&TR==0)
TurnLeft();
elseif(TL==0&&TR==1)
TurnRight();
elseif(TL==0&&TR==0)
Forward();//循迹
if(ADC_Val〈300)
{
Stop();
beep();
}
while(ADC_Val<300)
{
ADC_Val=ADC_L();
}
if(red==0)
{
avoid();
}
}
}
五.参考文献
1。
李正军。
计算机控制系统。
北京:
机械工业出版社,2005
2. Ramon Pallas-Areny,John G。
Webster(美)。
传感器和信号调节,第2版。
张伦译.北京:
清华大学出版社,2003
3. 船仓一朗,土屋 尧等(日).机器人控制电子学.宗光华,杨 洋,唐伯雁译。
北京:
科学出版社,2004
4. 罗亚非等.凌阳16位单片机应用基础。
北京:
北京航空航天大学出版社,2003 5. 童诗白,华成英。
模拟电子技术基础。
北京:
高等教育出版社,2003
6。
阎石。
数字电子技术基础.北京:
高等教育出版社,1983
7。
高峰编。
单片微型计算机原理与接口技术。
北京:
科学出版社,2003 8。
21IC中国电子网。
9。
万方数据资源统一服务系统。
创新设计小结:
本次创新设计我们选择了制作一个智能消防小车。
这次设计共用了2周的时间。
两周里我们经过了选题、查找资料、设计方案、选择方案、组装小车、设计程序等过程.这些过程看似简单但是在设计中途,我们遇到了许多问题和困难。
面对这些困难,有些通过我们互相讨论得到解决,有些通过查找资料解决,有些通过向同学请教解决。
从发现问题到解决问题这一过程我觉得我们的学习能力得到了很大的锻炼。
但是我们也发现了许多自己的不足之处,例如我们的理论知识不够充足,一些基础的知识掌握的不是很牢靠,在设计时细节的处理不够好等.这些不足之处正是我们所遇到问题的根源,也因为这些我们多走了很多弯路和错路.能够意识到自己的不足才能够弥补这些不足之处,自身才能够获得进步,我想这也是我们这次创新设计的一个收获吧.在设计中我们还用到了STC12C5A60S2单片机,这属于单片机这方面的知识,对于这方面是我知识的薄弱方面,但是这次设计的核心就是对STC12C5A60S2单片机的运用,这样通过设计过程的再学习我发现我现在对单片的认识更进了一步。
为了实