欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    哈工大-制造系统自动化-大作业-自动导引式物料搬运小车系统设计.doc

    • 资源ID:2548190       资源大小:1,004.01KB        全文页数:20页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    哈工大-制造系统自动化-大作业-自动导引式物料搬运小车系统设计.doc

    自动导引式物料搬运小车系统设计课程名称:制造系统自动化学生姓名:XXXX学 号:10908104XX班 级:0908104作业一 自动导引式物料搬运小车系统设计(一)任务书一、自动导引搬运小车功能示意图图1 自动导引搬运小车结构示意图50005000 图2 小车运行线路示意图二、基本要求与参数本作业要求完成一种自动导引式物料搬运小车系统设计。小车主要实现的功能是自动寻迹并且完成物料的搬运。如上图所示,小车首先在A区装载物料,然后开始沿着指定轨迹(黑色导引线)自动运行,导引线宽为20mm,小车上要求装有相应的传感器用来完成寻迹和小车运行轨迹调节,保证小车始终沿着指定轨迹运行不偏离。运行到C区以后停止,卸货后沿原路径返回A区再次装载物料,如此往复。A、C区各有一条与导引线垂直的黑色边界线,线宽为20mm,要求小车在A、C区停止时,不能超出边界线限定范围。(小车由蓄电池供电)相关设计参数:(1)小车运动方式:全自动导引式。(2)小车载重能力:15Kg,自重不超过15Kg。(3)小车运动距离:5000mm。(4)小车运行速度:不小于0.5m/s。三、工作量(1)小车轮系结构的设计与分析;(2)自动导引方案的设计及传感器的选择与分析; (3)小车驱动及运动控制方案的设计与分析; (4)控制流程的设计以及控制程序的编写;(5)设计说明书一份。四、设计内容及说明(1)根据要求选择合适的传感器,设计搬运小车的自动导引系统,并进行可行性分析,保证小车能够沿着给定的路径运动。(2)确定小车的轮系结构,如主动轮与从动轮的个数以及转向方式。设计小车的驱动方案,确定电机的个数与类型,计算小车载重、行驶速度等技术指标,并分析论证轮系结构与驱动方案的合理性,满足设计要求。(3)小车控制系统设计,包括确定控制方案、控制核心器件的选择、自动导引功能的实现原理、绘制控制流程框图、编制控制程序。(二)设计说明书一、小车轮系结构的设计与分析; 1、常用自动导引小车机械结构分析AGV的轮系结构是整个机械部分的核心,也是整个AGV非常关键的部分。轮系结构设计的合理性不但会影响小车的循迹精度,而且还决定了小车的最小转弯半径、最大运行速度等重要指标。因此在小车轮系结构设计之前,我先对目前市场上常见的几款同类小车的轮系结构进行了分析和比较,取长补短,设计出一款适合本系统的轮系结构。轮系结构一般由驱动轮、从动轮和转向机构组成,目前市场上常见的同类AGV的轮系结构按照不同的性能要求主要有三种:三轮结构、四轮结构和六轮结构等,其中三轮结构一般采用前轮转向和驱动,而四轮和六轮一般采用双轮驱动、差速转向或独立转向方式。(1)三轮结构三轮结构常采用前轮驱动与转向轮合成为一个组合轮、后轮为两个支撑定向轮的方式,其机械结构视觉图如图1-1所示。图 1-1 三轮结构机械示意图图中小车后端的两个即为同轴定向的从动轮,前端主动轮为可以转180度的万向轮。主动轮上需装备两个电机,一个是用于控制方向的,一般使用精度较高的步进电机;另一个用于驱动小车,一般使用直流减速电机。三轮结构是一款非常灵活的轮系结构,载荷行走为拖动型,常用于路面比较差的环境。它的机械构造和控制非常简单,成本低,但是它的缺点也较为明显:首先由于两个从动轮无法定向,一般将导向传感器装在车体后边,因此三轮结构主要用于前进方向行走;其次这种轮系结构是3个轮子支撑车体,所以载重时应把货物放在车体中心或后轮附件的位置,这样才能更好的保证车体平衡性;尤为值得注意的是在行走过程时,当车体运动过快时,在转弯时由于离心力的作用,很容易使重心移向转向轮的两侧,而使车体发生侧翻,因此这种结构更适合于低速的场合。(2)四轮结构四轮结构是目前最为常见的一种AGV轮系结构之一,它一般采用转向轮为主动轮式和转向轮为从动轮,定向轮为主动轮式两种方式。转向轮为从动轮,定向轮为驱动轮式。这种方式是目前最常见的一种四轮结构,其机械结构视觉图如图1-2所示。图 1-2 转向轮为从动轮,定向轮为主动轮式机械效果图这种车型结构同普通汽车一样,前面两个万向轮为转向轮,使用步进电机来精确控制转向角度,可以用连杆或同步带来做转向传动;后端两个定向轮为驱动轮,可以用一个电机通过安装差速器驱动两个轮子,也可以用两个电机分别驱动,这样可以避免出现一个主动轮悬空空转导致驱动力下降的问题,而且还可以省去安装差速器。因为驱动轮在小车后端,所以前轮的转动角度就不能太大,但是如果转动精度要求不高,则可以采用连杆传动机构。这种四轮结构虽然控制简单,而且机械结构也不是很复杂,但是它只适合与单向行驶,而且由于驱动轮在后端,所以最小转弯半径较大。转向轮为驱动轮式。这种方式的四轮结构也是目前市场上较为常见的一种轮系结构,工业生产中使用的叉车就类似于这种结构,其机械视觉图如图1-3所示。图 1-3 转向轮为驱动轮式机械效果图在这种结构中,前面两个为用直流步进电机控制转向角度的转向轮,同时在每个转向轮上安装一个驱动电机以驱动轮子,后面两个轮子为从动轮。为了保证两个转向轮转向角度的一致,可以使用和汽车结构类似的连杆传动方式,如果要求转弯半径较小,也可采用图中所示的同步带传动方式。因为这种结构中从动轮部分机械结构较简单,因此可以方便的安装减震系统,而且在小车转弯时,为了使从动轮的内外侧轮子产生速度差,两个从动轮必须独立转动而不可以使用同轴联接。这种结构在驱动和转向控制上都非常灵活和简单,而且能满足较小的转弯半径,但是正如上面所述,由于它的轮系结构需要增加很多机械部件的支持,否则会造成致命的缺陷,这样就增加了机械部分的复杂性,从而也增加了小车的自重和成本。(3)其它结构以上叙述的三轮结构和四轮结构其实是最简单,也是最常见的两种轮系结构,在它们的基础上可以演变出其它的轮系结构:如三轮结构往往会在转弯过程中侧翻,因此可以在转向轮两侧安置两个贴近地面的轮子,这种轮系结构也是目前市场上常见的改进性三轮结构。其它的轮系结构其基本原理都和上述轮系结构相似,因此不再详述。2、自动导引小车轮系结构的机械设计在确定本设计AGV的轮系结构前,有一个重要的技术指标必须确定:小车是单向行驶还是双向行驶,因为这将直接关系到小车轮系结构的选择。鉴于本设计小车要求双向行驶,我们选定了六轮结构,中间两轮驱动,其它为万向轮型的轮系结构,其机械视觉图如图1-4所示。图1-4 六轮结构机械效果图从图中我们可以看出,这款小车的轮系结构和上面提到的几种结构有很大的区别。首先它采用了六轮的底盘,中间两个定向轮为驱动轮,前后四个万向轮为从动轮,这和目前美国研制的火星探测车的结构有点类似。当电机正转或反转时,小车可以前进或后退;通过内外侧两个驱动轮的速度差实现小车转弯;而当一个电机正转,一个电机反转时可以实现小车原地转弯。这种轮系结构不但控制简单,而且机械结构也没有上述轮系结构那么复杂,同时它不需要很多的机械部件的支持,这样不但节省了成本,也减少了控制难度。但是这种六轮结构有一个缺点,如图中所示,两对从动轮分别安装在主动轮轴的两侧,当小车行驶到不平的路面时,主动轮很容易被两侧的从动轮抬离地面,而使驱动轮不能驱动小车行驶,因此需要在从动轮上安装减振弹簧等机械部件,使得六个轮子能与地面充分接触,保持和地面的摩擦力。3、自导引小车的性能要求在确定了小车的轮系结构以后,我们还必须确定小车载重、转弯半径、行驶速度等技术指标。首先我们要选择合适的驱动电机,因为电机的性能参数直接决定着整辆小车的运动速度和驱动力。在选型过程中,主要考虑电机的额定电压和额定功率这两个参数。电机的输出功率和小车的重量之间存在以下关系:式中P为电机功率,为摩擦系数,m为小车重量,g为重力加速度(9.8m/s2),v为小车的最大速度。按照小车的最大重量(承重加自重)为30kg,摩擦系数按照0.15,最大行驶速度为0.5m/s计算,电机总的最大输出功率为22.05W,因为小车使用了两个驱动电机,因此每个电机的额定功率必须要大于11W。考虑到为了便于其它控制电路的取电,电机的额定电压取24V,这样两个12V10Ah的蓄电池串联即可作为整个系统的电源。在满足上面要求的条件下,为了节省成本,我们采用一款额定电压为24V,功率为15W,转速为128圈每分钟的直流减速电机。在确定了电机型号和小车的行驶速度后,小车轮子的直径也可以确定,小车驱动轮的直径和电机转速之间的公式如下:式中v为小车的最大行驶速度,n为电机每分钟的最大转速,d为驱动轮的直径,而我们选定的电机的最大转速是128r/m,v为0.5m/s,因此可以得到驱动轮直径d约为0.075m。在确定了小车的几个关键的技术指标后,根据小车的设计要求我们得出一张如表1-1所示的小车机械指标表。表 1-1小车各项机械技术指标小车控制方式自动/手动最大行驶速度1m/s导航方式红外循迹轮系结构六轮结构车轮直径75mm驱动方式双轮差速驱动工作时间连续接受负载方式可选自动/手动电池组天能24V/10Ah(免维修)负载能力最大15kg蔽障方式超声波自重15kg卸货方式自动卸货行驶方向双向(前、后)二、自动导引方案的设计及传感器的选择与分析1、国内常见的几款AGV特点及其设计方案的分析在设计前期我们对目前国内市场上常见的几款AGV进行了调研,对它们的性能、特点和设计方案作了详细的分析和比较。这些AGV按照其自动行驶过程中的导引方式,主要分为以下三款:电磁感应引导式AGV,激光引导式AGV,视觉引导式AGV,现对这三款AGV的设计思路和方案及特性进行简要的介绍。电磁感应引导式AGV电磁感应式引导是最早成功应用于无轨AGV的导引方法,也是目前无轨AGV主要采用的导引方式。该方式需要在预先设定的行驶路径上埋设专门的电缆线,当高频电流流经导线时,导线周围产生电磁场,此时安装在AGV车体两端的电磁传感器通过电磁感应原理产生感应信号。由于根据传感器偏离轨迹的远近程度可产生强度不同的电磁信号,因此系统可以通过采样传感器的电磁信号,从而软件调节驱动机构,实现引导。该方法可靠性高,经济实用,主要问题是:AGV的行驶路径改变非常困难,而且埋线对地面要求较高,一旦电缆出现问题,维护非常困难。同时,该方式实现的成本也很高。激光引导式AGV这种方法是在AGV上安装有可旋转的激光扫描器,在运行路径沿途的特定位置处安装高反光性的反射镜面,AGV在运行途中,不断用激光扫描器发射的激光束照射这些镜面,利用入射光束与反射光束提供的夹角信息、入射光束与反射光束的时间差信息等,根据数学模型计算出AGV当前的位置以及运动的方向,通过和内置的数字地图进行对比来校正方位,从而实现导引。这种导引方式的特点是当提供了足够多反射镜面和宽阔的扫描空间后,AGV导引与定位精度十分高,且提供了任意路径行走和规划的可能性。但是该方式成本昂贵,传感器电路、反射装置的安装都十分复杂,且算法也很复杂。视觉引导式AGV视觉引导方式是一种正在快速发展和成熟的AGV导引方式,这种方法在AGV上装备CCD摄像机和传感器,在AGV运行线路上建立色标,在主控芯片中存储有AGV欲行驶路径周围环境的图像数据库。在AGV行驶过程中,摄像机动态的获取车辆周围环境图像信息,利用图像处理技术进行特征识别,并与图像数据库进行比较,从而确定当前位置,并对下一步行驶做出决策。这种AGV由于不要求人为设置任何物理路径,因此具有最佳的引导柔性,适应性非常强。但是该方法对照明和色标清洁度有一定要求,而且这类AGV造价非常昂贵,同时由于CCD传感器开发非常困难,算法复杂度高,一般的8位,16位MCU都无法进行开发。由此可见,目前市场上存在的几款AGV虽然各有特点,但是由于他们造价高昂、维护困难、柔性较低、工艺复杂,导致它们不能在国内企业中得到广泛的应用。对于本次设计的小车,这里采用红外导引的方式,应用红外模块完成小车的循迹。该模块主要由一对红外收发传感器组成。红外信号在碰到深色(如黑色)的物体时将被大部分吸收,而碰到浅色(如白色)的物体时将被大部分反射,利用这一特点,将小车行驶地面设置成浅色调,而轨迹设置成深色调。红外发射传感器发射的红外信号在深色轨迹上产生微弱的反射信号,而在浅色地面上产生很强的反射信号;红外接收传感器根据接收到的反射信号强度的不同,产生不同的输出电压;主控芯片采样该电压值,从而调节小车左右电机的速度差,使小车能够沿着轨迹行驶。2、控制硬件及传感器的选择 硬件部分主要由主控板,超声波模块,红外模块,重力加速度模块,测速模块,电机驱动模块,电量检测模块,指示灯模块等部分组成。硬件部分的每个模块都和机械部件有紧密的联系,它们必须结合机械部件进行设计和调试。以下简要介绍硬件部分各个模块的功能。主控板主控板主要是由Freesclae半导体公司推出的一款基于CPU08核心的8位嵌入式MCU MC68HC908MR32构成的最小系统。该芯片具有功耗低,功能多,体积小等优势,主要用于汽车电子,工业控制等领域,比较适合开发带有电机驱动的嵌入式系统开发。主控板上还留出和其它功能模块的接口,便于系统的改进。超声波模块超声波模块是用来检测小车行驶途中是否有障碍物,该模块主要由一对超声波收发传感器和控制芯片MC68HC908QT4组成。当超声波发射传感器发射的声波在传播途中碰到障碍物时会发生反射,而被反射的声波信号将被超声波接收传感器接收,同时控制芯片利用声波发射和接收的时间差来计算障碍物与小车的距离,从而决定小车的运行状况。该模块保证小车在行驶途中避免和障碍物碰撞影响小车的正常行驶。红外模块上面已提及,这里不再赘述。重力加速度模块重力加速度模块利用重力加速度芯片MMA1260D来检测小车行驶途中是否碰到太过陡峭的坡度。因为如果坡度过大不但会使小车上的货物掉落,而且如果货物过重,会使得爬坡能力下降,这样就会无法正常行驶。测速模块测速模块是由一个光电编码盘和一对红外对管组成,码盘固定在电机转动轴上,而其边缘位于对管中间。当码盘旋转时,红外接收传感器输出一定频率的方波,而根据码盘旋转一周输出方波所需要的时间,即可得到电机转速。该模块主要完成对驱动轮转速的检测,这样就能保证两个驱动轮能够达到完全的同速行驶,使小车在直道上尽量保持直线行驶,而且在设计前期也需要通过该模块来测试电机的最大转速,从而确定系统相关参数。电机驱动模块电机驱动模块主要是用来驱动两个定向轮上的直流减速电机和载物台上的涡轮减速电机,该模块主要由电机驱动芯片L298、电流检测电路和主控芯片保护电路组成。电量测试模块电量检测模块主要是用来检测蓄电池是否需要充电,该模块利用简单的电压检测法来测试电量。由于蓄电池提供的工作电压为24v,因此在主控芯片MR32进行A/D采样之前,需要先经过分压电阻分压。采样到的AD值通过内部换算与电压阀值比较,从而得到蓄电池电量状态。当蓄电池电量不足时,提醒用户立即给蓄电池充电。指示灯模块指示灯模块主要用来指示小车各个功能模块的运行状况,同时还指示各个硬件电路的运行状况。三、小车驱动及运动控制方案的设计与分析1、驱动方案设计驱动部件是机械部分的核心部分,它主要完成小车的行走,导向等任务。本设计中的小车使用的是六轮二驱,即中间两个为电机驱动的定向轮,前后四个万向轮。载物台是由十多根矩形空心钢管组成,将这些铁棍间隔的固定在链条上,然后通过一个涡轮减速电机驱动齿轮来带动它们平动,这样就可以将货物自动的卸载。2、运动控制方案设计在嵌入式产品设计中,硬件选型的合理性、可行性以及可靠性将直接影响着产品开发周期,同时也决定了产品的性能,还可能会影响到产品成形后的生产。因而硬件选型是嵌入式产品设计的一个重要环节。在硬件选型时应该综合考虑产品的应用领域,成本问题,开发的难易程度问题,元件购买途径问题,用户需求问题等等。而硬件选型主要是主控芯片的选型,选择一种功能强大但又不浪费资源的主控芯片是十分重要的。以下将以主控芯片选型为例从技术角度来阐述一下对硬件选型时所需要综合考虑的几个因素:(1)是否有合理的RAM和Flash大小;(2)是否有足够的I/O引脚数目;(3)内部是否包含所需的功能模块;(4)芯片的封装形式是否适合设计的需要;(5)与芯片相关的写入器,编译器和集成开发环境是否具有可开发性,或者是否能从第三方得到;(6)是否能够购买到,或者能够申请到样片;(7)语言体系与熟悉程度。在选型时,应尽量避免芯片资源的浪费造成产品成本增加,所以RAM和Flash大小以及I/O引脚数目应该能足够满足设计的需要,同时芯片内部功能模块也应该尽量包含设计时的大部分需要。芯片的封装形式主要是出于对设计的前期试验和产品的后期生产的考虑。通常我们采用的封装形式有双列直插和贴片形式,其中双列直插封装体积相对庞大,但是其易于插拔,在试验时较方便;而贴片封装虽然焊接麻烦,但是其体积小,节约空间,因此比较适合产品体积较小的设计。在芯片选型过程中必须要考虑与之紧密相关的写入器,编译器和集成开发环境的问题,通常一个通用写入器少则几千,多则几万,对于开发低成本试验性项目明显不适合,所以就需要自主开发,降低成本。而且同一类芯片往往其其写入器开发流程相似,所以易于移植,这样也为将来同类芯片开发项目奠定了基础。在对本设计需求分析后,发现16位单片机不适合用户需求,主要表现在以下几点:(1)本设计中使用到的I/O引脚数目不多于30个,而一般16位单片机其I/O引脚数目往往多达50个,如选用将会造成大量引脚闲置;(2)本设计中芯片片内Flash的要求为不超过20K,而一般16位单片机的片内Flash容量往往都很大,这样易造成资源的浪费;(3)16位单片机中有很多功能模块在本设计中是用不到的。针对以上出现的问题,在设计中选用了Freescale半导体公司08系列中资源较丰富的MC68HC908MR32 MCU(以下简称MR32)作为本设计的主控芯片。该款芯片的I/O引脚、片内Flash和功能模块全部符合设计要求,而且本设计中所需驱动的电机达四个之多,而该芯片正是Freescale公司推出的专门驱动电机的新型MCU,因此选用这款芯片还是比较合适的。本设计中要选择的另一款芯片是电机驱动芯片。因为电机驱动电流较大,因而不能简单地利用芯片引脚进行驱动,必须用专门的驱动芯片来驱动。经过对电机特性的分析决定采用ST半导体公司推出的L298芯片来实现电机驱动,它的驱动电压最高可达46V,瞬间峰值电流可达3A,持续工作电流为2A,是一款理想的直流电机驱动芯片。MR32微控制器MR32 MCU是Freescale半导体公司于2001年上半年推出的一款低功耗、高性能的,专门用于电机控制的08系列芯片。该款芯片的主要特征如下:(1)最高可达8MHz的内部总线频率(2)32K片内FLASH,可以进行在线编程,768B片内RAM,240B监控ROM(3)FLASH数据保密功能(4)12位,6通道的PWM(脉宽调制)输出模块(5)16位,4通道的定时器接口模块(TIMA)(6)16位,2通道的定时器接口模块(TIMB)(7)10位,10通道的A/D(模拟/数字)转换模块(ADC)(8)6个并行输入输出端口,共有37个输入输出引脚和7个输入引脚。(9)串行同步接口模块(SPI)(10)串行异步接口模块(SCI)(11)系统保护措施包括:看门狗复位模块,低电压检测复位模块,PWM故障检测MC68HC908MR32 MCU采用64脚QFP封装,体积小,可靠性高,适合高频低功耗应用,各引脚功能分布如下:(1)电源类引脚VDD、VSS(40脚、41脚):电源供给端;VDDA、VREFH、VSSA、VREFL(9脚、10脚、11脚、12脚):内部A/D转换器的电源供给及参考电压输入端;VDDA、VSSA(50脚、54脚):时钟发生器模块(CGM)的电源供给端。(2)控制类引脚RST(49脚):外部低有效复位输入或输出脚,有内部上拉电阻;IRQ(48脚):外部中断输入脚,有内部上拉电阻。(3)I/O类引脚PTA7PTA0(6255脚):8位通用I/O口;PTB7/AD7PTB0/AD0(50脚,63脚):8位通用双向I/O口,也可作为8路8位A/D转换输入脚;PTC6PTC0(78脚,1317脚):有两路可以作为A/D转换引脚,同时PORTC可以作为7位I/O口;PTD6/IS3PTD4/IS1,PTD3/FAUL4PTD0/FAUL1(2418脚):为7为通用输入口,同时有4路可以用做PWM模块的FAULT输入引脚;PTE7/TCH3APTE0/TCLKB(3932脚):为8位通用I/O口,同时包含定时器模块5个引脚;PTF5/TXDPTF1/SS(4742脚):有6路输入输出,4路可以用于SPI模块,2路用于SCI模块。(4)PWM引脚PWM6PWM1(2531脚):6路PWM通道,用于控制占空比的变化。(5)其它CGMXFC(51脚):CGM的外部滤波电容连接脚;OSC1、OSC2(5352脚):片内振荡器引脚。电机驱动芯片L298L298是ST公司生产的一款高电压、大电流、小功率电机驱动芯片。该芯片内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等电感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈給控制电路。其具有以下电气特性:(1)电源驱动电压Vs可达5V46V,逻辑支持电压Vss为4.5V7V;(2)输入高电压Vih为2.3Vss,输入低电压为0V1.5V;(3)峰值驱动电流可达3A,正常工作电流为2A,总驱动电流可达4A;(4)响应速度快,提供纳秒级的响应速度;(5)提供过温保护,工作温度范围可达-25130,正常工作温度为1335。温度过高或温度过低时,芯片均会停止工作,防止其损坏。L298采用的是15脚的Multiwatt封装,各引脚功能分布如表3-1所示:3、主控芯片最小系统硬件设计(1)MC68HC908MR32支撑电路图 3-1MC68HC908MR32支撑电路单片机的运行需要一个支撑电路的支持才能工作起来,一般支撑电路包括电源、时钟电路等。图3-1所示为即为主控芯片MR32的支撑电路。在图3-1中,引脚OSC1和OSC2分别为芯片内振荡器输入引脚和输出引脚,该电路所需要的元件有:4.92Mhz的石英晶振,20P的晶体固定电容(与OSC1相连),20P晶体微调电容(与OSC2相连)及10M的反馈电阻。因为晶振电路是非常敏感的模拟电路,是整个硬件电路的核心,它的稳定性将直接影响到整个电路的稳定运行,因此要格外注意该电路的布线方式。一般晶振与单片机引脚应尽量靠近,且将晶振电路的外接器件都用地线围绕起来,如果电路板空间允许,晶振应该采用卧式安装,将外壳焊接在地线上,最大限度地减小对外的电磁干扰。VDD和VSS为芯片的电源引脚,其中VDD接+5V,VSS接电源地,为了提高电源电压的稳定性,在VDD与VSS间并联两个滤波电容。完成支撑电路的搭建以后,应该使用万用表和示波器等工具检测一下电源是否正常供电、晶振是否起振,而对芯片工作状况的检测,则应该通过软件的方式。通过第三方提供的写入器,将芯片的初始化和简单的I/O控制程序烧写到芯片内,通过I/O口驱动的指示灯的变化情况来确定芯片是否正常工作。(2)MC68HC908MR32最小系统主控芯片的支撑电路设计好后,接下来需要解决用户程序的写入问题。Freescale半导体公司为08系列的MCU提供了监控ROM。监控ROM是指MCU出厂前固化在芯片内部ROM中的一段程序,其中包含了有关系统检测、Flash编程以及串行监控方式。用户可以通过监控ROM提供的读、写等操作命令实现程序的写入,即监控方式下的在线编程。然后这种方式下的程序下载存在两大缺陷:一是需要一个Flash编程高电压,且其它引脚还需要满足特定的设置才能进入监控方式,操作非常不方便;二是程序的下载是半双工的,且是单线通信方式,下载速度较慢。为了解决监控方式下写入程序的不足,我们常采用的方法是利用MCU的片内Flash空间较大且一般都带有串行通信模块的特点,在片内Flash中划出部分存储空间,用于驻留用户自定义的监控程序。监控程序的主要功能是单片机通过串口与PC机通信,与PC方的在线编程系统共同完成程序的下载和调试。带有串口通信和支撑电路的系统就是一个能完成程序下载、调试和运行的最小系统。MC68HC908MR32最小系统的硬件连线如图3-2所示。图 3-2 MC68HC908MR32最小系统从图3-2中可以看出,最小系统主要由以下几部分组成:1)晶振电路:该电路主要产生芯片内部各个模块的时钟源;2)电源电路:该电路主要给芯片提供稳定的+5V直流电压;3)复位电路:该电路为芯片提供一个下降沿跳变,使芯片复位。MR32的RESET引脚平时被10K的电阻上拉到+5V,为高电平,当按下复位按钮时,该引脚通过51W的电阻接地,变为低电平,产生下降沿跳变,芯片复位。4)串口电路:该电路主要目的是将MCU的发送引脚TxD与接收引脚RxD,通过RS-232电平转换芯片MAX232转换为RS-232电平。MR32的串行通信引脚47(TxD)、46(RxD)分别接MAX232的11(T1IN)、12(R1OUT),MAX232的13(R1IN)、14(T1OUT)分别为RS-232电平的接收与发送引脚。当MCU需要发送数据时,MCU的TxD(TTL电平)经过MAX232的T1IN送到MAX232内部,在内部TTL电平被“提升”为RS-232电平,通过T1OUT发送出去;当外部有数据传送到MCU时,外部RS-232电平经过MAX232的R1IN进入到MAX232的内部,在内部RS-232电平被“降低”为TTL电平,经过R1OUT送到MCU的RxD,进入MCU内部。4、电机驱动模块的硬件设计电机驱动模块主要完成对小车轮子的驱动和载物台卸货装置的驱动,该模块的硬件电路图如图3-3所示。图3-3 电机驱动模块硬件电路虽然L298总驱动电流可达4A,但是每一路的最大驱动电流只有2A,为了使得L298能达到其最大的驱动电流,设计中将L298内含的两路驱动器并联。如图所示,芯片的6脚(Enable A)和11脚(Enable A)连接,生成Enable脚用于控制电机的运转和停止;芯片的5脚(INPUT 1)和12脚(INPUT 4)连接,生成IN1脚,7脚(INPUT 2)和10脚(INPUT 3)连接,生成IN2脚,用于控制电机的转向;芯片的2脚(OUTPUT 1)和14脚(OUTPUT 4)连接,生成OUT1脚,3脚(OUTPUT 2)和13脚(OUTPUT 3)连接,生成OUT2脚,此两脚是驱动器的输出端,用来连接负载。由于电机是感性负载,所以需要在L298的输出端接四个快速二极管IN5822组成续流电路,将电机产生的感应电流消耗,防止对电路产生影响。L298还提供了两个负载电流的反馈引脚:1脚和15脚,将它们同时接一个0.1欧姆,12W的电流检测电阻,再接地,此时就可以通过对1脚或者15脚进行A/D采样,来得到电路中负载电流,实现恒流控制。L298有4脚(VS)和9脚(VSS)两个电源引脚,4脚为电机驱动电源输入端,该电压需要比9脚输入电压大,否则将会影响芯片的正常工作,而9脚为芯片工作电压输入端。L298的Enable、IN1和IN2引脚分别接主控芯片MR32的PTD4、PTA0和PTA1引脚,通过这三个I/O口的信号输出来控制电机的转速和方向。但是由于电机驱动电路工作时电流非常大,为了避免烧毁主控电路,需要在这两个电路之间加一个如图3-4所示的主控芯片保护电路。图3-4 主控芯片保护电路如图所示,只需在MR32的I/O引脚与L298的控制引脚之间加上肖特极二极管1N4148,即可起到保护控制端电路的目的,肖特极二极管1N4148用于嵌压,使MR32的I/O引脚电压保持在5.7V,当L298三个控制引脚产生24V的反向电压时,二极管1N4148正向导通,由于4.7K电阻的存在,使得反向电流非常小,因此保护了后端电路。四、控制流程的设计以及控制程序的编写 1、控制流程图4-1所示为自动导引小车的工作流程框图在小车启动之前,首先进行电量检测模块的测试。为了测试该模块工作情况,这里将电量状态值置为充电状态,同时将状态值写入MR32的FLASH存储器0x8000处。当小车上电后获取蓄电池电量状态为充电状态,同时蓄电池电量采样值小于充电满标志电压时,指示灯提示用户需要对蓄电池充电,同时小车停止启动;如果蓄电池电量采样值大于充电满标志电压时,指示灯标识小车正常启动,同时写FLASH存储器0x8000处为工作状态。在完成电量检测以后,如果小车可以正常启动,系统将等待按键输入,同时对按键值进行A/D采样,以确定小车初始行驶方向。在按键输入完成,小车指示灯显示小车的行驶方向,同时启动定时器,小车各个功能模块开始工作,小车开始加速启动。为了避免小车在探测到障碍物减速时偏离轨道,将循迹子程序和对超声波测障模块的AD采样子程序都放在定时器溢出中断子程序中运行。测试结果表明这样的程序设计使得小车在碰到障碍物减速到停止时,能够平稳的停在轨迹上。 图4-1 自动导引小车系统工作流程图2、软件设计小车软件设计的总体思想是:通过主控芯片对超声波模块、红外模块和重力加速度等功能模块的信号采样处理,配合对电机驱动模块的编程实现小车自动避障循迹,并将各模块的编程以函数形式合理封装,供二次开发的用户调用。(1)软件功能概述AGV的软件设计要实现两个基本功能:一是实现在线编程,可将用户自己的应用程序在线写入到MR32片内FLASH存储区的用户程序空间,支持用户的二次开发。这部分是由MR32用户监控程序完成;二是实现小车的自动避障循迹,通过主控芯片MR32对超声波模块、红外模块和重力加速度等功能模块的信号采样,并根据这些信号选择电机驱动方案。(2)软件开发环境软件设计的一个重要环节是确定编程语言和开发工具。由于用C语言编制的程序易于移植、便于调试、可读性好,而且有丰富的库函数,因此C语言已经成为嵌入式应用软件开发的首选语言。但不同于其他形式的软件编程,嵌入式系统的编程是建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力,无疑,汇编语言具备这样的特质,而且其执行效率高、占用资源少。但是汇编语言开发过程非常复杂,而且可读性较差。因此可以采用Motorola汇编和ImageCraft C共同编写系统的软件部分,与硬件有关的部分如初始化堆栈指针还是必须用汇编编写,另外,时序要求严格的场合也采用了汇编编写;而与硬件无关的通用程序采用C语言进行编写。(3)MC68HC908MR32用户监控程序监控程序是为了实现用户程序的在线写入,同时对应用系统硬件及底层软件进行调试而设计的一段短小精干的小程序,它是用专门的写入设备(写入器)固化到主控芯片的FLASH中。由于监控程序的存在使得用户可以方便的向硬件平台主控芯片中下载编译好的用户程序代码,这样就不用像传统的芯片下载程序方式那样,每次向芯片中下载程序时都要把芯片从硬件板上拔下来,下载完成后再插回去,这点对于本系统尤为重要,因为主控芯片MR32是贴片封装,难以进行插拔操作。监控程序一方面不能太小,否则功能很有限,会给应用程序的开发调试带来麻烦;另一方面,也不能太大,否则会主次不分,占用过多的FLASH存储空间,因为在监控环境下,被监控程序占用的空间是不能再被开发者要调试的用户程序占用的。监控程序最重要的功能是通过串行口将程序下载到单片机的存储器中,因此,程序下载是监控程序必须实现的;而程序的调试功能可以通过在程序运行时,在欲调试处设断点,并将断点处的有关寄存器值、变量值通过串行口发出。根据以上这一思想,本系统主控芯片MR32的用户监控程序只实现了最基本的程序下载功能,从而取代了条件苛刻的监控模式程序下载方式,这样在功能上也满足了系统开发要求。监控程序的执行流程见图4-2。图4-2 用户监控程序实现流程图(4)PWM模块子程序本系统采用主控芯片MR32输出高频率脉宽调制波(PWM)来驱动电机,但是PWM只是控制信号,其驱动能力非常小,因此需要专门的电机驱动芯片来驱动电机。这里选用的电机驱动芯片是ST半导体公司生产的L298,因此实际上是PWM信号控制L298的信号输出,从而驱动电机。小车PWM模块的软件设计主要包括对两个子程序的编程。第一个子程序有两个功能:第一个功能是小车加速;第二个功能是当小车循迹完成后用于同步两个驱动轮。第二个子程序是和循迹子程序配合使用,通过该子程序调节两个驱动轮的速度比,从而完成小车循迹。图4-3所示为PWM模块第一个子程序流程图。图4-3 PWM模块子程序1流程图进入子程序时如果小车已经达到最大速度,则保持当前速度继续行驶;同时系统还需要判断小车是否偏离轨道,如果小车偏离轨道,则在PWM模块子程序2中通过调节两路PWM占空比来调节两个驱动轮的速度比,实现循迹;如果超声波检测到小车行驶途中有障碍物,小车将立即停止行驶,而不需要调节PWM占空比。由于该子程序具有小车加速和循迹后同步驱动轮两个功能,因此需要判断两路PWM通道占空比是否相等:如果两者不相等,则需要调节两路PWM占空比,从而同步两个驱动轮;如果相等,则小车加速前进。在调节PWM占空比时,需要通过置PWM控制寄存器PCTL1的LDOK位为1,使占空比值强行载入,在下一个PWM周期生效。图4-4所示为PWM模块第二个子程序流程图。采用PWM模块的两个通道分别控制小车两个驱动电机,因此当小车偏离轨道时就可以通过调节两个PWM通道的占空比实现转弯,使小车继续沿轨道行驶。在小车偏离轨道时,为了避免调节占空比至0,因此需要设置一个最小占空比,当通道占空比小于这个值时,电机将维持此时的速度比继续行驶;而当大于这个值时,系统将继续调整占空比。图4-4 PWM模块子程序2流程图(5)循迹子程序循迹子程序实质上是A/D采样程序,在小车上电启动并完成初始化和其他操作后,就进入该子程序。循迹子程序主要采样红外反射信号,同时根据采样结果决定是否需要调用PWM模块子程序调节两个驱动轮的速度比。由于深色轨迹吸收红外发射传感器发射的大部分红外信号,因此接收传感器接收到的反射信号将非常微弱,此时红外接收电路中的电流很小,因此过电阻后采样电压也很小;反之,浅色地板却能反射大部分红外信号,此时采样电压就很大。如图4-5所示的为循迹时四对红外收发传感器和小车循迹轨道之间的比对图。当小车正常行驶时,四对红外对管并没有直射到轨迹上;当小车右偏时

    注意事项

    本文(哈工大-制造系统自动化-大作业-自动导引式物料搬运小车系统设计.doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开