轮式机器人-设计报告
《轮式机器人-设计报告》由会员分享,可在线阅读,更多相关《轮式机器人-设计报告(33页珍藏版)》请在装配图网上搜索。
1、精选优质文档-----倾情为你奉上 专业综合实验设计报告 项 目:自动循迹轮式机器人的设计制作 班 级: 电131 姓 名: 学 号: 同组同学: 学 期: 2016-2017-1 1 实验目的和要求 1.1实验目的 自动循迹、智能避障机器人是一个与电气工程专业有着密切关系的实际工程装备,本综合实验以此
2、为依托,把自动循迹避障轮式机器人能够沿着设置的道路路线运动作为控制目标,完成从模型建立、控制方案确定、控制参数仿真分析、硬件线路设计到实物机械安装、硬件安装调试、控制程序编写集成、系统调试等步骤过程的训练。 本实验涉及到《电路分析》、《电子技术》、《电力电子技术》、《电机学》、《电力拖动》、《自动控制原理》、《传感器与检测技术》、《电机控制技术》等课程的理论和实验知识。是学生接触实际电气工程专业复杂工程问题的重要及关键途径。通过实验培养学生实践动手能力,运用现代工程工具和信息技术工具的能力,分析和解决实际工程问题的能力。从而使学生初步能够解决主要涉及电气工程专业知识的复杂工程问题。 1.2
3、实验要求 要求同学综合运用课程的理论和实验知识,以自动循迹避障轮式机器人能够以一定的速度沿着设置的道路路线运动作为控制目标(技术指标为:机器人行走速度≥1m/s,行走偏离导航的线速度≤2/3车身宽度),要求完成从模型建立、控制方案确定、控制参数仿真分析、硬件线路设计到实物机械安装、硬件安装调试、控制程序编写集成、系统调试等实验步骤。具体要求为: 1)检索资料,对自动循迹避障轮式机器人的发展状况,当前的研究热点,技术发展的现状,发展趋势有所了解,查阅工程规范文件、产品样本、使用说明,了解实际系统运行时必须遵守的工程规范和系统实现时所受到的商用产品的实际限制。 2)理解自动循迹避障轮式机器人
4、的机械结构,用CAD软件绘制机械零部件的加工图纸,安装自动循迹避障轮式机器人。 3)综合运用物理特性分析法和实验参数测定法建立自动循迹避障轮式机器人的数学模型,必要时在工作点附近近似线性化,以获得线性数学模型。 4)设计自动循迹避障轮式机器人控制系统的硬件系统,包括控制芯片的选型,外围电路的设计,传感器类型型号的选择、功率驱动电路的选择、人机交互部件的选择,掌握所选择元器件、部件的性能、用法。用电子线路设计软件绘制硬件原理图,设计相应的PCB设计图,安装硬件并调试。 5)根据控制要求,设计控制系统的控制结构,选择合适的控制算法,结合具体数学模型,计算系统所能达到性能指标,利用MATLAB
5、软件进行必要的系统仿真,通过仿真掌握控制参数的整定方法,使自动循迹避障轮式机器人系统满足性能指标。 6)掌握系统联调的步骤方法,调试参数的记录方法,动态曲线的测定记录方法。记录实验数据,采用数值处理方法和相关软件对实验数据进行处理并加以分析,记录实验曲线,与理论分析结果对比,得出有意义的结论。 2 实验仪器设备与器件 表1:设备与器件 器件名称 数量 双12V变压器 1 红外避障传感器直流电机 1 声音传感器 1 有源蜂鸣器 1 红外循迹传感器 1 稳压芯片7805/7812 5 继电器 1 红外避障传感器 1 LM298电机驱动 1 STC15
6、W4K58S4单片机 1 四轮车模型 1 PC机 1 烙铁 1 焊锡 1 起子 1 按键 若干 软件平台: window7操作平台 keil软件编程 protues软件 AD软件 AutoCAD软件 Matlab软件 3 实验原理分析 3.1自动循迹避障轮式机器人的工作原理 智能车,又称为自动循迹避障轮式机器人,它是以轮子作为移动设备、实现自主行驶的移动机器人。智能车是一种基于计算机技术、电子技术、传感器技术、信息融合技术、通信技术、网络技术、导航技术、智能控制技术及自动化控制技术等发展起来的现代智能控制系统,是一个集环境感知、规划决策、自主行驶与
7、行为控制等功能于一体的高技术综合系统[1],它可以在复杂环境下,通过计算机控制调节行驶方向、控制启停、实现速度的自主控制等。目前,智能车在各个领域都具有广泛的应用前景,如它可以代替人类对零部件、线路板等类似产品进行检测;可以为顾客提供导购帮助;可以帮助残疾人改善生活质量和生活自由度;可以用于水下、太空及远程的服务与探测;可以完成在各种恶劣环境下的货物搬运以及系统维护和监测等工作;可以代替人类在危险地带完成军事任务;可以帮助人类完成地质勘探;可以改善道路交通安全,提高道路网络利用率,降低能源消耗等等。 自动循迹避障轮式机器人要实现自动寻迹功能和避障功能就必须要感知导引线和障碍物,感知导引线相当
8、给机器人一个视觉功能[2]。避障控制系统是基于自动导引自动循迹避障轮式机器人(avg—auto-guide vehicle)系统,基于它的自动循迹避障轮式机器人实现自动识别路线,判断并自动避开障碍,选择正确的行进路线.使用传感器感知路线和障碍并作出判断和相应的执行动作。 本设计自动循迹避障轮式机器人主要由主控模块的单片机开发板,遥控模块的遥控板,电源模块,电机驱动模块,超声波模块,机械臂控制模块等组成。根据研究进展的深浅可基于单片机开发板增加声控模块,避障模块,循迹模块,跟踪模块等等。 3.2 数学模型的建立 3.2.1 运动数学模型的建立 采用的四轮结构,驱动系统采用两轮差速驱动方式
9、,后两个为从动轮,只起到支撑平衡作用。假定左右两个驱动轮与地面之间没有滑动,也没有侧移,只是做纯粹的滚动,则机器人满足钢体运动规律。图3.1所示{XW,YW,O}为世界坐标系,{X,Y,O}为移动坐标系,PX为机器人前进方向。 图1坐标系图 智能循迹机器人运动学主要处理控制参数和系统在状态空间的运动两者之间的关系,它包括正运动学和逆运动学两个方面。正运动学解决如何根据智能循迹机器人的速度来计算它的位姿或运动轨迹,当机器人的位姿(,, θ)时,差动智能循迹机器人的正运动学就是利用这连个差动轮的速度(,)来计算其位置,通用公式计算如下
10、 (1) (2) (3) 其中, 和分别为左右轮的驱动速度,是两个驱动轮之间的距离,为智能循迹机器人的驱动轮半径;智能循迹机器人逆运动学解决如何控制轮子的速度以达到智能循迹机器人所需的运动轨迹或位姿,即在已知位置(,,)时,如果根据以上公式,求出两轮差动速度(,)。由于差动轮式驱动属于非完整性约束问题,故智能循迹机器人逆运动学只有在特殊条件下求解,其解往往不唯一,根据系统的需求,本文对智能循迹机器人的运动学分析按照两种情况分别进行。 直线运动 当差动轮式智能循迹机器人左右两轮的速度大小相等且方向相同时,机
11、器人的运动轨迹为直线,所图3.2所示。 图2直线运动原理图 设t=0时,机器人移动坐标系{X0,Y0,P0}与世界坐标系{XW,YW,O}重合,经过时间t后机器人运动到新的移动坐标系{Xt,Yt,Pt},当机器人左右两轮的速度大小相等且方向相同(即=)时由公式(3)有: 将其代入公式(1)、(2)得: (4) (5) 由和公式(4)、(5)式可知:机器人左右两轮的速度大小相等而方向相同时机器人的运动轨迹为直线。 圆弧运动 当差动智能循迹机器人
12、左右两轮的运动方向相同速度大小保持不变且差速度固定不变时,机器人的运动轨迹为圆弧。 设t=0时,机器人移动坐标系{X0,Y0,P0}与世界坐标系{XW,YW,O}重合,经过时间t后机器人运动到新的移动坐标系{Xt,Yt,Pt},如图: 图3圆弧运动原理图 当机器人左右两轮的速度差恒定,且方向保持不变时,由公式(3)有: (6) 将和代入公式(1) 有: (7) 求定积分得: (8) 将和代入公式(2) 有: (9) 由公式(9
13、)有: (10) 由公式(10)有: (11) (12) 由上可知,机器人的运动轨迹为一圆弧,将上式转化为圆的标准方程: 由式(11)、(12)可知,当机器人左右两轮的运动方向相同、速度大小保持不变且速度固定不变时,机器人的运动轨迹为圆弧。圆心在世界坐标系YW的轴上。其圆心坐标为: (0,), 圆弧半径为: 当机器人右轮速度大于左轮速度时,机器人的运动轨迹在世界坐标系的一、二象限;当机器人右轮速度小于左轮速度时,机器人的运动轨迹在世界坐标系的三、四象限。运动轨迹如图: a :
14、 b : 图4圆弧运动图 电机模型的建立 轮式机器人运动过程中,轮子受到的力包括电机牵引力,摩擦力、转弯引起的滚转阻力改变,轮式机器人加速度为,根据力矩平衡原理,可得: (13) 轮式机器人动力为直流电动机,机械特性为: (14) (15) 假设电池电压为U0,控制满肚为Xumax,电压为: (16) 其中:U为电枢端的输入电压;Ra为电枢绕组电阻;Rj为串入电枢回路的调节电阻;CE为电动势常数;C
15、T为转矩常数;T2为机械输出转矩,T0为空载转矩,为每极磁通量。 ,, (17) , (18) 其中:,可见:,,与电机本身,电池电压,轮式机器人质量、匀速行驶的阻力等有关,可通过实验获得;是轮式机器人转向的影响,与因转弯而增加的滚动摩擦阻力呈正比,因此,假设可表示为: (19) 实验大致过程为:先假设偏转角为0,将,,看作待定系数,理论上来说,如果有三组占空比与轮式机器人速度v、速度变化率的对应关系,就可以求出,,,实际上考虑实验误差和可靠性,
16、应进行多次实验,采用最小二乘法估计,,。 然后将,,带入,通过多次实验,得到大量与v的对应关系,确定。 3.3.1车体设计 本次设计的机器人采用轮式结构,它共有四个车轮,前面两个车轮为舵轮,控制车体运动时的转角方向,前轮转动轮采用连杆式结构,由一个57式步进电机控制;后面两个为驱动轮,不可转向,分别由两个同步的步进电机控制,作为驱动的步进电机与后轮采取直连的方式,即不经过任何传动装置和减速器,电机转子的角速度即为后轮转动的角速度。车体采用长方体结构,车体牢固可靠,能够承载需要的载重重量。 3.3.2电机驱动设计 驱动模块 目前,驱动智能循迹机器人行走或是机械转动所使用的动力装
17、置有很多种,大部分采用以下几类驱动电机。 1、直流伺服电机(DC Servo Motor)其特点是运行稳定性好、控制容易、响应速度快,调速范围宽,损耗小、启动转矩大,但制造成本高、结构复杂,会产生电磁干扰,容易受工作环境的影响。因此它可以用于成本敏感的普通工业和民用场合。 2、交流伺服电机,主要由定子和转子构成,其工作原理是通电线圈在磁场中受到力的作用而发生转动。多用于需要高转速大力矩输出的条件要求。 3、步进电机是一种将高频率电脉冲信号转变为转子的角位移或者线位移的电气设备。其转动速度速的大小、转动的圈数多少与接收到的脉冲控制信号的频率和脉冲数目相关,脉冲频率越大,步进电机转动的越快,
18、反之越慢;脉冲数越多,转过的角度或走过的位移就越大,反之越小。步进电机驱动器每接收到一个驱动信号,它转过的角度是固定的,即电机步距角,步距角的大小与步进电机本身的特性有关。步进电机还可以简单地实现开环控制,这是步进电机另一个重要特性,不需要复杂的控制系统,因此,被广泛使用。 方案一:采用四个直流电机驱动小车底盘,留两路电机接口,方便接舵机或控制机械臂,以及作为充电器接口。其优点是取物时平衡性好,行动稳定,速度快,动力强。其缺点是车体笨重,电路设计相对复杂,功耗大,编写程序也相对困难。 方案二:采用四轮两驱车体,同样留两路电机接口。其优点是电路设计简单,功耗小,行动灵活。缺点是取物是平衡性不
19、好。为设计及实现简单,故我认为取方案二合理。 3.3.3循迹模块设计 利用光电传感器实现循迹的基本原理 3.3.3.1 光电传感器的工作原理 光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。 发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。 此
20、外,光电开关的结构元件中还有发射板和光导纤维。 三角反射板是结构牢固的发射装置。它由很小的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义。它可以在与光轴0到25的范围改变发射角,使光束几乎是从一根发射线,经过反射后,还是从这根反射线返回。 3.3.3.2 光电传感器的分类和工作方式 这里的循迹是指智能循迹机器人在黑色地板上循白线行走,通常采取的方法是红外探测法。 红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收
21、,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光[3]为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。 常用室内机器人的定位传感器根据其定位与导航方式的不同分类较多,包括:采用航迹推算的光电编码器;采用路标方式的超声波测距仪、光电开关、光纤传感器;采用磁导航方式的电子罗盘;采用惯性导航方式的陀螺、加速度计;采用视觉导航方式的摄像头等[5]。 3.3.3.3 光电传感器的选择 方案1:用光敏电阻组成光敏探测器。 光敏电阻的阻值可以跟随周围环境光线的变化而变化[4]。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射
22、较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作。 方案2:用红外发射管和接收管自己制作光电对管循迹传感器。 红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。这样自己制作组装的循迹传感器基本能够满足要求,因此我们考虑这种方案。 3.3.4控制系统模块设计 考虑选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPL
23、D具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,不采用该种方案,进而提出了其他设想。 结合实际需求采用89C52作为主控制芯片,该芯片有足够的存储空间,可以方便的在线ISP下载程序,能够满足该系统软件的需要,对于本作品系统已经足够,采用该芯片可以比较灵活的选择各个模块控制芯片,能够准确的计算出时间,有很好的实时性。 3.3
24、.4.1 单片机的发展 1946年第一台电子计算机诞生至今,依靠微电子技术和半导体技术的进步,从电子管——晶体管——集成电路——大规模集成电路,使得计算机体积更小,功能更强。特别是近20年时间里,计算机技术获得飞速的发展,计算机在工农业,科研,教育,国防和航空航天领域获得了广泛的应用,计算机技术已经是一个国家现代科技水平的重要标志。 单片机诞生于20世纪70年代,像Fairchild公司研制的F8单片微型计算机。所谓单片机是利用大规模集成电路技术把中央处理单元(Center Processing Unit,也即常称的CPU)和数据存储器(RAM)、程序存储器(ROM)及其他
25、I/O通信口集成在一块芯片上,构成一个最小的计算机系统,而现代的单片机则加上了中断单元,定时单元及A/D转换等更复杂、更完善的电路,使得单片机的功能越来越强大,应用更广泛[6]。 20世纪70年代,微电子技术正处于发展阶段,集成电路属于中规模发展时期,各种新材料新工艺尚未成熟,单片机仍处在初级的发展阶段,元件集成规模还比较小,功能比较简单,一般均把CPU、RAM有的还包括了一些简单的I/O口集成到芯片上,像Fairchild公司就属于这一类型,它还需配上外围的其他处理电路方才构成完整的计算系统。类似的单片机还有Zilog公司的Z80微处理器。 1976年INTEL公司推出了
26、MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,并推向市场。它以体积小,功能全,价格低赢得了广泛的应用,为单片机的发展奠定了基础,成为单片机发展史上重要的里程碑[20]。 在MCS-48的带领下,其后,各大半导体公司相继研制和发展了自己的单片机,像Zilog公司的Z8系列。到了80年代初,单片机已发展到了高性能阶段,像INTEL公司的MCS-51系列,Motorola公司的6801和6802系列,Rokwell公司的6501及6502系列等等,此外,日本的著名电气公司NEC和HITACHI都相继开发了具有自己特色的专用单片机。 80年代,世界各大公司均竞相研制出品
27、种多功能强的单片机,约有几十个系列,300多个品种,此时的单片机均属于真正的单片化,大多集成了CPU、RAM、ROM、数目繁多的I/O接口、多种中断系统,甚至还有一些带A/D转换器的单片机,功能越来越强大,RAM和ROM的容量也越来越大,寻址空间甚至可达64kB,可以说,单片机发展到了一个新的平台[7]。 单片机经历了SCM、MCU、SOC三大阶段。 1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发
28、展道路上,Intel公司功不可没。 2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记I
29、ntel和Philips的历史功绩。 单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。 3.3.4.2 AT89C52单片机的简单介绍 在众多的单片机系列中,AT89C52是一种低功耗,高性能CMOS8位微控制器,具有8K系列可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指
30、令和引脚完全兼容。片上Flash允许程序储存器在系统可编程,也适应于常规编程。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超高效的解决方案。 图5 稳压电路 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 方案一:所有器件采
31、用单一电源(6节AA电池)。这样供电比较简单;但是由于电动机启动瞬间电流很大,而且PWM驱动的电动机电流波动较大,会造成电压不稳、有毛刺等干扰,严重时可能造成单片机系统掉电,缺点十分明显。 方案二:双电源供电。将电动机驱动电源与单片机及其周边电路电源完全隔离,利用光电耦合器传输信号。这样做法虽然不如单电源方便灵活,但可将电动机驱动所造成的干扰完全消除,进一步提高系统稳定性。 所以,我认为选择方案二来实现供电。 3.4 硬件设计 3.4.1智能循迹机器人总体概述 智能循迹机器人采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万
32、象轮,起支撑的作用。将循迹光电对管分别装在车体下的左右。当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。 电路分为电源模块、单片机模块、电机驱动模块、循迹模块。 3.4.2智能循迹机器人总体设计框图 图6 循迹机器人总体设计图 3.4.3电源模块设计 方案一:采用交流电经直流稳压处理后供电。 采用交流电提供直流稳压电源,电流驱动能力及电压稳定性最好,且负载对电源影响也最小。但由于需要电线对小车供电,极大影响了智能小车行动的灵活性及地形的适应能力。而且避障小车极易把拖在地上的
33、电线识别为障碍物,人为增加了不必要的障碍,故放弃了这一方案。 方案二:采用蓄电池供电 。 蓄电池具有较强的电流驱动能力和较好的电压稳定性能,且成本低廉。可采用蓄电池经7812芯片稳压后给电机供电,再经过降压接7805芯片给单片机及其他逻辑单元供电。但蓄电池体积相对庞大,且重量过大,造成电机负载过大,故最终放弃了这一方案。 方案三:采用干聚合锂电池供电。 系统采用聚合锂电池供电,具有能量比大,质量轻等优点。供电电压为16.8V,电机额定电压为24V。 综合以上考虑,我们采用方案三。 3.4.4驱动电路设计 电机驱动采用H桥式驱动电路,L298N内部集
34、成了H桥式驱动电路,从而采用L298N电路来驱动电机。通过单片机给予L298N电路PWM信号来控制小车的速度,起停。 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8 VS 4 VCC 9 U2 L298 左轮 右轮 +6V 图7 电机驱动电路图 3.4.5循迹模块信号检测电路设计 小车循迹原理是小车在画有黑线的
35、白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”——黑线。在该模块中我采用了简单、应用也比较普遍的检测方法——红外探测。 图8 智能循迹小车系统控制框图 红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过LM324作比较器来采集高低电平,从而实现信号的检测。 图9 循迹传感器电路图 3.4.6主控电路设计 本模块主要是对采集信号进行分析
36、,同时给出PWM波控制电机速度,起停。以及对数码管进行显示的作用。 ①单片机最小系统设计 单片机是小车的控制中心,单片机最小系统的合理设计是小车平稳运行的前提。用AT89C52单片机构成最小应用系统时,只要将单片机接上晶振电路和复位电路再接上ISP下载接口即可。由于集成度的限制,最小应用系统只能用作一些小型的控制单元[15]。其应用的特点有: (1) 有可供用户使用的大量I/O接口 (2) 内部存储器容量有限 (3) 应用系统开发具有特殊性 Ⅰ时钟电路 89C52虽然有内部振荡电路,但要形成时钟,必须外部附加电路。89C52单片机的时钟产生
37、方法有两种。内部时钟方式和外部时钟方式。 本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C2、C5可取22pf。 在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用NPO电容。 图10 单片机晶振电路图 Ⅱ复位电路
38、 89C52的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。 复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用6MHZ时C取22uF,R取999欧。 除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电
39、阻与电源Vcc接通而实现的。时钟频率选用6MHZ时,C取10uF,R3取1500欧,R4取200欧。 图11 单片机复位电路图 Ⅲ ISP下载接口 ISP 下载接口,与常用的并口下载线,串口下载线和笔记本用的USBASP 下载线兼容,只需接上下接线接口就可以直接向单片机烧程序。 图12 最小系统电路图 ② 主控电路图 图13 主控电路图 如图所示的主控电路图为智能机器人的电路原理图,左侧为单片机的连接原理,右侧为双8位数码管,以及感应电路。 3.5 小车CAD图 1 主视图 图14 主视图 2 仰视图 图15 仰视图
40、 3 俯视图 图16 俯视图 4 左视图 图17 左视图 5 3D视图 图18 3D视图 3.6 软件设计 3.6.1开发环境 Keil uVision4 IDE是基于Windows的开发平台,包含一个高效的编译器、一个项目管理器和一MAKE工具。uVision4支持所有的Keil C51工具,包括C编译器、宏汇编器、连接/定位器、目标代码到HEX的转换器。 (1)Windows应用程序uVision4是一个集成开发环境,它把项目管理,源代 码编辑,程序调试等集成到一个功能强大的环境中。 (2)C51美国标准优化C
41、交叉编译器从C源代码产生可重定位的目标文件。 (3)A51宏汇编器从8051汇编源代码产生可重定位的目标文件。 (4)BL51连接/重定位器组合由C51和A51产生的可重定位的目标文件, 生成绝对目标文件。LIB51库管理器组合目标文件,生成可以被连接器使用的库文件。 (5)OH51目标文件到HEX格式的转换器从绝对目标文件创建Intel HEX格式文件。 (6)RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目。 3.6.2调试方法 (1).打开软件,菜单栏中选择“project------new project”,弹出“Create New Project”对话窗口,
42、选择目标路径,输入项目名,保存。 (2).上一步保存时会弹出“Select Device for Target”对话窗,在此选择cpu类型,确定。 (3).在菜单栏选择“File-------New”新建文档,再“File---Save”保存,写上文件名及扩展名“.asm"先保存在写的好处是Keil会自动识别汇编语言的关键字,并以不同的颜色显示,减少输入代码的语法错误。 (4).程序写完后,保存。在Keil中"Project Workspace"子窗口中双击“Target 1”,展开此目录。在“Source Group 1”文件夹上单击鼠标右键,选择“Add File to Group
43、Source 1”,弹出“Add File to Group”对话窗口选择文件类型“Asm Source File”并找到刚才写的.asm文件,添加到Source Group 中。 (5).在“Project Workspace”窗口中的“Target 1”文件夹上单击鼠标右键,选择“Option for Target”,则会弹出“Option for Target”对话窗口,选择“Output”选项卡,选择"Create HEX File"选项。 (6).在Keil菜单栏选择“Project-------Build Target”命令,编译汇编源文件。Build窗口显示 0 Er
44、ror(s)即可。 3.6.3 程序介绍 专心---专注---专业 1 定义存储空间 P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00; P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; P6M0 = 0x00; P6M1 = 0x00;
45、 P7M0 = 0x00; P7M1 = 0x00; 2 调用子程序 SCI1_Init(); PWM_Init(); delay_ms(2000); Motor(0,0); InitADC(); Motor(10,10); SendString("123"); 3 根据运行状态选择判断 while(1) { SendString("000"); SendNum(GetADCResult(0)); delay_ms(500); SendString("111"); SendNum(Ge
46、tADCResult(1)); delay_ms(500); SendString("222"); SendNum(GetADCResult(2)); delay_ms(500); SendString("333"); SendNum(GetADCResult(3)); delay_ms(500); SendString("444"); SendNum(GetADCResult(3)); delay_ms(500); } } while(1) { if(GetADCResult(2)>2
47、00) { Motor(30,30); delay_ms(00); } else if(GetADCResult(1)>220) { Motor(15,30); delay_ms(500); } else if(GetADCResult(3)>200) { Motor(30,15); delay_ms(500); } else if(GetADCResult(4)>200) { Motor(35,15);
48、 delay_ms(500); } else if(GetADCResult(0)>200) { Motor(15,35); delay_ms(500); } e 4 实验步骤设计 4.1 系统模型图 图19 系统模型图 4.2 仿真结果 P=200,I=10,D=50时的波形: 图20 小车理论输入速度 最初小车启动加速度非常大,但进过0.2s之后小车速度稳定在1.5m/s左右保持稳定。 图21 小车理论输出速度 当小车速度过大时,小车的速度会骤减,经过一定的时间之后速度稳定保持在1.5m/s左右。
49、图22 小车内轮占空比 当小车转向时,小车内轮的占空比会突然增大,但转向结束之后内轮的占空比会稳定在51.5%附近。 图23 小车外轮占空比 当小车转向时,小车内外轮的占空比会突然增大,但转向结束之后内轮的占空比会稳定在51.5%附近。 图24 小车实际输入速度 起初小车启动加速度非常大,但进过0.2s之后小车速度稳定在1.5m/s左右保持稳定。 图25 小车实际输出速度 最初小车启动加速度非常大,但进过0.2s之后小车速度稳定在1.5m/s左右保持稳定。 图26 小车行驶时的偏差角度 当小车未沿着直线运动时,小车内外会有一定的偏差,这就是偏差
50、角度,小车会立即偏转调整,当调整结束之后小车的偏差角度则趋于0,并保持不变。 图27 小车行驶时的偏转角度 当小车转向时,小车内外会有一定的偏差,这就是偏差角度,当转向结束之后小车的偏差角度则趋于0,并保持不变。 4.3检查元件 按电路图清点元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。而且要认真核对原理图是否一致,在检查好后才可上件、焊件,防止出现错误焊件后不便改正。 4.4放置、焊接各元件 按原理图的位置放置各元件,在放置过程中要先放置、焊接较低的元件,后焊较高的和要求较高的元件。特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要
51、超过10s,注意芯片的安装方向。 4.5电路调试 首先烧入电机控制小程序,控制电机正反转,停止均正常。说明电机及驱动电路无误。然后加入避障子程序,小车运转正常时,光电开关模块灵敏度使达到理想效果。接下来测试红外循线模块的二极管是否有亮灯,有的话,代表有用不需更换,接着输入程序进行简单的循线活动,测试灵敏度是否达到要求。在调试程序时,发现有的指令用的不正确,特别测试红外循线模块的时候,一些比较急的弯,转弯不够灵活,非常容易走出跑道,对于这段程序调试了比较长的时间。 4.6电机模块调试过程 由于采用的电机供电电压是9V,而电机额定工作电压是6V,所以可使电机转动的PWM值范围可从5% ~6
52、5%左右。由于电机的感性阻抗作用,随着PWM频率的升高,感抗增大,导致电流减小。尤其设计中所采用的电机是遥控车电机,额定电流较小,线圈匝数必然较多,感抗自然就较大。 PWM的原理,其实就是面积等效原理,在采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。所以可用等幅值的不同宽度的脉冲来等效一些想要的波形。 4.7测试方法 (1)开启电源开关,将智能电动车放于起跑线位置,智能电动小车在“直道区”行驶过程中,检查看其是否沿跑道运行,再检测是否能顺利转弯。 (2)当小车穿过障碍物区时看小车是否碰到障碍物及小车能否顺利通过障碍物。 附件:
53、 #include "stc15w.h" #include "SCI.h" #include "PWM.h" #include "Motor.h" #include "ADC.h" void delay_ms(int num); void main() { P0M0 = 0x00; P0M1 = 0x00; P1M0 = 0x00; P1M1 = 0x00; P2M0 = 0x00; P2M1 = 0x00; P3M0 = 0x00; P3M1 = 0x00; P4M0 = 0x00;
54、 P4M1 = 0x00; P5M0 = 0x00; P5M1 = 0x00; P6M0 = 0x00; P6M1 = 0x00; P7M0 = 0x00; P7M1 = 0x00; SCI1_Init(); PWM_Init(); //delay_ms(2000); Motor(0,0); InitADC(); Motor(10,10); SendString("123"); while(1) { SendString("000"); SendNum(GetADCResult(
55、0)); delay_ms(500); SendString("111"); SendNum(GetADCResult(1)); delay_ms(500); SendString("222"); SendNum(GetADCResult(2)); delay_ms(500); SendString("333"); SendNum(GetADCResult(3)); delay_ms(500); SendString("444"); SendNum(GetADCResult(3)); delay_ms(
56、500); } } while(1) { if(GetADCResult(2)>200) { Motor(30,30); delay_ms(00); } else if(GetADCResult(1)>220) { Motor(15,30); delay_ms(500); } else if(GetADCResult(3)>200) { Motor(30,15); delay_ms(500); }
57、 else if(GetADCResult(4)>200) { Motor(35,15); delay_ms(500); } else if(GetADCResult(0)>200) { Motor(15,35); delay_ms(500); } else if((GetADCResult(0)<200)&(GetADCResult(1)<220)&(GetADCResult(2)<200)&(GetADCResult(3)<200)&(GetADCResult(4)<200)) { Motor(0,0)
58、; PWMCR = 0x00; } } } void delay_ms(int num) //@11.0592MHz { unsigned char i, j; _nop_(); _nop_(); _nop_(); i = 11; j = 190; while(num) { do { while (--j); } while (--i); num--; i = 11; j = 190; } } 参考文献 [1] 崔佳超.无人驾
59、驶智能车在动态环境中的避障方法[D].西安工业大学,2015. [2] 逄伟.低速环境下的智能车无人驾驶技术研究[D].浙江大学,2015. [3] 高月华.基于红外光电传感器的智能车自动寻迹系统设计[J].半导体光电,2009,01:134-145. [4] 陈孟元,孙书诚,王虎.基于图像识别的寻迹智能车设计[J].重庆理工大学学报(自然科学),2013,03:80-84+103. [5] 李旭东,廖中浩,孟娇.基于CMOS摄像头的智能车控制系统设计及实现[J].吉林大学学报(信息科学版),2013,04:414-418. [6] 邬昌茂.基于HCS12单片机的智能车底层控制系统研究[D].上海交通大学,2009. [7] 黄凯龙.基于飞思卡尔单片机的智能车及其调试系统设计[D].湖南大学,2014.
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。