智能小车设计的文档.docx
《智能小车设计的文档.docx》由会员分享,可在线阅读,更多相关《智能小车设计的文档.docx(48页珍藏版)》请在冰豆网上搜索。
智能小车设计的文档
2011年全国大学生电子设计竞赛
智能小车(X题)
【第二组】
2011年8月26日
摘要
随着电子技术的发展,其中汽车电子随着传感技术发展而变得越来越智能化,本文将介绍并制作一量智能型小车,它利用了多个传感器完善了它智能要求。
我们设计制作的智能小车分8个模块:
c8051f120单片机为核心的微控制模块、电源模块提供12V与5V电压、12864液晶显示模块、光敏电阻检测黑线实现的循迹模块、LJ18A3-8-Z/BX电感式接近开关探测金属与光敏电阻和超声波结合避障组成探测模块、利用霍尔传感器实现测速测距模块、利用光敏电阻来寻找光源实现寻找光源模块、利用发光二极管与蜂鸣器组成声光报警模块。
关键词:
循迹;探测;测距测速;寻光源;
Abstract
Withthedevelopmentofelectronictechnology,includingautomotiveelectronicwithsensingtechnologydevelopmentandbecomemoreandmoreintelligent,thispaperwillintroduceandmakingaquantityofintelligentvehicles,itusedtheDuoGesensordevelopeditintelligentrequirements.
Wedesignandproductionofintelligentcarpointseightmodules:
one-chipcomputerc8051f120SCMasthecoreofthemicrocontrolmodule,powersupplymodeprovides12Vand5Vvoltage,12864LCDmodule,photoconductiveresistancetestingoftherealizationoftheblackline(markmodule,LJ18A3-8-Z/BXinductiveclosetoswitchdetectmetalandphotoconductiveresistanceandultrasoniccombinationofobstacleavoidancemodule,usinghallsensorsdetectrealizespeedrangingmodule,usewithphotoconductiveresistancetolookforlightsourceforlightmodule,userealizeledsandbuzzeracousto-opticalarmmodulecomposition.
Keywords:
followthemark;Detection;Speedrange;Searchlightsource;
智能小车(X题)
【第二组】
1系统方案
本系统主要由微控制模块模块、循迹模块、显示模块、电机驱动模块、探测避障模块、测距测速模块、寻光模块、声光报警模块、电源模块九个模块组成,下面分别论证这九个模块的选择。
1.1微控制模块的论证与选择
方案一:
AT89S52芯片是一种低功耗、高性能CMOS8位微控制器,具有8KB的系统可编程Flash存储器。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,两个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
AT89S52芯片能够满足题目设计的所有要求,但是我们所要设计的智能小车用到的I/O口超过32位,在电路中加串并转换增加软硬件的复杂性,所以只能放弃此方案。
方案二:
采用以C8051F120单片机芯片,C8051F120它是一种比AT89C52功耗更低、性能更高、资源更加丰富的微处理器,它具有64个数字I/O口,C8051F120它具有以下功能:
高速、流水线结构,兼容CIP-51内核(MIPS峰值为100),全速、非侵入式片内系统调试接口。
真正的12位100ksps的ADC,带PGA和8通道模拟电路开关,两个12位DA,具有可编程数据更新方式。
2周期的16×16乘法和累加引擎,128KB可在系统编程的FLASH存储器。
8448字节的片内RAM,可寻址64KB地址空间的外部数据存储接口。
硬件实现的SIP、SMBus/IIC和两个UART串口接口,5个通用的16位定时器。
具有6个捕捉/比较模块的可编程计数器/定时器列阵,片内看门狗定时器、VDD监视器和温度传感器。
使用c8051f120微处理芯片大大简化了我们硬件电路的设计。
综合以上两种方案,综合考虑选择方案二。
1.2循迹模块的论证与选择
方案一:
用红外发射管和接收管自己制作光电对管寻迹传感器。
红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。
但它工作不够稳定,电路成本高,因此我们放弃了这个方案。
方案二:
用光敏电阻组成光敏探测器。
光敏电阻的阻值可以跟随周围环境光线的变化而变化。
当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。
因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。
将阻值的变化值经过比较器就可以输出高低电平,外加可调电阻调节它的灵敏度,且改善周围环境对他的影响。
综合以上二种方案,综合考虑选择方案二。
1.3显示模块的论证与选择
方案一:
用数码管作为显示模块,价格低廉,但显示单一,但我们所需要显示内容多,用数码显示不够直观,且增加了电路的复杂性。
方案二:
用1602液晶显示作为显示模块,它能够显示我们基本所需要的数据,表达比较直观,但是它显示内容有限,用在我们这个模块上有很多局限性。
方案三:
采用带字库的12864液晶显示作为显示模块,BJ12864M液晶显示具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。
BJ12864M中文字库型液晶显示模块可以显示字母、数字、中文字型及图形,具有绘图及文字画面混合显示功能。
可显示128(列)×64(行)点阵。
可完成图形显示,也可显示8×4个(16×16点阵)中文汉字。
模块内置2M-位元中文字型ROM(CGROM)总共提供8192个中文字型(16×16点阵),16K-位元半宽字型ROM(HCGROM)总共提供126个符号字型(16×8点阵),64×16-位元显示RAM(DDRAM),另外绘图显示画面提供一个64×256点的绘图区域(GDRAM),可以和文字画面混和显示。
综合考虑采用方案三。
1.4电机驱动模块的论证与选择
方案一:
对于直流电机用分立元件构成驱动电路。
由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。
但是这种电路工作性能不够稳定。
方案二:
采用专用芯片L298N作为电机驱动芯片。
L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。
用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
综合考虑采用方案二。
1.5探测避障模块的论证与选择
方案一:
采用一只红外传感器置于小车中央。
其安装简易,也可以检测到障碍物的存在,但难以确定小车在水平方向上是否会与障碍物相撞,也不易让小车做出精确的转向反应。
方案二:
采用二只红外传感器分别置于小车的前端两侧,方向与小车前进方向平行,对小车与障碍物相对距离和方位能做出较为准确的判别和及时反应。
此方案在跑道2寻光源的时候是有问题的,它容易受车库可见光的影响。
方案三:
采用超声波测距,用一对超声波传感器安置在小车的正前方,来探测障碍物,微处理器接收到检测到的超声波探测的信息,致使小车避开障碍物,超声波性能稳定可靠,测量距离远等优点。
综合考虑采用方案三。
1.6测距测速模块的论证与选择
方案一:
采用超声波测距,超声波是频率高于20000赫兹的声波,它方向性好,穿透能力强,易于获得较集中的声能,根据车声波测距原理,它需接收发送遇障碍物反弹回来的车超声波信号以此判与障碍物的距离,我们的小车在跑道上是运动的,所以用超声波来测量距离是不可取的,不符合我们的设计要求。
方案二:
我们采用霍尔传感器实现来实现,霍尔元件是一种磁敏元件,当磁性物件移近霍尔开关时,开关检测面上的霍尔元件因产生霍尔效应而使开关内部电路状态发生变化,由此识别附近有磁性物体存在,进而控制开关的通或断。
这种接近开关的检测对象必须是磁性物体。
我们将小磁铁装在小车前轮,霍尔元件装置小车与之对应的地方,当小车车轮转动一圈,霍尔传感器动作一次,我们只要知道小车车轮周长与霍尔传感器动作的次数,就可以计算出行驶距离。
而小车行驶的速度V是等于它行驶的距离S除以行驶的时间t(V=S/t)。
综合考虑采用方案二。
1.7寻光模块的论证与选择
方案一:
采用多只方向性较强的光敏二极管作为光源的定位器若干定位器在水平面上按不同角度展开,在寻找光源是根据每个定位器接受到的光源强弱得出光源的方位,该方案若采用方向较强的光敏二极管作为光源定位器,需要很多元件,成本较高。
方案二:
采用单只方向性较强的光敏二极管作为光源的定位器,在方案1的基础上,结合光敏电阻的敏感性,利用两个光敏电阻加可变电阻调节对光的敏感程度,这样就可以较好的实现控制,而且成本更低。
综合考虑采用方案二。
2系统理论分析与计算
2.1循迹模块的分析与计算
2.1.1分析
循迹模块我们采用6个光敏电阻与两片反相器LM339组成而成,当光线照射到白线上面时,光线发射强烈,光敏电阻阻值变小,比较器输出低到高电平变换,光线照射到黑线上面时,光线发射较弱,光敏电阻阻值变大,比较器输出从低到高的电平变化。
这些变化的电平被微处理器识别,致使其判别小车当前状况,转而控制小车行驶。
当6个光敏电阻全部检测到黑线,即比较器输出端接的6个发光二极管全部被点亮,在跑道1中小车以此判断所在区域,部分循迹电路如图2.11所示。
图2.1.1所示
2.1.2计算
通过以上的分析,光敏电阻的变化导致lm3398脚电压的变化和基准电压的比较,从而输出高低电平控制。
Vout=V8=Vcc*R光/(R光+R2),光敏电阻它在暗的地方电阻为几十到几百千欧姆,在强光下电阻为几十到几百欧姆。
所以R5选10k。
2.2测距与测速的分析与计算
2.2.1分析
将一片小磁铁装置小车前轮转轴上,将霍尔传感器固定在与小磁铁对应的附近,当小车开始行驶,小磁铁跟着车轮旋转,当旋转到与霍尔传感器距离最小时候,霍尔传感器动作一次,我们只要知道小车车轮周长与霍尔传感器动作的次数,就可以计算出行驶距离。
而小车行驶的速度是等于它行驶的距离除以行驶的时间。
(一)霍尔效应
如图所示,在半导体薄片两端通以控制电流I,并在薄片的垂直方向施加磁感应强度为B的匀强磁场,则在垂直于电流和磁场的方向上,将产生电势差为UH的霍尔电压,切面图如图所示,它们之间的关系为:
(式中d为薄片的厚度,k称为霍尔系数,它的大小与薄片的材料有关。
)
图2.2.1内部前面图
霍尔传感器也称为霍尔集成电路,其外形较小,如图2.3所示。
图2.2.2管脚排序图
2.2.2计算
此电路的设计采用检测小车车轮的圈数来计算小车的速度与距离的。
v=a*b/t
S=v*t
v:
速度a:
车轮圈数b:
一圈车轮的距离t:
时间S:
距离
3电路与程序设计
3.1电路的设计
在硬件电路设计过程中我们遵循的思路是,紧扣设计任务与要求,模块化设计,一项项完成设计任务;模块化调试,一项项达到设计要求。
通过之前方案的各个模块方案论证比较和选定,已经有了具体的设计方案,在模块电路的设计中,主要了解模块电路中主要元器件的参数、功能以及管脚排序,计算出外围电路与之配合的最佳数值,通过软件仿真或实际硬件仿真得出确切的参数,从而确定硬件电路。
3.1.1系统总体框图
系统总体框图如图3.1所示。
图3.1.1系统总体框图
3.1.2微控制模块子系统框图与电路原理图
1、微控制模块子系统框图
图3.1.2微控制模块子系统框图
2、微控制模块子系统电路
图3.1.3微控制模块子系统电路
3.1.3显示模块子系统框图与电路原理图
1、显示模块子系统框图
图3.1.4显示模块子系统框图
2、显示模块子系统电路
图3.1.5显示模块子系统电路
3.1.4循迹模块子系统框图与电路原理图
1、循迹模块子系统框图
图3.1.6循迹模块子系统框图
2、循迹模块子系统电路
图3.1.7循迹模块子系统电路
3.1.5电机模块子系统框图与电路原理图
1、电机模块子系统框图
图3.1.8电机模块子系统框图
2、电机模块子系统电路
图3.1.9电机模块子系统电路
3.1.6探测模块子系统框图与电路原理图
探测模块子系统框图
图3.1.10探测模块子系统框图
3.1.7电源
我们的四个电机需要一个12V的直流供电,其它芯片采用5V直流供电,C8051F120为核心的核心板自带了5V变3V的转化电路,所以它的3.3供电电压不需要外加电路,外部电源模块如图3.3所示。
电路整体供电需要12V与5V电压就满足供电需求,我们之前采用两片kis-3R33S对联加上一些外围元件设计了一个多路输出对称直流稳压电源,它输出单组电压组有:
±3.3V,±5V,±9V,±12V,而我们现在所设计电路12V的直流供电电压值也刚好在这个稳压电源电压组里可以找到,所以我们只需要在所设计的电路中加一个LM7805稳压电路,实现12V到5V的转变,电路板上的电源主要用了一个两针插槽,通过接线与外部电源相接,5V供电电源如图3.4所示。
图3.1.1112V电源供电
图3.1.125V电源供电
3.2程序的设计
3.2.1程序功能描述与设计思路
1、程序功能描述
根据题目要求软件部分主要实现循迹、壁障、测距、寻光、测速、空速、探测、声光报警和显示。
1)循迹:
自动寻找行车轨迹。
2)壁障:
检测障碍,躲避障碍。
3)测距:
检测车行的距离。
4)寻光:
能自动寻找光源。
5)测速:
检测小车的行驶速度。
6)控速:
控制行车的速度。
7)探测:
能检测金属。
8)声光报警:
通过led灯和蜂鸣器发光、发声来表示在行车过程中的错误。
9)显示:
可以显示小车行驶的距离、速度、检测到的金属个数。
10)计时:
启动到结束所花的时间。
2、程序设计思路
跑道1小车自由往返
(1)从起点到终点,我们根据跑道B、C、D、E、F、G之间的距离以及对黑线的检测来实现设计要求,按下启动按钮当检测有黑线时全速运行,否则不运行,当检测到第3条横着黑线的时候,循迹模块中的6个小发光二极管第三次全被点亮,小车进入DE低速行驶区,以≤0.8S的速度运行,当运行速度累计5.5m(C区假设为3m)同时检测到了第4条横着黑线的时候,循迹模块中的6个小发光二极管第四次全被点亮,小车沿着竖直黑线全速运行,当小车检测到第6条横着的黑线,小车直至达到终点,并停止10s。
(2)从终点返回起点,我们采用小车倒转返回,当小车在终点停够10s后小车将倒转180度,当检测前面有黑线时全速运行,否则不运行,当返回检测到第三根横着黑线,此时小车将缓慢进入DE低速区,以≤0.8SD的速度运行,当返回检测到第4根黑线,小车将全速运行,当返回检测到第6根黑线,回到起始端而停止。
跑道2简易智能电动车
我们测量出小车车轮周长与霍尔传感器动作的次数,就可以计算出行驶距离。
而小车行驶的速度是等于它行驶的距离除以行驶的时间。
所以当LJ18A3-8-Z/BX电感式接近开关(装置在小车后面)到金属模块,系统将计算出金属片中心到起始的距离,将在直线跑到上检测的金属片存储并累计显示。
当检测到C点金属片(即第4块金属片)后在C点处停车5秒,停车期间发出断续的声光报警信息。
电动车在光源的引导下,通过超声波避障顺利进入车库。
3.2.2程序流程图
1、主程序流程图
图3.2.1主程序流程图
2、循迹子程序流程图
图3.2.2循迹子程序流程图
3、显示子程序流程图
图3.2.3显示子程序流程图
4、壁障子程序流程图
图3.2.4壁障子程序流程图
4测试方案与测试结果
4.1测试方案
1、硬件测试
元件组装好之后,首先检查是否有焊接上的失误——虚焊、桥接、落焊等等,如果没有问题就可以通电检测了。
输入电源,按下开关电路板上各个指示灯亮没有问题,各个元件也没有异常,在调试各个模块,直到稳定在最佳状态。
2、软件仿真测试
把编好的程序通过Proteus7Professional软件仿真,虽然说虚拟和实物有区别,但是在没有硬件的前提下先用软件仿真达到基本要求,这是不错的选择。
3、硬件软件联调
硬件、软件都测试好之后,就可以联调了。
通过仿真器在线调试修改程序直到达到基本要求。
4.2测试条件与仪器
测试条件:
检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试清单:
表4.2.1测试仪器清单
仪器名称
型号
用途
数量
数字示波器
DS5102MA
数据测量
1
外接电源
CA1713A双路直流稳压电源
供电试车
1
数字万用表
DT9205
测量各电路工作情况
1
4.3测试结果及分析
4.3.1测试结果(数据)
表4.3.1测试结果
道1
道2
小车行驶速度
1s/10cm
1s/10cm
偏差情况况
5度~10度
5度
成任务的全程时间
27S
30s
完成情况
实现
实现
4.3.2测试分析与结论
根据上述测试数据,小车从启动区启动,沿黑线循迹行走;遇障碍时停止,随即右转一定角度走最后回到黑线上,继续行走。
在跑道1小车从起始端开始起跑,沿着黑线行驶,以检测横着的黑线个数来判断小车所在区域,在减速区小车行驶≤0.8s,离开减速区小车全速行驶,直到终点停止,在终点停止10s后小车旋转180度,返回沿着黑线行驶,与起始到终点行驶相同的返回起始端。
在跑道2小车小车从启动区启动,沿黑线循迹行走;逐一检测小金属片个数,并累计显示,当检测到第四片金属,小车停止5s并放出声光报警,5后小车避开前面的障碍物左转,在车库光源的引导下顺利进入车库。
,由此可以得出以下结论:
1、循迹实现:
自动寻找行车轨迹。
2、壁障实现:
检测障碍,躲避障碍。
3、测距实现:
检测车行的距离。
4、寻光实现:
能自动寻找光源。
5、测速实现:
检测小车的行驶速度。
6、控速实现:
控制行车的速度。
7、探测实现:
能检测金属。
8、声光报警实现:
通过led灯和蜂鸣器发光、发声来表示在行车过程中的错误。
9、显示实现:
可以显示小车行驶的距离、速度、检测到的金属个数。
10、计时:
记录启动到结束所花的时间。
综上所述,本设计达到设计要求。
设计总结
通过这个项目的学习,我们再软硬件设计与技术文档的写作方面多有很大的提升,做项目不是我们的目的,我们的目的是通过做项目不断的充实自己,不断提高的自己,我们的眼光不会局限于组与组之间的比拼,而是直视全国大学生电子大赛与全国那么多高等院校学生的比拼,细节决定成败,努力终有回报,
平时的练兵很是重要。
在这次项目制作过程中我们碰到了一些小问题,其实这些小问题完全可以避免例如:
我们对所设计的产品的模块电路缺少过细的了解,设计电路与编写程序思路不够明确,想到的方案不行就换,当然在竞赛过程中我们由于节省时间,可以这么做,但平时,遇到问题一定要去克服它,转而变成自己的东西。
平时的学习、细节很是重要,通过这次项目的学习我时刻认识到了这一点,在以后的项目制作中我会努力做好这一点,将自己的不足加以改正。
参考文献
[1]高吉祥,唐朝京,全国大学生电子设计竞赛基本技能训练与单元电路设计,电子工业出版社,2007.5
[2]竞赛组委会(汪学刚),AD大学生创新设计竞赛优秀论文选编,电子工业出版社,2007.4.10。
致谢
感谢我们学院给我们这样一个培训的平台,在这个平台上不仅提高了我们的专业综合水平,也磨练我们的意志。
回顾往年全国大学生电子设计大赛的比赛历史,我深深为我们学院在这个大赛平台上获得的荣誉而深深的感到自豪,我像我们学院小部分人一样,我希望自己能够成为培训队伍中的一份子,通过自己的努力为学校争得荣誉。
感谢我们学院的指导老师,因为有了他们的存在,在他们的引导之下我们的专业知识水平才会不断的提升,他们付出了辛勤的汗水“耕耘”了一批又一批专业水平较高的学长们;在指导老师高专业技能的滋润下我们逐渐走向成熟,从一个学习专业懵懂水平的层次到与全国高等院校学生比拼的水准,虽然自己也付出了汗水,但是如果有一个庞大的师资力量做后盾是根本就不会在短时间里成长起来的。
最后要感谢指导老师,在他们耐心指导下我们茁壮成长;在他们正确引导之下,我们小有所成。
但努力的不够,成就还很小,我们不仅是在与全国那么多高校生比赛,也在与自己的毅力比赛。
只有坚强的意志加学习技巧在老师们的帮助下,才能有更好的超越。
附录1:
电路原理图
PCB图:
附录2:
源程序
/*******************************************/
#include
#include<12864.h>
#defineuintunsignedint
#defineucharunsignedchar
ucharheixiannum=0;//黑线数目
ucharjinshunum=0;//金属数目
ucharzhongdian=0;//第二个项目的终点标志
ucharzhongdian2=0;//第一个项目的终点标志
uintquannum1=0;//轮子的圈数
uintquannum2=0;//轮子的圈数
uintflag=0;//时间中间变量
//uintnum=0;
ucharR31num=0;
ucharquan=0;//车子转弯的标志
longintlucheng;//路程
uintsudu=0;//速度
uintdistance=0;//超声波测距
uints=0;//时间秒
ucharc=0;
ucharqidong=0;
ucharcodedis[]={"0123456789"};
ucharlc[4];//路程
uchard[4];
uchara[4];
ucharcsb[4];//超声波
ucharsd[4];//速度
sbittrig=P0^7;
sbitecho=P0^6;
sbitR31=P6^0;//光