智能小车说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STC12C5A60S2 单片机智
能轮式小车设计
摘要:以STC12C5A60S2 单片机为核心,由主控模块、传感器模块、电机驱动模块等组成,完成路面信息检测、循迹,寻找火源,直流电机控制等功能。

路面信息检测、循迹采用红外光电寻迹传感器判断接收地面反射光线的方式反馈,通过高低电平来进行路面检测、路径判断;寻找火源采用火焰传感器判断火源所在方位;电机直流驱动则用来保证小车以最快的速度行驶。

关键词:智能小车、STC12C5A60S2 单片机、红外传感器、循迹传感器、碰撞传感器、直流电机
目录
引言 (2)
一.总体设计方案 (3)
1.1 设计方案论证 (3)
1.2 方案的总体设计框图 (3)
二.硬件模块设计 (3)
2.1 硬件模块组成 (3)
2.2 中央处理器模块 (3)
2.3传感器模块 (4)
三.功能介绍 (6)
四.软件设计 (6)
五.参考文献............ 错误!未定义书签。

引言
只能作为现代社会的新产物是以后的发展方向。

它可以按照预先设定的模块在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或更高的目标。

本次设计一智能小车,小车能够沿着特定轨迹行驶,躲避障碍物并能准确寻找到火源,发出警告功能。

在此过程中要通过单片机和各种传感器实现小车的前进、后退、左转和右转等基本操作。

通过这些基本功能再加上相关的传感器实现具有特定功能的智能小车。

这里在履带式小车上加装红外反射、循迹、火焰传感器,在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 <string.h>
#include "STC12C5A60S2.h"
sbit TL=P3^2; //左传感器
sbit TR=P3^1; //右传感器
sbit red=P0^3; //红外传感器
sbit fmq=P0^6; //蜂鸣器
float Fire=0; //火焰电压值
sbit MR1=P3^7; //右轮
sbit MR2=P3^6;
sbit ML1=P3^5; //左轮
sbit ML2=P3^4;
bit flag=0;
void Delay_Ms(unsigned int ms)
{ unsigned int i;
while(ms--)
for(i=0;i<125*10;i++)
{
if((TL==1||TR==1)&&flag)
return;
}
}
void beep(void)
{
unsigned char i;
for(i=0;i<5;i++)
{
fmq=0;Delay_Ms(200);
fmq=1;Delay_Ms(200);
}
}
void MRF()
{
MR1=1;
MR2=0;
}
void MRB()
{
MR1=0;
MR2=1;
}
void MRP()
{
MR1=0;
MR2=0;
}
void MLF()
ML1=1;
ML2=0;
}
void MLB()
{
ML1=0;
ML2=1;
}
void MLP()
{
ML1=0;
ML2=0;
}
void Forward() //前{
MRF();
MLF();
}
void TurnLeft() //左{
MRP();
MLF();
}
void Back() //退{
MRB();
MLB();
}
void Stop() //停
{
MRP();
MLP();
}
void TurnRight() //右
{
MLP();
MRF();
}
void xunji(void)
{
if(TL==0&&TR==0) //循迹{
MRF();
MLF();
}
if(TL==1&&TR==0)
{
TurnLeft();
}
if(TL==0&&TR==1)
{
TurnRight();
}
}
/*************AD模块**********/
float ADC_L()
{
float ADC_Result;
P1ASF=0x40;//P1ASF=01000000 P1^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以节约能量
return ADC_Result;
}
void avoid()
{
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;
}
void main()
{
float ADC_Val;
// SP=0x70;
P1M0|=0x40;
P1M1|=0x40;
Forward();
while(1)
{
ADC_Val= ADC_L();
if(TL==1&&TR==1) //循迹
Forward();
else if(TL==1&&TR==0)
TurnLeft();
else if(TL==0&&TR==1)
TurnRight();
else if(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 单片机的运用,这样通过设计过程的再学习我发现我现在对单片的认识更进了一步。

为了实现消防功能我门还运用了循迹传感器、光电传感器、火焰传感器共三种传感器。

这三种传感器在我们的日常生活中或许听到过,但是对绝大部分人来说接触的并不多,就我来说,说实话我在设计之前我是没见过的。

对于这三个新的东西,我们只能从资料上了解
它们的性能,然后通过实验去了解它们,从而将他们运用到消防小车上。

从这方面来说大大的锻炼了我们对新事物的接受能力,以及学习能力。

当我们将小车组装好后经过多次的修改和调试测量,这次设计基本符合我们预想的设计要求,由于受人为因素和软硬件的限制,系统难免不了带来一些误差,但通过调节和精确计算可以减小误差,并且在不断的摸索前进中我们学到了很多东西。

特别是,在其他同学的帮助下,我们获得的不只是知识和成果,还有比之更重要的学习方法和解决问题的能力,这将是我们一生的财富,就像我们在老师的帮助下不断的寻找着打开各个知识宝库的金钥匙。

通过这次创新设计,我了解并掌握了传感器的基本理论知识,更深入的掌握单片机的开发应用和编程控制。

为以后从事单片机软硬件产品的设计开发、打下了良好的基础,树立独立从事产品研发的信心,并在这种能力上得到了比较充分的锻炼。

并且我深刻的认识到团队的协作真的很重要,周围人的帮助也很重要,而这两个方面,我都拥有了。

这次创新设计能够获得成功是我们大家努力的结果,是同学帮助的结果,也是老师和我们所期盼的结果,在此我和我们组向那些在设计的过程中给我们帮助的同学和老师表示深深的感谢!
创新设计
智能消防小车说明书
组员:王才阳 3100501076
周磊 3100501077
薛兆言 3100501078。

相关文档
最新文档