资源描述
大连理工大学城市学院 本科生毕业设计(论文)学 院: 电子与自动化学院 专 业: 电子信息工程 学 生: 指导教师: 完成日期: 2014年 5月12号 大连理工大学城市学院本科生毕业设计(论文)基于单片机的遥控机械臂设计(硬件)总计 毕业论文(论文) 42 页表格 0 个插图 22 个基于单片机的遥控机械臂设计(硬件) 摘 要 机械臂的控制涉及到电子、机械设计、自动控制技术、传感器技术和计算机技术等学科,是一项跨学科的综合控制技术。现如今工业自动化发展迅速,机械手成为了不可或缺的一部分,它在工业生产等领域的应用越来越广泛。本设计主要以自主学习为目的,以Atm1280单片机为核心控制舵机的转动来完成机械手的动作。机械设计部分主要利用Auto CAD来制图,根据所制图纸来手工打造机械手。 程序设计是基于C语言的基础知识来完成,软件主要是运用Arduino控制板自带的程序开发平台。本设计以AT89C51 单片机为核心,采用LMD18200 电机控制芯片达到控制步进电机的启停、速度和方向,完成了筛选机械手臂基本要求和发挥部分的要求。在筛选机械手臂设计中,采用了PWM 技术对电机进行控制,通过对占空比的计算达到精确调速的目的。关键词:Arduino;单片机;舵机;机械手臂;串口通讯ABSTRACTThe control of the manipulator involves electronic, mechanical design, automatic control technology, the sensor technology and computer technology, discipline, is an interdisciplinary comprehensive control technology. Nowadays industrial automation development is rapid, manipulator became indispensable part in industrial production, it is widely used in the fields of the. This design is mainly for the purpose, the autonomous learning Atmega 1280 singlechip control the rotation of the steering gear to complete the manipulator of actions. Mechanical design of the main use Auto CAD to drawing, according to system made by hand manipulator blueprint. Based on C language program design is the basic knowledge to complete, the software is mainly used to bring program Arduino panel development platform. This design take at89C51 monolithic integrated circuit as a core, uses the LMD18200 motor control chip to achieve the control direct current machine to open stops, the speed and the direction,completed has screened the manipulator essential requirements and the display part request. In screens the manipulator to design, used the PWM technology to carry on the control to the electrical machinery, through the computation achieved the precise velocity modulation to the duty factor the goal.Key words:Arduino;SCM;Steeringgear; Manipulator; Serial communication.I目 录摘 要IABSTRACTII第1章 绪论11.1机械臂的概述11.2步进电机概述31.3遥控机械臂发展现状41.4课题研究任务及工作内容61.4.1设计(论文)的任务61.4.2设计(论文)需要重点解决的问题6第2章 电路硬件设计82.1总体设计方案82.1.1设计思路82.1.2方案选择92.1.3系统组成102.2硬件设计102.2.1硬件结构102.2.2机械手臂的组成102.2.3 机械手臂的分类112.2.4 机械手尺寸的确定122.2.5 驱动部分的设计132.2.6单片机系统142.2.7电机驱动芯片原理及应用152.2.8串口通信电路172.2.9电机驱动电路202.2.10转速测量电路21第3章 电路软件设计243.1软件结构243.2系统模块程序243.2.1步进电机控制模块243.2.2电机调速模块283.2.3主程序模块31第4章 系统调试344.1硬件调试设备344.2软件调试环境344.3调试项目354.4调试过程354.5硬件连接与跳线的配置364.6实物图374.7调试结果38结束语40感谢41参考文献42附 录43附录A:程序设计43I第1章 绪论1.1机械臂的概述机械臂(Manipulator)是一种模拟人的手臂而形成的一种非生物结构。为了让机械臂能有3个自由度,其主动关节数目一般为3。一般情况下,全部关节都是转动型关节,而且其3个关节一般都处在手腕部位。关节型机械臂的特点是结构紧凑,所占空间体积比较小,但其工作空间比较大大,还可以绕过底座以及周围的一些阻碍物,是机械臂中应用最多的一种构造形式,比较经典的有PUMA、SCARA等。多关节型机械臂的优点是:动作灵活、运动惯性小、通用性强、能抓取到靠近靠近它的一些物件,还可以绕过本体和工作区域之间的障碍物进行工作,目前广泛应用于工业自动化生产线上。机械臂发展历史如下:(1)第一代机械臂,它是按事先示教的位置和姿态进行重复的动作的机械。它也被简称为示教再现方式的机械臂或是T/P方式(Teaching/Playback)的机械臂。当前国际上使用的机械臂大多数都是这样的工作方式。因为这种工作方式只能按照预先示教的位置以及姿态进行重复的运动而对周围环境无自我感知的功能,其应用范围受到一定的限制,主要作用于材料的运送、图喷、电焊等工作。 1996年樊炳辉等制造出一种可以应用于隧道、煤矿巷道、室内墙壁以及一般机械行业喷涂工艺的四连杆机械臂结构。这种结构主要由行走组件、平衡拉杆组件、大臂组件、小臂组件四大部分,其中又包括四组按一定比例关系组成的四连杆机构,它可以使喷枪在喷涂工作中,容易实现竖直起落,并且始终保持与受喷面垂直以及等距的关系。 1997年乌克尔.戈道斯等制造出一种适用于缝合手术的机械臂系统,这种系统是用机械臂来连接上一些必要的手术物品。这些器械具有能够用来操作抓取以及缝合组织的末端操作构件。该机械臂由一个控制器与一对主操作手柄构成。手柄可以由外科医生操作来控制末端操作装置的各种运动。 第二代机械臂,是一种具有如视觉、触觉等外部感官功能的机械臂。这种机械臂因为具有外部的感觉功能,所以可以根据外界的不同情况修改自身的一些动作,完成一些复杂的作业。 比如人脸肖像绘制的机械臂,就是一种可以自动绘画出人脸肖像轮廓图像的智能机械臂系统,它由图像处理模块、图像采集模块、机械控制绘图模块组成,能够使用相机拍摄人脸照片,然后提取肖像的轮廓,然后通过控制机械臂画出人脸线条画。人脸肖像绘制机器臂是视觉机械的研究重点方向之一,主要应用于科学展览,其中基于机器视觉系统的研究方向在生活以及生产中的各个方面都有着广泛的应用。其中的研究绘图机械控制系统的硬件选型和控制算法,可以通过程序的编写,从而实现外部对机械臂绘图动作的自我控制,机械臂的绘画过程,从而对人脸图的自动绘制。 第三代机械臂,这种机械臂不但具有外部的感觉功能以外,还具有一些的智能机的功能。使得它可以更好的适应因为环境的变化而自主进行的工作。第三代机器臂目前还在研究的阶段,距离实际应用还有一段不小距离。比如:邹建奇等人以柔性机械臂为例,进行简单的逆运动学分析.并采用小脑模型神经网络方法对机械臂的逆运动学进行了数值仿真分析,小脑模型神经网络可在较短的学习次数中有效地控制机械臂的振动。 在第一代机械臂开发的基础上,第二代的工业机械臂已经被广泛应用与各个工厂,成为目前主流安装的机型,第三代智能机械臂现在也早已成为研究的重点。 机械臂的重点技术有:(1)机械结构:以关节结构为主流,在80年代生产出的应用于装配工程的关节型的机械臂约占总数量的1/2。主要应用于汽车、桥梁、建筑等行业。 (2)控制技术:其采用的是32位CPU,控制轴数量达到27轴,离线编程技术大量了采用NC技术。协调控制技术越来越成熟,实现了多变位机、多机器臂的协调控制。其中采用基于PC开放式结构的控制系统已经成为了一股潮流。 (3)驱动技术:新一代的伺服电机与基于微处理器的智能型伺服控制器结合的技术已由FANUC等一些公司开发并使用于工业的机器人当中,以及远程控制的分布式智能驱动新型技术。 (4)采用智能型的传感器:现在装有视觉型传感器的机械臂数量呈上升的趋势,不少机械臂都装有两种以上传感器,有些机械臂留了多种传感器的接口。 (5)机械臂的编程语言:在ABB公司的20多个型号产品中,采用了通用模块化语言RAPID。该语言易学易用,可用于各种开发环境,与大多数WINDOWS软件产品兼容。 1.2步进电机概述在电子科学技术高速发展的今天,人类已经被带入了一个奇妙的电的世界。然而,现代工业发展中,电能是现代社会最主要的能源之一。在电能的生产、传输和使用等方面,电机都起着非常重要的作用。纵观电动机的发展历史,它的应用范围在不断扩大,使用的要求也在不断提高;结构类型的增多理论的研究也在不断深入。尤其是近30年来,随着计算机技术和电力电子技术的进步,特别是超导技术的突破和新结构,新原理,新工艺,新方法,新材料的不断推动,电机的发展更是呈现其勃勃的生机,它的前景更是不可限量。电动机被广泛应用于冶金、机械、国防等多个产业部门。然而,随着对产品质量、产量、以及生产工艺的要求,更多的生产机械部门都要求其实现自动调速。近些年,自动调速的电动机已经逐步取代了以往的老式电动机,它的良好的线性调速特性、控制性能、优异的动态特性更是各个生产部门的最佳选择。在电机中,步进电机属于感应型电机,它的工作原理是使用电子电路,把直流电变成多相时序控制的,分时供电的电流,使用这种电流为步进电机提供电力,步进电机才可以正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。虽然步进电机已经被广泛地使用,但是步进电机并不可以像普通的直流电机,在常规环境下使用。它必须用双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行部位,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的效果;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。1.3遥控机械臂发展现状机械工业是国民的装备部,是为国民经济提供装备和为人民生活提供耐用消费品的产业。机械工业的规模和技术水平是衡量国家经济实力和科学技术水平的重要标志。因此,世界各国都把发展机械工业作为发展本国经济的战略重点之一。新世纪,生产水平及科学技术的不断进步与发展带动了整个机械工业的快速发展。现代工业中,生产过程的机械化,自动化已成为突出的主题。然而在机械工业中,加工、装配等生产是不连续的。单靠人力将这些不连续的生产工序衔接起来,不仅费时而且效率不高。同时人的劳动强度非常大,有时还会出现失误及伤害。显然,这严重影响制约了整个生产过程的效率和自动化程度。机械手臂的应用很好的解决了这一情况,它不存在重复的偶然失误,也能有效的避免了人身事故。在机械工业中,机械手臂的应用具有以下意义:1. 可以提高生产过程的自动化程度。应用机械手臂,有利于提高材料的传送、工件的装卸、刀具的更换以及机器的装配等的自动化程度,从而可以提高劳动生产率,降低生产成本,加快实现工业生产机械化和自动化的步伐。2. 可以改善劳动条件、避免人身事故。而应用机械手臂即可部分或全部代替人安全地完成作业,大大地改善了工人的劳动条件。同时,在一些动作简单但又重复作业的操作中,以机械手臂却可以代替人手进行工作,从而可以避免由于操作疲劳所造成的人身事故。3. 应用机械手臂代替人手进行工作,这是直接减少人力的一个典型,同时因为应用机械手臂可以连续地工作,这是减少人力的另一个侧面。因此,在自动化机床和综合加工自动生产线上目前几乎都设有机械手,以减少人力和更准确地控制生产的节拍,便于有节奏地进行生产。目前国内机械于主要用于机床加工、铸锻、热处理等方面,数量、品种、性能方面都不能满足工业生产发展的需要。所以,在国内主要是逐步扩大应用范围,重点发展铸造、热处理方面的机械手臂,以减轻劳动强度,改善作业条件,在应用专用机械手的同时,相应的发展通用机械手臂,有条件的还要研制示教式机械手臂、计算机控制机械手臂和组合机械手等。同时要提高速度,减少冲击,正确定位,以便更好的发挥机械手的作用。此外还应大力研究伺服型、记忆再现型,以及具有触觉、视觉等性能的机械手,并考虑与计算机连用,逐步成为整个机械制造系统中的一个基本单元。国外机械手臂在机械制造行业中应用较多,发展也很快。目前主要用于机床、横锻压力机的上下料,以及点焊、喷漆等作业,它可按照事先指定的作业程序来完成规定的操作。国外机械数的发展趋势是大力研制具有某种智能的机械手臂。使它具有一定的传感能力,能反馈外界条件的变化,作相应的变更。如位置发生稍许偏差时,即能更正并自行检测,重点是研究视觉功能和触觉功能。目前已经取得一定成绩。目前世界高端工业机械手臂均有高精化,高速化,多轴化,轻量化的发展趋势。定位精度可以满足微米及亚微米级要求,运行速度可以达到3M/S,量产产品达到6轴,负载2KG的产品系统总重已突破100KG。更重要的是将机械手、柔性制造系统和柔性制造单元相结合,从而根本改变目前机械制造系统的人工操作状态。同时,随着机械手臂的小型化和微型化,其应用领域将会突破传统的机械领域,而向着电子信息、生物技术、生命科学及航空航天等高端行业发展。1.4课题研究任务及工作内容1.4.1设计(论文)的任务(1)熟悉单片机的基本功能;(2)熟悉C编程语言以及单片机的串口通讯;(3)能够实时测量电机实际转速,带动机械臂运动;(4)能够对电机进行PID转速调节,使得转速能够稳定在设定的范围值之内。1.4.2设计(论文)需要重点解决的问题要完成单片机控制步进电机完成机械臂的运动的总体设计,需要对各个部件进行设计以及相关驱动程序设计。通过电平转换使上位机能与单片机进行必要的串口通讯,并且选用串口大师软件对单片机发送信号。(1)设置89C51单片机最小系统:外围电路模块; 电源输入模块; 音频电路(包含MIC 输入、DAC 音频功放输出)模块; 按键模块; I/O 端口接口模块; 调试、下载接口模块。(2)电机控制模组:模组采用ULN2003电机驱动芯片,模组上配置二台四相的步进电机以及一台直流电机,并且拥有着LED 灯主要被用于作为电机转速等信息的显示。该模组充分的加强了对SPCE061A 单片机的设计,它能够非常方便地利用排线将它和SPCE061A 开发板连接起来,因此,它能够被用作凌阳单片机的教学已经产品的开发前期的验证等工具使用。电机的控制接口:模组与单片机的接口,它是10PIN 排针,利用排线可以将它直接与驱动模块相连接,从而实现对电机的控制。 数码管的控制接口:模组与单片机的接口,它是两组 10PIN 排针,利用排线可以将它直接与“61 板”相连接,从而实现控制4 位LED 数码管的显示。 L298:它是电机的驱动芯片,能够驱动一台双极性的两相步进电机,或者是驱动两台直流电机。 光栅转盘和红外对管:模组的直流电机的转轴上安置了一块光栅转盘,在光栅转盘的两侧,分别配置了鼠标所用的红外发射和接收管。当直流电机进行转动的时候,光栅装盘就能够不改变红外对管的通断状态,利用这种方式就能够实现测量出直流电机的转速。 ULN2003A:ULN2003A 是单片式7 路达林顿三极管阵列,该模组中,它主要是用来来驱动4 位LED 数码管。 4位数码管:该模组所拥有的是4 位 8 段共阳极的LED 数码管,它可以可用作对电机转速的显示,然而,有需要的话也可以被用于显示其他的内容。第2章 电路硬件设计2.1总体设计方案 在本次设计中,硬件部分包括了设计思路以及不同方案的选择。2.1.1设计思路 开发阶段的第一步要解决如何做的问题。软件设计过程是对程序结构、数据结构和过程细节逐步求精、重复调试的过程。抽象是控制复杂性的基本策略,把控制问题抽象话,从而逐步实现具体的每一步。软件设计包括总体结构设计、过程设计和数据设计,总体设计师设计和定义软件的整体实现框架,模块以及模块间的关系,过程设计是设计模块的内部细节,数据设计是对信息的描述。软件开发实际上就是一个从高层次抽象到低层次抽象逐步过渡的过程。其框图图2-1所示。 图2-1系统框图 我在软件设计中的原则是在机械部分设计成熟的基础上在来确定编程软件,从而在此平台上挑选合适的控制板来编写程序。尽量采用模块化思想,把程序划分为一组具有相对独立功能的部件,每个部件称为一个模块,当把所有的模块组装在一起时,就得到了满足需要的软件系统。2.1.2方案选择 (1)微控制器的选择本设计选用的是SPCE061A驱动芯片,该单片机的语音识别模块自带语音的API 函数,其中包括A2000 格式和S480 格式自动播放及手动播放的播放函数,S240、MS01 格式自动播放的播放函数、DVR 格式的语音录放函数和语音识别函数,让这种单片机不但可以作为普通的单片机开发系统,而且还可以作为一个语音系统进行语音播放、语音录放和语音识别,大大降低了这种单片机的开发难度,并增强了该种单片机的使用领域和功能。 SPGT62C19B 输出电压可达40v,输出电流可达750mA,输出脉冲宽度以及频率主要是由输入逻辑电平来决定的,所以由这款芯片组成的电机驱动系统将脉冲发生器、脉冲分配器、脉冲放大器合为一体,这样一来便会略去很多的外围器件。(2)键盘输入电路的选择本设计用的是开发板上自带的1x3按键作为输入部件使用,该独立键盘简单方便,而且编程程序也相对简单一点,比较实用一些。三个按键均为高电平有效,分别与单片机的IOA0IOA2连接。然而,还可以选择矩阵键盘,这种硬件电路非常简单,但不足的是编程比较复杂,很容易出错。但是,在按键较多的时候,选用矩阵键盘远比独立键盘经济实惠一点,它占用的I/O较少,方便排布,独立的编程环境也起到了很大的作用。但是,本设计所用到的按键数量比较小,因此,采用独立键盘更加优越点。(3)显示电路的选择数码管显示电路,这种硬件电路相对比较简单,而且编程也很简单,显示的效果比较好,能够显示简单的数字、字母。12864液晶显示电路,这个模块可以显示复杂的图案、字符等,能够满足绝大多数的显示要求,而且显示的清晰度比较高,对比度也是可以调节的,是现在用的比较多的显示模块。然而,本设计采用的是模组提供的4位共阴极LED 数码管,而数码管所采用ULN2003A 能够为它提供需要的驱动电流。ULN2003A 是7路达林顿三极管阵列,这里我们只需要用到了其中的4 路阵列,将它们分别的连接到数码管的4个位选脚G1G4。从单片机中选取8 位I/O 用作用数码管的“段控制”口,将它们分别连接到数码管的AH 这个段控制的脚上;再选取4 位 I/O 用作与数码管的“位控制”口,将它们分别连接到驱动芯片ULN2003A 的DIG1DIG4上,这样便可以实现对数码管显示的控制。数码管的各段、位与控制引脚的对应关系。2.1.3系统组成经过认真的方案选择,可以确定最终的框图组成构架如图2-1所示。该系统拥有电机控制模块,串口通信模块,外接显示模块,数码管控制模块,独立键盘模块,电源模块等组成。串口通信模块主要是有MAX232实现电平转换,下载程序以及与上位机实现通信。LED数码管显示电路主要是由ULN2003A以及相应的外围电路组成,用于实现人机交互。2.2硬件设计2.2.1硬件结构本设计的硬件结构主要由单片机系统、独立键盘模块、机械手臂、串口通信模块、电机驱动模块、电源指示模块等组成。2.2.2机械手臂的组成 机械手臂一般由执行机构、控制系统、驱动系统三个部分组成。 (1)执行机构:手腕 手腕是联接手臂与末端执行器的部件,用以调整末端执行器的方位和姿态。手臂是支承手腕和末端执行器的部件。它由动力关节和连杆组成,用来改变末端执行器的位置。机座 机座是机械手的基础部件,并承受相应的载荷,机座分为固定式和移动式两类。 (2)控制系统:控制系统用来控制机械手臂按规定要求动作,可分为开环控制系统和闭环控制系统。大多数工业机械手臂采用计算机控制,这类控制系统分为决策级,策略级和执行级三级:决策级的功能是识别环境、建立模型、将工作任务分解为基本动作序列;策略级将基本动作变为关节坐标协调变化的规律,分配给各关节的伺服系统;执行级给出各关节伺服系统的具体指令。2.2.3 机械手臂的分类机械手臂按坐标形式、控制方式、驱动方式和信号输入方式四种分类方法。(1) 按坐标形式分:坐标形式是指执行机构的手臂在运动时所取的参考坐标系的形式。直角坐标式 直角坐标机械手臂的末端执行器在空间位置的改变式通过三个互相垂直的轴线移动来实现的,即沿X 轴的纵向移动、沿Y 轴的横向移动及沿Z 轴的升降。这种机械手臂位置精度最高,控制无耦合,比较简单,避障性好,但结构较庞大,动作范围小,灵活性差。圆柱坐标式 圆柱坐标机械手臂是通过两个移动和一个转动来实现末端执行器空间位置的改变,其手臂的运动由在垂直立柱的平面伸缩和沿立柱升降两个直线运动及手臂绕立柱转动复合而成。这种机械手臂位置精度较高,控制简单,避障性好,但结构也较庞大。极坐标式 极坐标机械手的运动式由一个直线运动和两个转动组成,即沿手臂方向X 的伸缩,绕Y 轴的俯仰和绕Z 轴的回转。这种机械手占地面积小,结构紧凑,位置精度尚可,但避障性差,有平衡问题。关节坐标式 关节坐标机械手主要是由立柱、大臂和小臂组成,立柱绕Z轴旋转,形成腰关节,立柱和大臂形成肩关节,大臂和小臂形成肘关节,大臂和小臂作俯仰运动。这种机械手工作范围大,动作灵活,避障性好,但位置精度低,有平衡问题,控制耦合比较复杂,目前应用越来越多。 (2)按控制方式分:点位控制 采用点位控制的机械手,其运动为空间点到点之间的直线运动,不涉及两点之间的移动轨迹,只在目标点处控制机械手末端执行器的位置和姿态。 (3)按驱动方式分:电力驱动 电力驱动式目前采用最多的一种。早期多采用步进电机驱动,后来发展了直流伺服电动机,现在交流伺服电动机的应用也得到了迅速发展。这类驱动单元可以直接驱动机构运动,也可以通过谐波减速器装置减速后驱动机构运动,结构简单紧凑。液压驱动 液压驱动的机械手臂具有很大的抓起能力,可抓取质量达上百公斤的物体,油压可达7MPa,液压传动平稳,动作灵敏,但对密封性要求较高,不宜在高温或低温现场工作,需配备一套液压系统。气压驱动 气压驱动的机械手结构简单,动作迅速,价格低廉,由于空气可压缩性,导致工作速度稳定性差,气源压力一般为0.7MPa,因此抓取力小,只能抓取重量为几公斤到十几公斤的物体。 (4)按信号输入方式分:人操作机械手臂 是一种由操作人员直接进行操作的具有几个自由度的机械手臂。固定程序操作机械手臂 按预先规定的顺序、条件和位置,逐步地重复执行给定的作业任务的机械手。可变程序操作机械手臂 它与固定程序机械手基本相同,但其工作次序等信息易于修改。程序控制机械手臂 它的作业指令是由计算机程序向机械手提供的,其控制方式与数控机床一样。示教再现机械手臂 这类机械手臂能够按照记忆装置存储的信息来复现由人示教的动作,其示教动作可自动地重复执行。智能机械手臂 采用传感器来感知工作环境或工作条件的变化,并借助其自身的决策能力,完成相应的工作任务。2.2.4 机械手尺寸的确定由于本次设计对工作场地要求并没有明确的限制,因此机械手的尺寸也就没有明确的规定,为了设计的方便,将机械手大臂有效距离长为280mm,小臂有效距离长为170mm。2.2.5 驱动部分的设计 (1)机械手臂是有三台伺服电机驱动:电机M1 控制大臂在Z 轴旋转摆动,电机M2 控制小臂在Z 轴的旋转摆动,电机C 控制末端执行器在Z 轴的上下移动。为了设计的方便,控制方式采用点位控制。通过分别控制三台电机的正反转来确定末端执行器在空间上的具体位置。由于三台电机不是同时控制,因此不存在相互间的干扰,从而增强了整个系统的稳定性。 (2)具体传动环节:基座部分装有服电机M1,通过齿轮传动控制大臂旋转,基座与大臂底座用轴承连接;大臂座装有伺服电机M2,通过齿轮、传动控制小臂的旋转摆动;末端执行器部分装有伺服电机M3,同样通过齿轮、丝杆传动控制末端执行器的上下移动。 (3)伺服电机:一个伺服电机内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。 (4)伺服马达的控制:标准型的伺服马达有三条控制线,分别为:电源、控制以及接地。电源线与地线用于为内部提供能源,电压通常在于4V6V之间。小伺服马达可能在重负载时会造成拉低放大器的电压,所以整个系统的电源供应的比例必须合理。(5)选用的伺服马达:我选用的伺服马达为TowPro 的,型号为SG303。其主要技术参数为: 转速:0.23 秒60 度。力矩:3.2kgcm。尺寸:40.4mm19.8mm36mm。l 重量:0.6kg。l 电源:12V 和24V 电源供电。 (5)增量式编码器:编码器就是把角位移或者直线的位移转换为电信号的装置。接触式采用电刷输出,用电刷来接触导的电区域或者绝缘的区域表示代码的状态是“1”还是“0”;非接触式采用光敏元件来表示,采用透光区以及不透光区来显示代码的状态到底是“1”还是“0”。 (6)滚动轴承:滚动轴承的类型、尺寸和公差等级均已制定有国家标准,在机械设计中只需根据工作条件选择合适的轴承类型,尺寸和公差等级等,并进行轴承的组合结构设计。按滚动轴承承受载荷的作用方向,常用轴承可分为三类,即径向接触轴承、向心角接触球轴承和轴向接触轴承。2.2.6单片机系统单片机的最小系统主要包括SPCE061A 芯片以及相应的外围基本模块,外围基本模块主要包括:晶振模块(OSC)与两个电容并联使用,电容大小由晶振决定,一般用22pF、复位电路模块(RESET )、指示(LED)、电源模块等。(1)单片机的概念 单片机是将计算机的基本部件微型化并集成到一块芯片上的微型计算机。通常在芯片内含有CPU、ROM、RAM、并行I/O 口、串行口、定时/计数器、中断控制系统、系统时钟及系统总线等。(2)单片机特点:1. 具有非常高的性能价格比。2. 性价比高、体积比较小、可靠性很高。单片机通过把各功能的部件集成到了一块芯片上,内部采用了总线结构,从而减少了各芯片之间的连线,很大的提高了计算机可靠性和抗干扰能力。此外,单片机体积小,对有强磁场的环境容易采用屏蔽措施,适合在相对恶劣的环境下使用。3. 控制功能强大。4. 低功耗、低电压,容易生产便于携式产品。5. 单片机的系统扩展和系统配置叫典型、规范,容易构成各种规模的应用系统。(3) 单片机接口分布如图2-2所示。 图2-2 单片机接口2.2.7电机驱动芯片原理及应用LMD18200是美国国家半导体公司(NS)推出的专用于运动控制的H桥组件。同一芯片上集成有CMOS控制电路和DMOS功率器件,峰值输出电流高达6A,连续输出电流达3A,工作电压高达55V,还具有温度报警和过热与短路保护功能。其内部结构如图2-3所示。 图2-3 LMD18200内部图内部集成了四个DMOS管,组成了一个很标准H型的驱动桥。引脚2、10接上步进电机,正转时的电流方向是从引脚2到引脚10;反转时的电流方向是从引脚10到引脚2。电流检测输出引脚8可以接一个对地电阻,通过电阻来输出过流情况。内部保护电路设置的过电流阈值为10A,当超过该值时会自动封锁输出,并周期性的自动恢复输出。PB0,PB1为单片机的I/O口,PB0控制电机的正反转,PB1输入脉宽控制电机的转速。LMD18200提供双极性驱动方式和单极性驱动方式。双极性驱动是指在一个PWM 周期里,电动机电枢的电压极性呈正负变化。双极性可逆系统虽然有低速运行平稳性的优点,但也存在着电流波动大,功率损耗较大的缺点,尤其是必须增加死区来避免开关管直通的危险,限制了开关频率的提高,因此只用于中小功率直流电动机的控制。图2-4为电机驱动模块。 图2-4 电机驱动模块2.2.8串口通信电路串口通信电路,即将单片机与上位机进行通信的功能,主要是通过MAX232芯片实现与相应的通信指示电路构成,用此方法实现串口通信以及程序的烧写下载。MAX232主要用于实现RS232电平与TTL电平的转换,外接少许电容便可以加以实现。除此之外,还可以外接上指示灯,这样便可以方便检查及维修。1.串行通信的基本原理 计算机的数据传送有并行和串行两种方式。并行数据传送的特点是:各数据同时传送,传送速度快,效率高。但并行数据传送有多少数据位就需要多少根数据线,因此传送成本高。并行数据传送的距离通常小于30 米,计算机内部的数据传送通常都是并行的;串行数据传送的特点是:数据传送按位顺序进行,最少只需一根线即可完成,成本低但速度慢。计算机与外界的数据传送大多是串行的,其传送的距离可以从几米到几千公里。串行通信又分为异步和同步两种方式。单片机中使用的串行通信通常都是异步方式的。(1)串行通信的数据传送格式 异步串行通信以字符为单位,即一个一个字符地传送。其字符格式通常表示为:它用一个起始位表示字符的开始,用停止位表示字符的结束构成一帧。异步通信的特点是每次只传送一个字符,每个字符由起始位(规定为低电平)、数据位、奇偶校验位、停止位(规定为高电平12位)组成。由于单片机的停止位规定为1位,为了与单片机相匹配,PC机的一帧数据的停止位我们采用1位。(2)串行通信的收发过程 发送方发送数据时,通过发送低电平起始位开始一个字符的传送,起始位之后便按特定的速率发送数据位(包括奇偶校验位),当最后一位数(对于采用奇偶个高电平停止位用以标志一个字符传送结束,这样就完成了一帧数据发送。如果不再发送新数据或数据尚未准备好,就将传输线钳在高电平状态。接收方不断检测传输线的电平状态,当发现传输线由高电平变为低电平时(起始位标志位),即认为有数据传入,进入接收状态,然后以相同的速率检测传输线的电平状态,接收随后送来的数据位,奇偶校验位和停止位。可见在异步通信方式中,发送方是靠控制传输线的电平状态来完成数据的发送。接收方通过不断检测数据线的状态来完成数据的接收,只要发送率和接收检测速率相同,即能准确接收和发送数据。发送与接收设备可以使用各自的时钟源完成数据的发送与接收,无需使用相同的时钟信号。(3)串行通信的传送速率 传送速率用于说明数据传送的快慢。在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送二进制数码的位数来表示,称之为波特率。在串行通信中常用波特率来衡量通信速率的快慢,每秒钟传送一位就是一波特,一般异步通信波特率为1109600KHZ。在选择通信的波特率时,不要盲目追高,要以满足数据传输要求为原则。因为波特率越高,对发送和接收时钟信号频率的一致性要求就越高。(4)串行通信的电平转换 PC 机与单片机是通过串行口进行通信的。由于单片机的输入、输出是TTL 电平(+5V表示逻辑1,电平低于2V便不能被识别为逻辑1;0V表示逻辑0),TTL电平一般不能用于远距离传输,因为传输过程中电平的衰减会使传输数据不准确。而PC机配置的是RS232串行接口,因此,单片机与PC机之间进行通信时,要进行电平的转换,需要将TTL电平转换为RS232电平(-5V-15V 表示逻辑1,+5V+15V表示逻辑0),在传输线上传送的RS232电平可高达12V,比TTL电平有更强的抗衰减能力及抗干扰能力,可用于远距离传输。经常用的电平转换芯片是MAX2232,这种芯片可以实现以上两种电平的相互转换。此外,信号传输的介质最好使用双绞线,有利于抑制外界共模信号的干扰。2.单片机与PC 机串行通信实现手段 由于PC 机中集成了串行异步通信的可编程芯片8250,我们可以通过PC 机的串行通信口COM1 或COM2 对它进行控制,因而不需要再单独做实验板。我们可以把单片机的内部电平转换接口与PC机的串行通信口COM1或COM2通过串行连接线连接起来,然后用软件对它们进行初始化,使它们运行各自的接收或发送程序。在具体编程的时候,我们可以实现很多的功能。例如,我们可以从PC机和单片机中读其RAM或ROM的内容,对它们进行在线修改。PC机的程序可以用汇编程序MASM6.0、VB、C+或VC+进行编写。控制电路与计算机通讯能够在计算机上作监控界面,使机械手控制更加人性化。其串口图如2-5所示。 图2-5串口图2.2.9电机驱动电路一般来说对于单向的电机驱动,值需要用到一个大功率的三极管或者是场效应管又或是继电器就可以直接的带动电机,当电机需要双向转动的时候,便可以使用由4个功率元件搭建成的一个H桥电路或者是使用一个双刀双掷的继电器也可以实现此功能。如果设计要求不需要调速,只需要使用到继电器就可以实现;但是如果要求调速,可以用三极管,场效应管等一些开关元件实现PWM(脉冲宽度调制)调速。本设计主要选用L298N电机驱动芯片,外加少许电阻、电容以及二极管便可以简单的实现驱动,电机驱动自带的光耦合器件能够实现电机的驱动信号与控制信号的隔离,这样便提高了系统的抗干扰能力。然而光耦合器价格比较贵,所以本设计就省去此部分。电机驱动原理图如图2-6所示。 图2-6 电机驱动电路2.2.10转速测量电路 转速的测量电路可以使用一组鼠标所用的红外对管就可以实现。它的电路原理如图 2-7 所示。图 2-7 转速的测量电路当红外发射管和红外接收管中间被直流电机的光栅转盘上的不透明的部分所遮挡的时候,红外接收管就会处于截止状态,这个时候,图中 SPEED 便会输出高电平。反过来,当光栅转盘的通光槽转到红外对管之间的时候,红外接收管就会处于导通的状态,这个时候, SPEED便会输出低电平。将 SPEED连接到单片机的 I/O口后,便可以通过定时计数的方法计算出来电机转动速度。2.2.11电源模块SPGT62C19B 芯片有两个电源输入口,它们分别是给逻辑控制电路以及电机驱动电路供电的。因此,需要外接一个独立的电源来给电机供电,要求的外接电源的电压一般在 5V12V 之间,并且可以提供 750mA 以上的电流。模组提供了两种形式的电机供电电源接口,分别是 2PIN 针座和直流稳压电源插座;可以将外部电源连接在其中一组电源接口上。SPCE061A 的内核供电为3.3V,然而I/O 口既可以接3.3V 也可以接5V,所以在电源模块(61 板上)中有一个端口电平选择跳线,如图中的J5,由于本系统需要的端口高电平为5V 的逻辑电源为5V),所以图中当中的J5 跳线需要跳到1和2上。控制板上的电源模块图如图2-8所示。 图2-8 电源模块 电源模块是可以直接贴装在印刷电路板上的电源供应器,其特点是可为专用集成电路、数字信号处理器 、微处理器、存储器、现场可编程门阵及其他数字或模拟负载提供供电。一般来说,这类模块称为负载点电源供应系统或使用点电源供应系统。由于模块式结构的优点甚多,因此模块电源广泛用于交换设备、接入设备、移动通讯、微波通讯以及光传输、路由器等通信领域和汽车电子、航空航天等。 第3章 电路软件设计3.1软件结构本设计方案的软件系统主要由下列几个模块组成的:步进电机控制模块,电机调速模块,主控制模块。以上的这些功能模块简单的组成了两层单向调用的结构,而且各个模块之间的调用关系都是由主控制模块完成。图3-1为结构框图。 图3-1 结构框图3.2系统模块程序3.2.1步进电机控制模块通过L298N构成步进电机的驱动电路,L298N是SGS公司的产品,其中内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,使用L298N做为步进电机的驱动。L298N是高耐压、大电流阵列,工作电压高,工作电流大,芯片可承受的最大电流达到3A,并且耐压达到42V。图3-2为步进电机。 图3-2 步进电机由于电机在正常工作时对电源的干扰很大,只用一组电源时会影响单片机的正常工作。所以选用双电源供电。一组5V电源给单片机和控制电路供电,另外两组5V电源给L298N的+VSS、+VS供电。在控制部分和电机驱动部分之间用光耦隔开,以免影响控制部分电源的品质。其模块的电路图如图3-3所示。 图3-3 L298驱动电路 此外,还有多种的测速方案。(1)模拟测速:即利用测速电机作为发电机,通过检测反电势E的大小和极性即可得到转速N和电机转向;采用这种方法直接可以得到转速N和输出电压的特性曲线,直观,但也有很多不足,比如在高速和低速情况下实际输出偏离理想特性。(2)数字检测技术:即通过分析数字信号产生的一系列脉冲间接获取电机转速。这种方法不会受高低速的限制,通过比较所以选择数字检测技术。(3)采用光电传感器测量电机的转速,在设计中,在电机转轴末梢上安装纸卡,在纸卡上留出两个孔。电机转轴每转一圈,发射二极管发出的光便通过纸卡的孔到达接受二极管,就可在接受二极管上产生相应的脉冲信号。计算下1s内输出的脉冲信号的个数,把计数的结果取一半,就可得到电动机的转动速度。其中利用4KHz生成的PWM波来对电机进行测速就是一种比较经典的测速方法。利用4KHz时基生成PWM波的流程图如图3-4所示。图3-4 利用4KHz时基生成PWM 电机的测速工作同样也是利用4KHz 时基中断完成的。这里我们需要一个光栅转盘,当光栅转盘的挖空部分经过红外对管的时候,与光栅转盘连接的单片机I/O 口就会输入低电平;而当光栅转盘阻隔红外对管的时候,该I/O 口便会输入高电平。同样以4KHz作 为采样频率,通过检测该I/O 端口的电平状态变化并且加以计数,就可以通过一段时间内的计数值计算出来电机的转速。电机测速的流程图如图3-5所示。 图3-5利用4KHz时基实现电机的测速3.2.2电机调速模块 (1)步进电机起动及加/减速控制:速度控制中加/减控制是最基本的控制。电机由静止到达设定的最大的速度所需的时间是由调试决定的。加速度太大,电机甚至不能克服惯性而失步,加速度太少,则完成指定的运动耗费时间太多,加速度有两中方案:线性加/减速度控制和等步距加/减速度控制。前者规定从加速度开始,每一加速度周期指令电机速度递增相同的增量f;后者则是要求每一加速度周期电机走过相同的步数。等步距加/减速度控制的优点,在于加/减过程中电机走的步数可以非常精确的计算,这一点对于加/减的位置控制非常重要,但从电机要克服惯性力来看,线性加速方案好些。调试也方便。线性加/减控制曲线如下图3-6所示。 图3-6 线性加/减控制曲线 f=(f2-f1)/n,其中n为加速过程的台阶数,减速控制也类似,只是f为负值。步进电动机的最高起动频率(突跳频率)一般为0.1KHz到3-4KHz,而最高运行频率则可以达到N*102 KHz。以超过最高起动频率的频率直接起动,将出现失步现象,甚至无法起动。较为理想的起动曲线,应是按指数规律起动。但实际应用对起动段的处理可采用直线拟合的方法,即阶梯升速法。可按两种情况处理,已知突跳频率则按突跳频率分段起动,分段数n=f/fq。未知突跳频率,则按段拟合至给定的起动频率,每段频率的递增量(后称阶梯频率)f=f/8,即采用8段拟合。在运行控制过程中,将起始的速度(频率)分为n分作为阶梯频率,采用阶梯升速法将速度连续升到所需要的速度,然后锁定,按预置的曲线运行。速度转换时间应尽量短;为了缩短速度转换的时间,可以采用建立数据表的方法。保证控制速度的精确性;为了从一个速度很准确的达到另一个速度,那就要建立起一个校验的机制,用来防止超过或者未达到所需要的速度。图3-7为电机工作原理。 图3-7电机工作原理 (2)步进电机的换向控制:一般来说,驱动器的输入共有3路,它们是:步进脉冲信号CP、方向电平DIR、脱机信号FREE。它们在驱动器内部分别通过限流电阻接入光藕的负输入端,且电路形式完全相同,在这三路输入信号的共同的控制下,驱动器将输入合适的电流来控制步进电机完成指定的操作。另外,驱动器一般有一个接入端OPTO,该端口为三路信号的公共正端。三路输入信号在驱动器内部接成共阳方式,所以OPTO端须接外部系统的VCC,并在需要的情况下加限流电阻R,保证驱动器内部光藕提供合适的驱动电流。 步进脉冲信号CP:步进脉冲信号CP用于控制步进电机的位置与速度,也就是说:驱动器每接受一个CP脉冲就驱动步进电机一个旋转的步距角,CP脉冲的频率改变则会使步进电机的转速改变,控制CP脉冲的个数,则可以使步进电机精确定位。 方向电平DIR:方向电平信号DIR用于控制步进电机的旋转方向,此端为高电平时,电机一个转向,此端为低电平时,电机转向另外一个方向,电机转相必须在电机停机后进行,并且换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个脉冲前发出。 脱机电平信号FREE:当驱动器上电后,步进电机处于锁定状态(未施加CP脉冲时)或者运行状态(施加CP脉冲时),但当用户想手动调整电机而又不想关闭驱动器电源,这时就可以用到此信号,当此信号起作用时(低电平有效),电机处于自由无力矩状态,当此信号为高电平时或悬空不接时,取消脱机状态。此信号用户可选用,如果不需要此功能,此端不接即可。步进电机一般换向时,必须要在电机的降速停止以及降到突跳的频率范围之间再换向,从而避免产生较大的冲击电流导致电机的损坏。换向的信号必须要在前一个换向的最后一个CP脉冲结束以后以及下一个换向的第一个CP脉冲前面发出去。对于CP脉冲设计的主要有一定的脉冲宽度要求(一般不小于5s)。在某一高速下的正向、反向切换实质包含了降速换向升速这三个过程。如图3-8所示。开 始是否正转?是否反转?调用正转程序调用反转程序检测是否要转向返 回NNYY 图3-8 电机转向流程图3.2.3主程序模块主程序模块是在系统的初始化(初始化时钟、相关的变量以及中断等)之后,显示出来的默认电机转速的设定值,并且等待按键的输入。当键下的时候,便可以调用出对应子程序,从而完成预定的一些功能。它的功能流程图如3-9所示。 图3-9主程序框图在转到方向设定的子程序中,通过 Key1 以及 Key2 键来对转动方向进行适当的调整设置。当Key3 被按下后,便返回到主程序。如图3-10所示。 图3-10 子程序框图 第4章 系统调试4.1硬件调试设备(1)PC机一台,C51,开发板,USB转串口通信线。用作单片机的编程、编译、加载以及发送电机的控制命令。(2)+5V电源、电机控制电路板、杜邦线若干、步进电机二台、电阻电容若干、ULN2003A、驱动芯片、4位数码管显示模块。(3)T-33数字万用表一个、螺丝刀、斜口钳子、镊子。4.2软件调试环境 (1)Keil uVision2,主要用于单片机程序的编写、编译和调试。图4-1为程序下载页面
展开阅读全文