单片机课程设计-红外避障小车.doc_第1页
单片机课程设计-红外避障小车.doc_第2页
单片机课程设计-红外避障小车.doc_第3页
单片机课程设计-红外避障小车.doc_第4页
单片机课程设计-红外避障小车.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

红外避障小车任务: 利用单片机、红外实现避障,要求具有下述功能:1. 小车前进可以避开(前、左、右)20cm的障碍物;2. 实现下车前进时,不碰障碍物;3. 具有声音播报功能。引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成cpu、存储器、定时器、并行和串行接口、看门狗、前置放大器、a/d转换器、d/a转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能小车。发挥:1.利用超声波测距2.红外寻迹可以控制小车行走的路迹3.红外发射接收器,用遥控来控制小车的行走方向工作日程安排: 序号毕业设计各阶段的名称日期1设计单片机外部接线图,以及其它相关电路连接。09.11.23-09.11.242设计单片机程序,驱动电路的程序及注解。09.11.25-09.11.283编制设计的元件明细表09.11.29-09.11.294编制电路元件明细表09.11.29-09.11.305编写操作原理说明09.11.31-09-11.316编写在实验室进行硬件和软件的调试以及所需的补充资料10.1.1-10.1.37在创新实验室做模拟调试10.1.4-10.1.68编写摘要10.1.7-10.1.79将设计资料装订成册,交给指导教师,准备答辩10.1.10摘要针对题目的要求,我们设计了一款简易的红外避障小车。该电路设计分别以驱动模块,单片机控制显示模块组成。为了达到题目的要求,我们以atmega16-l为核心控制器件,以lm298驱动电机控制系统和红外监测系统设计而成。关键词:atmega16-l;红外避障检测电路;驱动电路。整体构思:一.模块方案比较1.壁障模块 在壁障模块中,可以选择超声波壁障。其优点是反应速度灵敏,距离远,受外界干扰小。但是,在本设计中,题目所要求是距离是20cm,如果利用超声波传感器进行壁障的话,由于空间小声波在小空间不同方向里会进行多次反射,左右前后的传感器之间相互干扰,使控制中心不能明确判断出那个方位遇到了障碍物,从而动作紊乱,不能实现要求。 使用红外接收头和发射管配合,利用38k频率解决灵敏度问题。38k调制和发射电路。使用一个定时器的快速pwm模式产生38k调制信号,通过剩余的四个施密特触发器(有2个已经用在光电编码部分)缓冲,推动8050三极管和红外发光管来发射已经调制的红外线。其中2个1n4148接单片机io脚,控制左右红外发光管轮流发射。后面串接的可见光led是为了方便用户调试而设置的,让用户知道当前是否在发射红外线。通过调节pwm的占空比,调节红外发光管的亮度,从而实现调节感知障碍物距离的功能。但是实际测试结果不尽人意。灵敏度太高。加衰减电路比较麻烦,调试不易。且价格也贵。 利用红外传感器,其优点是对近距离的障碍物反应速度灵敏,不同方位的传感器之间信号不会相互干扰,造成误动作。缺点是距离近,易受到自然光的干扰。经过两种传感器性能对比与题目要求的综合考虑分析,最终选择红外传感器作为小车的眼睛,进行壁障。lm567是一种廉价的音频锁相环集成电路,利用它可以构造性能较好的反射式光电传感器。 如下页图所示,由lm567的内部振荡器提供方波信号,点亮探头的led,由探头的光敏管接收反射光。经三极管放大,转换成电压信号后送到lm567的内部鉴相器2(输出鉴相器)同步解调,然后由lm567内部的比较器转换为数字输出。 并联负反馈放大电路有着稳定的增益和低的输入阻抗,能消除光敏管结电容的影响,获得良好的高频特性。100r电位器 用于调节放大器增益以调节灵敏度。 这个电路的缺点是当多个探头同时使用时因为频率接近,一旦相邻单元的光斑出现部分重合就会有差拍干扰造成输出抖动。另外,567输出鉴相器的参考信号是从振荡电容端引出的,与发射和接收信号几乎是正交的,解调效率非常低,前级需要高倍放大。意探头的连线要短,如果连线较长要分别屏蔽,最好把电路板跟探头做在一起。否则发射管连线上大幅度的脉冲信号会感应耦合到接收端,导致在没有接收光的情况下也误认为收到了光信号,这种同频干扰无法用电路板上的设计来消除电路图如下图:但为了使用方便,改用成品。(成品如下图)2.驱动模块在电机驱动模块中,由于电机的功率不大,我们可以选择使用电桥驱动,电路图如下: 其优点是电路简单,成本高。但是由于缺少保护电路,只要控制出现错误,就很容易烧坏晶体管,晶体管的价格也不菲,便宜货又电流太小,不足以承受小车的功率,使整个电路瘫痪。 然而,使用集成电路lm298,由于集成程度高,内包含稳定的数字电路,就算在编写程序的时候错误或者其他原因使控制端口同时输出通过一种电平,不容易烧坏芯片,使整个电路瘫痪。同时芯片还有使能端,容易控制,且稳定。特有的pwn调制功能端,使电机更容易控制。也使得程序在减速的过程特别是保持左右电机速度平衡的程序编写上变得更加简洁容易。 15脚multiwatt封装的l298n,内部同样4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。 l298n可接受标准ttl逻辑电平信号vss,vss可接457 v电压。4脚vs接电源电压,vs电压范围vih为2546 v。输出电流可达25 a,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。l298可驱动2个电动机,out1,out2和out3,out4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。ena,enb接控制使能端,控制电机的停转。经过综合分析考虑,最终决定使用lm298作为本设计的驱动芯片。其电路连接图如下:3.控制模块 我们经常使用的单片机要at89s51,atmega16-1,凌阳单片机等。在我们的应用中,用到最多的就是at89s51和atmega16-1。at89s51比较通用,能使用c语言进行程序的编写,方便阅读。但是,其集成程度低,功能单一,需要使用到其它功能时,只能通过扩展外电路来实现,使得整个电路复杂,成本高,稳定性低。同时,i/o口输出功率小,一般器件都需要加驱动才能够正常使用。 而atmega16-l集成程度高,内集成了a/d等其它功能模块,在进行电路设计时,可以大大节省了成本,提高了整体电路稳定性。同时输出功率大,一般器件无需驱动电路,就可以直接使用。atmega16是基于增强的avr risc结构的低功耗8 位cmos微控制器。由于其先进的指令集以及单时钟周期指令执行时间,atmega16 的数据吞吐率高达1 mips/mhz,从而可以缓减系统在功耗和处理速度之间的矛盾。atmega16 avr 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(alu) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的cisc 微控制器最高至10 倍的数据吞吐率。因此选用高性能的atmega16 avr单片机进行设计,以下是控制板的电路。其电路连接图如下:此图为avr atmega16l的原理图。二.程序设计1.程序流程图 上电运行后,放到没有障碍物的空地上,小车直走。当前方没有障碍物的的时候车就一直直走。如果前方遇到障碍物,则小车做左转运动。直至前方没有障碍物,这时小车恢复直走。 如果前方有障碍物的时候,左边同时也有障碍物,则小车右转。直至左边没有障碍物或者前方没有障碍物。这时小车恢复左转,或者直走。如果前面没有障碍物,则先执行直走。 如果前方,左方,右方均有障碍物,则小车后退,直至前方,左方,右方任一方向没有障碍,则此时小车开始以前方,左方,右方的优先级开始执行转向。也就是说如果前方没有障碍物,即使其他任意方向都有障碍则小车依然直走,如果前方有障碍,左边没有则右转,前方左方都有障碍,则小车右转。否则小车后退。2.程序编写/=/*硬件分布 pc0 前进 | pd0 检测前 pc1 左转 | pd1 检测左 pc2 右转 | pd2 检测右 pc3 退后 | pb3 pwn左右平衡校准输出*/=#include#include#include #define uchar unsigned char#define oc0_out_enddrb |= 0b00001000int w;int num; /* 要显示的数字 */*-*/void timer0_init(void) tccr0 = (1wgm01)|(1wgm00)|(1com01)|(1com00)|(13; / switch(keyval) case 0: return 0; case 1: return 1; case 2: return 2; case 3: return 3; case 7: return 7; default:return 0;return 0;/=void zw(void)while(1)num = key_p(); /返回 key_p 的值给num。/portc=0xff;if(num=0)portc=9;/前方无障碍 直走else if(num=1)portc=5;/前方有障碍 左转 else if(num=3)portc=10;/前方和左边有障碍 右转 else if(num=7)portc=6;/前方和左边,右边都有障碍 后退 /delay_ms(1); /=int main(void)ddrc = 0xff;ddrd = 0; / 输入方式为d口输入。portd=0xff; oc0_out_en;/为允许pwm工作,需设置pb3为输出timer0_init(); sei(); zw(); return 0;三.工作原理 当检测到障碍物时,红外光敏二极管接收到反射回来红外光,其输出立即发生高低点平转换,该信号经放大器放大后送到单片机进行分析处理。然后将处理后的结果发送到电机驱动模块,进行校

温馨提示

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

评论

0/150

提交评论