




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2014 届本科生毕业论文i摘要智能小车是移动式机器人的重要组成部分, 而移动机器人不仅能够在经济国防教育文化和生活中起到越来越大的作用, 也是研究复杂智能行为的产生、 探索人类思维模式的有效工具与实验平台。本文设计的是一款基于 arduino 的智能小车,它利用 arduino 作为主控系统。它用蓝牙模块进行无线数据传输,实现无线控制。同时它利用超声波测距模块来进行测距,将测得的距离数据传给 arduino,经过 arduino 处理给出反馈,驱动电机转动,实现自动避障的功能。关键词:关键词:arduino智能小车无线控制自动避障2014 届本科生毕业论文iiabstractsmart car mobile robot is an important part. mobile robot not only used in theeconomic, defense, education, culture and life as well as play an increasingly importantrole, but also the generation of complex intelligent behavior, to explore an effective toolof human thinking and experimental platform.this article is designing a intelligent car based onarduino, which usesarduino asthe master system. it uses bluetooth module for wireless data transmission to achievewireless control. it uses the ultrasonic ranging module to detect the distance and send themeasured distance data to thearduino.arduino process the data and send out thefeedback .when the drive motor responses to the feedback with rotates,the intelligent carwill automatic obstacle avoidance.keywords:arduinointelligent carwireless controlautomaticobstacle avoidance2014 届本科生毕业论文1目录摘摘要要.iabstract.ii1 绪绪论论. 11.1 选题背景. 11.2 智能小车研究现状. 11.2.1 国外智能车辆研究现状. 11.2.2 国内智能车辆研究现状. 31.2.3 智能车辆研究的意义及其价值. 41.3 arduino 开发的意义及其价值. 41.4 arduino 在智能小车上的应用.51.5 论文的结构安排. 62 总体方案及其选型设计总体方案及其选型设计. 72.1 小车车体设计. 72.2 小车控制器的选择. 82.3 小车电源的选择. 92.4 避障模块选择. 102.5 无线控制模块选择. 112.6 执行部分的选择. 112.6.1 电机的选择. 112.6.2 电机驱动的选择. 122.7 系统方案的总体确定. 123 小车硬件设计小车硬件设计. 143.1 无线通信模块的设计. 143.2 测距模块的设计. 163.2.1 超声测距模块. 163.2.2 舵机. 183.3 电机模块设计. 203.3.1 电机部分. 203.3.2 电机驱动部分. 223.4 电源部分设计. 244 小车的软件设计小车的软件设计. 264.1.1 主循环程序设计. 262014 届本科生毕业论文24.1.2 方向运动子程序. 274.1.3 自动避障子程序设计. 285 小车的制作安装调试小车的制作安装调试. 305.1.1 小车制作安装. 305.1.2 小车调试. 315.1.3 小车的功能调试. 32总总结结. 33致致谢谢. 34参考文献参考文献. 35附录附录 1. 36附录附录 2. 442014 届本科生毕业论文11绪论1.1选题背景随着汽车工业的迅速发展, 关于汽车的研究也就越来越受人关注。 全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目, 全国各高校也都很重视该题目的研究。可见其研究意义很大。本题目是结合国内备受重视的智能小车和国外开始流行的arduino 而确定的课题,主要实现小车的自动避障和蓝牙遥控功能。智能化作为现代社会的新产物, 是以后的发展方向, 他可以按照预先设定的模式在一个特定的环境里自动的运作, 无需人为管理, 便可以完成预期所要达到的或是更高的目标。同遥控小车不同,遥控小车需要人为控制转向、启停和进退,比较先进的遥控车还能控制器速度。常见的模型小车,都属于这类遥控车;智能小车,则可以通过计算机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预。操作员可以通过修改智能小车的计算机程序来改变它的行驶方向。因此,智能小车具有再编程的特性,是机器人的一种。智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统, 它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。1.2智能小车研究现状智能车辆作为智能交通系统的关键技术, 是许多高新技术综合集成的载体。 智能车辆驾驶是一种通用性术语,指全部或部分完成一项或多项驾驶任务的综合车辆技术。 智能车辆的一个基本特征是在一定道路条件下实现全部或者部分的自动驾驶功能, 下面简单介绍一下国内外智能小车研究的发展情况。1.2.1国外智能车辆研究现状国外智能车辆的研究历史较长,始于上世纪 50 年代。它的发展历程大体可以分成三个阶段:2014 届本科生毕业论文2第一阶段20 世纪 50 年代是智能车辆研究的初始阶段。1954 年美国 barrettelectronics 公司研究开发了世界上第一台自主引导车系统 agvs(automated guidedvehicle system) 。该系统只是一个运行在固定线路上的拖车式运货平台,但它却具有了智能车辆最基本得特征即无人驾驶。早期研制 agvs 的目的是为了提高仓库运输的自动化水平, 应用领域仅局限于仓库内的物品运输。 随着计算机的应用和传感技术的发展,智能车辆的研究不断得到新的发展。第二阶段从 80 年代中后期开始,世界主要发达国家对智能车辆开展了卓有成效的研究。在欧洲,普罗米修斯项目于 1986 年开始了在这个领域的探索。在美洲,美国于 1995 年成立了国家自动高速公路系统联盟(nahsc) ,其目标之一就是研究发展智能车辆的可能性,并促进智能车辆技术进入实用化。在亚洲,日本于 1996 年成立了高速公路先进巡航/辅助驾驶研究会,主要目的是研究自动车辆导航的方法,促进日本智能车辆技术的整体进步。进入 80 年代中期,设计和制造智能车辆的浪潮席卷全世界,一大批世界著名的公司开始研制智能车辆平台。第三阶段从 90 年代开始,智能车辆进入了深入、系统、大规模研究阶段。最为突出的是,美国卡内基.梅隆大学(carnegie mellon university)机器人研究所一共完成了 navlab 系列的 10 台自主车(navlab1navlab10)的研究,取得了显著的成就。目前, 智能车辆的发展正处于第三阶段。 这一阶段的研究成果代表了当前国外智能车辆的主要发展方向。 在世界科学界和工业设计界中, 众多的研究机构研发的智能车辆具有代表性的有:德意志联邦大学的研究1985 年,第一辆 vamors 智能原型车辆在户外高速公路上以 100km/h 的速度进行了测试, 它使用了机器视觉来保证横向和纵向的车辆控制。 1988年,在都灵的 promrtheus 项目第一次委员会会议上,智能车辆维塔(vita,7t)进行了展示,该车可以自动停车、行进,并可以向后车传送相关驾驶信息。这两种车辆都配备了 ubm 视觉系统。这是一个双目视觉系统,具有极高的稳定性。荷兰鹿特丹港口的研究智能车辆的研究主要体现在工厂货物的运输。荷兰的combi road 系统,采用无人驾驶的车辆来往返运输货物,它行驶的路面上采用了磁性导航参照物, 并利用一个光阵列传感器去探测障碍。 荷兰南部目前正在讨论工业上利用这种系统的问题, 政府正考虑已有的高速公路新建一条专用的车道, 采用这种系统将货物从鹿特丹运往各地。2014 届本科生毕业论文3日本大阪大学的研究大阪大学的 shirai 实验室所研制的智能小车,采用了航位推测系统(dead reckoning system) ,分别利用旋转编码器和电位计来获取智能小车的转向角,从而完成了智能小车的定位。另外,斯特拉斯堡实验中心、英国国防部门的研究、美国卡内基梅隆大学、奔驰公司、美国麻省理工学院、韩国理工大学对智能车辆也有较多的研究。1.2.2国内智能车辆研究现状相比于国外, 我国开展智能车辆技术方面的研究起步较晚, 开始于 20 世纪 80 年代。而且大多数研究处在于针对某个单项技术研究的阶段。 虽然我国在智能车辆技术方面的研究总体上落后于发达国家, 并且存在一定得技术差距, 但是我们也取得了一系列的成果3 ,主要有:(1) 中国第一汽车集团公司和国防科技大学机电工程与自动化学院与 2003 年研制成功我国第一辆自主驾驶轿车。 该自主驾驶轿车在正常交通情况下的高速公路上, 行驶的最高稳定速度为 13km/h,最高峰值速度达 170km/h,并且具有超车功能,其总体技术性能和指标已经达到世界先进水平。(2)南京理工大学、北京理工大学、浙江大学、国防科技大学、清华大学等多所院校联合研制了 7b.8 军用室外自主车,该车装有彩色摄像机、激光雷达、陀螺惯导定位等传感器。计算机系统采用两台 sun10 完成信息融合、路径规划,两台 pc486 完成路边抽取识别和激光信息处理,8098 单片机完成定位计算和车辆自动驾驶。其体系结构以水平式结构为主,采用传统的“感知-建模-规划-执行”算法,其直线跟踪速度达到20km/h,避障速度达到 5-10km/h。智能车辆研究也是智能交通系统 its 的关键技术。 目前, 国内的许多高校和科研院所都在进行 its 关键技术、设备的研究。随着 its 研究的兴起,我国已形成一支 its技术研究开发的技术专业队伍。 并且各交通、 汽车企业越来越加大了对 its 及智能车辆技术研发的投入,整个社会的关注程度在不断提高。交通部已将 its 研究列入“十五”科技发展计划和 2010 年长期规划。相信经过相关领域的共同努力,我国 its 及智能车辆的技术水平一定会得到很大提高。可以预计,我国飞速发展的经济实力将为智能车辆的研究提供一个更加广阔的前景。我们要结合我国国情,在某一方面或某些方面,对智能车进行深入细致的研究, 为2014 届本科生毕业论文4它今后的发展及实际应用打下坚实的基础。1.2.3智能车辆研究的意义及其价值如今智能工程、计算机科学、机电一体化和工业一体化等许多领域都在讨论智能系统,人们要求系统变得越来越智能化。显然传统的控制观念是无法满足人们的需求,而智能控制与这些传统的控制有机的结合起来取长补短,提高整体的优势更好的满足人们的需求。随着人工智能技术、计算机技术、自动控制技术的迅速发展,智能控制必将迎来它的发展新时代。计算机控制与电子技术融合为电子设备智能化开辟了广阔前景。因此,遥控加智能的技术研究、应用都是非常有意义而且有很高市场价值的。智能车辆技术是涵盖智能控制、 模式识别等学科前沿的热点研究领域, 其研究与应用具有巨大的理论和现实意义。 在交通安全方面, 由无人驾驶车辆研究形成的辅助安全驾驶技术,可以通过传感器准确、可靠地感知车辆自身及周边环境信息,及时向驾驶员提供环境感知结果,从而有效地 协助提高行车安全,同时也能降低驾驶员对车辆驾驶管理的复杂度,提高单个车辆的运行效率,可以缓解我国城市道路拥堵、交通系统运行效率较低的现状。在汽车 产业自主创新方面,通过对无人驾驶车辆理论、技术研究,突破国外汽车行业专利壁垒, 掌握具有核心竞争力的关键技术, 可以为我国汽车产业自主创新和产业发展 提供强有力的支撑。同时在国防科技方面,“快速、精确、高效”的地面智能化作战平台是未来陆军的重要力量, 无人驾驶车辆将能代替人在高危险环境下完成各种 任务,在保存有生力量、提高作战效能方面具有重要意义,也是无人作战系统的重要基础。智能车辆研究不仅能推动和促进视听觉信息认知计算模型、 关键技术与验证平台研究的创新与发展, 确保重大研究计划总体科学目标的实现, 而且将促进我国在智能车辆技术方面的研究,进而促使我国在未来智能汽车技术和产业上的原始创新。1.31.3arduino 开发的意义及其价值arduino,是一个基于开放原始码的软硬体平台,构建于开放原始码 simple i/o2014 届本科生毕业论文5介面版,并且具有使用类似 java,c 语言的 processing/wiring 开发环境。arduino 开发板,是一块基于开放源代码的 usb 接口 simple i/o 接口板(最原始的开发板包括 12 通道数字 gpio,4 通道 pwm 输出,6-8 通道 10bit adc 输入通道,因为开发板可以个人 diy,也可以生产厂家免版权生产,所以目前具有多种性能更高强的开发板) ,并且具有使用类似 java,c 语言的 ide 集成开发环境。让你可以快速使用arduino 语言与 flash 或 processing等软件,作出互动作品。arduino 可以使用开发完成的电子元件例如 switch 或 sensors 或其他控制器、 led、 步进马达或其他输出装置。arduino 也可以独立运作成为一个可以跟软件沟通的接口, 例如说: flash、 processing、max/msp、vvvv 或其他互动软件。arduino 开发 ide 接口基于开放源代码,可以免费下载使用开发出更多令人惊艳的互动作品.arduino ide 基于 processing ide 开发。对于初学者来说,极易掌握,同时有着足够的灵活性。arduino 语言基于 wiring 语言开发,是对 avrgcc 库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。arduino 不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。arduino 简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。arduino 的硬件原理图、电路图、ide 软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。对 arduino 进行开发不仅可以节省很多不必要的时间, 减轻设计者的负担, 同时可以通过这个平台十分方便的与全世界的创客一起讨论交流, 极大的催进了科技的发展创新。1.4arduino 在智能小车上的应用传统的智能小车设计制作都需要掌握精通的单片机知识, 同时拥有深厚的电路知识功底,方能开始设计制作一个智能小车。通过使用 arduino,大大降低了设计制作的门槛,通过短时间的接触学习 arduino 就可以上手。arduino 是一款便捷灵活、方便上手的开源硬件产品, 具有丰富的接口, 有数字 i/o 口, 模拟 i/o 口, 同时支持 spi,iic,uart串口通信。能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他装置来反馈、影响环境。它没有复杂的单片机底层代码,没有难懂的汇编,只是简单而实用的函2014 届本科生毕业论文6数。而且具有简便的编程环境 ide,极大的自由度,可拓展性能非常高。1.5论文的结构安排本文的内容一共分为五章,主要内容章节安排如下:第一章 绪论。从选题背景入手,首先探讨了国内外在研究智能小车方面的现状,接着介绍了研究智能小车和 arduino 开发的价值和意义。第二章 方案选型设计。主要包括车体的选择、控制器模块电源模块、避障模块传感器、无线控制模块和执行部分的选择。第三章 硬件设计。对小车进行硬件设计,介绍了各个模块的工作原理和相关电路图接线,搭建了小车的硬件平台。第四章 软件设计。对小车进行软件设计,使得小车能实现无线遥控和自动避障。第五章 制作安装和调试。对小车进行制作安装和调试,并对测试结果进行分析。2014 届本科生毕业论文72总体方案及其选型设计智能小车作为现代的新发明,需要将传感器、处理器、驱动器和执行机构合理的组合起来, 共同协同工作, 实现设定目标, 是以后的发展方向。 通过对本设计题目的分析,分析小车要实现无线控制和自动避障的功能。确定小车的硬件模块分为以下 6 个部分:车体部分、控制器部分、电源部分、避障部分、无线控制部分和执行部分。各部分实现的功能如下:(1)车体部分:该部分作为整个小车的外部框架,负责承载小车其他各个部件,使其有合适的空间合理摆放。(2)控制器部分:该部分是整个小车的核心部分,担负着控制和协调的关键作用。控制器部分能否及时处理准确地传感器的信息并将处理结果送到执行部分执行, 将直接关系到本次设计能否达到预期的设计目标。(3)电源部分:电源部分不仅要实现给控制器提供稳定电压的功能还要为传感器以及驱动部分提供足够的电能,以确保整个系统能正常稳定地工作。(4)避障部分:该部分要实现的是小车的避障功能。即小车在遇到障碍物时能自动避开障碍物而选择一条畅通的路径继续行进。(5)无线控制部分:该部分要实现的是小车的无线控制部分,即小车在无线控制模式下,接收无线控制指令信号,传输给控制器,进而实现无线控制。(6)执行部分:执行部分主要是执行微控制器的处理结果,以实现小车的转向功能。2.1小车车体设计要得到智能小车的车体,我们有两种方案:方案一:自己设计并动手制作车体。这种方案需要花费大量的时间,去完成车体外观尺寸设计、定位孔的设定、材料的选择和最终完成制作。该方案能充分发挥我们的创造性, 小车的车体可以按照我们自己的想法进行设计。 但是缺点就是可能花费大量的时间,最终得到的是一个粗糙的车体,显得很不划算。方案二:自己设计出车体,并把制作部分承包给专门的制造商。这种方案不仅可以得到一个充满着自己思想的车体, 而且可以节省大量的时间。 但是外包制造商费用非常贵,从经济方面考虑,难以承受。方案三:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑, 使得难以安装本次设计所需要的其他传感器。 而且玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。因此此方案缺陷较大。2014 届本科生毕业论文8方案四:在网上直接选购。此方案得到的省去了车体设计制作的环节,可以节约大量的时间,而且得到车体会更加精美。但此种方案有一大弊病,那就是无法充分发挥我们的创造性,做出的车体会感觉有点大众化,难以体现出个性。综合比较以上四个方案, 同时考虑了本次毕业设计的主要任务不是制作车体, 毕业设计时间也十分有限,我最终决定采用方案三,即通过在网上选购的方式得到车体。2.2小车控制器的选择由于本次毕业设计是基于 arduino 的智能小车设计, 所以控制器的选择范围直接定在 arduino 这个方位内,arduino 有很多不同的版本,不同的使用与不同的情况,以下是常见的几个 arduino 版本比较图:其中 arduino uno r3 目前是用得最多的一个版本,它不仅十分稳定而且还能满足绝大多数用户的需求,同时它也能满足小车实现功能的需要,所以我选择 arduino unor3 作为小车的控制器。2014 届本科生毕业论文9arduinoarduino unouno r3r3 外观图外观图arduinoarduino unouno r3r3 电路图电路图2.3小车电源的选择由于电机驱动和控制器都由电源提供电能, 而且他们的额定电压不同。 所以在电源选择方面有多种选择方案。2014 届本科生毕业论文10方案一:采用两个电源供电,将电动机驱动电源与控制器电源完全隔离,分别单独供电。但是多一组电源,增加了小车的重量,同时也增加了小车的惯性,消弱电机的控制性能,降低了灵敏度。方案二:采用单一电源供电。电源直接给电机驱动供电,然后由电机驱动给控制器供电,其供电也比方案一简单,也减少了一组电源的重量。通过比较两种方案,我采用了第二种方案,并且选取的是充电锂电池,作为供电电源。2.4避障模块选择智能小车的避障方法有很多种,其中较常见的测距为超声波测距和红外线测距。总体来说,小车要实现避障,有如下方法:方案一: 采用超声波探测器。 用超声波传感器进行避障。 超声波测距具有许多优点:1.超声波的传播速度仅为光波的百万分之一,并且指向性强,能量消耗缓慢,因此可以直接测量较近目标的距离;2.超声波对色彩、光照度不敏感,可适用于识别透明、半透明及漫反射差的物体(如玻璃、抛光体);3.超声波对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中;4.超声波传感器结构简单、 体积小、 费用低、 信息处理简单可靠, 易于小型化与集成化,并且可以进行实时控制。但它同时也存在缺点,如果超声波传感器的数量较少,将可能出现检测盲区,从而探测不到障碍物。方案二:使用红外避障传感器。红外避障传感器有发射端和接收端,它是通过发射端发射红外信号,接收端接收由障碍物反射回来的红外信号,来判断是否有障碍物。 红外避障传感器虽然价格便宜、抗干扰能力较强且易于安装,但是精度低,距离近,方向性差,对色彩、光照度敏感。方案三:鉴于超声波的优良特性,为解决检测盲区问题,我特意给超声波测距模块加了一个舵机,通过舵机转动,使其测距范围大大提高,用来解决盲区问题。所以综合考虑,我选择了方案三:超声波测距+舵机。2014 届本科生毕业论文112.5无线控制模块选择为实现小车无线控制功能, 需要选择合适的无线数据通信模块, 目前使用较多的无线通信方式有蓝牙通信、wifi 通信、无线射频通信、红外线通信。所以在选择无线控制模块时有以下四个方案:方案一:使用红外线通信模块。红外线通信模块成本比较低,十分便于安装,但是传输范围较短只有 2-10cm。方案二:使用蓝牙通信模块。相比于红外等其他方式,蓝牙传输协议在速度上有着明显的优势,同时蓝牙技术规格全球统一,移动电话、pda、无线耳机、笔记本电脑、汽车、 医疗设备、 电脑外设等众多设备, 只要拥有蓝牙适配器, 就能轻松连接蓝牙设备,进行数据传输广泛普及,兼容性好,便于对应无线控制器的选择。方案三: 使用 wifi 模块。 wi-fi 也是一种无线通信协议, 正式名称是 ieee802.11b,与蓝牙一样,同属于短距离无线通信技术。wi-fi 速率最高可达 11mb/s。虽然在数据安全性方面比蓝牙技术要差一些, 但在电波的覆盖范围方面却略胜一筹, 可达 100m 左右。但是实现 wifi 通信方式比较繁琐,没有蓝牙简便。由于此小车在无线控制方面是通过单个字符进行控制的, 所以无线通信的要求不是很高,只需要可靠、迅速就行。通过多方面比较,我选择了蓝牙通信模块。因为他成本也在可承受方位之内, 同时在蓝牙通信方面技术发展比较成熟, 在找相关手机控制软件也比较方便。2.6执行部分的选择2.6.1电机的选择目前用于智能小车的电机多为直流电机、 步进电机和直流减速电机。 针对这三种电机,有以下三种方案:方案一:采用直流电机。直流电机价格便宜,使用方便。但是由于它转速快,转矩小,因此直流电机不能直接作为驱动源安装在小车上。方案二:采用步进电机。步进电机依靠脉冲信号动作调节电机转速,而且转矩比较2014 届本科生毕业论文12大,调速和定位准确,缺点是同时转速非常的小,价格较高,不适合该小车。方案三:采用直流减速电机。直流减速电机由直流电机和齿轮盘相连,能实现减速功能,转矩比较大,价格也比较便宜。非常适合用于智能小车。综合考虑以上三个方案,我们最终决定选择直流减速电机作为小车的电机。2.6.2电机驱动的选择智能小车的电机驱动有如下两种方案:方案一:采用 h 桥式电路驱动。 ,h 桥式电机驱动电路包括 4 个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。实现正转、反转、正转制动、反转制动。但是此种方案容易造成电机过热甚至烧毁。方案二:采用专用芯片驱动,常用的电机专业驱动芯片为 l298n。此芯片有两个 h桥式电路,且电路结构简单,使用方便。外设使能端,十分便于接线,能让我们很方便地对电机进行调速。对以上两种方案进行比较,我最终选择采用方案二,即 l298n 电机驱动。2.7系统方案的总体确定经过反复比较和论证,最终确定小车总体设计方案为:车体机械部分在网上购买,选择 4w2d 车身,转向靠两直流减速电机来实现;arduino uno r3 作为主控单元;超声波传感器来实现避障功能;蓝牙模块+舵机来实现无线控制功能,l298n 驱动两直流减速电机来完成设计要求。整个系统框图如图下图所示:2014 届本科生毕业论文13整个系统框图整个系统框图2014 届本科生毕业论文143小车硬件设计通过上一章的方案确定,我最终确定本次设计的智能小车采用四轮式支撑结构, 采用左右两轮驱动, 前后两个万向轮起支撑作用。 通过软件 pwm 控制实现小车的各个运动。避障的原理是利用小车前端的超声波传感器探测前方障碍物距离, 当侦测到障碍物太近时,控制器就会根据程序,指导小车后退一段距离。然后通过舵机左右摆动,探测周围距离,选择一个宽阔的方向行进,从而实现避障。无线控制的原理是通过手机蓝牙控制软件, 发送控制指令字符给蓝牙模块, 进而传递给 arduino,arduino 接收到指令后,判断处理,通过控制电机驱动,使得电机正反转,实现小车的运动。本设计的硬件电路主要由五大模块组成:循迹模块,避障模块,电机模块,控制模块,电源模块。3.13.1无线通信模块的设计上一章通过方案比较,确定选择蓝牙通信作为无线通信方式。这里我选择 bl-1 蓝牙模块:bl-1 蓝牙模块蓝牙模块产品参数 工作电压5v默认出厂波特率9600默认出厂模式从机默认出厂密码0000(4个零)有效距离10m 以内适配环境蓝牙笔记本电脑、电脑加蓝牙适配器、pda等工作环境usb转ttl、51单片机、arduino、2014 届本科生毕业论文15接线方式:接线方式:1. gnd:gnd 为电源负极输入口,链接 gnd 或者是电源负极2. 5v:5v 为电源正极输入口,接入 5v 的电压或者电源正极3. rx:rx 为蓝牙传感器读取口,链接 mcu 或者是串口设备的 tx 口4.tx:tx 为蓝牙传感器写入口,链接 mcu 或者是串口设备的 rx 口5.rest:rest 为蓝牙传感器复位口,置为低电平复位;为必要,可以冷启动6.at:at 当两个蓝牙模块区配成功后,会记住对方的蓝牙地址,此端口为清除记忆中的蓝牙地址码蓝牙蓝牙 led 状态:状态:配合模式:配合模式:手机 bl-1(从模式)mcu:手机安装串口软件;蓝牙模块先在电脑上设置好从模式,波特率为 9600,用户名和密码,然后链接 mcu,便可使用。蓝牙模块电路连接:蓝牙模块电路连接:蓝牙模块一共有四个 pin 脚,分别用来接 arduino 的+5v、gnd 和 arduino 上面的一对串口,一个作为输入,一个作为输出。这里我选择 i/o 口 d0、d1。如图 2.3.2-2所示:arm等最多配对数1主机配对7从机2014 届本科生毕业论文163.23.2测距模块的设计3.2.1超声测距模块hc-sr04hc-sr04 超声波测距模块:超声波测距模块:模块工作原理:模块工作原理:只需要在 trig/tx 管脚输入一个 10us 以上的高电平,系统便可发出 8 个 40khz 的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正, 将校正后的结果通过 echo/rx 管脚输出。 在此2014 届本科生毕业论文17模式下,模块将距离值转化为 340m/s 时的时间值的 2 倍,通过 echo 端输出一高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。注:因为距离值已经经过温度校正, 此时无需再根据环境温度对超声波声速进行校正, 即不管温度多少,声速选择 340m/s 即可。主要参数:主要参数:使用电压dc5v静态电流小于2ma高电平输出5v低电平输出0v感应角度不大于15度探测距离1cm-2m高精度可达3mm接线方式:接线方式:vcc(电源正极)trig(控制端)echo(接收端)gnd(地线)使用方法:使用方法:2014 届本科生毕业论文18一个控制口发一个 10us 以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了。超声波模块电路连接:超声波模块电路连接:超声波模块一共有四个 pin 脚,分别用来接 arduino 的+5v、gnd 和 arduino 上面的两个 i/o 口, 一个作为输入, 一个作为输出。 这里我选择 i/o 口 d7、 d12。 如图 3.2.1-1所示:图图 3.2.1-13.2.1-13.2.2舵机舵机的工作原理:舵机的工作原理:舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。 其工作原理是由接收机或者单片机发出信号给舵机, 其内部有一个基准电路,产生周期为 20ms,宽度为 1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。经由电路板上的 ic 判断转动方向,再驱动无核心马达2014 届本科生毕业论文19开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到达定位。适用于那些需要角度不断变化并可以保持的控制系统。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为 0,电机停止转动。一般舵机旋转的角度范围是 0 度到 180 度。舵机的转动的角度是通过调节 pwm(脉冲宽度调制)信号的占空比来实现的,标准pwm(脉冲宽度调制)信号的周期固定为 20ms(50hz) ,理论上脉宽分布应在 1ms 到 2ms之间,但是,事实上脉宽可由 0.5ms 到 2.5ms 之间,脉宽和舵机的转角 0180相对应。由于对于舵机的要求不是很高, 只需要它带动超声波模块左右扫描, 它的转角范围大于 0120之间就可以了,所以我选择了辉盛 sg90 9g 舵机sg90 9g 舵机参数产品型号产品型号sg90sg90产品尺寸产品尺寸23*12.2*2923*12.2*29(mmmm)产品重量产品重量9g9g工作扭矩工作扭矩1.6kg/cm1.6kg/cm反应速度反应速度0.12-0.130.12-0.13秒秒/60/60使用温度使用温度-30-30+60+60死区设定死区设定5 5微秒微秒插头类型插头类型jrjr、futabafutaba 通用通用通用反转角度通用反转角度最大最大180180度度度舵机类型度舵机类型模拟模拟舵机使用电压舵机使用电压3.5v-6v3.5v-6v结构素材结构素材塑料齿塑料齿2014 届本科生毕业论文20包含附件包含附件线长线长25cm25cm、黑色、黑色 qcqc 标、多功能舵角、摇臂、固定螺丝等标、多功能舵角、摇臂、固定螺丝等连接线连接线信号线(黄线)红线(电源线)信号线(黄线)红线(电源线) 暗红暗红( (地线)地线)舵机模块电路连接:舵机模块电路连接:舵机模块一共有三个 pin 脚,分别用来接 arduino 的+5v、gnd 和 arduino 上面的一个 i/o 口,这里我选择 i/o 口 d10。如图 2.3.2-1 所示:图图 3.2.2-13.2.2-1 舵机模块电路连接舵机模块电路连接3.33.3电机模块设计3.3.13.3.1电机部分我选择 dc3v-6v130 直流减速电机和 69mm 橡胶轮2014 届本科生毕业论文21电机部分外观图电机部分外观图电机尺寸图电机尺寸图减速比减速比 1:481:48 的参数的参数额度电压3v6v空载电流120ma180ma减速比1:48负载电流170ma230ma负载转速约115转/分约255转/分扭矩约0.7kgf.cm约1.2kgf.cm2014 届本科生毕业论文223.3.23.3.2电机驱动部分l298nl298n 电机驱动板模块电机驱动板模块产品参数:产品参数:1.驱动芯片:全新原装 l298n 双 h 桥直流电机驱动芯片2.驱动部分端子供电范围 vs:5v35v ;如需要板内取电,则供电范围 vs:+7v+35v3.驱动部分峰值电流 io:2a4.逻辑部分端子供电范围 vss:5v7v(可板内取电5v)5.逻辑部分工作电流范围:036ma6.控制信号输入电压范围:低电平:0.3vvin1.5v高电平:2.3vvinvss7.使能信号输入电压范围:低电平:0.3vin1.5v(控制信号无效)高电平:2.3vvinvss(控制信号有效)8.最大功耗:20w(温度 t75时)9.存储温度:2513010.驱动板尺寸:53mm*43mm11.驱动板重量:35g2014 届本科生毕业论文2312.其他扩展:控制方向指示灯、逻辑部分板内取电接口。使用说明:使用说明:由于本模块是 2 路的 h 桥驱动, 所以可以同时驱动两个电机,使能 ena enb 之后,可以分别从 in1、in2 输入 pwm 信号驱动电机 1 的转速和方向;可以分别从 in3、in4输入 pwm 信号驱动电机 2 的转速和方向。信号如图所示信号如图所示直流电机旋转方式in1in2in3in4调速 pwm 信号调速端 a调速端 bm1正转高低/高/反转低高/高/停止低低/高/m2正转/高低/高反转/低高/高停止/低低/高电机驱动模块电路连接:电机驱动模块电路连接:l298n电机驱动模块一共有四个pin脚, 分别用来接外接电源的+12v、 gnd和arduino上面的两个可以用于 pwm 的 i/o 口,用于对两个电机进行调速。这里我选择 i/o 口 d6、d11。如图 3.3.3-1 所示:2014 届本科生毕业论文24图图 3.3.2-13.3.2-1 电机驱动模块电路连接电机驱动模块电路连接3.43.4电源部分设计电池选用:电池选用:根据第二章方案选择,本着可行和降低成本的原则,我选择了dc5v10000mah/12v 4800mah 聚合物锂电池。dc5v10000dc5v10000m mah/12vah/12v 48004800m mahah 聚合物锂电池聚合物锂电池2014 届本科生毕业论文25输入(input):dc12.6v输出(output):dc10.8-12.6v4800m ahdc5v 10000mah (usb 接口)尺寸:90 x51x20mm重量:200g 电池外观:蓝色2014 届本科生毕业论文264小车的软件设计完成上一章的硬件设计后, 剩下的就是对小车的软件进行设计了。 软件设计相当设计小车的思想,用来指导硬件躯壳的运动。因为这里我们选的是 arduino uno r3,它使用的是 atmega328 芯片,所用的编程器是 arduino 1.0.5-r2,所用的编程语言是建立在 c/c+基础上的,其实也就是基础的c 语言,arduino 语言只不过把 avr 单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层.这样大大降低了编程难度.它和 c 语言一样, 也是面向对象的编程, 实在 arduino ide 编程环境下进行编程的,使用模块化程序设计法。有许多的优点:1,方便编写和调试,程序结构更加清晰。2,模块可以被重复调用,提高了程序的利用率和工作效率。3,简化了编程思路,使得程序设计者不用考虑全部的程序体系而是集中精力着眼于一个程序节点,这样编出的程序往往更加精炼。本系统软件采用模块化结构, 由主循环程序, 自动避障子程序和几个方向运动子程序构成。4.1.1主循环程序设计主程序流程图如下:根据主程序流程图, 发现在就收到蓝牙指令时, 处理器需要从很多相应的子程序准2014 届本科生毕业论文27确地找出找出相对应的子程序, 所以在这里, 我选择使用 switch 语句来实现这个功能。arduino ide 编程环境下的主程序相关代码:主循环程序代码4.1.2方向运动子程序方向控制子程序一共用 9 个,加上自动避障子程序共有 10 个。他们都是通过主程序的 switch 指令查找中被调用的,以下是他们的指令调用表,详细程序参见附录 1.2014 届本科生毕业论文28指令指令-程序对应表程序对应表指令字符程序s/wstop();小车停止wauto() ;小车自动避障fforward() ;小车前进bback() ;小车后退lleft() ;小车逆时针旋转rright() ;小车顺时针旋转gforwardleft();小车左前方行进iforwardright() ;小车右前方行进hbackleft() ;小车左后方行进jbackright() ;小车右后方行进4.1.3自动避障子程序设计为方便程序编写,根据预先的设想,画出自动避障功能框架图如下:2014 届本科生毕业论文29自动避障功能框架图自动避障功能框架图根据流程图,写出避障程序见附录 1.2014 届本科生毕业论文305小车的制作安装调试5.1.15.1.1小车制作安装小车制作组装流程图小车制作组装流程图准备好需要用来组装的各个器件将电机固定到车底板上,再将两个电机与电机驱动连接 将装在舵机上面的超声波模块和蓝牙模块接到 arduino 板上2014 届本科生毕业论文31电源将移动电源固定到上底板上组装调试成功5.1.2小车调试小车安装完成后,用数字万用表对芯片的各个引脚进行测量,防止发生虚焊、引脚接错等情况。待检测完毕后,编译程序,并用数据线将程序烧录进 arduino。程序烧录完毕后,给小车通电,连上蓝牙,对小车进行控制和两种模式的切换。 仔2014 届本科生毕业论文32细观察小车的行走姿态和各种意外情况并找到解决办法。在调试过程中,可以先一个模块一个模块地测试,看程序编写是否有误,防止发生程序相互影响,或者出现某种意外情况而找错原因的事。当我们单独测试完所有模块, 并完成整个程序的测试, 小车正常运行 5 分钟没能发生意外情况,且顺利完成设定的两种功能时,我们默认调试成功,至此,完成小车全部调试工作。5.1.3小车的功能调试智能小车的功能本次智能小车的设计,实现了以下两个功能:(1)无线控制功能。小车能沿着我们手机遥控的方向运行。手机连接蓝牙操作见附录 2.(2)避障功能。在遇到障碍物时,小车能迅速做出反应,寻找到一条无碰路径,从而避开障碍物。本次设计所要实现的设计目标至此已经全部实现,本设计也宣告完成。2014 届本科生毕业论文33总结本次毕业设计锻炼了我学习知识并运用知识的能力, 同时也极大的提高了我的动手能力。 这次毕业设计与以往的课程设计有极大的不同, 首先之前的设计都是一些机械方便的设计, 很多时候都是查机械设计手册确定参数、 方案。 而这次毕业设计更偏向于电,所以做的方式有很大的不同,各种元器件的选择都有很多的可选性。此外,这次设计还要求做出成品, 不想之前的设计, 只能计算校核, 无法亲眼目睹自己设计的东西做出来。在这个做毕业设计的过程中, 虽然经常出现事实与设想的不一样的, 让自己感到十分的苦恼,需要一次又一次的进行调试排查和修改。但是当经过努力,解决了问题, 看见车子像原本设想的那样运行的时候,心中感到无比的有成就感,十分的开心。2014 届本科生毕业论文34致谢这次毕业设计历时两个多月, 我遇到了不少的苦难, 经常有各种各样的问题需要请教他人,同时也有许许多多的人给了我帮助与支持。首先,我要感谢我最尊敬的指导老师汤亮老师。在整个设计的过程中,您不厌其烦的讲解与指导不仅让我纠正了许多错误的思路, 而且开拓了我的思维想像力, 同时我也学到了很多的东西。其次,我要感谢一直陪伴我的同学们。在这两个多月里,我身边有许多战友与我共同为 arduino 相关设计而奋斗,在此期间我经常与杨邹意、张勇、黄朝贵他们讨论一起解决问题, 在他们的帮助和鼓励下, 我顺利完成了我的课题。 在此我要衷心地感谢他们。最后,我十分感谢有幸接到这个毕业设计,它让我认识并熟悉了 arduino。之前我心中总想设计出这样那样的小玩意, 可是单片机编程, 电路板接线焊接都十分的棘手而又难以逾越的障碍。 这次毕业设计接触到的 arduino 直接绕开了这些问题, 首先它设计一个更加简单易学的语言,使得编程及其简单而又有效;其次它采用堆积木的方式, 让各个元件都以跳线相连接,直接省掉了 pcb 板+焊接这个环节。它降低了创新设计的门槛,让更多人可以有机会创造设计出他们构想的东西。2014 届本科生毕业论文35参考文献1程晨著.arduino 开发实战指南:avr 篇m.北京:机械工业出版社,2012.2simon monk著 唐乐译.arduino + android互动智作m.北京:科学出版社,20123 michael mcroberts 著 杨继志, 郭敬译.arduino 从基础到实践 m.北京:电子工业出版社,20134骏荣, 吴明展, 卢聪勇著.arduino 一试就上手 (第 2 版)m.北京:科学出版社,20135 dale wheat 著 翁恺译 arduino 技术内幕m.北京:人民邮电出版社,20136崔才豪气,张玉华,杨树财,利用 arduino 控制板的光引导运动小车设计j自动化仪表,2011,32(9) :112014 届本科生毕业论文36附录 1ly-1ly-1 小车代码小车代码根据电路图的接口, 在编程时对各个 pin 脚进行合理的定义, 方便后续程序的编写,pin 脚定义如下:#define pina1 3#define pina2 2#define pinb1 4#define pinb2 5#define speeddegreeha 55#define speeddegreela 40#define speeddegreehb 52#define speeddegreelb 37#define start 85#define speedpin_a6#define speedpin_b11#define sonart 12#define sonare 7#define servopin 10#include servo myservo;int duration0,duration
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ERP系统原理课件
- ERP培训基础知识课件
- 高温预警预防中暑(说课稿)2023-2024学年初三下学期教育主题班会
- 第二单元 让机器认识我第1节“初识”人脸 说课稿 川教版(2019)初中信息技术八年级上册
- 2.6 指令的复用 说课稿 清华大学版(2024)初中信息技术七年级上册
- 国学简单测试题及答案解析
- DSE基础知识培训课件
- 4.2.1 食物中的营养物质(说课稿)七年级生物下册同步高效课堂(人教版2024)
- 2024-2025学年九年级物理下册 19.1最快的信使说课稿 (新版)粤教沪版
- 第二节 培养基对微生物的选择作用说课稿高中生物中图版选修一生物技术实践-中图版
- 外科患者疼痛护理与管理
- 租金延迟缴纳申请书
- DL-T 2563-2022 分布式能源自动发电控制与自动电压控制系统测试技术规范
- 食堂工作人员培训内容
- 骨折康复护理的常见问题和处理方法
- 泛影葡胺在消化道造影中的应用
- 2022年11月四川省凉山州中级人民法院逐级遴选4名法官笔试题库含答案解析
- 两江三镇说武汉智慧树知到答案章节测试2023年武汉纺织大学
- GB/T 24468-2009半导体设备可靠性、可用性和维修性(RAM)的定义和测量规范
- 《元素》优课一等奖课件
- 开放性骨折处理课件
评论
0/150
提交评论