




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、AVR单片机课程论文-沿壁小车组员:孟晓东 陶丙山 刘清源一、设计目的、用途和功能1.设计目的:现代社会机器取代人力将在越来越广泛的范围进行。在消防等危险工作中,实现在严峻的环境下沿着墙壁行驶、遇到障碍物绕开的功能,可以为消防工作带来极大便利。另外,在未知危险地域的探索中,沿壁系统也可以提供有效可行的探索路线并实施。2.作品用途:可用于探索机器人和自动灭火机器人中,实现路面探索和消防过程的沿壁和壁障。改造后可以用于地面目标的跟随。3.作品基本功能:PWM调速功能、左沿壁功能、沿壁过程中的壁障及防卡死功能二、硬件设计1.设计思想:1)小车左侧沿墙壁行驶,通过车左前方的光电开关检测车到墙壁的距离,
2、经过单片机分析,过近时驱动小车右拐,过远时左拐以往成沿壁功能。2)当小车前方出现障碍物时,由前方的光电开关感知信息,驱动小车右拐,之后小车将障碍物视为墙壁而绕过以完成沿壁过程中的壁障功能。3)由于ATmaga16单片机无法驱动电机等元件,采用间接驱动继电器或者使用芯片的方法,实现单片机对电机的控制。硬件设计示意图:2.模块说明:2.1主控模块:我们选用Atmel公司的ATmaga16单片机。Mega16是高性能、低功耗的 8 位AVR 微处理器,具有先进的RISC结构,内部集成两个具有独立预分频器和比较器功能的8 位定时器/ 计数器和一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数
3、器。可通过JTAG对MCU进行程序烧写及仿真。内置晶振,使用方便。引脚定义:探测模块:设计方案:1)使用使用超声波探测器。超声波探测器的优点是比较耐脏污,即使传感器上有尘土,只要没有堵死就可以测量,可以在较差的环境中使用,所以倒车雷达多半使用超声波,缺点是精度较低,且成本较高。同时,超声波探测具有几厘米甚至几十厘米的盲区,这对于我们的沿壁小车是个致命的限制。所以我们放弃了这个方案。2)搭建红外发射接收系统。本设计对测距的距离和精度要求不高,可以采用安全、简易的红外测距系统。我们做过很多尝试。利用距离不同,墙壁的反射强度不同,接A/D转换后,可以定义小车行驶的范围,可控性强。但是,系统极易受环境
4、影响,信号很不稳定。红外发射电路:选择功率较高的红外发射管,增强接收信号的强度,提高信噪比。红外接收电路:使用LAT224芯片,提高红外接收信号的强度并可以直接连接到单片机的输入口转换为数字信号。3)使用光电开关。采用漫反射型光电开关,平均有效探测距离为030cm可调,且抗外界背景光干扰能力强,可在日光下正常工作(理论上应避免日光和强光源的直接照射)。这满足了我们信号发射与接收的要求。我们选择了此方案。示意图:光电开关1实现沿壁功能光电开关2实现壁障功能2.3驱动模块:设计方案:1)继电器驱动电路使用继电器仅仅能完成开关的作用,不便于灵活的完成电机的调速和倒转,而且间断的电压亦对电机使用寿命有
5、不良影响。我们只在前期的简单沿壁设计中使用此方案。2)使用L298N芯片L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片便于实现PWM调速和电机倒转,以完成防卡功能和
6、三档调速功能。电源及稳压模块:采用八节五号电池直接给光电开关供电。采用稳压芯片7805使电压稳定在5伏左右,为Mega16芯片(工作电压为)、L298N芯片供电。L298N芯片有两个电源引脚VDD引脚和VCC引脚。VDD引脚接+5V电源用来给电机供电,VCC引脚接+5V电源用来给芯片供电最终方案如下:使用干电池组对系统供电,选用组装小车,采用Mega16作为主控芯片,采用E3F-DS30C4光电开关进行障碍物探测,使用L298N驱动直流电机。:3.1探测模块:3.2驱动模块:主控模块三、软件设计1.第一版程序:软件流程图:开始检测端口值判断端口值执行左拐函数执行右拐函数左拐右拐设计思想:这是我
7、们第一版程序,采用两个继电器控制小车左右轮的转动。与墙保持一定距离就要求离墙太近就远离墙,离墙太远就向墙拐。利用单片机控制两个继电器的吸合,以控制左右轮的转动。给小车设定了两个动作:离墙太近0x00,右拐;离墙太远0x01,左拐;这是简单的实现了沿壁的功能。每个动作都有延时函数作用。但调试过程中,我们发现小车会出现卡住的情况,即小车在拐大角度时,会被墙角卡住。为解决卡住的问题,小车应该会后退。这是我们小车现在不能做的动作。为使小车后退以防卡,我们改变了电路,采用了芯片L298N,在学过中断及定时器的内容后,我们又给小车加了变速功能。这样,程序便有了比较大的改动。2.第二版程序:软件流程图:T0
8、溢出中断检测端口值判断端口值执行左拐函数执行右拐函数左拐右拐是否卡住执行卡住函数是等待下次中断触发否原地转弯有障碍物软件设计思路:第二版程序,我们采用芯片L298N,实现了小车的后退和变速功能。小车的变速有一个独立按键来控制。另外,我们又加了一个光电开关来检测小车正前方的情况。如果前方有障碍物的话,小车会避开障碍物后再沿壁行驶。 T0溢出中断,检测端口反馈值是多少,前方是否有障碍物,每次左转或右转都记录一次,如果连续左转或右转超过5次,就认为小车卡住了,执行防卡程序。 离墙太近并且前方无障碍物:0x02 小车右拐 离墙太远并且前方无障碍物:0x03 小车左拐 前方有障碍物: 0x00或0x01
9、 小车后退并右拐 卡住:后退一段距离再右拐程序的模块构成:系统时钟模块 通过T0定时器产生0.255秒的溢出中断,作为小车周期性的探测和动作的时钟。相关函数:timer0_init(void)timer0_ovf_isr(void)调速模块 用TI定时器产生两路PWM波形来控制两个电机的转速,采用独立按键来实现变速。相关函数:timer1_init(void)int0_isr(void)距离及障碍探测模块 通过读取PIND值来判断外界情况。相关函数timer0_ovf_isr(void)常规动作模块 根据探测模块的返回值,有三个函数控制小车的动作。相关函数move_left()move_rig
10、ht()move_back()move_b_r()防卡模块 首先判断小车是否被卡住,读取count值,如果count大于10,说明小车连续左拐十次,被认为卡住,执行防卡程序。相关函数:trap()3第三版程序(最终版)软件流程图及思路同第二版,更改了软件模块的代码。在第二版程序调试过程中,我们发现小车还是左右摇摆,轨迹不是很圆滑。为使小车的轨迹变得圆滑,我们又改进了程序。使小车拐弯通过改变左右电机的速度来实现,而不是控制左右电机的停和运转来实现,这样,小车走的轨迹就比较圆滑了。这版程序是我们的最终程序。程序的模块构成和功能:系统时钟模块 通过T0定时器产生0.255秒的溢出中断,作为小车周期性
11、的探测和动作的时钟。相关函数:timer0_init(void) 对T0定时器进行初始化,使能溢出中断,系统时钟采用64分频。timer0_ovf_isr(void) 溢出中断服务程序,再改程序中判断端口值,并进行相应的动作。设定全局变量a,a=PIND&0x03。a=0x00,小车右拐;a=0x01,小车左拐;a=0x02或a=0x03,小车原地转弯。调速模块 用TI定时器产生两路PWM波形分别控制控制两个电机的转速,采用独立按键来实现变速。程序中设定了三档,对应OCRAL和OCRBL值为slow、mid、fast。小车行驶设置两档,通过按键来改变小车速度。相关函数:timer1_i
12、nit(void) : 对T0定时器进行初始化,采用8位快速PWM工作模式,比较匹配时置1,系统时钟采用256分频。int0_isr(void): 使能外部中断int0,采用下降沿为触发源,在外部中断服务程序中可通过按键来改变小车的行驶速度。定义全局变量b,通过按键来改变b值。每按键一次,b自加一次,b=1为中档,b=2为高档,b>2时清零。即按键一次为中档,按键两次为高档。常规动作模块 根据探测模块的返回值,有三个函数控制小车的动作。相关函数delay_ms() 延时100msmove_left() 小车的左轮在原有档位基础降一档,小车左拐。move_right() 小车的右轮在原有档
13、位基础降一档,小车右拐。move_back() 小车的左右轮倒转,小车后退。move_b_r() 小车的左轮正转,右轮反转,小车原地转弯。防卡模块 首先判断小车是否被卡住,定义全局变量count1和c,每左拐一次count1自加一次,右拐时count1清零;每右拐一次,c自加一次,左拐时,c清零。读取count1和c值,如果count1大于20或c大于20,说明小车连续左拐或右拐20次,则被认为卡住,执行防卡程序。相关函数trap1() 连续左拐20次小车后退1s,再右拐一次;trap2()连续右拐20次小车后退1s,再右拐一次;四、系统测试过程及测试数据实物图:1.测试一测试方法:1) 硬件
14、配置:单片机控制,使用红外发射和接收电路,使用单片机自带的A/D转换处理输入信号,使用LED检测单片机输出的电位信号。2) 软件功能:红外接收管接收电压经A/D转换后,判断其值是否高于预定值,是,则使LED亮;否,则不亮。3) 测试环境:夜晚,室内,有节能灯照明测试结果:LED灯一直是点亮状态。这是外界干扰过强导致的,即使不使用红外发射电路LED仍然处于点亮状态,另外对接收管遮蔽处理后发现LED状态不稳定。测试方法:1) 硬件配置:单片机控制,使用光电开关1(用于车左上角),使用继电器作为电机电源开关,连入小车直流电动机。2) 软件功能:见软件设计第一版3) 测试环境:AVR单片机设计实验室,
15、陶瓷地面砖,红涂料墙脚。测试结果:小车基本实现了沿壁功能。墙壁平滑延伸时小车以蛇形方式前进;在凹陷的墙角处顺利流畅的行驶;在突出的墙角处偶尔会出现卡住问题。我们以这个作品参加我校举办的创新科技大赛获得三等奖。测试方法:1) 硬件配置:单片机控制,使用光电开关1和2,使用L298N芯片驱动电机,连入小车电机。2) 软件功能:见软件设计第二版3) 测试环境:山东大学洪家楼小区10#楼,水泥地面,红涂料墙脚测试结果:小车实现了沿壁功能和壁障功能。仍热以蛇形方式前进,墙角处均能较流畅的行驶,壁障正常。但是防卡功能有时不能正常工作。4.测试四(最终测试)测试方法:1) 硬件配置:同测试三2) 软件功能:
16、见软件设计第三版3) 测试环境:山东大学洪家楼小区10#楼,水泥地面,纸箱“墙脚”测试结果:小车比较完美的实现了所有预定功能。以更顺才畅的方式沿壁行驶和拐弯;前方发现障碍物时,高速调整方向以壁障;小车卡住时能实现倒行和重新寻壁。测试数据:小车距墙壁的距离:约六厘米(墙壁对红外反射情况不同将产生不同的沿壁距离)障碍物的探测距离:约八厘米(受障碍物对红外线的反射系数影响)行驶速度:约0.08m/s m/s小车重量:约五、相应指标参数AVR Mega16单片机:工作电压: ;速度等级: 0 - 16 MHz ATmega16光电开关E3F-DS30C4 工作电压:12 V ;输出电压:12 V光电开关E3F-DS10C4工作电压:12 V ;输出电压:12 V7805稳压芯片:输入电压:7-15 V;输出电压:5 V直流电机:3 V六、设计所需资源1、最终作品所需器件:轨迹车 元件 1套光电开关E3F-DS30C4 1个光电开关E3F-DS10C4 1个电池盒 2个干电池 8节杜邦线 5根7805稳压芯片 2个L298N芯片 1个0.1uf电容 2个100u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期刊出版与学术资源优化配置考核试卷
- 故宫瓦片施工方案
- 氨基酸衍生物合成考核试卷
- 机器人技术与智能控制考核试卷
- 油气田开发项目全过程管理与优化策略案例考核试卷
- 棉麻行业产品创新与市场适应性分析考核试卷
- 2025年车载卡带机项目可行性研究报告
- 2025年裂解汽油二段加氢催化剂项目可行性研究报告
- 2025-2030中国自动注塑机行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国脱胶设备行业市场发展趋势与前景展望战略研究报告
- 高血压健康教育知识讲座课件
- 肾内科血透室品管圈
- 小学劳动教育一年级下册第二单元第3课《削果皮》课件
- 担任学生干部证明
- 学校消防宣传周活动方案食品安全宣传周方案
- 妇产科医生个人职业发展路径计划
- 装修工程合同范本(中英文版)
- 成人住院患者静脉血栓栓塞症预防护理
- 导游知识与技能训练智慧树知到期末考试答案章节答案2024年丽江文化旅游学院
- 无小孩无共同财产离婚协议书
- 企业多元化与包容性政策
评论
0/150
提交评论