单片机课程设计(论文)-智能小车设计.doc_第1页
单片机课程设计(论文)-智能小车设计.doc_第2页
单片机课程设计(论文)-智能小车设计.doc_第3页
单片机课程设计(论文)-智能小车设计.doc_第4页
单片机课程设计(论文)-智能小车设计.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江西理工大学应用科学学院智能小车智能小车摘 要系统主要由红外避障模块、声控模块、光电寻迹、电机驱动及语音播报模块组成。采用p89v51单片机作为智能小车控制核心。系统能实现对线路进行寻迹,小车可以前进或后退,遇到障碍物可以自行停止并可以实现反向运行,系统可以利用声音控制小车的启停。整个系统小巧紧凑,控制准确,性价比高,人机互动性好。关键词:p89v51单片机;红外避障;线路寻迹;直流减速电机abstract system is mainly by infrared obstacle avoidance module, voice module, opto-electronics and motor drive tracing module. used as a single-chip smart car p89v51 control core. system can realize the tracing lines, cars can go forward or backward, encountered obstacles can stop and reverse operation can be achieved, the system can use voice to control the start and stop car. compact the entire system to control the accurate, cost-effective, good human-computer interaction.keyword: p89v51mcu;infrared obstacle avoidance;tracing;dc motor speed1目录1 系统设计11.1设计要求11.1.1 基本要求11.1.2 扩展部分11.2总体设计方案11.2.1 基本模块设计方案论证与比较11.2.2 系统总体设计方案52 单元硬件电路设计62.1 光电对管寻迹模块62.2电机驱动电路的设计62.3红外避障模块72.4 单片机p89v51核心模块82.5 声控电路82.6 语音播报模块93 系统软件设计103.1主程序流程图103.2 传感器数据处理及寻迹程序流程114 系统测试124.1 硬件测试124.2 硬件与软件的联机测试125 测试数据及实验结果13参考文献14ii1 系统设计1.1设计要求1.1.1 基本要求1、 小车可以自动寻迹在设计好的线路上向前或向后跑。2、 拍手的声音可以启动、停止小车运动。3、 线路两端有挡板,当小车向一个方向运行到挡板位置停止,然后向反方向续运行至挡板位置,如此重复。4、 小车由电池供电,电池采用1200mah容量,小车运行时间需要持续24小时以上。5、 小车运动速度要控制在0.1m/s以上。1.1.2 扩展部分1、能实现语音播报前后方有障碍物;1.2总体设计方案1.2.1 基本模块设计方案论证与比较(1)车体设计方案1:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,这种电动车一般都是前轮转向后轮驱动,不能适应该题目的方格地图,不能方便迅速的实现原地保持坐标转90度甚至180度的弯角。再次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。而且这种电动车一般都价格不菲。因此我们放弃了此方案。方案2:自己制作电动车。经过反复考虑论证,我们制定了左右两轮分别驱动,后万向轮转向的方案。即左右轮分别用两个转速和力矩基本完全相同的直流电机进行驱动,车体前部装一个万向轮。这样,当两个直流电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的转弯。在安装时我们保证两个驱动电机同轴。当小车前进时,左右两驱动轮与后万向轮形成了三点结构。这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。为了防止小车重心的偏移,前万向轮起支撑作用。对于车架材料的选择,我们经过比较选择了有机玻璃。用有机玻璃做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。(2)电机的选择对于智能小车来说,其驱动轮的驱动电机的选择就显得十分重要。由于本题目要实现对寻迹路线的准确定位和精确测量,我们综合考虑了一下两种方案。方案1:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。经综合比较考虑,我们放弃了此方案。方案2:采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力,价格比步进电机要便宜好多。我们所选用的直流电机减速比为1:74,减速后电机的转速为100r/min。我们的车轮直径为6cm,因此我们的小车的最大速度可以达到v=2rv=2*3.14*0.03*100/60=0.314m/s,达到设计要求。能够较好的满足系统的要求,因此我们选择了此方案。(3)电机驱动模块由于电动车采用了前面使用万向轮,两个后轮各一个电机驱动的驱动方式,所以可使电动车旋转360度,这样即使前后方都碰到障碍物的时候,电动车也可以通过在原地不断旋转的方式找到避免撞击障碍物的线路。在电动机的控制上有两种方案可供选择。方案1:利用9012、2sc8050、及电机构成驱动电路。如果单片机89c51控制口输出高电平,9012截止,2sc8050截止,电机停止运转。单片机89c52控制口输出低电平时,9012导通,2sc8050导通,电机开始运转。该电路比较简单,输出功率足够大,足以推动电机工作,并且电机工作时三极管性能非常稳定。但该方案中单片机部分和电机供电部分没有完全隔离,而电动机在切换时会产生巨大的反电动势,经常烧坏单片机,功耗很大。方案2:利用lm298及其外部辅助电路和电机构成驱动电路。单片机控制口接lm298的两个输入控制端in1,in2。l298的两个输出端out1(2),out2(10)接电机。电机转动状态编码:左电机右电机左电机右电机电动车运行状态1in11in22in12in21010正转正转前行1001正转反转左转1000正转停以左电机为中心原地左转0110反转正转右转0010停正转以右电机为中心原地右转0101反转反转后退1111杀停杀停立刻停止根据上表可知,只要设定两块l298的1in1,1in2,2in1,2in2四个控制端口的不同编码,就可得到电动车的前进,后退,旋转等不同的运行状态;且l298的最大输出电流为2.2a,可使电动车快速运行。故采用方案2。(4)控制器模块方案1:采用可编程逻辑期间cpld作为控制器。cpld可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、io资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用、功耗及经济的角度考虑我们放弃了此方案。方案1:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处理速度高,尤其适用于语音处理和识别等领域。但是当凌阳单片机应用语音处理和辨识时,由于其占用的cpu资源较多而使得凌阳单片机同时处理其它任务的速度和能力降低。本系统主要是进行寻迹运行的检测以及电机的控制。如果单纯的使用凌阳单片机,在语音播报的同时小车的控制容易出现不稳定的情况。从系统的稳定性和编程的简洁性考虑,我们放弃了单纯使用凌阳单片机而考虑其它的方案。方案3:p89v51rd2 是一款80c51 微控制器,包含16/32/64kb flash 和1024 字节的数据ram。p89v51rd2 的典型特性是它的x2 方式选项。利用该特性,设计时可使应用程序以传统的80c51 时钟频率(每个机器周期包含12个时钟)或x2 方式(每个机器周期包含6个时钟)的时钟频率运行,选择x2 方式可在相同时钟频率下获得2倍的吞吐量。从该特性获益的另一种方法是将时钟频率减半而保持特性不变,这样可以极大地降低电磁干扰(emi)。flash 程序存储器支持并行和串行在系统编程(isp)。并行编程方式提供了高速的分组编程(页编程)方式,可节省编程成本和上市时间。isp 允许在软件控制下对成品中的器件进行重复编程。应用固件的产生/更新能力实现了isp 的大范围应用从方便使用的角度考虑,我们选择了方案3。(5) 线路跟踪电路方案1:采用ccd单色摄像头,配计算机主板及图像采集卡。对白背景下,黑线的识别,目前做的比较成熟,效果相当好。但成本高,很难找到合适的载体。方案2:采用颜色传感器。目前颜色传感器的应用,越来越广泛,效果也可以。但几百元的价格及相对复杂的处理电路,并且还需要光源,所以也不是一个很好的选择。方案3:采用红外光电发射接收管。该传感器不但价格便宜,容易购买,而且处理电路简单易行,实际使用效果很好,能很顺利地引导小车按规定的线路寻迹。我们选择方案3。(6)声控模块方案1:采用凌阳公司的单片机,在语音识别处理这一块很好。但是当凌阳单片机应用语音处理和辨识时,由于其占用的cpu资源较多而使得凌阳单片机同时处理其它任务的速度和能力降低。按照设计的要求,用凌阳单片机不仅成本增加,而且功耗非常大,所以我们放弃选用凌阳单片机处理声音模块。方案2:采用柱极体传声器和普通的三极管构成的声控电路,电路设计简单,元器件价格便宜,容易买到。基于低成本、低功耗我们选择方案2。(7)语音模块方案一:采用apr9600语音录放集成电路。这是一种永久记忆型语音录放电路,可重复录放10万次。该芯片采用多电平直接模拟量存储专利技术,单片电路可录放3260秒,串行控制时可分256段以上,并行控制时最大可分8段。与isd同类芯片相比它具有价格便宜、多种手动控制方式、分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。然而其处理速度有限,无法满足本设计需要寻址操作的需要。方案二:采用zy1420a语音模块。zy1420a内部使用isd1420作为主控芯片,且具备isd1420的全部优良性能,如大容量的eerom存储器,消噪的话筒放大器,自动增益调节agc 电路,专用语音滤波电路,高稳定性的时钟震荡电路和语音处理电路。除此以外,zy1420a还对isd1420的标准外围电路作了优化并全部集成于模块内部。同用户使用标准isd1420的dip40封装ic相比较,zy1420a可以提供更加稳定可靠的性能,更低的价格,更方便的使用,同时还可以减小实际的体积。电路内部由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源就可以组成。故系统选用方案二。1.2.2 系统总体设计方案题目要求设计一个智能小车,实现自动寻迹在设计好的线路上向前或向后跑,通过声音可以控制小车的停止和启动,能够有避障碍物等功能,本系统以p89v51单片机作为核心控制芯片,包括红外检测电路、线路寻迹电路、电机驱动电路、声控电路。通过c编程完成智能小车的监控装置。总体设计框图,如图1所示。红外避障传感器声控启停装置光电对管寻迹传感器p8p89v51复位电路l298电机驱动电路电路信号处理电 机信号处理语音播报图1智能小车的总体设计2 单元硬件电路设计2.1 光电对管寻迹模块图2所示电路中,r5起限流电阻的作用,当有光反射回来时,光电对管中的三极管导通,r9的上端变为高电平,此时vt1饱和导通,三极管集电极输出低电平。当没有光反射回来时,光电对管中的三极管不导通,vt1截至,其集电极输出高电平。vt1在该电路中起到滤波整形的作用。经试验和示波器验证,该电路工作性能一般,输出还有杂散干扰波的成分。如果输出加施密特触发器就可以实现良好的输出波形。但是这种电路用电量比较大,给此种传感器调理电路供电的电池压降较快。究其原因,是因为光敏三极管和三极管vt1导通时的导通电流较大。考虑用比较器的方案,图中可调电阻r1可以调节比较器的门限电压,经示波器观察,输出波形相当规则,可以直接够单片机查询使用。而且经试验验证给此电路供电的电池的压降较小。因此我们选择此电路作为我们的传感器检测与调理电路。此光电对管电路简单,工作性能稳定。图2 光电寻迹检测及放大电路图2.2电机驱动电路的设计我们采用电机驱动芯片l298n作为电机驱动,驱动电路的设计如图3所示:图3 l298n驱动电路l298n的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可以实现两个直流电机的pwm调速以及正反转等功能。2.3红外避障模块通过ne555产生一个38khz的方波,触发三极管的导通状态,使红外发射管发射,采用一体红外接收头接受信号。遇到障碍物时送给单片机一个高电平触发,进而控制电机的运转。图3 电源电路图2.4 单片机p89v51核心模块图5基于stc89c52的单片机系统2.5 声控电路如图6所示为声控模块电路,采用声音的图6 声控电路图2.6 语音播报模块为了实现语音对温度的播报功能,选用了集成语音芯片zy1420a。此方案可以方便对芯片进行寻址播放录音操作,实现播报实时温度值的目的。该模块具有以下特征:1)重现优质原声;2)基本上不耗电信息存储;3)信息可保存100年,可反复录放10万次;4)选址处理多达160段信息;5)具有自动节电模式;6)维持状态,仅需0.5a电流;图7 zy1420a管脚功能图如图7所示,首先通过麦克风向语音芯片zy1420录入“前方有障碍物”、“后方有障碍物”。当单片机发出控制指令过来时,自动地去寻找相对应音符的地址,并把这些音符通过扬声器播放出来。下面是zy1420地址分配方案:前方有障碍物:00后方有障碍物:2a 3 系统软件设计3.1主程序流程图本设计的软件的主程序流程图如图8所示 图8 系统软件流程图3.2 传感器数据处理及寻迹程序流程我们用一个字节来代表车底的4个光电传感器。用每一个位来代表当前传感器的检测状态。我们把小车直线行进时分成三种状态,当中间四个传感器都检测到白线时,小车在跑道的正上方,这时控制两电机同速度全速运行。当检测到有一个传感器或者同侧的两个传感器偏出白线时,小车处于微偏状态,这时将一个电机速度调慢,另一电机速度调快,完成调整。当检测到有三个电机偏出时,小车处于较大的偏离状态,这时把一个电机的速度调至极低,另一电机全速运行,从而在较短时间内完成路线的调整。用这种三级调速的寻迹算法同单纯的判断检测到对管的位置并作出判断的方法相比,程序思路清晰,程序执行结果较好。该检测传感器子程序的流程图如图8所示:图8 传感器信息处理子程序流程图4 系统测试4.1 硬件测试 (1)单元模块的测试(a)电源测试:用数字万用表电压档测量电池输出的电压值是否正常。 (b)光电对管线路寻迹模块测试:通电后,在光电对管下面放一张白纸是,用电压表测量输出端是不是为高电平;在放一张贴有黑胶布的纸张在光电对管下面,看电压表的的电压是否为低电平;来回移动带有黑胶布的纸张,看电压表的电压值是否高低电平的变化。(c)红外避障电路的测试:首先用示波器测量555输出端是否有38khz的方波输出;用万用表在输出端测量电压值是否为高电平,用手遮挡下红外发射管,观察电压值是否为变为低电平。 (d) 电机驱动模块电路测试:给l298通电以后,分别对298每路输入端一个高低电平,看电机是否转动;然后在反接试下,电机是否和开始的运转方向相反。(e)声控模块测试:通电后,用万用表测量lm358的7脚输出端的电压是否为高电平,然后拍掌,看看电压值时候有高低电平的变化;没有声响的时候lm358的7脚始终为高电平。(f)语音播放模快的测试:通过按键给语音芯片选地址,测试不同的地址是否有不同的发音,以检验语音是否正确录入及能否正常播放。根据串行模式的设定,能够正常播放的设定语音,说明语音芯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论