割草机器人自动避障系统设计论文_第1页
割草机器人自动避障系统设计论文_第2页
割草机器人自动避障系统设计论文_第3页
割草机器人自动避障系统设计论文_第4页
割草机器人自动避障系统设计论文_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

扬州大学广陵学院 本科生毕业设计 毕业设计题目 割草机器人自动避障系统设计 学 生 姓 名 专 业 机械设计制造及其自动化 班 级 指 导 教 师 完 成 日 期 2014 年 5 月 31 日 I 摘 要 自动避障系统是割草机器人关键模块之一,是割草机器人自主、安全行走前提。本文首先对国内外市场上现存的智能割草机器人进行了介绍和比较,指出了现在智能割草机器人研制过程中需要注意的关键技术,并结合以往的成功经验和现在的实际需求,选择易于实验的小车结构。 STC89C52 单片机是宏晶科技推出的新一代高速 /低功耗 /超强抗干扰的单片机,指令代码完全兼容传统8051 单片机, 12 时钟 /机器周期和 6时钟 /机器周期可以任意选择。本课题以设计割草机器人自动避障为目的,采用 STC89C52 单片机作为控制核心,采用超声波传感器来检查路面上的障碍,来控制执行机构的自动避障,从而使执行机构完成左转、右转和后退的动作。其中 采用的技术主要有:( 1)超声波传感器的有效应用,( 2)显示器的使用,( 3)通过编程来控制执行机构的运动。 关键词: STC89C52 单片机,超声波传感器,执行机构,显 示器 邹晓杰 割草机器人自动避障系统设计 II Abstract Automatic obstacle avoidance system is one of the key module robot mowers mowing robot, is independent, safe walking premise. This paper firstly introduced and compared to the domestic and foreign existing in the market of intelligent robot mowers, points out the key technologies in the development process of the Intelligent Robot Mower now, combined with the successful experiences and actual demand now, select the vehicle structure is easy to experiment.STC89C52SCM is the macro crystal technology, the introduction of a new generation of high / low power / super anti-jamming MCU, the instruction code is fully compatible with traditional 8051 SCM, 12 clock / machine cycle and 6 clock / machine cycle can be arbitrarily chosen. The design of automatic obstacle avoidance for Robot Mower, using STC89C52 micro-controller as control core, using ultrasonic sensors to check the road barriers, automatic obstacle avoidance control actuator, the actuator to complete the left, right and back action. The main technology:(1)The effective application of ultrasonic sensor.(2) The use of the monitor. (3)Programmed to control the car. Key words: STC89C52microcontroller, ultrasonic sensor, actuator , display 邹晓杰 割草机器人自动避障系统设计 III 目录 中文摘要 . I Abstract . II 第一章 绪论 . 1 1.1 选题背景及意义 . 1 1.1.1 自动割草机器人概述 . 1 1.1.2 自动割草机器人优点 . 1 1.2 割草机器人的发展简史及其研究现状 . 2 1.2.1 发展简史 . 2 1.2.2 国外的研究现状 . 2 1.2.3 国内的研究现状 . 3 1.3 割草机器人自动避障系统 . 3 第二章 总体方案设计 . 5 2.1 主要研究内容 . 5 2.2 具体方案介绍 . 5 第三章 超声波测距 . 7 3.1 超声波测距设计思路 . 7 3.1.1 超声波测距原理 . 7 3.1.2 超声波测距方法 . 7 3.1.3 超声波模块的选择 . 7 3.1.4 显示器的选择 . 8 第四章 超声波模块的硬件结构设计 . 9 4.1 超声波模块电路设计 . 9 4.1.1 超声波模块的特点 . 9 4.1.2 超声波模块的工作原理 . 9 4.1.3 模块参数 .10 邹晓杰 割草机器人自动避障系统设计 IV 4.1.4 超声波时序图 .10 4.1.5 超声波发送与接收 .11 4.2 STC89C52 单片机功能及特点 .12 4.2.1 STC89C52 单片机参数 .12 4.2.2 STC89C52单片机特性 .13 4.3 显示电路设计 .15 4.3.1 1602 液晶屏的优点 .15 4.3.2 1602 管脚定义 .15 4.3.3 1602 操作时序 .16 第五章 超声波测距模块软件设计 .18 5.1 超声波测距算法设计 .18 5.2 主程序流程 .18 5.2.1 系统初始化程序 .18 5.2.2 超声波启动程序 .19 5.2.3 超声波计时程序 .19 5.2.4 测距程序 .20 5.3 实验结果 .20 第六章 实验用执行机构硬件设计 .22 6.1 执行机构底盘 .22 6.2 执行机构驱动模 块 .22 6.2.1 L298N 驱动模块说明 .22 6.2.2 L298N 参数 .23 6.3 SG90 舵机 .24 6.3.1 什么是舵机 .24 6.3.2 舵机工作原理 .24 6.3.3 利用单片机实现舵机转角控制 .25 第七章 执行机构软件设计 .26 7.1 执行机构行走程序 .26 邹晓杰 割草机器人自动避障系统设计 V 7.2 舵机转动控制执行机构行走程序 .27 结论 .30 致谢 .31 参考文献 .32 附录 1 超声波避障舵机转动编程 .33 附录 2 电路原理图 .40 邹晓杰 割草机器人自动避障系统设计 1 第一章 绪论 1.1 选题背景及意义 1.1.1 自动割草机 器人概述 随着经济的发展 ,各国城市建设逐渐深化 ,城区的绿化程度也随之提高 ,大量的公园草坪、足球场草坪、 GOFL 球场草坪等公共绿地均需要进行维护。在各种草坪维护作业中 ,以草皮修剪工作最为繁重 ,不仅枯燥 ,而且重复性强 ,通常需要消耗大量的人力和物力。为了降低草坪维护作业的劳动强度和成本 ,近年来一些西方国家提出用现代电子技术和智能控制技术改造和提升草坪机械产业的战略 ,希望在不久的将来用智能的自动割草机器人取代传统的割草机。 自动割草机器人属于民用户外移动机器人领域 ,从系统科学的角度来讲 ,它是集环境感知、路径动态规划 与决策、行为控制与执行等多种功能于一体的综合机器人系统。感知系统实时监测外界环境变量、移动机构及割草机构运行参数 ,并将结果输送到控制系统;控制系统将获得的数据与自身的数据库做比较 ,并参照路径规划对移动机构和割草机构发出修正指令 ,以获得稳定的运行情况。与传统的草坪修剪机械相比 ,自动割草机器人具有环保、人力消耗低和高安全性等特点。 1.1.2 自动割草机器人优点 自动割草机器人与传统的割草机相比有着众多的优点。 1.自动 割草机器人可自主工作 ,仅仅需要少量的人工干预甚至不需要人工干预。传统的割草机需要人的全 程干预,割草任务相当繁重。 2.自动 割草机器人 更加安全。自动 割草机器人采用了 传感器技术和单片机控制技术,灵敏度更高,应用范围更广,检测精度也更高。也不会因为操作人员的疲劳导致各种意外事故。 3.自动割草机器人有利于保护环境。传统的割草机通过内燃机进行工作,会产生很大的噪声和废弃,这将严重影响操作人员的身体健康并且会污染环境。而 割草机器人具有体积小、重量轻和所需功率小等特点 ,因此在太阳光充足的地方完全可以使用太阳能电池来提供能量,有利于环境保护。 邹晓杰 割草机器人自动避障系统设计 2 1.2 割草机器人的发展简史及其研究现状 1.2.1 发展简史 1805 年英国人普拉克内特发明了第一台收割谷物并可以切割杂草的机器,由人推动机器,通过齿轮传动带动旋刀割草,这就是割草机的雏形。 1830 年,英国纺织工程师比尔 -布丁取得了滚筒剪草机的专利。 1832 年,兰塞姆斯农机公司开始批量生产滚筒式割草机。 1902 年英国人伦敦恩斯制造了内燃机作动力的滚筒式割草机,其原理延用至今。 从 20 世纪 80 年代开始,各种技术都日瑧成熟,链传动,齿轮传动,皮带轮组无级变速,电传动,静液压无级变速全都在割草机上使用,特别是静液压无级变速的驱动单元不仅减轻了司机的 操作劳动强度而且还给他们带来了操作的乐趣,加之现代机械设计理念使割草机的结构设计越来越简洁,外形越来越美观,割草机产业显得比以往任何一个时候都更为兴旺。 1.2.2 国外的研究现状 国外对智能割草机器人的研究已经有很长一段时间,在一些草坪拥有量比较的发达国家,他们将智能割草机器人作为商品出售,并且销量很好。出售的智能割草机器人已经达到了中等水平,极大的提高了人们的劳动效率,同时也促进了国外割草机器人的研究与发展。 国外的科研机构对割草机器人展开的研究主要偏向割草机器人的智能控制技术,导航技术和路径规划等方向 ,而针对割草机器人的系统设计相对较少。美国专利 US4919224 采用了蓄电池供电 ,能在预定时间启动 ,具有避障,防盗及自动充电等功能 ,采用三根导线来进行导航 ,当遇到下雨,湿地及电源不足等以外情况时 ,返回车库 ,该专利采用超声波来探测障碍 ,用震荡探测器及密码来防止非法用户操作机器。 美国专利 US5204814采用了优化的导航技术 ,综合利用存储的路径及环境信息,无磁无电流的金属导线和埋在地下的金属导线三种方式来指导割草机器人的移动 ,该专利还选用了内燃机做动力 ,配合发电机及电池组使用 ,采用分布式控制方式。其它类似的专利 有美国专利 US4679152,美国专利 US4800978,美国专利 US3800902 及法国专利 2631466,美国专利 US4777785 提供了一种导航新方邹晓杰 割草机器人自动避障系统设计 3 法即沿未割及已割区域的边缘行走 ,从而完成导航任务。 1.2.3 国内的研究现状 国内的研究机构对自动割草机器人的研究起步相对较晚,但仍有一定的积累。南京理工大学机械电子工程专业的王华坤教授早在 2000 年就展开了智能割草机器人的研究,其研究生李杏春的硕士论文移动割草机器人总体方案和控制系统设计与研究对割草机器人的总体设计、路径规划、避障 !定位系统、控制系统 等从理论上进行了较全面的研究,进而提出了一种廉价实用的总体方案,为进一步深入研究割草机器人打下了基础;其研究生陈正江的硕士论文户外自主移动机器人体系结构与控制系统研制主要研究户外自主移动机器人的运动控制系统与体系结构,并设计制造了自主移动机器人样机 MORO 一 I,实现了机器人的导航和自主行走控制;其博士生祖莉的博士论文智能割草机器人全区域覆盖运行的控制和动力学特性研究将移动机器人的导航定位、智能控制、规划避障等方面的技术和理论运用到割草机器人平台上,进行了相关的实验,并讨论了割草机器人在户外移动机器人 中的特殊性;江苏大学也对割草机器人做了一定的研究,研究生周宁的硕士论文割草机器人割台设计与运动控制研究就割草机器人的设计及运动控制等方面展开了一系列的研究工作,并根据中国草坪的特点完成了割台部分的设计,最后得到割草机器人割台的主要性能参数;研究生丁毅的硕士论文基于 GPS 和数字罗盘的割草机器人导航定位方法的研究提出了利用 GPS 和数字罗盘进行割草机器人导航的新思路。 1.3 割草机器人自动避障系统 避障对于割草机器人自主导航,路径规划是不可缺少的 ,它是割草机器人智能化的体现。割草机器人避障系统的好坏直接影 响到割草机器人执行各项任务的能力。 一个好的避障系统是完成割草机器人避障任务的前提。一般来说 ,一个完整的避障系统主要包括三个方面 :避障探测系统,避障信息的处理和避障策略。避障探测系统是由各种传感器和控制器组成的探测障碍物信息的系统,整个避障探测系统是机器人感知外部环境信息的唯一途径 ,传感器的选择将成为割草机器人收集环境信息正确与否的关键。采用视觉系统避障可以获得较完整的环境信息 ,但图像处理运算量大 ,对设备的性能要求高 ,从而会使机器人在避障时实邹晓杰 割草机器人自动避障系统设计 4 时性比较差。近年来 ,为了解决这个问题 ,人们开始研究采用非摄像类传感 器探测环境信息,但单一的传感器由于受其固有的缺陷等因素的影响 ,使其在探测环境信息时 ,不能够提供准确,全面的环境信息。因此 ,在实际应用中 ,采用多传感融合技术来实现对环境信息的探测 ,如何提高测量精度就成为了研究热点。 通常应用于机器人距离探测的传感器有激光传感器,视觉传感器,红外传感器和超声波传感器等。 红外传感器工作原理是采用发射固定波长红外线并接收同一回波的主动方式。其优点是探测角较小 ,方向性强 ,测量精度高 ,反应速度快 ,但其缺点是受环境影响较大 ,红外探测头稍微被灰尘污染 ,其测量精度就会大大下降 ,而且探测距离 较近。 超声波传感器对环境的适应能力强 ,在阴影,灰尘,烟雾,水汽等环境下 ,其性能指标不受任何影响 ,即使遇到工作环境异常恶劣的场合 ,其性能指标所受的影响也微乎其微。而且超声波传感器相比于激光测距仪来说要便宜的多 ,不易损坏。超声波传感器具有成本低廉 ,信息,数据采集快 ,重量轻,体积小 ,易于安装等优点。 综合考虑,用超声波传感器易于实现草坪上障碍物的探测。 邹晓杰 割草机器人自动避障系统设计 5 第二章 总体方案设计 2.1 主要研究内容 本课题主要研究的是智能割草机器人的自动避障系统,自然就包括了障碍物的检测,检测信息的处理以及如何将这些数据反馈到执行 机构上。障碍物的检测需要用到传感器,然而传感器的种类繁多,应用最为广泛的是超声波传感器和红外线传感器。超声波传感器和红外线传感器的优缺点已经在上述部分列出,所以本课题采用超声波传感器来测量与障碍物之间的距离。超声波测距一般采用时间飞跃法( TOF)。首先测出超声波发出到碰到障碍物返回的时间,再乘以声速就得到 2 倍的障碍物距离。再利用单片机控制技术完成信号采集与控制,进而提出控制策略,通过执行机构实施达到障碍物的规避目的。 图 2.1 割草机器人系统构成框图 2.2 具体方案介绍 本课题的重点也是难点是障碍物距离 的检测,打算采用 STC89C52 型号的单片机作为控制核心,型号为 HC-SR04 的超声波模块以及 1602 的液晶屏来实现测距功能。该系统包括了超声波发射与接收模块,复位电路,液晶显示等。并且,在超声波传感器下安装一个 S90 舵机,利用舵机来控制超声波传感器左右转动,从而使超声波传感器测量出前方、左侧以及右侧三个方向的障碍物距离。然后,在单片机中写入具体点编程,使整个系统能够运行。其中舵机的优点就能很好邹晓杰 割草机器人自动避障系统设计 6 的呈现出来,当超声波传感器检测到障碍物时,若左右检测距离均小于 20cm,则执行机构后退;若左侧小于右侧,则右转;反 之,则左转。 邹晓杰 割草机器人自动避障系统设计 7 第三章 超声波测距 3.1 超声波测距设计思路 3.1.1 超声波测距原理 通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。这与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。(超声波在空气中的传播速度为 340m/s,根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离 (s),即: s=340t/2) 。 3.1.2 超声波测距方法 超声波指向性强, 在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物 位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移 动机器人的研制上也得到了广泛的应用 。 一般测距采用时间飞跃法( TOF),即 测出超声波发出到碰到障碍物返回的时间,再乘以声速就得到 2 倍的障碍物距离。本系统测距过程大致如下:单片机发出 40khz 的信号来驱使超声波传感器,当发射器将第一个超声波脉冲发射后,计数器开始计数,接收器检测到第一个回波后停止计数 。利用接收到的时间以及测距公式可以将距离显示在 1602 液晶屏上。 3.1.3 超声波模块的选择 超声波模块选择了市面上运用广泛的 HC-SR04 型号的芯片。 HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达 3mm;模块包括超声波发射器、接收器与控制电路。基本工作原理: ( 1)采用 IO 口 TRIG 触发测距,给至少 10US 的高电平信号; ( 2)模块自动发送 8 个 40KHz 的方波,自动检测是否有信号返回; ( 3)有信号返回,通过 IO 口 ECH0 输出一个高电平,高电平持续的 时间就是超声波从发射到返回的时间。测试距离 =(高电平时间 *声速 (340M/S)) /2; 邹晓杰 割草机器人自动避障系统设计 8 3.1.4 显示器的选择 显示模块选择 1602 液晶显示屏,因为液 晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。并且相比于数码管该模块有以下几个优点: ( 1) 位数多,可以显示 32 位, 32 个数码管而言体积很大。 ( 2) 显示内容丰富,可显示所有数字和大小写字母。 程序简单,如果用数码管动态显示,会占用很多时间来刷新, 1602 能自动完成刷新。邹晓杰 割草机器人自动避障系统设计 9 第四章 超声波模块的硬件结构设计 硬 件电路的设计主要包括单片机系统,超声波发射部分,超声波接收部分以及显示部分。单片机芯片采用 STC89C52 系列或其兼容系列,因为其 采用 Flash存贮器技术,降低了制造成本,其软件、硬件与 MCS-51 完全兼容,且采用高密度非易失存储器制造技术制造,将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, 有利于操作。单片机 P2.0 管脚触发控制信号的输入, P2.1 管脚控制回响信号的输出。显示部分采用 1602 液晶屏显示。 4.1 超声波模块电路设计 超声波模块采用型号为 HC-SR04 型号产品。 HC-SR04 超声波测距模块2cm-400cm 的非接触式测距感测功能,测距精度可达 3mm。模块包括超声波发射器,接收器和控制电路。 4.1.1 超声波模块的特点 1.典型工作用电压: 5V。 2.超小静态工作电流:小于 2mA。 3.感应角度:不大于 15 度。 4.探测距离: 2cm-400cm 5.高精度:可达 0.3cm。 6.盲区( 2cm)超近。 7.完全谦容 GH-311 防盗模块。 4.1.2 超声波模块的工作原理 (1)采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号。 (2)模块自动发送 8 个 40khz 的方波,自 动检测是否有信号返回。 (3)有信号返回,通过 IO 口 ECHO 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间测试距离 =(高电平时间 *声速 (340M/S)/2。 邹晓杰 割草机器人自动避障系统设计 10 即控制口发一个 10US 以上的高电平,就可以在接收口等待高电平输出。 一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的 值,此为次测距的时间,方可算出距离。如此不断的周期测,就可以达 到你移动测量的值。 4.1.3 模块参数 图 4.1 HC-SR04 外观图 4.1.4 超声波时序图 邹晓杰 割草机器人自动避障系统设计 11 图 4.14 超声波时序图 上面的时序图表示只要你提供一个 10us 以上的脉冲触发信号,模块内部就会循环发出 8个 40KHz 的脉冲,打开计时器,当检测到回波信号是打开输出回响信号,回响电平输出与检测距离成正比,通过该间隔时间可计算出距离。 4.1.5 超声波发送与接收 图 4.15 超声波模块信号发射与接收 邹晓杰 割草机器人自动避障系统设计 12 4.2 STC89C52 单片机功能及特点 STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节 Flash, 512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM, MAX810 复位电路, 3个 16 位定时器 /计数器, 4 个外部中断,一个 7向量 4 级中断结构(兼容传统 51 的 5向量 2 级中断结构),全双工串行口。另外 STC89C52 可降 至 0Hz 静态逻辑操作,支持 2种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz, 6T/12T 可选。 4.2.1 STC89C52 单片机参数 1.增强型 8051 单片机, 6 时钟 /机器周期和 12 时钟 /机器周期可以任意 选择指令代码完全兼容传统 8051。 2.工作电压: 5.5V 3.3V( 5V 单片机) /3.8V 2.0V( 3V 单片 机) 。 3.工作频率范围: 0 40MHz,相当于普通 8051 的 0 80MHz,实际工作频率可达 48MHz。 4.用户应用程序空间为 8K 字节 。 5.片上集成 512 字节 RAM。 6.通用 I/O 口( 32 个),复位后为: P0/P1/P2/P3 是准双向口 /弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 7.ISP(在系统可编程) /IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口( RxD/P3.0,TxD/P3.1)直接下载用户程序,数 秒即可完成一片 。 8.具有 EEPROM 功能 。 邹晓杰 割草机器人自动避障系统设计 13 9.共 3 个 16 位定时器 /计数器。即定时器 T0、 T1、 T2。 10.外部中断 4 路,下降沿中断或低电平触发电路, Power Down 模式可 由外部中断低电平触发中断方式唤醒 。 11.通用异步串行口( UART),还可用定时器软件实现多个 UART。 12.工作温度范围: -40 +85 (工业级) /0 75 (商业级) 。 13.PDIP 封装 。 4.2.2 STC89C52 单片机特性 1.8K 字节程序存储空间; 2.512 字节数据存储空间; 3.内带 2K字节 EEPROM 存储空间 ; 4.可直接使用串口下载; STC89C52 具体介绍如下: 主电源引脚( 2 根) VCC(Pin40):电源输入,接 5V 电源 GND(Pin20):接地线 外接晶振引脚( 2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 控制引脚( 4 根) RST/VPP(Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 可编程输入 /输出引脚( 32根) STC89C52 单片机有 4 组 8位的可编程 I/O 口,分别位 P0、 P1、 P2、 P3 口,邹晓杰 割草机器人自动避障系统设计 14 每个口有 8 位( 8根引脚),共 32 根。 PO 口( Pin39 Pin32): 8位双向 I/O 口线,名称为 P0.0 P0.7 P1 口( Pin1 Pin8): 8 位准双向 I/O 口线,名称为 P1.0 P1.7 P2 口( Pin21 Pin28): 8位准双向 I/O 口线,名称为 P2.0 P2.7 P3 口( Pin10 Pin17): 8位准双向 I/O 口线,名称为 P3.0 P3.7 单片机引脚分配示意: P00-P07 4位数码管的段码数据线,共阳数码管 LCD 数据并行总线 P10-P1 数码管位控制(共阳) P10-P13 LCD 功能控制引脚 P14 继电器 控制引脚 P15 蜂鸣器 控制引脚 P15、 P16、 P17 ISP 下载器接口 P20-P27 8路 LED 发光二极管,共阳接法 P30 串行通信 RXD 通 过短接帽连接 P31 串行通信 TXD 通过短接帽连接 P32 温感接口数据引脚 P33 红外接口数据引脚 P32-P37 6键独立键盘与中断按钮 邹晓杰 割草机器人自动避障系统设计 15 图 4.2 STC89C52 单片机 4.3 显示电路设计 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可以分为单行 16 字, 2 行 16 字,两行 20 字等等。鉴于本过程只需显示实时距离,显示单元部分采用 1602 液晶 显示屏。用于将超声波模块接收到的数据通过单片机中的程序运算将与障碍物的具体距离显示出来。 4.3.1 1602 液晶屏的优点 1.位数多,可以显示 32 位, 32 个数码管而言体积很大。 2.显示内容丰富,可显示所有数字和大小写字母。 3.程序简单,如果用数码管动态显示,会占用很多时间来刷新, 1602 能自新。 4.3.2 1602 管脚定义 字符型 LCD1602 通常有 14 条引脚线或 16 条引脚线的 LCD,多出来的 2条线是背光电源线 VCC(15 脚 )和地线 GND(16 脚 ),其控制原理与 14脚的 LCD 完全一邹晓杰 割草机器人自动避障系统设计 16 样 ,但是编程用到 的主要管脚不过三个,分别为: RS(数据命令选择端 ),R/W(读写选择端) ,E(使能信号)。以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。以下具体阐述这三个管脚: RS 为寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器。 R/W 为读写选择,高电平进行读操作,低电平进行写操作。 E端为使能端,后面和时序联系在一起。 除此外, D0D7 分别为 8位双向数据线。 详细来讲, 第 1 脚: VSS 为地电源 第 2 脚: VDD 接 5V 正电源 第 3 脚: V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度(建议接地,弄不好有的模块会不显示) 第 4 脚: RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚: RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。 第 6 脚: E 端为使能端,当 E端由高电平跳变成低电平时,液晶模块执行命令。 第 7 14 脚: D0 D7为 8位双向数据线。 第 15 16脚:空脚(有的用来接背光)。 4.3.3 1602 操作时序 注:关于 E=H 脉冲 开始时初始化 E 为 0,然后置 E为 1,再清 0。 读取状态字时,注意 D7 位, D7=1,禁止读写操作; D7=0,允许读写操作; RS R/W 操作说明 0 0 写入指 令码 D0D7 0 1 读取输出的 D0D7 状态字 1 0 写入数据 D0D7 1 1 从 D0D7 读取数据 邹晓杰 割草机器人自动避障系统设计 17 所以对控制器每次进行读写操作前,必须进行读写检测。 图 4.3 1602 电路引脚接线 邹晓杰 割草机器人自动避障系统设计 18 第五章 超声波测距模块软件设计 超声波测距的软件设计主要是对硬件部分得到的数据进行处理和应用,大致包括主程序,超声波启动程序,超声波中断计时程序以及显示程序 。编程时选择C语言编程,因为 C 语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。 C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。 5.1 超声波测距算法设计 控制口发一个 10US 以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此为次测距的时间,方可算出距离。如此不断的周期测,就可以达到你移动测量的值。 公式为: d=Ct/2 d表示被测物体与传感器的直线距离,单位 是 m 。 t表示发射信号和接受间隔时间, C为声波在空气中的传播速度 ,单位是 m/s, t 为声波发射信号和回声的时间间隔 ,单位 s。 5.2 主程序流程 5.2.1 系统初始化程序 void LCDInit(void) LCD_Data = 0; WriteCommandLCD(0x38,0); /三次模式设置,不检测忙信号 WriteCommandLCD(0x38,1); /显示模式设置 ,开始要求每次检测忙信号 WriteCommandLCD(0x08,1); /关闭显示 WriteCommandLCD(0x01,1); /显示清屏 WriteCommandLCD(0x06,1); /显示光标移动设置 WriteCommandLCD(0x0C,1); 邹晓杰 割草机器人自动避障系统设计 19 5.2.2 超声波启动程序 void StartModule() /启动模块 unsigned char nop; TX=1; /启动一次模块 for(nop=0;nop21;nop+) _nop_(); TX=0; TX端为 1,给 Trig 引脚上 10us 的脉冲信号,程序执行空语句延时,完成超声波的发射。 5.2.3 超声波计时程序 while(1) StartModule(); while(!RX); /当 RX 为零时等待 TR0=1; /开启计数 while(RX); /当 RX 为 1计数并等待 TR0=0; /关闭计数 Conut(); /计算 for (i=0;i10;i+) Delay5Ms(); /延时 50MS 当 RX=0 是 while 语句空循环,即原地等待。 TR0 口为 1时,计数器开始工作。 Count 为计数函数。 邹晓杰 割草机器人自动避障系统设计 20 5.2.4 测距程序 void Conut(void) time=TH0*256+TL0;/转为 16 进制 TH0=0; TL0=0; S=(time*1.7)/100;/值为 cm 图 5.1 系统程序流程图 单片机初始化 设置 T0 工作方式 超声波发射 测试距离 显示距离 结束 开始 邹晓杰 割草机器人自动避障系统设计 21 5.3 实验结果 实验所用到的道具: STC89C52 单片 机, HC SR04 型号的超声波传感器,LCD1602 显示器,障碍物,尺子。将单片机、传感器以及显示器连接好后,打开单片机电源开关,利用障碍物和尺子得到实验的显示距离和实际距离。 超声波测距数据:(单位 /cm) 图 5.3.1超声波测距图 实际距离 2 4 6 8 10 12 14 16 18 20 测试距离 2 4 6 8 10 12 14 16 18 20 误差 0 0 0 0 0 0 0 0 0 0 实际距离 22 24 26 28 30 32 34 36 38 40 测试距离 22 24 26 28 29 31 33 35 37 39 误差 0 0 0 0 1 1 1 1 1 1 邹晓杰 割草机器人自动避障系统设计 22 图 5.3.2 实验实物图邹晓杰 割草机器人自动避障系统设计 23 第六章 实验用执行机构硬件设计 由于条件限制,我们将采用型号为 ZK-4WD 的小车底盘作为割草机器人的执行机构。 ZK-4WD 小车底盘的主要组成部分分别为:小车底盘、驱动模块 、控制器(即 STC89C52 单片机)、小车所需的能源、超声波传感器、 SG90 舵机和红外遥控传感器等。通过实验,很好的向我们呈现了智能割草机器人自动避障的样子。 6.1 执行机构底盘 小车底盘是机器人最重要的载体,相当于人体的躯干, ZK-4WD 小车平台采用差速转弯非常灵活可以实现原地打转。小车平台大小刚好,可以承载一些如驱动器、控制器、电池、传感器等。 图 6.1 执行机构底盘 6.2 执行机构驱动模块 6.2.1 L298N 驱动模块说明 L298N 驱动模块,采用 ST 公司原装全新的 L298N 芯片 ,采用 SMT 工艺稳定性高,采用高质量铝电解电容,使电路稳定工作。可以直接驱动两路 3-16V 直流电机,并提供了 5V 输出接口(输入最低只要 6V),可以给 5V 单片机电路系统供电 (低纹波系数) ,支持 3.3V MCU ARM 控制,可以方便的控制直流电机速邹晓杰 割草机器人自动避障系统设计 24 度和方向,也可以控制 2 相步进电机, 5 线 4 相步进电机。是智能小车必备利器。 6.2.2 L298N 参数 1.驱动芯片: L298N 双 H 桥直流电机驱动芯片 2.驱动部分端子供电范围 Vs: 5V 12V ; 如需要板内取电,则 供电范围 Vs: +6V +12V 3.驱动部分峰值电流 Io: 2A 4.逻辑部分端子供电范围 Vss: 5V 7V(可板内取电 5V) 5.逻辑部分工作电流范围 :0 36mA 6.控制信号输入电压范围( IN1 IN2 IN3 IN4): 低电平: 0.3V Vin 1.5V 高电平: 2.3V Vin Vss 7.使能信号输入电压范围( ENA ENB): 低电平: 0.3 Vin 1.5V(控制信号无效) 高电平: 2.3V Vin Vss(控制信号有效) 8.最大功耗: 20W(温度 T 75时 ) 9.存储温度: 25 130 10.驱动板尺寸 :55mm*45mm*33mm(带固定铜柱和散热片高度 ) 11.其他扩展:控制方向指示灯、逻辑部分板内取电接口。 图 6.2 L298 驱动模块原理图 邹晓杰 割草机器人自动避障系统设计 25 6.3 SG90 舵机 6.3.1 什么是舵机 在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的 控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。 图 6.3 舵机实物图 6.3.2 舵机工作原理 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为 20ms,宽度为 1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为 0,电机停止转动。当然我们可以 不用去了解它的具体工作原理,知道它的控制原理就够了。就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。 邹晓杰 割草机器人自动避障系统设计 26 6.3.3 利用单片机实现舵机转角控制 用单片机作为舵机的控制单元,使 PWM 信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为 PWM 信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。 单片机系统实现对舵机输出转角的控制,必 须首先完成两个任务:首先是产生基本的 PWM 周期信号,本设计是产生 20ms 的周期信号;其次是脉宽的调整,即单片机模拟 PWM 信号的输出,并且调整占空比。 当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将 20ms 分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。 当系统的主要工作任务就是控制多舵机的工作,并且使用的舵机工作周期均为 20ms 时,要求硬件产生的多路 PWM 波的周期也相同。使用 51单片机的内 部定时器产生脉冲计数,一般工作正脉冲宽度小于周期的 1/8,这样可以在 1 个周期内分时启动各路 PWM 波的上升沿,再利用定时器中断 T0 确定各路 PWM 波的输出宽度,定时器中断 T1控制 20ms 的基准时间。 邹晓杰 割草机器人自动避障系统设计 27 第七章 执行机构软件设计 因为前面已经讲过了 超声波测距的软件设计,所以这里要说的主要是舵机转动模块的软件设计。舵机转动模块的软件设计主要是对执行机构硬件部分得到的数据进行处理和应用,同样是用 C 语言编程。这里主要是控制舵机的左右转动以及小车前进、后退或停止的控制。 7.1 执行机构行走程序 其中主要包括初始化程 序、测距程序、方向函数等部分。主要是方向函数以及舵机旋转比较测距的函数。 #define Left_moto_go P1_0=1,P1_1=0,P1_2=1,P1_3=0; /左边两个电机向前走 #define Left_moto_back P1_0=0,P1_1=1,P1_2=0,P1_3=1; /左边两个电机向后转 #define Left_moto_Stop P1_0=0,P1_1=0,P1_2=0,P1_3=0; /左边两个电机停转 #define Right_moto_go P1_4=1,P1_5=0,P1_6=1,P1_7=0; /右边两个电机向前走 #define Right_moto_back P1_4=0,P1_5=1,P1_6=0,P1_7=1; /右边两个电机向前走 #define Right_moto_Stop P1_4=0,P1_5=0,P1_6=0,P1_7=0; /右边两个电机停转 执行机构是靠差速转向的,所以执行机构的左右转向个有两种 情况,即: 1、左转,执行机构左边轮子停止,右边轮子向前转动; 2、左转,执行机构左边轮子向后转动,右边轮子向前转动,可以实现原地打转。而右转则和左转相反。所以要实现执行机构左右转动需要再添加子函数如下。 /左转 void leftrun(void) Left_moto_back ; /左电机往前走 Right_moto_go ; /右电机往前走 邹晓杰 割草机器人自动避障系统设计 28 /*/ /右转 void rightrun(void) Left_moto_go ; /左电机往前走 Right_moto_back ; /右电机往前走 7.2 舵机转动控制执行机构行走程序 在超声波传感器测距时,舵机则起到了控制方向的作用。舵机控制着超声波传感器左右转动,分别测出左边、右边以及前方障碍物的距离,从而判断出是左转、右转还是后退。 void COMM( void ) push_val_left=5; /舵机向左转 90度 timer=0; while(timer=4000); /延时 400MS 让舵机转到其位置 StartModule(); /启动超声波测距 Conut(); /计算距离 S2=S; push_val_left=23; /舵机向右转 90度 timer=0; while(timer=4000); /延时 400MS 让舵机转到其位置 StartModule(); /启动超声波测距 Conut(); /计算距离 S4=S; 邹晓杰 割草机器人自动避障系统设计 29 push_val_left=14; /舵机归中 timer=0; while(timer=4000); /延时 400MS 让舵机转到其位置 StartModule(); /启动超声波测距 Conut(); /计算距离 S1=S; if(S220)|(S420) /只要左右各有 距离小于 20CM 小车后退 backrun(); /后退 timer=0; while(timerS4) rightrun(); /车的左边比车的右边距离小 右转 timer=0; while(timer=4000); else leftrun(); /车的左边比车的右边距离大 左转 timer=0; while(timer=4000); 邹晓杰 割草机器人自动避障系统设计 30 结 论 本文分析了割草机器人自动避障的实际需求, 结合现有自动割草机器人产品发展现状,提出了结构简单、成本经济的自动割草机器人避障方案。根据自动割草机器人工作环境特点,选择了合适的传感器件,设计了自动割草机器人控制系统。本文主要结论如下: ( 1) 采用了超声波传感器,简单有效的完成了测距实验。 ( 2)利用了舵机的优点,使超声波传感器 能够左右转动,完成避障任务。 ( 3) 采取以单片机开发板为核心,用模块化的思想设计了自动割草机器人的控制器,为户外移动机器人的研究提供了一种通用的低成本控制方案。 ( 4)采用了 LCD1602 显示器,很清楚的得到了测距数据。 邹晓杰 割草机器人自动避障系统设计 31 致 谢 历时 将近三 个月的时间终于将 毕业设计完成了 ,在 毕业设计的完成 过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。 在这里 要强烈感谢我的指导老师 高龙琴 老师, 高老师 对我进行了无私的指导和帮助,不厌其烦的帮助进行 毕业设计 的修改和改进 ,并且让我学到了很多专业方面的知识 。另 外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最 衷心 的感谢 ! 感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成 这次毕业设计 。感谢我的同学和朋友,在我 完成毕业设计 的过程中给予我了很多 帮助。如果没有大家的帮忙,我肯定无法顺利完成毕业设计,在此,再次向各位表示衷心的感谢。 邹晓杰 割草机器人自动避障系统设计 32 参考文献 1 赵广涛,程萌杭 .基于超声波传感器的测距系统设计 J.微计算机信息, 2006,(1):129-131 2 郭丽颖 .基于单片机的超声波测距电路的设计 J.自动化系统与应 用 ,2010,(6):100-102 3 王红云,姚志敏,王竹林,史连艳 .超声波测距系统设计 J.仪表技术 .2010,( 11) :47-49 4 华成英 .模拟电子技术基础 M.北京:高等教育出版社, 2006 5 郑郁正 .单片机原理及应用 M.成都:四川大学出版社, 2008 6 谭浩强 . C程序设计 M.北京:清华大学出版社, 2005 7 张立富 , 陆怀民 . 国内外 园林绿化机械的现状及其发展前景 J.林业机械与木工设备 .2009(07). 8 Kulkami A, EhsaniM. A Novel Position Sensor Elimination Technique for the Interior PermanentMagnet SynchronousMotor Drive J.IEEE Trans. Industry App lication, 1992, 28(1): 144-150. 9 Hongjiang He Jianyi Liu.The Design of Ultrasonic Distance Measurement System Based on S3C2410 C .2008 International Conferences on Intelligent Computation Technology and Automation. 10 M.Parrilia,J:J. Anaya, C. Fritsch. Digital signal processing techniques for high accuracy Ultrasonic range measurementsJ, IEEE Trans on Instrumentation and Measurement, Aug.2002:750-760 11 W Kappes, B Rockstroh, F Walte. Ultrasonic Testing Station for Wheel-Sets of Passenger Trains of the Deutshe Bahn AG.Insight.2001,43(11):751 -753 12 ITE Battery News, 1999, (2):41. 13 王乃康,茅也冰,赵平 .现代园林机械 M . 北京:中国林业出版社, 2006. 14 卢威 .智能小车避障系统的设计与实现 .南昌大学硕士论文, 2012-06-09 15 杨银辉 .基于超声波传感器的割台高度自动控制系统研究 .西北农林科技 大学硕士论文, 2007-05-01. 16 王应军等 .基于 AT80C51 单片机的智能小车设计 .福建电脑 ,2009. 邹晓杰 割草机器人自动避障系统设计 33 附件 1: 超声波避障舵机转动编程 #include #include #define Sevro_moto_pwm P2_7 /接舵机信号端输入 PWM 信号调节速度 #define ECHO P2_4 /超声波接口定义 #define TRIG P2_5 /超声波接口定义 #define Left_moto_go P1_0=1,P1_1=0,P1_2=1,P1_3=0; /左边两个电机向前 走 #define Left_moto_back P1_0=0,P1_1=1,P1_2=0,P1_3=1; /左边两个电机向后 转 #define Left_moto_Stop P1_0=0,P1_1=0,P1_2=0,P1_3=0; /左边两个电机停转 #define Right_moto_go P1_4=1,P1_5=0,P1_6=1,P1_7=0; /右边两个电机向前 走 #define Right_moto_back P1_4=0,P1_5=1,P1_6=0,P1_7=1; /右边两个电机向前 走 #define Right_moto_Stop P1_4=0,P1_5=0,P1_6=0,P1_7=0; /右边两个电机停转 Unsigned char const discode = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff/*-*/; unsigned char const positon3= 0xfe,0xfd,0xfb; unsigned char disbuff4 = 0,0,0,0,; unsigned char posit=0; unsigned char pwm_val_left = 0;/变量定义 unsigned char push_val_left =14;/舵机归中,产生约, 1.5MS 信号 unsigned long S=0; unsigned long S1=0; unsigned long S2=0; unsigned long S3=0; unsigned long S4=0; unsigned int time=0; /时间变量 unsigned int timer=0; /延时基准变量 unsigned char timer1=0; /扫描时间变量 void delay(unsigned int k) /延时函数 unsigned int x,y; for(x=0;xk;x+) 邹晓杰 割草机器人自动避障系统设计 34 for(y=0;y=0x20) /若到达字 串尾则退出 if (X = 0xF) /X 坐标应小于

温馨提示

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

评论

0/150

提交评论