欢迎来到天天文库
浏览记录
ID:793283
大小:3.48 MB
页数:12页
时间:2017-09-05
《avr单片机智能小车》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、AVR单片机课程论文-沿壁小车组员:范超一、设计目的、用途和功能1.设计目的:现代社会机器取代人力将在越来越广泛的范围进行。在消防等危险工作中,实现在严峻的环境下沿着墙壁行驶、遇到障碍物绕开的功能,可以为消防工作带来极大便利。另外,在未知危险地域的探索中,沿壁系统也可以提供有效可行的探索路线并实施。2.作品用途:可用于探索机器人和自动灭火机器人中,实现路面探索和消防过程的沿壁和壁障。改造后可以用于地面目标的跟随。3.作品基本功能:PWM调速功能、左沿壁功能、沿壁过程中的壁障及防卡死功能二、硬件设计1.设计思想:1)小车左侧沿墙壁行驶,通过
2、车左前方的光电开关检测车到墙壁的距离,经过单片机分析,过近时驱动小车右拐,过远时左拐以往成沿壁功能。2)当小车前方出现障碍物时,由前方的光电开关感知信息,驱动小车右拐,之后小车将障碍物视为墙壁而绕过以完成沿壁过程中的壁障功能。3)由于ATmaga16单片机无法驱动电机等元件,采用间接驱动继电器或者使用芯片的方法,实现单片机对电机的控制。硬件设计示意图:2.模块说明:2.1主控模块:我们选用Atmel公司的ATmaga16单片机。Mega16是高性能、低功耗的8位AVR微处理器,具有先进的RISC结构,内部集成两个具有独立预分频器和比较器功
3、能的8位定时器/计数器和一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器。可通过JTAG对MCU进行程序烧写及仿真。内置晶振,使用方便。引脚定义:2.2探测模块:设计方案:1)使用使用超声波探测器。超声波探测器的优点是比较耐脏污,即使传感器上有尘土,只要没有堵死就可以测量,可以在较差的环境中使用,所以倒车雷达多半使用超声波,缺点是精度较低,且成本较高。同时,超声波探测具有几厘米甚至几十厘米的盲区,这对于我们的沿壁小车是个致命的限制。所以我们放弃了这个方案。2)搭建红外发射接收系统。本设计对测距的距离和精度要求不高,可以采用安全、
4、简易的红外测距系统。我们做过很多尝试。利用距离不同,墙壁的反射强度不同,接A/D转换后,可以定义小车行驶的范围,可控性强。但是,系统极易受环境影响,信号很不稳定。红外发射电路:选择功率较高的红外发射管,增强接收信号的强度,提高信噪比。红外接收电路:使用LAT224芯片,提高红外接收信号的强度并可以直接连接到单片机的输入口转换为数字信号。3)使用光电开关。采用漫反射型光电开关,平均有效探测距离为0~30cm可调,且抗外界背景光干扰能力强,可在日光下正常工作(理论上应避免日光和强光源的直接照射)。这满足了我们信号发射与接收的要求。我们选择了此
5、方案。示意图:光电开关1实现沿壁功能光电开关2实现壁障功能2.3驱动模块:设计方案:1)继电器驱动电路使用继电器仅仅能完成开关的作用,不便于灵活的完成电机的调速和倒转,而且间断的电压亦对电机使用寿命有不良影响。我们只在前期的简单沿壁设计中使用此方案。2)使用L298N芯片L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用
6、标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片便于实现PWM调速和电机倒转,以完成防卡功能和三档调速功能。2.4电源及稳压模块:采用八节五号电池直接给光电开关供电。采用稳压芯片7805使电压稳定在5伏左右,为Mega16芯片(工作电压为4.5-5.5V)、L298N芯片供电。L298N芯片有两个电源引脚VDD引脚和VCC引脚。VDD引脚接+5V电源用来给电机供电,VCC引脚接+
7、5V电源用来给芯片供电2.5最终方案如下:使用干电池组对系统供电,选用组装小车,采用Mega16作为主控芯片,采用E3F-DS30C4光电开关进行障碍物探测,使用L298N驱动直流电机。3.原理图:3.1探测模块:3.2驱动模块:3.3中断模块3.4主控模块三、软件设计1.第一版程序:1.1软件流程图:开始检测端口值判断端口值执行左拐函数执行右拐函数左拐右拐1.2设计思想:这是我们第一版程序,采用两个继电器控制小车左右轮的转动。与墙保持一定距离就要求离墙太近就远离墙,离墙太远就向墙拐。利用单片机控制两个继电器的吸合,以控制左右轮的转动。给
8、小车设定了两个动作:离墙太近0x00,右拐;离墙太远0x01,左拐;这是简单的实现了沿壁的功能。每个动作都有延时函数作用。但调试过程中,我们发现小车会出现卡住的情况,即小车在拐大角度时,会被墙
此文档下载收益归作者所有