《基于arduino单片机的智能小车设计学士学位毕业论文.doc》由会员分享,可在线阅读,更多相关《基于arduino单片机的智能小车设计学士学位毕业论文.doc(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、江海职业技术学院学位论文毕 业 设 计毕业设计题目:基于Arduino单片机的智能小车设计 第5页毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的
2、的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报
3、告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它中 文 摘 要智能车辆是集环境感知、规划决策、多等级辅助驾驶等功能于一
4、体的综合系统,是智能交通系统的一个重要组成部分。它在军事、民用、太空开发等领域有着广泛的应用前景。随着电子工业的发展,智能技术广泛运用于各种领域,运用于智能家居中的产品更是越来越受到人们的青睐。本系统在硬件设计方面,以Arduino单片机为控制核心,以超声波传感器检测前方障碍物,从而自动避障。在软件方面,利用C语言进行编程,通过软件编程来控制小车运转。根据家庭各种房间家具的布局不同而使用不同的路径,从而使得家居中常用到的智能清扫小车智能化,人性化。该小车能自动避障,有一定的实用价值。关键词 :单片机;智能清扫小车;自动避障江海职业技术学院学位论文目录第一章 绪论11.1 选题背景11.2 智能
5、小车研究现状21.3 课题主要内容4第二章 智能小车总体结构52.1 方案综述52.2 主控单元方案比较与选择52.3 避障单元方案比较与选择62.4 “小车”的必要的信息7第三章 智能小车的触觉、眼睛83.1 智能小车内部检测原理83.2 电机电流、电压检测103.3 超声波测距11第四章 智能小车的脚234.1 轮系结构详述234.2 直流电机 H 桥驱动电路264.3 电机控制信号.28第五章 智能小车的大脑295.1 Arduino单片机简介295.2 Arduino单片机引脚简介305.3 Arduino编程软件33第六章 智能小车控制流程及程序356.1 控制流程35参考文献36致
6、 谢37第37页第一章 绪论随着科技进步,现代工业技术发展越来越体现出机电一体化的特征。无论是在金属加工、汽车技术、工业生产等等方面,机器设备表现了所谓智能化、集成化、小型化、高精度化的发展趋势。 1.1 选题背景随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。设计的智能电动小车应该能够实现适应能力,能自动避障,可以智能规划路径。智能化作为现代社会的新产物,是以后的发展方向,
7、他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。同遥控小车不同,遥控小车需要人为控制转向、启停和进退,比较先进的遥控车还能控制器速度。常见的模型小车,都属于这类遥控车;智能小车,则可以通过计算机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预。操作员可以通过修改智能小车的计算机程序来改变它的行驶方向。因此,智能小车具有再编程的特性,是机器人的一种。中国自1978年把“智能模拟”作为国家科学技术发展规划的主要研究课题,开始着力研究智能化。从概念的引进到实验室研究的实现,再到现在高端领域(航天航空、军事、勘探等)的应用,这一过程为
8、智能化的全面发展奠定基石。智能化全面的发展是实现其对资源的合理充分利用,以尽可能少的投入得到最大的收益,大大提高工业生产的效率,实现现有工业生产水平从自动化向智能化升级,实现当今智能化发展由高端向大众普及。从先前的模拟电路设计,到数字电路设计,再到现在的集成芯片的应用,各种能实现同样功能的元件越来越小为智能化产物的生成奠定了良好的物质基础。智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。1.2 智能小车研究现状智能车辆作为智能交通系统的关键技术,是许多高新技术综合集成的载体。智
9、能车辆驾驶是一种通用性术语,指全部或部分完成一项或多项驾驶任务的综合车辆技术。智能车辆的一个基本特征是在一定道路条件下实现全部或者部分的自动驾驶功能,下面简单介绍一下国内外智能小车研究的发展情况。1.2.1 国外智能车辆研究现状国外智能车辆的研究历史较长,始于上世纪50年代。它的发展历程大体可以分成三个阶段:第一阶段 20世纪50年代是智能车辆研究的初始阶段。1954年美国Barrett Electronics 公司研究开发了世界上第一台自主引导车系统AGVS(Automated Guided Vehicle System)。该系统只是一个运行在固定线路上的拖车式运货平台,但它却具有了智能车辆
10、最基本得特征即无人驾驶。早期研制AGVS的目的是为了提高仓库运输的自动化水平,应用领域仅局限于仓库内的物品运输。随着计算机的应用和传感技术的发展,智能车辆的研究不断得到新的发展。第二阶段 从80年代中后期开始,世界主要发达国家对智能车辆开展了卓有成效的研究。在欧洲,普罗米修斯项目于1986年开始了在这个领域的探索。在美洲,美国于1995年成立了国家自动高速公路系统联盟(NAHSC),其目标之一就是研究发展智能车辆的可能性,并促进智能车辆技术进入实用化。在亚洲,日本于1996年成立了高速公路先进巡航/辅助驾驶研究会,主要目的是研究自动车辆导航的方法,促进日本智能车辆技术的整体进步。进入80年代中
11、期,设计和制造智能车辆的浪潮席卷全世界,一大批世界著名的公司开始研制智能车辆平台。第三阶段 从90年代开始,智能车辆进入了深入、系统、大规模研究阶段。最为突出的是,美国卡内基.梅隆大学(Carnegie Mellon University)机器人研究所一共完成了Navlab系列的10台自主车(Navlab1Navlab10)的研究,取得了显著的成就。目前,智能车辆的发展正处于第三阶段。这一阶段的研究成果代表了当前国外智能车辆的主要发展方向。在世界科学界和工业设计界中,众多的研究机构研发的智能车辆具有代表性的有:德意志联邦大学的研究 1985年,第一辆VaMoRs智能原型车辆在户外高速公路上以1
12、00km/h的速度进行了测试,它使用了机器视觉来保证横向和纵向的车辆控制。1988年,在都灵的PROMRTHEUS项目第一次委员会会议上,智能车辆维塔(VITA,7t)进行了展示,该车可以自动停车、行进,并可以向后车传送相关驾驶信息。这两种车辆都配备了UBM视觉系统。这是一个双目视觉系统,具有极高的稳定性。荷兰鹿特丹港口的研究 智能车辆的研究主要体现在工厂货物的运输。荷兰的Combi road系统,采用无人驾驶的车辆来往返运输货物,它行驶的路面上采用了磁性导航参照物,并利用一个光阵列传感器去探测障碍。荷兰南部目前正在讨论工业上利用这种系统的问题,政府正考虑已有的高速公路新建一条专用的车道,采用
13、这种系统将货物从鹿特丹运往各地。日本大阪大学的研究 大阪大学的Shirai实验室所研制的智能小车,采用了航位推测系统(Dead Reckoning System),分别利用旋转编码器和电位计来获取智能小车的转向角,从而完成了智能小车的定位。另外,斯特拉斯堡实验中心、英国国防部门的研究、美国卡内基梅隆大学、奔驰公司、美国麻省理工学院、韩国理工大学对智能车辆也有较多的研究。1.2.2 国内智能车辆研究现状相比于国外,我国开展智能车辆技术方面的研究起步较晚,开始于20世纪80年代。而且大多数研究处在于针对某个单项技术研究的阶段。虽然我国在智能车辆技术方面的研究总体上落后于发达国家,并且存在一定得技术
14、差距,但是我们也取得了一系列的成果,主要有:(1)中国第一汽车集团公司和国防科技大学机电工程与自动化学院与2003年研制成功我国第一辆自主驾驶轿车。该自主驾驶轿车在正常交通情况下的高速公路上,行驶的最高稳定速度为13km/h,最高峰值速度达170km/h,并且具有超车功能,其总体技术性能和指标已经达到世界先进水平。(2)南京理工大学、北京理工大学、浙江大学、国防科技大学、清华大学等多所院校联合研制了7B.8军用室外自主车,该车装有彩色摄像机、激光雷达、陀螺惯导定位等传感器。计算机系统采用两台Sun10完成信息融合、路径规划,两台PC486完成路边抽取识别和激光信息处理,8098单片机完成定位计
15、算和车辆自动驾驶。其体系结构以水平式结构为主,采用传统的“感知-建模-规划-执行”算法,其直线跟踪速度达到20km/h,避障速度达到5-10km/h。智能车辆研究也是智能交通系统ITS的关键技术。目前,国内的许多高校和科研院所都在进行ITS关键技术、设备的研究。随着ITS研究的兴起,我国已形成一支ITS技术研究开发的技术专业队伍。并且各交通、汽车企业越来越加大了对ITS及智能车辆技术研发的投入,整个社会的关注程度在不断提高。交通部已将ITS研究列入“十五”科技发展计划和2010年长期规划。相信经过相关领域的共同努力,我国ITS及智能车辆的技术水平一定会得到很大提高。可以预计,我国飞速发展的经济
16、实力将为智能车辆的研究提供一个更加广阔的前景。我们要结合我国国情,在某一方面或某些方面,对智能车进行深入细致的研究,为它今后的发展及实际应用打下坚实的基础。1.3 课题主要内容本课题南京嵌入之梦工作室的fira智能小车平台,选择通用、价廉的Arduino单片机为控制平台,通过细化设计要求,结合传感器技术和电机控制技术相关知识实现小车的各种功能。设计完成以由超声波测距、自动避障组成的硬件模块结合软件设计组成多功能智能小车,共同实现小车的前进倒退、转向行驶,自动根据超声波检测前方障碍物距离,进行导航,检测障碍物后停止等功能,实现智能控制,达到设计目标。图1.1 小车外形图第二章 智能小车总体结构2
17、.1 方案综述本课题设计主要是制作一款能进行智能判断并能做出正确反应的小车。小车具有以下几个功能:自动避障功能。作品既可以对高端智能化进行剖析,也可以作为高级智能玩具发展对象,同时可成为大学生学习嵌入式控制系统的应用实例。本设计以两直流电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元Arduino单片机处理数据后完成相应动作,以达到自身控制。电机驱动电路采用H桥驱动模块,驱动2个直流电机;测距、避障采用超声波传感器完成,最后由控制单元处理数据后通过编程有序合理的将各模块信号整合在一起并完成相应动作,实现了智能控制,相当于简易机器人。根据设计的作品要达到的效果,本系统以Arduino
18、单片机为核心控制器,主要由电源模块、电机驱动模块、测距、避障模块构成。系统的结构框图如下图1所示。Arduino单片机驱动电路直流电动机轮子超声波传感器电源图2.1 系统结构框图2.2 主控单元方案比较与选择按照题目要求,控制器主要用于控制电机,通过相关传感器对路面的轨迹信息进行处理,并将处理信号传输给控制器,然后控制器做出相应的处理,实现小车的自动循迹和自动避障。 方案一:可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。方案二:采用Arduino单片机作为系统控制的方案。Arduino单片机算术
19、运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,成本也比ARM低。考虑到性价比问题,本设计选择 用Arduino单片机做控制器。2.3 避障单元方案比较与选择方案一:用超声波传感器进行避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。但使用超声波模块的成本比较高。因此我们考虑其它的方案,超声波传感器实物图如下图2所示:图2.2 超声波传感器方案二:用漫反射式光电开关进行避障。光电开关的工作原理是根据光线发射头发出的光束,被物体反射,其接收电路据此做出判断反应,物体对红外光由同步回路选通而检测物体的有无。当有光线反射回来时,
20、输出低电平。当没有光线反射回来时,输出高电平。考虑到在日常的家居生活中,只需要简单检测障碍物,让智能小车顺利绕过障碍,回到预定的设定路径便可,并没有十分复杂的环境,为了使用方便,便于操作和调试,我们最终选择了方案一。2.4 “小车”的必要的信息 电机参数: 额定电压 4.5V 空载电流 8595mA 空载转速 9800rpm +/10% 堵转电流 1100mA 堵转力矩 50g/cm (最大) 减速箱: 1:48 结构参数 车轮直径 65mm 码盘齿数 60 个 码盘等效直径 42mm 脉冲精度 3.4mm/脉冲(单边沿采集,可用倍频方式提高精度) 轮距 约 59.5mm 外形尺寸 约 75x
21、75x75mm 重量 约 240g (不含电池) 最快运动速度: 选用 1:48减速箱 约 695mm/s 最大力矩: 选用 1:48减速箱 约 2.4kg/cm 第三章 智能小车的触觉、眼睛3.1 智能小车内部检测原理智能小车驱动检测电路:实现电机驱动、码盘采样、电机电流检测功能,两侧独立设计,方便检修。 3.1.1 轮速、车距检测小车采用红外光电耦合器检测轮子转的圈数,即可算得小车行车距离;同理,单位时间内的计数值,即可求得轮子转速。本车有两只轮子,分别由两只直流电动机驱动。由于红外检测具有反应速度快、定位精度高,可靠性强以及可见光传感器所不能比拟的优点,故采用红外光电码盘测速方案。红外光
22、电耦合器见图3.1,为直射式光电传感器。图3.1 红外光电耦合器由测距轮,遮光盘,红外光电耦合器及凹槽型支架组成的。利用开模的优势,在车轮上的遮光盘设计了 60个齿,可以用直射式光电采样器方便的得到脉冲信号,比反射式采样更加可靠。 测距轮安装在车轮上,这样能使记数值准确一些(见图3.2)。遮光盘有一缺口,盘下方的凹形物为槽型光电耦合器,其两端高出部分的里面分别装有红外发射管和红外接收管。遮光盘在凹槽中转动时,缺口进入凹槽时,红外线可以通过,缺口离开凹槽红外线被阻挡。由此可见,测距轮每转一周,红外光接收管均能接收到一个脉冲信号经过整形器后送入计数器或直接送入单片机中。单片机通过计数值,即可求得小
23、车的大概行驶距离,根据单位时间内的计数值,也可求得转速。单片机通过分别对两个轮子的转速值,进行比较,即可判断出左、右轮的转速快慢程度。背面正面遮光盘图3.2 轮子结构为实现可逆记数功能,我们在测距仪中并列放置了两个槽型光电耦合器,遮光盘先后通过凹槽可产生两个脉冲信号。根据两个脉冲信号发生的先后顺序与两个光电耦合器的位置关系,即可计算出玩具车的行驶方向(前进或后退)。遮光盘及槽型光电耦合器均安装在不透光的盒子里,以避免外界光线的干扰,使电路不能正常工作。直射型光电晶体管图3.3 实际电路板测距原理:将遮光码盘安装在电机轴上,当电机转动时,遮光码盘也随之转动,同时安装在码盘一侧的红外发光二极管点亮
24、,在码盘的另一侧设有红外三极管,用于接收红外发光二极管发出的红外线信号。由于光栅随电机高速转动,则红外线三极管接收到的就是一系列脉冲信号。将该信号传输到单片机的内部计数器计数,根据预先实测的数据换算关系即可计算出电动机车的行车距离。具体电路同图2.5 行车距离检测电路所示:图3.4 码盘检测电路为了避免在变换状态时产生“毛刺”,整形电路是利用运放设计了“施密特”电路,用回差消除之。 之所以用运放,而不是直接使用施密特触发器,是因为这样可以方便的改变回差大小。3.2 电机电流、电压检测 3.2.1 电流检测电路: 图3.5 电流检测电路电流的取样电阻为 0.22 欧姆(见 H 桥驱动电路的 R5
25、),按上图参数,放大倍数 11 倍,电机电流最大 1.1A 左右,所以实际的输出信号应在 02.66V ,如使用 3.3V供电的单片机,其 AD输入范围为 03.3V,考虑电机的电流偏差和器件的偏差,留些余量。 电路中C2作用是减小电机电流波动的影响,是针对 125Hz 的 PWM频率设计的,如提高PWM的频率,此参数应该相应修改。 本设计中未采用,简述之。3.2.2 电压检测电路: 图3.6 电压检测电路电压采用简单的分压处理,设计了一个跟随器以减少 AD输入阻抗对分压的影响。电池的电压应在46V,分压后为23V,符合 AD输入不大于 3.3V的要求。 本设计中未采用,简述之。3.3 超声波
26、测距由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人研制上也得到了广泛的应用。 为了使移动机器人能自动避障行走,就必须装备测距系统,以使其及时获取距障碍物的距离信息(距离和方向)。3.3.1 超声波测距原理1、 超声波发生器 为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电
27、型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。 2、压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图1所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 3、超声波测距原理 超声波发射器向某一方向
28、发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。这就是所谓的时间差测距法。 超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。 测距的公式表示为:L=CT 式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时
29、间数值的一半)。 超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量,虽然目前的测距量程上能达到百米,但测量的精度往往只能达到厘米数量级。 由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM92温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度。 3.3.2 超声波传感器简介本毕业设计超声波传感器为外购件,其硬件原理仅
30、作简要说明:图3.7 超声波检测原理电路框图中,单片机为核心控制部分,根据设定的工作方式,产生 40kHz方波,经过驱动电路驱动超声波发生器发出一簇信号。单片机此时开始计时。 接收回路为谐振回路,将收到的微弱回波信号检出,送信号放大电路放大,收到产生脉冲输出送单片机中断端,单片机收到中断信号后停止计时,计算出距离值,保存等待读出或直接经 UART 送出。接收过程中,单片机定时控制放大电路的增益,逐渐提高,以适应距离越远越弱的回波信号。 3.3.3 超声波传感器接口说明核心器件为 STC12LE4052、TL852、16mm超声波收、发器。采用 5V供电,因为 5V是最常见的工作电压,便于日后将
31、传感器应用于装置中。 为了减小干扰,选用了 3.3V供电的单片机,使用目前常用的 1117-3.3三端稳压器将 5V降到 3.3V,减小电源扰动的影响,增加可靠性。 小车利用超声波传感器测距,测量值采用的是小车主控芯片与该智能传感器串行通讯获得,以下为串行通讯的有关协议、命令说明。传感器的工作由通讯命令控制,上电状态为待命状态。 工作分为“自动测量”和“单轮测量”两种模式。 “自动测量”时,传感器按一定周期自动完成测量过程,并保存测量数据。 “自动测量”又分为“被动数据返回”和“主动数据返回”两种方式。 “被动数据返回”方式下,传感器只将测量结果保存下来,等待系统读取。“主动数据返回”方式下,
32、传感器每完成一次测量均立即将数据发送给系统。 “自动测量”可以设置测量周期。 “单轮测量”为接收到命令后开始测量,并返回数据,测量命令可设置测量次数、数据处理方式,传感器按要求返回,增加测量的可靠性。 通讯协议及命令定义: 基本通讯格式:(和圆梦小车及无线接口兼容) 标准 UART格式 19200 8 N 1 帧格式: 帧头(2字节) 接收方地址(1字节) 发送方地址(1 字节) 帧长(1字节) 命令(1字节) 数据域(N字节) 校验和(1字节) 其中: 帧头 由 2 个特殊的字节 0x55 0xAA 构成; 接收方地址 通讯对象的“名字”,在有线通讯时也许多余,但无线时就需要了。发送方地址
33、告诉接收方,便于接收方回答。 帧长 命令和数据域字节之和, 命令 说明操作内容,详见下面的定义 数据域 与命令配合,表达一个完整的含义。 校验和 从命令开始到数据域结束所有字节的算术和,取最低字节的反码。命令定义: 为了便于调试,保留小车中设计的读写内存命令。 命令一 :读内存,实现读指定地址开始的 N 个字节,地址用两字节表示。 命令字 0x01 数据域 低地址(1字节) 高地址(1字节) 读字节数(1字节) 地址与硬件的对应关系: 0x0000 0x00FF 对应 STC12LE4052 的 256字节内部 RAM(idata); 0x0100 0x7FFF 保留,为大 RAM的单片机预留
34、; 0x7F80 0x7FFF 对应 STC12LE2052的 128字节 SFR; 0x8000 0x87FF 对应 STC12LE2052 的 2K FlashROM(Code);0x8700 0xFFFF 保留,为大 ROM的单片机预留; 例:要读地址 0x56起始的 3字节内部 RAM数据,命令帧如下: 0x55 0xAA XX XX 0x04 0x01 0x56 0x00 0x03 0xA5 返回数据帧为: 帧头 发送方地址 自己的地址 帧长 命令 低地址 高地址 读字节数 N字节数据 校验和 返回帧中将命令及附属信息(地址、读字节数 )包含在内,虽然有些冗余,但保证了信息的完备性,
35、不需要接收时还要查找原来读的是什么?为通讯需求日渐复杂提供方便。 命令二:写内存,实现写指定地址开始的 N 个字节,地址用两字节表示。 命令字 0x02 数据域 低地址(1字节) 高地址(1字节) 写字节数(1字节)数据(N字节) 其地址与硬件的关系与读命令相同。返回数据帧为: 帧头 发送方地址 自己的地址 帧长 命令 低地址 高地址 写成功字节数 校验和 通过“写成功字节数”来告之发送方是否写成功,如果为“0”,表示写操作失败。 命令三:设置工作模式,设置测量模式,并启动测量。 命令字 0x03 数据域 工作模式(1字节) 工作参数(1字节) 其中: 工作模式 高 4位为主模式,低 4位为子
36、模式; 工作参数 与工作模式对应,自动测量时为测量周期,单位 10ms;单轮测量时为测量的次数,暂定最多为 8次。 返回数据帧为: 帧头 发送方地址 自己的地址 帧长 命令 测量数据 校验和对于自动模式,测量数据返回一个字节“0”,说明 OK。 对于单轮测量模式,测量数据为工作模式中所要求的数据。 自动模式对应的子模式: a) 自动数据返回 每测完一个数据都返回,命令位置返回工作模式; b) 被动数据返回 内部只是测量、保存数据,等待读数据命令读回,读数据命令实际上只对自动模式的被动数据返回有效。 单轮测量对应的子模式: a) 无数据处理返回 只是将命令中要求测量的数据全部返回 b) 剔除最大
37、最小值返回 将测量数据中最大、最小值剔除,返回数据比指定数少 2个,当指定的测量次数小于 3 时,强制切换到“无数据处理模式”;c) 平均值返回 将指定的测量数据平均后返回,只有一个平均值; d) 剔除最大最小后平均值返回 先剔除最大最小值,剩下的再取平均值,当数据数小于 4时,强制切换到“剔除最大最小值” 模式。 上述返回帧中命令位置返回数据处理方式。 命令四:读测量数据,对于自动测量方式的被动数据返回模式,需要此命令。 命令字 0x04 数据域 读最近几次的数据(1 字节) 返回数据帧为: 帧头 发送方地址 自己的地址 帧长 命令 测量数据 校验和 通讯是个过程,包含等待处理,所以需要定义
38、状态变量,以控制处理的内容和方式。 通讯分为两个状态:一是什么也没有收到;二是收到了帧头,等待帧结束。因此可以用位标志 g_bStartRcv 来表示,为“假”表示没有收到帧头,为“真”表示收到帧头,正在收剩余的内容。通讯部分实现以下功能: 1) 接收数据 2) 判断帧格式 3) 解析命令,执行相应操作 4) 返回数据3.3.4 本设计超声波通讯方式本设计采用的方式为单轮测量,通讯较为简便,但控制精度不高,为静态测量,因此,小车对前方突然产生的变化不能及时监测。如要实时监测需要采用自动测量,但大大增加了编程难度。程序如下: int iFlashTime = 500; sum=0; SendDa
39、ta0=0x55; SendData1=0xAA; SendData2=0x01; SendData3=0x02; SendData4=0x03; SendData5=0x03; SendData6=0x23; SendData7=0x08; sum=SendData5+SendData6+SendData7; SendData8=sum; for(i=0;i9;i+) Serial.print(SendDatai); delay(100); n=Serial.available (); for(i=0;in;i+) RecvDatai=Serial.read(); i=0; if(RecvD
40、ata0=0x55 )i+; if(RecvData1=0xAA )i+; if(RecvData2=0x02 )i+;if(i=3) sum=0; for(k=5;k120) BackLine(20); elseif(distant40) TurnRight(20); else WalkLine(20); Serial.flush();第四章 智能小车的脚4.1、轮系结构详述 4.1.1动力选择 选用成熟的减速机构和标准的 130直流电机(见上面图示) 4.1.2 驱动方式 FIRA小车一般设计为差分驱动,前后对称的形式,即不分前后,以增加对抗时的灵活性,因为不用“转身”了。 这样就要求车轮
41、中置,如下图: 图4.1 这种驱动方式,需要前后 2个支点,这样就形成了 4点共面问题,如场地稍有不平,就会导致一个驱动轮悬空,小车打转。 用 4个支点来保证小车的平稳(见上面小车的底部视图)。 4.1.3 车轮安装 由于减速箱的输出轴是塑料的,强度有限,且有一定晃动间隙,不利于车轮上的码盘采样,必须设计另一个轮轴支点,以增加车轮的稳定性。另外,还增加了一个侧盖(见上面侧盖图),为轮轴提供了一个支点,由于结构允许,还设计了滚珠槽(注意侧盖中的圆环和轮毂中的圆环),以改善转动性能。 侧盖固定于上、下基架上,等于给上、下基架增加了 4个固定点,使小车更加坚固。 小车很小,空间有限,如再挤占留给用户
42、的控制器空间,用户自己设计控制器时就很困难。这样处理,既解决了驱动板的安装,又增加了侧盖的强度,同时将有效空间全部留给了用户。以下为车轮、驱动板、侧盖的装配示意: 图4.2 轮系安装关系图4.1.4 电池选择和安装 本智能小车选择 7#镍氢充电电池,而不选流行的锂充电电池,是由于锂电池规格特殊,很难有标准尺寸,会给使用者带来麻烦,7# 电池短期内还没有淘汰的迹象,所以还是作此选择。 没有像玩具和模型那样,提供做好的电池组,是因为在使用中发现,通常不是电池组内所有电池都同时失效,这样会给用户带来不必要的损失,所以还是用电池盒。 电池安装位置设计在小车底部,降低了重心,使小车更加平稳。 4.1.5
43、 轮系主要构成 基架:作为小车的主结构,实现电机固定、电池盒放置、线路板安装等基础功能。 减速电机:提供小车动力,选用标准设计的减速箱和 130 电机,以保证良好的性价比。 图4.3 减速机 车轮:为了提供足够的速度,设计了小车结构中允许的最大直径车轮,外径 65mm(按目前所选用的减速电机,最快速度约 65cm/s),同时设计了采样码盘,便于实现速度反馈和行走距离检测。车轮采用橡胶轮胎,并刻有防滑槽,以降低打滑的可能。轮胎宽度 7.5mm,设计成平面以增加摩擦力。 图4.4 车轮电池盒盖:用于固定电池盒,同时提供小车的 4个支点,以维持小车平衡。 图4.5 电磁盖板上的支点4.2直流电机 H
44、 桥驱动电路 4.2.1脉冲宽度调制(PWM)脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。 基本原理:随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PW