单片机课程设计-红外避障小车.doc

上传人:李主任 文档编号:3262663 上传时间:2019-08-06 格式:DOC 页数:17 大小:629.02KB
返回 下载 相关 举报
单片机课程设计-红外避障小车.doc_第1页
第1页 / 共17页
单片机课程设计-红外避障小车.doc_第2页
第2页 / 共17页
单片机课程设计-红外避障小车.doc_第3页
第3页 / 共17页
单片机课程设计-红外避障小车.doc_第4页
第4页 / 共17页
单片机课程设计-红外避障小车.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机课程设计-红外避障小车.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-红外避障小车.doc(17页珍藏版)》请在三一文库上搜索。

1、红外避障小车任务: 利用单片机、红外实现避障,要求具有下述功能:1. 小车前进可以避开(前、左、右)20cm的障碍物;2. 实现下车前进时,不碰障碍物;3. 具有声音播报功能。引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能小车。发挥:1.利用超声波测距2.红外寻迹可以控制小车行走的路

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将设计资料装订成册,交给指

3、导教师,准备答辩10.1.10摘要针对题目的要求,我们设计了一款简易的红外避障小车。该电路设计分别以驱动模块,单片机控制显示模块组成。为了达到题目的要求,我们以ATMEGA16-L为核心控制器件,以LM298驱动电机控制系统和红外监测系统设计而成。关键词:ATMEGA16-L;红外避障检测电路;驱动电路。整体构思:一.模块方案比较1.壁障模块 在壁障模块中,可以选择超声波壁障。其优点是反应速度灵敏,距离远,受外界干扰小。但是,在本设计中,题目所要求是距离是20cm,如果利用超声波传感器进行壁障的话,由于空间小声波在小空间不同方向里会进行多次反射,左右前后的传感器之间相互干扰,使控制中心不能明确

4、判断出那个方位遇到了障碍物,从而动作紊乱,不能实现要求。 使用红外接收头和发射管配合,利用38k频率解决灵敏度问题。38K调制和发射电路。使用一个定时器的快速PWM模式产生38K调制信号,通过剩余的四个施密特触发器(有2个已经用在光电编码部分)缓冲,推动8050三极管和红外发光管来发射已经调制的红外线。其中2个1N4148接单片机IO脚,控制左右红外发光管轮流发射。后面串接的可见光LED是为了方便用户调试而设置的,让用户知道当前是否在发射红外线。通过调节PWM的占空比,调节红外发光管的亮度,从而实现调节感知障碍物距离的功能。但是实际测试结果不尽人意。灵敏度太高。加衰减电路比较麻烦,调试不易。且

5、价格也贵。 利用红外传感器,其优点是对近距离的障碍物反应速度灵敏,不同方位的传感器之间信号不会相互干扰,造成误动作。缺点是距离近,易受到自然光的干扰。经过两种传感器性能对比与题目要求的综合考虑分析,最终选择红外传感器作为小车的眼睛,进行壁障。LM567是一种廉价的音频锁相环集成电路,利用它可以构造性能较好的反射式光电传感器。 如下页图所示,由LM567的内部振荡器提供方波信号,点亮探头的LED,由探头的光敏管接收反射光。经三极管放大,转换成电压信号后送到LM567的内部鉴相器2(输出鉴相器)同步解调,然后由LM567内部的比较器转换为数字输出。 并联负反馈放大电路有着稳定的增益和低的输入阻抗,

6、能消除光敏管结电容的影响,获得良好的高频特性。100R电位器 用于调节放大器增益以调节灵敏度。 这个电路的缺点是当多个探头同时使用时因为频率接近,一旦相邻单元的光斑出现部分重合就会有差拍干扰造成输出抖动。另外,567输出鉴相器的参考信号是从振荡电容端引出的,与发射和接收信号几乎是正交的,解调效率非常低,前级需要高倍放大。意探头的连线要短,如果连线较长要分别屏蔽,最好把电路板跟探头做在一起。否则发射管连线上大幅度的脉冲信号会感应耦合到接收端,导致在没有接收光的情况下也误认为收到了光信号,这种同频干扰无法用电路板上的设计来消除电路图如下图:但为了使用方便,改用成品。(成品如下图)2.驱动模块在电机

7、驱动模块中,由于电机的功率不大,我们可以选择使用电桥驱动,电路图如下: 其优点是电路简单,成本高。但是由于缺少保护电路,只要控制出现错误,就很容易烧坏晶体管,晶体管的价格也不菲,便宜货又电流太小,不足以承受小车的功率,使整个电路瘫痪。 然而,使用集成电路LM298,由于集成程度高,内包含稳定的数字电路,就算在编写程序的时候错误或者其他原因使控制端口同时输出通过一种电平,不容易烧坏芯片,使整个电路瘫痪。同时芯片还有使能端,容易控制,且稳定。特有的PWN调制功能端,使电机更容易控制。也使得程序在减速的过程特别是保持左右电机速度平衡的程序编写上变得更加简洁容易。 15脚Multiwatt封装的L29

8、8N,内部同样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作为本设计的驱动芯

9、片。其电路连接图如下:3.控制模块 我们经常使用的单片机要AT89S51,ATMEGA16-1,凌阳单片机等。在我们的应用中,用到最多的就是AT89S51和ATMEGA16-1。AT89S51比较通用,能使用C语言进行程序的编写,方便阅读。但是,其集成程度低,功能单一,需要使用到其它功能时,只能通过扩展外电路来实现,使得整个电路复杂,成本高,稳定性低。同时,I/O口输出功率小,一般器件都需要加驱动才能够正常使用。 而ATMEGA16-L集成程度高,内集成了A/D等其它功能模块,在进行电路设计时,可以大大节省了成本,提高了整体电路稳定性。同时输出功率大,一般器件无需驱动电路,就可以直接使用。AT

10、mega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。因此选用高性能的ATmega16 AVR单片机进行设计,以下是控制板的电路。其电路连接图如下:此图为AVR A

11、Tmega16L的原理图。二.程序设计1.程序流程图 上电运行后,放到没有障碍物的空地上,小车直走。当前方没有障碍物的的时候车就一直直走。如果前方遇到障碍物,则小车做左转运动。直至前方没有障碍物,这时小车恢复直走。 如果前方有障碍物的时候,左边同时也有障碍物,则小车右转。直至左边没有障碍物或者前方没有障碍物。这时小车恢复左转,或者直走。如果前面没有障碍物,则先执行直走。 如果前方,左方,右方均有障碍物,则小车后退,直至前方,左方,右方任一方向没有障碍,则此时小车开始以前方,左方,右方的优先级开始执行转向。也就是说如果前方没有障碍物,即使其他任意方向都有障碍则小车依然直走,如果前方有障碍,左边没

12、有则右转,前方左方都有障碍,则小车右转。否则小车后退。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)|(1C

13、OM00)|(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;/前方和左边有障

14、碍 右转 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;三.工作原理 当检测到障碍物时,红外光敏二极管接收到反射回来红外光,其输出立即发生高低点平转换,该信号经放大器放大后送到单片机进行分析处理。然后将处理后的结果发送到电机驱动模块,进行校正。控制其向右转,向左转和后退。避障与寻迹的设计原理是相同的,区别在于传感器的灵敏度不同,蔽障的灵敏度要比寻迹的灵敏度高,只要小车前方有障碍物,红外线通过障碍物反射到光敏管,传感器输出低点平,发送到单片机进行处理,然后单片机处理后驱动lm298去控制小车运行和方向。四 结论1.本设计制作完成了题目要求的基本部分,达到了预期的目标。我们通过各种方案的讨论及尝试,再经过多次的整体软硬件结合的调试,不断地对系统进行优化,小车完成了各项功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1