精品基于单片机控制的智能小车设计与制作定.docx
《精品基于单片机控制的智能小车设计与制作定.docx》由会员分享,可在线阅读,更多相关《精品基于单片机控制的智能小车设计与制作定.docx(37页珍藏版)》请在冰豆网上搜索。
![精品基于单片机控制的智能小车设计与制作定.docx](https://file1.bdocx.com/fileroot1/2022-11/23/79e2a329-6b9d-4af2-9cce-ab64dc321e1d/79e2a329-6b9d-4af2-9cce-ab64dc321e1d1.gif)
精品基于单片机控制的智能小车设计与制作定
基于单片机控制的智能小车设计与制作
摘要:
课题的主要任务是设计并制作一辆智能小车,要求实现小车的语音控制、循线行走、避免撞到障碍物三大功能。
设计以凌阳16位单片机为控制核心,应用光电传感器和超声波传感器,成功实现了小车的三大功能。
课题完成了光电传感器和超声波传感器的选择、采购、各传感器的接口电路设计和制作,以及各传感器和电路的安装位置和方式的安排,并完成了整个硬件的制作工作。
此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。
关键词:
智能小车,光电传感器,超声波传感器,单片机
Abstract:
Thissubjectistodesignandmanufactureanintelligentcar,whosethreefunctionsarecar’svoicecontrol,followingthelinetorun,avoidinghittingtheobstacles.ThisdesigntakestheLingYang16monolithicintegratedcircuitsasthecontrolcore,andwithapplyingthephotoelectricsensorandtheultrasonicsensor,thecar'sthreefunctionshaverealized.Thedesignerhascompletedthechoiceandpurchaseofthephotoelectricsensorandultrasonicsensor,thedesignandmanufacturingofvarioussensors'interfacecircuit,theinstallmentpositionandarrangementpreparationofthesensorsandcircuit,aswellastheentirehardware'smanufacturingwork.Atthesametime,thecontrolsoftware'sdesignandtheprogram’sestablishmentanddebuggingarefinished.Finallycompletesthesoftwareandhardware'sfusion,whichrealizesthecar'santicipatedfunction.
Keywords:
intelligentcar,photoelectricsensor,ultrasonicsensor,SCM
1引言
当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。
现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。
作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:
一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。
无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:
亚洲广播电视联盟亚太地区机器人大赛(ABUROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。
但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。
为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:
通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。
所以立“基于单片机控制的智能小车设计与制作”一题作为尝试。
此项设计是在以张老师提供的小车为基础上,采用凌阳16位单片机作为控制核心,逐步实现语音识别、躲避障碍和循迹行走三大功能。
本次设计主要解决利用凌阳单片机强大的语音识别功能实现语音识别,并独立设计和制作避障用超声波接口电路和循迹用红外发射和接收电路。
最后完成硬件实物制作与组装,并编制相关程序,使其实现功能的融合,做出具有预先要求功能的实物。
2方案论证
小车总体功能描述:
在小车的底盘上有一个总开关,当开关闭合时,小车开始工作,播放语音提示“请选择模式”,进入模式选择菜单,这时可以呼叫其名字,小车则做出相应的应答,还可以语音选择模式,即语音和循线两种模式,确定工作模式后开始工作。
在语音模式下,可以识别前进,后退,左转,右转和返回五个命令,而且在小车前进、左转或右转的过程中,将调用避障函数进行避障,所以一旦离障碍物的距离小于安全距离时,(设的安全距离为23CM),小车反转急停车,播放语音提示遇到障碍;或者本来就离障碍物小于安全距离时,命令小车前进、左拐、右拐,小车将不会执行相应动作,且直接语音提示遇到障碍。
当小车接到返回命令时,则返回至模式选择菜单,并语音提示返回成功;在循线模式下,把小车放到线轨上时则执行循线动作,值得注意的是如果小车不在循线轨道上时,小车是不会执行循线动作的,只有在放到线轨上才会执行动作,当按下控制板上的KEY2键则退出循线模式。
至于左后退和右后退两个不常用的命令则由于语音识别函数局限的原因,放到了模式菜单那一级。
下面根据设计要求,针对各模块需要完成的功能,本着简单、实用、廉价、容易操作、稳定的原则,对各模块进行充分的理论分析和方案论证。
2.1控制核心的选择及其简介
因为所设计的小车具有语音、循迹和避障的功能,所一对控制核心的要求还是比较高的,特别是语音模块,一般的单片机很难满足要求,比如常用的51系列单片机,要其真正实现语音识别很有难度,所以根据实际需要选用具有强大语音功能的SPCE061A单片机。
SPCE061A单片机的编程环境也比较人性化,采用专用的集成开发环境(IDE)进行程序的编辑,而且其不仅支持汇编,还支持比较高级的C语言。
还有一个特点是这种单片为凌阳公司所提供,有现成做好的61板,也就是说有供电电路等辅助电路,还特别具有音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等。
2.1.1SPCE061A单片机简介
SPCE061A是继μ'nSPTM系列产品SPCE500A等之后,凌阳科技推出的又一个16位结构的微控制器。
SPCE061A里内嵌了32k字的闪存FLASH。
较高的处理速度,使μ'nSPTM能够非常容易地快速处理复杂的数字信号,以μ'nSPTM为核心的SPCE061A微控制器,也适用在数字语音识别应用领域。
SPCE061A在2。
6~3。
6V工作电压范围内,工作速度范围为0。
32~49115MHz,较高的工作速度使其应用领域进一步拓宽。
2k字SRAM和32k字闪存FLASH仅占一页存储空间,32位可编程的多功能I/O端口:
两个16位定时器/计数器,32768Hz实时时钟,低电压复位/监测功能,8通道10位模—数转换输入功能,并具有内置自动增益控制功能的麦克风输入方式,双通道10位DAC方式的音频输出功能。
SPCE061A是数字声音和语音识别产品的一种非常经济的应用。
2.2.261板简介
61板是SPCE061AEMUBOARD的简称,是以凌阳16位单片机SPCE061A为核心的精简开发-仿真-实验板(如图2.1),大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。
61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便学生随身携带!
使学生在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!
图2.161板实物图
2.2.3集成开发环境(IDE)简介
61板配有凌阳自行研发设计的16位单片机开发环境IDE。
此工具在Windows环境下操作,支持标准C语言和汇编语言,集编译、编程、链接、调试和仿真于一体,应用方便简单易学。
同时还提供大量的编程函数库,特别是语音播放和语音识别的相关函数,大大加快了软件开发的进程。
集成开发环境IDE具有友好的交互界面、下拉菜单、快捷键和快速访问命令列表等,使编程、调试工作方便且高效。
此外,它的软件仿真功能可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序。
在集成开发环境IDE中,可以非常方便将编写好的程序,通过61板配套的下载线下载到61板上进行在线调试。
2.2小车驱动方式的选择
玩具小车上的两个电机均为一般的玩具直流电动机,前轮用一个电机控制方向,后轮的电机用来驱动小车,这就是传统的控制小车方向的方式,缺点是转向过于灵敏;另外一种常见驱动方式为两电机四驱,差速转向,其优点是转向性能好,能实现原地360°转向,且在循迹行走的时候能比较稳定的行驶,但是这种驱动方式的硬件制作比较有难度;还有一种驱动方案是采用三轮方案,即前面或后面安装一个万向轮,然后两电机分别控制两驱动轮,这种驱动方式具有两电机四驱的优点,而且硬件制作简单多了。
比较上面三种方案,首先排除了第三种方案,因为一开始的定位是要做四轮车。
对于第二种驱动方式虽然有制作的经验,但是制作过于麻烦,而且由于小车采用单片机控制,可以通过单片机自动校正来克服第一种转向过于灵敏的缺点,能达到运行平稳、安全高效的要求;再者,参照合肥工业大学参加“飞思卡尔”比赛的视频,其驱动就是采用第一种方式,并很好的实现了预期的功能。
所以,本设计亦采用此种驱动方式。
2.3语音播放和语音识别模块
语音模块需要实现语音播放和语音识别的功能,在2.1章节已经对控制核心作了选择,利用61板就能很好的实现这些功能。
前面已经对61板进行了简单了介绍,61板上面已经集成了音频电路(含MIC输入部分和DAC音频输出部分),所以不必要对硬件电路进行单独设计了。
再者,在软件方面,凌阳提供了多种格式的语音播放函数和功能强大的语音识别函数库,极大的方便了语音模块的程序编制。
2.4光电检测模块
光电检测是用于循迹功能的,这里的循迹是指小车能在白色地板上循黑线行走,通常采取的方法便是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
红外探测器探测距离有限,一般最大不应超过3cm。
图2.2TCRT5000实物图
传感器的选用是个艰难的过程,放弃使用前几届师兄所采用的那种一般的红外发射接收对管,因为那种管子太大,不适合安装,而且发射和接收为独立的部分,之间没有遮挡,容易造成干扰。
根据日常经验,麻将机中有一种很好的红外发射接收光耦管可以用于循线,经查找相关资料,查到如下几种型号的传感:
FS-359F\RG149A\RPR220\TCRT5000。
然后,逐一查找到了这几种传感器的技术资料,经过仔细分析和对比其性能,结合购买可能性,最后确定了选用TCRT5000型号的传感器,其形状如图2.2所示。
2.5障碍检测模块
智能小车既然智能,至少要求其在行走的过程中不能碰到障碍物,所以其必须具有避障的功能。
避障的基本原理为小车不断发射某种东西(比如光或波),并不断检测这种东西的反射情况来判断前面有无障碍。
一般障碍检测传感器的选择有两种:
A.利用光电开关。
这种方法简单实用,也很稳定,而且接口电路简单,甚至不用单独设计接口电路。
但是其体积较大,而且检测距离不够远,对障碍的要求也比较高,比如遇到玻璃之类的透明物体就不能有效识别了。
B.利用超声波。
这种方法较为复杂,特别是接口电路的设计,有一定的难度,但其具有体积小、灵敏度高、检测距离远、对障碍物要求不高等优点。
光电开关避障比较简单,就是在一定距离内有反射就认为遇到障碍,可以适当调节接收灵敏度来小幅度调节避障距离,这种方式不需要单片机参与计算,所以可以为单片机节省资源;而超声波的避障原理则相对复杂一些:
超声波发射器向某一方向发射波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到发射波就立即停止计时。
超声波在空气中的传播
图2.3TCT40-16T/R1
速度为340m/s,根据计时器记录时间t,就可以计算出发射点距离障碍物的距离(s),即:
s=340t/2。
当计算的距离小于程序中设定的障碍安全距离时,则认为遇到障碍。
所以这个距离可以方便的在程序中调节,但是这种避障方式需要单片机参与计算,占用了资源。
综合对比两种方案的优略,最终采用超声波避障,从网络上查得一种比较合适的超声波传感器,型号为TCT40-16T/R1,其实物图如图2.3所示。
其实首先进行试验的时候采用的超声波型号为TCT40-12T/R1,也许灵敏度不够或是已经坏了,在后来在成熟的电路上试验并没成功。
3系统硬件设计
在第2章方案论证的基础上,根据设计要求,对各模块的硬件进行系统设计。
由于语音播放和语音识别模块在61板上已经有现成的电路,所以在本章节中将不再作说明。
3.1车体结构及其驱动电路
车体驱动方式已经在前一章确定下来,硬件部分则在张老师提供的小车基础上进行,小车的实物图如图3.1所示,控制板下的电路板为电机驱动电路板。
图3.1小车实物图
该小车为四轮结构,车的结构示意图如图3.2所示。
其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。
在自然状态下,前轮在弹簧作用下保持中间位置。
后面两个车轮由后轮电机驱动,为整个小车提供动力,所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮,如图3.3所示。
图3.2车体侧视图
图3.3车体顶视图
电机驱动电路部分虽然在小车上已经有了,但是还需要把小车拆开来对电路进行详细的分析,经分析,前后电机的驱动电路是一样的,采用的都是全桥驱动电路,其后轮驱动电路如图3.4所示,前轮的驱动电路和后轮驱动电路是一样的,只是控制接口是IOB10和IOB11。
现以后轮驱动电路为例,对其进行详细介绍。
Q1、Q2、Q3、Q4四个三极管组成四个桥臂,Q1和Q4组成一组,Q2和Q3组成一组,Q5控制Q2、Q3的导通与关断,Q6控制Q1和Q4的导通与关断,而Q5、Q6由IOB9和IOB8控制(前轮驱动电路为IOB10和IOB11),这样就可以通过IOB8和IOB9控制四个桥臂的导通与关断控制后轮电机的运行状态,使之正转反转或者停转,进而控制小车的前进和后退(左拐和右拐)。
图3.4后轮电机驱动电路
还是以后轮驱动电机为例,当IOB8为高电平、IOB9为低电平时Q1和Q4导通,Q2和Q3截止,后轮电机正转,小车前进;反之当IOB8为低电平、IOB9为高电平时Q1和Q4截止,Q2和Q3导通,后轮电机反转,小车倒退;而当IOB8、IOB9同为低电平时Q1、Q2、Q3和Q4都截止,后轮电机停转,小车停止运动。
值得注意的是IOB10、IOB11不能同时为高电平,否则会造成前轮驱动全桥的桥臂短路。
至于转向电机,其电路和驱动电机的电路是一样的,只是其控制端口为IOB10、IOB11,且在IOB10和IOB11都为低电平时,前轮在弹簧的作用下保持在中间位置,所以通过控制IOB8、IOB9以及IOB10、IOB11端口的状态组合就可以得到小车不同的运动方式。
注:
IOB10、IOB11或IOB8、IOB9不能同时为高电平,这样会造成前轮或后轮驱动全桥的桥臂短路。
结合以上对前轮和后轮的状态分析,得到小车的运行状态与输入的对照表,如表3.1所示:
表3.1输入与小车运动状态对照表
IOB11
IOB10
IOB9
IOB8
后电机
前电机
小车
0
0
0
0
停转
停转
停
0
0
0
1
正转
停转
前进
0
0
1
0
反转
停转
倒退
0
1
0
1
正转
正转
左前进
1
0
0
1
正转
反转
右前进
0
1
1
0
反转
正转
右后退
1
0
1
0
反转
反转
左后退
*
*
1
1
停转
*
禁止
1
1
*
*
*
停转
3.2循线模块
在第2章已确定了采用红外探测法来实现循线的功能,也选用了型号为TCRT5000的红外反射式光藕,在此章节中将对其接口电路和安装方式进行详细设计。
3.2.1循线硬件电路设计
通过互联网的资料查询,得知TCRT5000是一种自带发光二极管和光敏二极管的器件,并查得其集电极电流如与反射距离d之间有图3.5所示关系。
图3.5TCRT5000的Ic—d关系
当反射距离一定时,其集电极电流就主要和反射率有关了,反射率越大,则集电极电流越大;反之则越小。
利用其这个特点就很容易把黑线和白线区分开来了。
图3.7TCRT5000的相对安装位置示意图
很多循线小车设计都不止用两个传感器,一般为四个或更多,安装形式为中心对称分布,主要是用来防止由于小车惯性太大而冲出第一对传感器的检测范围。
这种方法对于速度比较快的小车确实很实用,但是我所设计的小车对车速要求不高,所以就只用了两个传感器。
下面谈一下传感器的具体安装,因为小车车体已经固定,所以传感器的安装比较被动。
前面已经对传感器的安装位置进行了分析,现在先看一下小车前轮底部的实物图,如图3.8。
图3.8小车前轮底部实物图
图3.9PCB板形状
不难发现,底部有两个孔,所以可以利用这两个孔来安装和固定传感器了。
具体方案是先把传感器焊接在PCB板上,信号线由排线引出(处理电路和超声波电路焊在一块板上,并安装在车上部分,具体请查看3.3避障模块),再把焊有传感器的PCB板通过那两个小孔用螺丝固定在上面。
由于空间和中间有个调整前轮转向平衡杆的原因,PCB板的形状必须是特殊的形状,经过仔细测量和用纸板模拟,得出了电路板的具体形状和尺寸,如图3.9所示。
两个安装孔的位置要比较精确,因为孔本来就比较小,误差大就安装不上去。
那个半圆的作用是避开调整前轮转向平衡杆,使的即使安装了传感器也不能影响它的功能。
然后便是硬件制作,本来是打算制作PCB板的,但是由于某些问题,采用通过板代替了。
通过使用小刀、剪刀和小螺丝刀等工具把通用板加工成了预想的形状,把TCRT5000焊接上,然后经过测试就开始安装了。
但遗憾的是没有找到合适的螺丝,后来在刘老师的帮助下用塑料给粘上了。
这样的缺点是不容易拆卸,而且影响了前轮转向平衡调整杆的使用,但幸运的是影响不大,而且比螺丝安装结实。
安装好的实物图如图3.10。
图3.10循线传感器安装实物图
3.3避障模块
在第2章已经确定了使用超声波避障的方式,并对传感器进行了选择,在此章节中将对其接口电路和安装方式详细进行设计。
3.3.1避障硬件电路设计
超声波电路的设计是一个曲折过程,花费的时间和精力最多,表3.2是我查到的TCT40-16T/R1的产品性能。
表3.2TCT40-16T/R1的产品性能
性能
要求
标称频率(KHz)
40
发射声压at40KHz(0dB=0.02mPa)min
117dB
接收灵敏度at40KHz(0dB=V/Pa)min
-65dB
静电容量at1KHz,<1V(PF)
240025%
阻抗(Ohm)
1000
-6dB带宽(KHz)
2
-6dB指向角
45
很明显,TCT40-16T/R1的发射和接收电路都要进行设计。
发射电路的基本要求就是能由单片机控制并产生稳定的40KHz方波,而接收电路的要求就是把接收到的信号进行放大到足以引起单片机的外部中断。
一开始考虑的是凌阳超声波测距模组的电路,其发射电路如图3.11所示。
图3.11超声波发射调理电路
这种超声波发射电路的40KHz的方波是由单片机产生,然后经过CD4049对40KHz频率信号进行调理,以使超声波传感器产生谐振。
这个电路有一个很严重的问题,在小车上40KHz的方波不可能由单片机产生,因为凌阳单片机专用方波的产生口已经被用于小车后轮的PWM调速了,也就是说那个端口被小车的驱动电路给占了。
于是选择用由555构成的多谐振荡器产生方波,然后就查找相关资料,查得其基本电路组成和工作波形图如图3.12所示。
图3.12555多谐振荡器基本电路和工作波形
其电路震荡频率
的计算公式为:
(3—1)
而输出波形占空比
的计算公式为:
(3—2)
由(3—1)可以看出改变的
、
和
的值可改变振荡频率,而由(3—2)可以看出
和
的改变会导致输出波形占空比
的改变,而且由(3—2)还可以得出占空比
总是大于50%的。
现在我希望得到频率为40KHz占空比为50%的方波,所以在确定上述电路各元件的具体值的同时还希望有一些小修改,以达到输出占空比为50%的方波的目的。
于是我继续在网络上寻找,最后有一位网友给我介绍了一个专门设计多谐振荡器的小软件,其不但能确定各元件的最佳物理量,也能设计出能产生频率为40KHz占空比为50%的方波的振荡电路。
此软件几乎可以设计任何占空比任何频率的振荡电路,只需要选择你所需要的占空比并输入所需频率就可以了。
图3.13是在产生频率为40KHz占空比为50%的方波电路时的截图,软件很直观的给出了电路图和具体元件的数值,这些数值还可以方便成组变化或直接改变,且在单独改变某元件的值时,反过来可查看频率的相关变化。
图3.13多谐振荡器设计软件截图
所以超声波所需的方波产生电路就基本上按图3.13里的电路设计了,只是把电阻值就近改成常用的电阻值,其中
改成18K,
改成7.5K就可以了。
虽然改动
和
的阻值会造成输出方波的频率和占空比的改变,但是我用软件进行了计算,其频率变化并不大,而占空比基本没变,理论上是不会有什么影响的。
由于没有示波器,并不能确定这个电路能否产生方波,产生的方波是否与要求的相符,在实际中是否能真正可以用,所以在接下来的试验中先不使用这个电路,而是采用比较可靠的单片机产生方波的方法进行试验,然后等相关电路都试验成功后再用那些电路反过来检验此电路。
凌阳超声波测距模组的超声波接收处理电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;后级采用LM311比较器对接收信号进行调整,比较电压从LM311的第3管脚输入,可调节比较电压的大小来调节超声的波检测距离。
其具体的电路图如图3.14所示。
图3.14超声波