基于单片机的智能小车设计(红外避障)(共43页)_第1页
基于单片机的智能小车设计(红外避障)(共43页)_第2页
基于单片机的智能小车设计(红外避障)(共43页)_第3页
基于单片机的智能小车设计(红外避障)(共43页)_第4页
基于单片机的智能小车设计(红外避障)(共43页)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、 轮式移动机器人的设计报告PAGE 轮式移动机器人的设计报告单片机系统(xtng)课程设计智能(zh nn)小车(避障及循迹)的设计(shj) 学院: 班级: 姓名: 学号: 同组成员: 指导老师: 日期: 摘要(zhiyo)智能作为现代社会的新生产物,是未来的发展的一个重要方向,它可以按照预定的模式在特定的环境里自动的运作,无需(wx)人为管理,便可以完成预期目标。本设计主要体现多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等对智能化机器人,智能家用电器等自动半自动机器人的设计与普及有一定的参考意义。整个智能小车设计(shj)主要以单片机为控制核心,通过红外遥控实现小车前后左

2、右的移动,以及对小车功能模式的转换;通过红外传感器,实现小车的避障功能和循迹功能。设计采用对比选择,模块独立,综合处理的研究方法。结合实际情况对比方案优劣选出最优方案进行设计。从红外遥控,红外循迹和避障,都严格按照科学严谨态度完成。通过调试检测各模块,得到正确的信号输出,实现其应有的功能。最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模块有效整合在一起,达到所预期的目标,完成最终设计与制作,能使小车在一定的环境中智能化运转。关键词:智能小车 避障 循迹 遥控AbstractSmart as a new product of modern society, it i

3、s an important direction of future development, it can be according to the predetermined pattern in a specific environment of automatic operation, without human management, can achieve expected goal. This design mainly reflects the multi-function car intelligent mode, the theory in the design of sch

4、eme, analysis method and special features and innovation point of intelligent robot, intelligent home appliances such as the design of automatic semi-automatic robot and popularity have certain reference significance.The smart car design mainly by the single chip processor as the core, through infra

5、red remote control to realize the car moving around, as well as to the car function mode conversion; Through the infrared sensor, achieve the function of car obstacle avoidance and tracking function. Independent design USES contrast to choose, module, integrated processing methods. Combined with act

6、ual situation comparing scheme to design and choose the optimal solution. From the infrared remote control, infrared tracking and obstacle avoidance, are in strict accordance with the scientific rigorous attitude to complete. Through debugging test module, get the correct output signal, realize its

7、function. Finally combine the modules of various debugging success on car body, combined with the program, through the single-chip microcomputer control, to effectively integrate various modules together, achieve the expected goals, complete the final design and production, can make the car intellig

8、ent operation in a certain environment.Keywords: intelligent car avoidance tracking control TOC o 1-3 h u HYPERLINK l _Toc6294 第一章 绪论(xln) PAGEREF _Toc6294 1 HYPERLINK l _Toc6993 1.1 设计的背景(bijng)和意义 PAGEREF _Toc6993 1 HYPERLINK l _Toc1917 1.2 智能(zh nn)小车的发展现状 PAGEREF _Toc1917 2 HYPERLINK l _Toc10643

9、 1.3 该设计的主要内容和目的 PAGEREF _Toc10643 4 HYPERLINK l _Toc1143 第二章 系统总体方案设计与论证 PAGEREF _Toc1143 5 HYPERLINK l _Toc4487 2.1 系统的总体方案设计 PAGEREF _Toc4487 5 HYPERLINK l _Toc11666 2.2 主控系统 PAGEREF _Toc11666 6 HYPERLINK l _Toc31343 2.3 电机驱动模块 PAGEREF _Toc31343 6 HYPERLINK l _Toc12490 2.4 循迹模块 PAGEREF _Toc12490

10、6 HYPERLINK l _Toc30482 2.5 显示模块 PAGEREF _Toc30482 6 HYPERLINK l _Toc26526 第三章 系统硬件电路设计 PAGEREF _Toc26526 7 HYPERLINK l _Toc3453 3.1 主控模块的电路设计 PAGEREF _Toc3453 7 HYPERLINK l _Toc12362 3.1.1 AT89S52单片机的简介 PAGEREF _Toc12362 7 HYPERLINK l _Toc22998 3.2 红外避障模块的电路设计 PAGEREF _Toc22998 9 HYPERLINK l _Toc31

11、181 3.2.1 LM393双电压比较器集成电路 PAGEREF _Toc31181 9 HYPERLINK l _Toc3271 3.2.2红外对管工作原理 PAGEREF _Toc3271 11 HYPERLINK l _Toc24870 3.2.3红外避障电路图及工作原理 PAGEREF _Toc24870 12 HYPERLINK l _Toc19026 3.3红外循迹电路的设计 PAGEREF _Toc19026 13 HYPERLINK l _Toc29034 第四章 系统软件设计 PAGEREF _Toc29034 15 HYPERLINK l _Toc21499 4.1 主程

12、序 PAGEREF _Toc21499 15 HYPERLINK l _Toc26022 第五章 总结 PAGEREF _Toc26022 24 HYPERLINK l _Toc444 附录1程序清单 PAGEREF _Toc444 25 HYPERLINK l _Toc677 附录2硬件原理图 PAGEREF _Toc677 34 HYPERLINK l _Toc26396 附录3 实物图 PAGEREF _Toc26396 35 第一章 绪论(xln)1.1 设计的背景(bijng)和意义随着(su zhe)电子技术、计算机技术和制造技术的飞速发展, HYPERLINK /s?q=%E6%

13、95%B0%E7%A0%81%E7%9B%B8%E6%9C%BA&ie=utf-8&src=wenda_link t /q/_blank 数码相机、DVD、洗衣机、 汽车等消费类产品越来越呈现光机电一体化、智能化、小型化等趋势。各种智能化 小车在市场玩具中也占一个很大的比例。根据美国玩具协会的调查统计,近年来全 球玩具销量增幅与全球平均 HYPERLINK /s?q=GDP&ie=utf-8&src=wenda_link t /q/_blank GDP增幅大致相当。而全球玩具市场的内在结构比重却 发生了重大改变:传统玩具的市场比重正在逐步缩水,高科技含量的电子玩具则蒸 蒸日上。美国玩具市场的高

14、科技电子玩具的年销售额2004年交2003年增长52%, 而传统玩具的年销售额仅增长3%。英国玩具零售商协会选出的2001 HYPERLINK /s?q=%E5%9C%A3%E8%AF%9E%E8%8A%82&ie=utf-8&src=wenda_link t /q/_blank 圣诞节最受欢 迎的十大玩具中,有7款玩具配有电子元件。从这些数字可以看出,高科技含量的 电子互动式玩具已经成为玩家行业发展的主流。如今知识工程、计算机科学、 HYPERLINK /s?q=%E6%9C%BA%E7%94%B5%E4%B8%80%E4%BD%93%E5%8C%96&ie=utf-8&src=wenda_

15、link t /q/_blank 机电一体化和工业一体化等许多领域都在讨论智能系统,人们要求系统变得越来越智能化。显然传统的控制观念是无法满足人们的 需求,而智能控制与这些传统的控制有机的结合起来取长补短,提高整体的优势更 好的满足人们的需求。随着 HYPERLINK /s?q=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E6%8A%80%E6%9C%AF&ie=utf-8&src=wenda_link t /q/_blank 人工智能技术、计算机技术、 HYPERLINK /s?q=%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E6%

16、8A%80%E6%9C%AF&ie=utf-8&src=wenda_link t /q/_blank 自动控制技术的迅速发展, 智能控制必将迎来它的发展新时代。计算机控制与电子技术融合为电子设备智能化 开辟了广阔前景。因此,遥控加智能的技术研究、应用都是非常有意义而且有很高市场价值的。1.2 智能小车(xioch)的发展现状随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注(gunzh)。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。智能小车是一个集环境感知、规划决策、自动驾驶等功能于一体的综合系统。它集中的运用了计算机

17、、传感器、信息。通信(tng xn)、导航、人工智能及自动控制等技术,是典型的高新技术综合体。一.国外智能车设计竞赛(1)美国的智能车大赛美国国防部与院校、企业和发明家联合开展,全球领先的智能汽车竞赛。2007年11月,美国第三届智能汽车大赛在加州维克托维尔举行。本届智能汽车比赛的目标是对未来科学家的激励。大学、企业和发明家们期望制造出通过洛杉矶和拉斯维加斯间荒地、行程160km的自主控制汽车。参赛汽车的车顶上有旋转的激光器,两边有转动的照相机,完全由电脑控制,利用卫星导航、摄像、雷达和激光,人工智能系统可判断出汽车的位置和去向,随后将指令传输到负责驾驶车辆的系统,丝毫不受人的干涉,用传感器策

18、划和选择路线。参赛的无人驾驶智能汽车沿着附近公路飞奔。(2)韩国大学生智能车大赛韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办,以HCS12单片机为核心的大学生智能模型汽车竞赛。组委会提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路线的智能车,在专门设计的跑道上自动识别道路行驶,谁最快跑完全程而没有冲出跑道并且技术报告评分较高,谁就是获胜者。二.国内智能车辆竞赛现状研究(1)竞赛的起源2005年11月,中国教育部高等学校自动化专业指导分委员会与飞思卡尔半导体公司签署了双方长期合作协议书。协议书规定从2006年起,飞思卡尔将至少连续5年协办“飞思卡尔”杯

19、全国大学生智能汽车邀请赛,提供参赛队的标准硬、软件技术平台和竞赛优胜者奖金,并为主办单位提供一定的竞赛组织经费,我国智能车竞赛由此开始.(2)智能车竞赛的地位教育部:与老牌的数学建模、电子设计、机械设计、结构设计等四大竞赛并列,被认定为国家教育部正式承认的五大大学生竞赛项目.各高校:清华、交大、科大等名校均参加,最投入为北京科大,每年均举行校内赛(09年规模为79支队伍).校内:综合类竞赛(A类)仅3种,分别为智能汽车、机器人、挑战杯。(3)竞赛历史第一届邀请赛2006年8月20日至21日在清华大学进行,共有来自全国57所高校的112支参赛队参加。赛道中只有直道和弯道,没有上下坡。从赛车寻迹技

20、术方案来看,赛道检测方式也大体分为红外发射/接受管检测方式和CCD/CMOS摄像头检测方式两类。摄像头方案的成绩普遍好于红外传感器方案。(4)竞赛历史第二届,赛区+总决赛扩大到全国具有以自动化专业为主的理工类高等本科学校约300余所。采取赛区和全国总决赛结合的形式。全国分为5个赛区,总决赛在上海交大举行。总决赛中出现上下坡的限制,比赛变得复杂了。小车的平均速度较比上年有了显著的提高,采用摄像头方案的成绩更加明显(决赛前十名的队伍全为摄像头队伍)。同比韩国的智能车大赛,我们的竞赛成绩已经超过了韩国。(5)竞赛历史第三届,赛区+总决赛第三届智能车大赛在东北大学举行,有551支代表队伍参加了分区赛,

21、104支队伍参加了总决赛。第三届比赛保留了前两届的要求,同时又增加了跑完全部路程起跑线在3米内停车的限制,对起跑线的识别又提出了严格的要求。与前两届摄像头与光电同条件参加比赛不同,本次竞赛分为光电与摄像头两个赛题组。(6)竞赛历史第四届,赛区+总决赛第四届智能车总决赛在北京科技大学举行,有780支代表队伍参加了分区赛,120支队伍参加了总决赛。第四届比赛保留了前三届的要求,同时又增加了窄道、更复杂的背景、三角形标识识别等更具有难度的内容。增加了创意组,共有10个队经过初选进入复赛。(7)竞赛的发展第五届,更具难度增加电磁组,扩大创意组规模;赛道变窄,提高小车控制难度;措施更严密。1.3 该设计

22、的主要(zhyo)内容和目的智能(zh nn)小车主要(zhyo)由由四大组成部分:红外避障部分、红外循迹部分、执行部分、CPU。智能小车要实现循迹识别路线,避障后退并选择其他前进路线。该设计主要通过对系统硬件电路的设计,软件设计和程序的编写,然后通过后期软硬件调试达到设计目的,使其具有上述功能。 第二章 系统总体方案设计(shj)与论证2.1 系统(xtng)的总体方案设计 该系统(xtng)以AT89S52单片机为核心的控制电路,采用模块化的设计方案,利用红外遥控器代替开关按键控制小的启动和停止,能够轻松自如的实现小车的启动停止、左转、右转和前进后退等功能,假如我们希望小车运行到黑线上来检

23、测是否有循迹功能,就可以用遥控器控制小车行驶到有黑线的地方,当小车遇到有黑线时,会自动启动循迹功能模块,让小车沿黑线跑,遇到障碍物时会后退并选择其他路线躲避障碍物。每个模块都是相互独立又相互协调配合,实现了小车的智能控制。系统控制框图如图2.1所示:红外避障模块 AT89S52红外遥控模块红外接收模块电机驱动模块循迹模块显示模块图2.1 系统控制框图 2.2 主控系统(xtng) 我们(w men)采用单片机作为整个系统(xtng)的核心,通过其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷

24、。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。所以,我们选定了AT89S52 单片机作为本设计的主控装置。2.3 电机驱动模块 采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一因此选用L9110。这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大

25、,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。2.4 循迹模块 采用两只红外对管,分别置于小车车身左右两侧,根据两只对管接受到白线与黑线的情况来控制小车转向来调整车向。2.5 显示模块常用的数码显示器件主要有LED数码显管和LCD液晶显示器。考虑实用性最终选择了5611BS:0.56英寸一位共阳红色数码管,实用性强且价格低廉。第三章 系统(xtng)硬件电路设计3.1 主控模块(m kui)的电路设计3.1.1 AT89S52单片机的简介(jin ji)AT89C52是一个低电压,高性能 HYPERLINK /doc/1971600-2086573.html t /d

26、oc/_blank CMOS8位 HYPERLINK /doc/30473-31769.html t /doc/_blank 单片机,片内含8k bytes的可反复擦写的Flash只读 HYPERLINK /doc/4616537-4828902.html t /doc/_blank 程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用 HYPERLINK /doc/5443091-5681442.html t /doc/_blank ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51 HYPERLINK /doc/6004772-6217755.html t

27、 /doc/_blank 指令系统,片内置通用8位 HYPERLINK /doc/735320-778444.html t /doc/_blank 中央处理器和Flash HYPERLINK /doc/6261603-6475023.html t /doc/_blank 存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反

28、复擦写的 Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品(chnpn)的需求。引脚图如图3.1 图3.1 AT89S52引脚图AT89C52为8 位 HYPERLINK /doc/579926-613892.html t /doc/_blank 通用(tngyng)微处理器,采用(ciyng)工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解

29、码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口

30、,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。3.2 红外避障模块(m kui)的电路设计3.2.1 LM393双电压比较(bjio)器集成电路 图3.2.1-1 LM393 LM393是高增益,宽频带器件(qjin),像大多数比较器一样,如果输出端到输入端有寄生电容而产生 HYPERLINK /doc/993226-1049971.html t /doc/_blank 耦合,则很容易产生 HYPERLINK /doc/6260437-6473856.html t /doc/_blank 振荡。这种现象仅仅出现在当 HYPERLINK /doc/4627376

31、-4839979.html t /doc/_blank 比较器改变状态时,输出电压过渡的间隙,电源加旁路滤波并不能解决这个问题,标准PC板的设计对减小输入-输出寄生电容耦合是有助的。减小输入电阻至小于10K将减小反馈信号,而且增加甚至很小的正反馈量(滞回1.010mV)能导致快速转换,使得不可能产生由于寄生电容引起的振荡,除非利用滞后,否则直接插入IC(集成电路板integrated circuit,缩写:IC) 并在引脚上加上电阻将引起输入-输出在很短的转换周期内振荡,如果输入信号是 HYPERLINK /doc/5327352-5562524.html t /doc/_blank 脉冲波形

32、,并且上升和下降时间相当快,则滞回将不需要。 图3.2.1-2特点(tdin):工作温度范围(fnwi):0C - +70CSVHC(高度(god)关注物质):No SVHC (18-Jun-2010)器件标号:393工作电源电压范围宽,单电源、双电源均可工作,单电源: 2 36V, 双电 源:118V;消耗电流小, ICC=0.8mA;输入失调电压小, VIO=2mV;共模输入电压范围宽, VIC=0VCC-1.5V;输出与 HYPERLINK /subview/2696/13746362.htm t /view/_blank TTL,DTL,MOS,CMOS 等兼容;输出可以用开路集电极连

33、接“或”门;表面安装器件:表面安装功能:输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受 Vcc端电压值的限制,输出部分的陷电流被可能得到的驱动和器件的值所限制.当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。输出饱和电压被输出晶体管大约60ohm 的SAT限制。当负载电流很小时,输出晶体管的低失调电压(约1.0mV)允许 输出箝位在零电平。3.2.2红外对管工作(gngzu)原理 图3.2.2-1 图3.2.2-2上图中,红外光电管有两种,一种是无色透明的LED,此为发射管,它通电后能够产生人眼不可见红外光,另一部分为黑色的接收(jishu)部分,它内部的

34、电阻会随着接收到红外光的多少而变化。无论是一体式还是分离式,其检测原理都相同,由于黑色吸光,当红外发射管照射在黑色物体(wt)上时反射回来的光就较少,接收管接收到的红外光就较少,表现为电阻大,通过外接电路就可以读出检测的状态;同理,当照射在白色表面时发射的红外线就比较多,表现为接收管的电阻较小,此时通过外接电路就可以读出另外一种状态,如用电平的高低来描述上面两种现象就会出现高低电平之分,也就是会出现所谓的0和1两种状态,此时再将此送到单片机的I/O口,单片机就可以判断是黑白路面,进而完成相应的功能,如循迹、避障等。3.2.3红外避障电路图及工作(gngzu)原理图3.2.3-1图3.2.3-2

35、特点(tdin):该传感器模块对环境光线适应能力强,其具有一对(y du)红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,停止一段时间并后退,有效距离范围24cm,工作电压为3.3V-5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点。1、当模块检测到前方障碍物信号时,前方侧位红色指示灯点亮电平(din pn),同时OUT端口持续输出低电平信号,该模块检测距离24cm。2、传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物

36、体距离小,大面积距离大。3、传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器;连接方式:VCC-VCC;GND-GND;OUT-IO4、比较器采用LM393,工作稳定;5、可采用3-5V直流电源对模块进行供电。3.3红外循迹电路的设计 图3.3-1 图3.3-2 图3.3-3原理与避障基本一致,LM393为内部集成了四路(s l)比较器的集成电路。因为内部的四个比较电路完全相同,这里仅以一路比较电路进行举例。如图4所示为单路比较器组成的红外检测电路图,比较器有两个输入端和一个输出端,两个输入端一个称为同输入端,用“+”号表示,另一个称为(chn wi)反相输入

37、端,用“”表示。用作比较两个电路时,任意一个(y )输入端加一个固定电压作参考电压(也叫门限电压),另一端则直接接需要比较的信号电压。当“+”端电压高于“”端电压时,输出正电源电压,当“”端电压高于“+”端电压时,输出负电源电压(注意,此处所说的正电源电压和负电源电压是指接比较正负极的电压。第四章 系统软件(x tn run jin)设计4.1 主程序避障系统(xtng)主程序#include /包含(bohn)51单片机相关的头文件sbit LeftLed=P20; /定义前方左侧指示灯端口sbit RightLed=P07; /定义前方右侧指示灯端口sbit FontLled=P17;sb

38、it LeftIR=P35; /定义前方左侧红外探头端口sbit RightIR=P36; /定义前方右侧红外探头端口sbit FontIR=P37; /定义前方正前方红外探头端口sbit M1A=P00; /定义左侧电机驱动A端sbit M1B=P01; /定义左侧电机驱动B端sbit M2A=P02; /定义右侧电机驱动A端sbit M2B=P03; /定义右侧电机驱动B端sbit B1=P04; /定义语音识识别传感器端口sbit SB1=P06; /定义蜂鸣器端口void tingzhi() M1A=0; /将M1电机A端初始化为0 M1B=0; /将M1电机B端初始化为0 M2A=0

39、; /将M2电机A端初始化为0 M2B=0;void qianjin() M1A=1; M1B=0; M2A=1; M2B=0;void houtui() M1A=0; M1B=1; M2A=0; M2B=1;void zuozhuan() M1A=1; M1B=0; M2A=0; M2B=1;void youzhuan() M1A=0; M1B=1; M2A=1; M2B=0;void delay_nus(unsigned int i) /延时:i=12 ,i的最小延时单12 us i=i/10; while(-i); void delay_nms(unsigned int n) /延时n

40、ms n=n+1; while(-n) delay_nus(900); /延时 1ms,同时(tngsh)进行补偿 void ControlCar(unsigned char ConType) /定义电机(dinj)控制子程序 tingzhi(); switch(ConType) /判断用户设定(sh dn)电机形式 case 1: /前进 /判断用户是否选择形式1 qianjin(); break; case 2: /后退 /判断用户是否选择形式2 houtui(); /M2电机反转 break; case 3: /左转 /判断用户是否选择形式3 zuozhuan(); /M2电机正转bre

41、ak; case 4: /右转 /判断用户是否选择(xunz)形式4 youzhuan(); /M1电机(dinj)正转 /M2电机(dinj)反转break; case 8: /停止 /判断用户是否选择形式8 tingzhi();break; /退出当前选择 void main() /主程序入口 bit RunFlag=0; /定义小车运行标志位 /RunShow=0; /初始化显示状态 ControlCar(8); /初始化小车运行状态 while(1) /程序主循环 Start: LeftLed=LeftIR; /前方左侧指示灯指示出前方左侧红外探头状态 RightLed=RightIR

42、; /前方右侧指示灯指示出前方右侧红外探头状态 FontLled= FontIR; SB1=FontIR; if(FontIR = 0) /如果前面避障传感器检测到障碍物 ControlCar(8); /停止 delay_nms (300); /停止300MS 防止电机反相电压冲击 导致系统复位 ControlCar(2); /后退 delay_nms (1000); /后退1500MS ControlCar(3); / delay_nms (1800); goto NextRun; if(FontIR = 1 ) ControlCar(1); /右侧(yu c)没有信号时,开始向左转一定的角

43、度 delay_nms (10); goto NextRun; goto Start; NextRun: ControlCar(1); 循迹程序(chngx)#include /包含(bohn)51单片机相关的头文件sbit LeftLed=P20; /定义前方左侧指示灯端口sbit RightLed=P07; /定义前方右侧指示灯端口sbit FontLled=P10;sbit LeftIR=P35; /定义前方左侧红外探头端口sbit RightIR=P36; /定义前方右侧红外探头端口sbit FontIR=P37; /定义前方正前方红外探头端口sbit M1A=P00; /定义左侧电机

44、驱动A端sbit M1B=P01; /定义左侧电机驱动B端sbit M2A=P02; /定义右侧电机驱动A端sbit M2B=P03; /定义右侧电机驱动B端sbit B1=P04; /定义(dngy)语音识识别传感器端口sbit SB1=P06; /定义(dngy)蜂鸣器端口void tingzhi() M1A=0; /将M1电机(dinj)A端初始化为0 M1B=0; /将M1电机B端初始化为0 M2A=0; /将M2电机A端初始化为0 M2B=0;void qianjin() M1A=1; M1B=0; M2A=1; M2B=0;void houtui() M1A=0; M1B=1; M

45、2A=0; M2B=1;void zuozhuan() M1A=0; M1B=1; M2A=1; M2B=0;void youzhuan() M1A=1; M1B=0; M2A=0; M2B=1;void delay_nus(unsigned int i) /延时:i=12 ,i的最小延时单12 us i=i/10; while(-i); void delay_nms(unsigned int n) /延时n ms n=n+1; while(-n) delay_nus(900); /延时 1ms,同时进行(jnxng)补偿 void ControlCar(unsigned char ConTy

46、pe) /定义电机(dinj)控制子程序 tingzhi(); switch(ConType) /判断用户设定电机(dinj)形式 case 1: /前进 /判断用户是否选择形式1 qianjin(); break; case 2: /后退 /判断(pndun)用户是否选择形式2 houtui(); /M2电机(dinj)反转 break; case 3: /左转 /判断用户是否选择(xunz)形式3 zuozhuan(); /M2电机正转break; case 4: /右转 /判断用户是否选择形式4 youzhuan(); /M1电机正转 /M2电机反转break; case 8: /停止

47、/判断用户是否选择形式8 tingzhi();break; /退出当前选择 void main() /主程序入口 bit RunFlag=0; /定义小车运行标志位 /RunShow=0; /初始化显示状态 ControlCar(8); /初始化小车运行状态 while(1) /程序主循环 Start: LeftLed=LeftIR; /前方左侧指示灯指示出前方左侧红外探头状态 RightLed=RightIR; /前方右侧指示灯指示出前方右侧红外探头状态 FontLled= FontIR; SB1=LeftIR; if(LeftIR = 0 & RightIR = 0) /三个红外检测到黑线

48、(hi xin),就前进 ControlCar(1); /左侧(zu c)没有信号时,开始向右转一定的角度 delay_nms (10); goto NextRun; if(LeftIR = 0 & RightIR = 1) ControlCar(3); /右侧没有信号(xnho)时,开始向左转一定的角度 delay_nms (10); goto NextRun; if(LeftIR = 1 & RightIR = 0) ControlCar(4); /右侧没有信号时,开始向左转一定的角度 delay_nms (10); goto NextRun; goto Start; NextRun: C

49、ontrolCar(8); 第五章 总结(zngji)通过此次课程设计,使我更加(gnji)扎实的掌握了有关智能(zh nn)小车设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在单片机这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵,而是通过自己的双手去实践。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后

50、社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可。参考文献1 杨永辉现代电子技术J .智能小车的多传感器数据融合.20052 何立民单片机与嵌入式系统应用J.基于HCS12的小车智能控制系统设计20073 谭浩强.C程序设计.北京:清华大学出版社,2005,74 张立电子世界J.电动小车的循迹2004 5 武庆生,仇梅.单片机原理与应用(M).电子科技大学出版,1998,126

51、徐科军传感器与检测技术M.电子工业出版社,20077 刘瑞新.单片机原理及应用教程 .机械工业出版社,2003,78 刘湘涛,江世明单片机原理与应用M.电子工业出版社,20069 何立民单片机初级教程M.北京航空航天大学出版社,199910 熊建云. Protel99 SE.北京:机械工业出版社,200711 郑郁正单片机原理及应用.四川大学出版杜,200312 卢静,陈非凡,张高飞等.基于单片机的无刷直流电动机控制系统设计.北京机械工业学院学报,2002,1013 张燕,曾光宇.光电式传感器的应用与发展J.科技情报开发与经济,2007 附录(fl)1程序清单#include /包含(bohn

52、)51单片机相关的头文件#include sbit LeftLed=P20; /定义前方(qinfng)左侧指示灯端口sbit RightLed=P07; /定义前方右侧指示灯端口sbit FontLled=P17;sbit LeftIR=P35; /定义前方左侧红外探头端口sbit RightIR=P36; /定义前方右侧红外探头端口sbit FontIR=P37; /定义前方正前方红外探头端口sbit M1A=P00; /定义左侧电机驱动A端sbit M1B=P01; /定义左侧电机驱动B端sbit M2A=P02; /定义右侧电机驱动A端sbit M2B=P03; /定义右侧电机驱动B端

53、sbit B1=P04; /定义语音识识别传感器端口sbit SB1=P06; /定义蜂鸣器端口sbit IRIN=P33; /定义红外接收端口unsigned char code LedShowData=0 x03,0 x9F,0 x25,0 x0D,0 x99, /定义数码管显示数据 0 x49,0 x41,0 x1F,0 x01,0 x19;/0,1,2,3,4,5,6,7,8,9unsigned char code RecvData=0 x19,0 x46,0 x15,0 x43,0 x44,0 x40,0 x0D,0 x0E,0 x00,0 x0F;unsigned char IRC

54、OM7;static unsigned int LedFlash; /定义闪动频率计数变量bit EnableLight=0; /定义指示灯使能位#define ShowPort P2 /定义数码管显示端口unsigned char temp = 1;void tingzhi() M1A=0; /将M1电机A端初始化为0 M1B=0; /将M1电机B端初始化为0 M2A=0; /将M2电机A端初始化为0 M2B=0;void qianjin() M1A=1; M1B=0; M2A=1; M2B=0;void houtui() M1A=0; M1B=1; M2A=0; M2B=1;void zuozhuan() M1A=0; M1B=1; M2A=1; M2B=0;void youzhuan() M1A=1; M1B=0; M2A=0; M2B=1;void Delay1ms(unsigned int i) unsigned char j,k; do j = 10; do k = 50; do _nop_(); while(-k); while(-j); while(-i); void delay_nus(unsigned int i)

温馨提示

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

评论

0/150

提交评论