精品毕设基于单片机的多自由度机械手臂控制器设计.docx
《精品毕设基于单片机的多自由度机械手臂控制器设计.docx》由会员分享,可在线阅读,更多相关《精品毕设基于单片机的多自由度机械手臂控制器设计.docx(37页珍藏版)》请在冰豆网上搜索。
![精品毕设基于单片机的多自由度机械手臂控制器设计.docx](https://file1.bdocx.com/fileroot1/2022-12/7/d71a464d-240e-4510-8bd4-ae7acf6ebb42/d71a464d-240e-4510-8bd4-ae7acf6ebb421.gif)
精品毕设基于单片机的多自由度机械手臂控制器设计
唐山学院
毕业设计
设计题目:
基于单片机的多自由度机械手臂控制器设计
系别:
信息工程系
班级:
11电气工程及其自动化3班
姓 名:
**
指导教师:
***********************
2015年6月1日
基于单片机的多自由度机械手臂控制器设计
摘要
机械臂控制器作为机械臂的大脑,对于它的研究有着十分重要的意义。
随着微电子技术和控制方法的不断进步,以单片机作为控制器的控制系统越来越成熟。
本课题正是基于单片机的机械臂控制系统的研究。
本文首先介绍了国内外机械臂发展状况以及控制系统的发展状况。
其次,阐述了四自由度机械手臂控制系统的硬件电路设计及软件实现。
详细阐述了机械臂控制系统中单片机及其外围电路设计、电源电路设计和舵机驱动电路设计。
在程序设计中,着重介绍了利用微分插补法进行PWM调速的程序设计。
并给出了控制器软件设计及流程图。
最后,给出了系统调试中出现的软硬件问题,进行了详细的分析并给出了相应的解决办法。
关键词:
机械臂单片机自由度舵机PWM
DesignofMultiDOFManipulatorControllerBasedonMCU
Abstract
Asthebrainofrobotarm,manipulatorcontrollerisveryimportantforitsresearch.Withthedevelopmentofmicroelectronicstechnologyandcontrolmethod,thecontrolsystemofMCUisbecomingmoreandmoremature.ThisthesisisbasedontheresearchofthemanipulatorcontrolsystemofMCU.
Firstly,itisintroducedthedevelopmentofthemanipulatorandthecontrolsystemathomeandabroad.
Secondly,itisgiventhecircuitandsoftwaredesignforthefourDOFmanipulatorinthisdisertation.itisexpatiatedtheSingleChipMicrocomputer(SCM),therelativecircuitdesign,Powercircuitdesign,anddrivercircuitdesignofmanipulatorcontrolsystem.Inthedesignoftheprogram,thedesignofPWMspeedregulationbydifferentialinterpolationisintroducedemphatically.Thesoftwaredesignandflowchartofthecontrolleraregiven.Finally,itispresentedtheproblemsofhardwareandsoftwareinpractivegivenresolves.
Keyword:
Manipulator;MCU;DOF;Steeringengine;PWM
1引言
1.1研究的背景和意义
机器人是传统的机械结构学结合现代电子技术、电机学、计算机科学、控制理论、信息科学和传感器技术等多学科综合性高新技术产物,它是一种拟生结构、高速运行、重复操作和高精度机电一体化的自动化设备。
在研究和开发未知及不确定环境下作业的机器人的过程中,人们逐步认识到机器人技术的本质是感知、决策、行动和交互技术的结合[1]。
随着科技的不断进步尤其控制理论、材料学和传动结构学的发展以及制造工艺的进步,推动着机器人技术大跨步的向前发展。
目前,各个领域的都有其专有的机器人为其服务,如移动机器人、微机器人、水下机器人、医疗机器人、军用机器人、空中空间机器人、娱乐机器人等[2]。
当今各领域的制造行业都有其自动化流水线,例如,汽车自动化生产流水线就主要由工业机器人组成。
机器人与其他相应的制造设备的最大的优点是,其对生产环境有着极大的适应性和对各种任务的拓展性。
目前工业机器人已和最初的仿人型机器人有着很大的区别,更加符合各种不同生产制造领域的特殊要求,其中,目前,大多数工业机器人的形状类似人的手臂,能模拟人的手臂的部分动作,按预定的程序轨迹及其它要求,实现抓取、搬运工作或操纵工具的自动化装置[3]。
它们通常用于代替人的繁重劳动以解决人的生存,生产的难题,实现生产的机械化和自动化,能在有害环境下操作以保护人身安全,因而广泛应用于机械制造、冶金、电子、轻工业和原子能等行业[4]。
近年来工业机器人在工厂自动化改革中发挥着巨大的作用,代替人处理一些重复性、精密性、高工作负荷的工作,大大加快了生产效率,缩减了生产周期。
如汽车自动化生产线中的机器人的无缝焊接,钢厂里的钢材分拣机器人的搬运打捆,都用到了工业机器人(机械臂)。
各生产领域专有的机器人能够使生产效率更高,降低损失,节约成本。
随着机器人技术的发展,当前的工业机械手臂的结构更加的简单,大多数为模块化的,因此,能够做到易于维护、容易扩展到更多的自由度,并且其动作能够具有较高的灵活性。
对于机械手臂的控制器设计,希望使用复杂高效的控制算法使机械手臂实现更高的控制性能,更精确的定位精度。
并希望其控制拥有较好的系统稳定性并有较强的可扩展性。
1.2国内外机械臂研究现状
1.2.1国外机械臂研究现状
世界上第一台工业机器人(机械手臂)诞生在美国,1954年美国人乔治·德沃尔研制了世界上第一台可编程机器人样机。
从第一台机械手臂诞生以来的60多年里,人类对机械手臂的热情不但没有丝毫减弱,反而越来越多的人投入到机械臂的研究和制造中。
1969年,世界上第一条自动化汽车生产线由美国通用汽车公司用21台工业机器人组成。
美国凭借其机器人技术全面、先进、适应性强在国际上仍一直处于领先地位。
日本在1967年,由丰田纺织自动化公司从美国引入第一台工业机器人,开始了日本的工业机器人发展时代。
1976年以后,随着微电子的快速发展和市场需求急剧增加,日本当时经济增长迅速,劳动力显著不足,工业机器人的出现使企业犹如获得了救命稻草,使其日本工业机器人得到快速发展。
日本现有的工业机器人保有量位居世界第一,素有“机器人王国”之称[5]。
工业机器人在欧洲的发展也非常快,1973年ABB公司研制的IRB6机器人,是世界上第一台全自动微型处理器控制的机器人。
同年库卡机器人也推出了自己的第一台机器人FAMULUS,它是第一个由6个电机驱动的关节机器人。
大多数欧洲国家政府比较重视工业机器人的发展,比如法国规定,对于一些危险、有毒、有害的工作岗位,必须以机器人来代替普通人的劳动。
德国由于其先进的工业体系,政府通过大力支持一系列研究计划,建立了一个完整的工业机器人科学技术体系,使德国机器人技术一直处于领先的地位。
近些年,意大利、瑞典、英国、俄罗斯、乌克兰等国家由于自身国内机器人市场的巨大需求和国际上机器人市场的激烈竞争,发展速度也非常迅速。
目前,世界上工业机器人生产厂家主要集中在日本和欧美。
日系生产厂家组要有三菱、发那科、松下、川崎、安川等。
欧系中具有代表性的有,瑞典的ABB、德国的KUKA、美国的Adept、意大利的COMAU及奥地利的IGM公司。
下面以KUKA最新研制的小型机器人KR6R700fivve为代表介绍当前工业机器人的最新技术,KRAGILUSfivve是一个五自由度的机械臂,它的特点是极高的作业速度和极高的精确度。
因为它的体积小,占用空间很小,可选择安装地面、天花板等位置,因此KRAGILUSfivve的安装适用能力极高。
KRAGILUSfivve的重量48kg,最大负荷是6kg,最大工作半径是7067mm,重复精确度为
0.03mm,可见其精确度极高,可以应付的工艺流程很多。
其控制系统是KUKA公司最新研究的KRC4COMPACT,只是一种更高效、更稳定、更灵活且更智能化的控制系统。
灵活的结构设计和由此产生的可扩展性令其成为一款全能型控制系统。
按照目前的发展趋势国外机械手今后将大力研制具有某种智能的机械手,例如,触觉交互技术的加入。
1.2.2国内机械臂研究现状
在古代的中国就有类似于现代的某些机器人的设备,例如,诸葛亮研制的木牛流马,鲁班造的木车。
当前在我国,现代机械臂的研究最早开始于上世纪70年代。
1972,上海成功的研制了我国的第一台机械手臂,随之各地都有相应的研制计划研制基地,各重点高校陆续的开展的相关的专业和课程,今天我国的机械手臂应用已达到空前的高度。
我国政府从七五规划开始,大力发展机器人技术,制定了大量的相关鼓励政策并且为此投入大量的科研资金。
随后各地自动化研究所和相关企业开发并且制造了一系列的工业机器人,有由北京机电一体化研究所研制的焊接机器人,哈尔滨机床厂和哈工大联合制造的喷涂机器人,大连自动化研究所设计制造的拥有自主知识产权的氩弧焊机器人,沈阳工业大学设计制造的装卸载机器人等[6]。
机器人的控制器技术通过从外国引进、消化、吸收,大多是由中国工程院和沈阳自动化研究所及北京科技大学机器人研究所开发的,但很多的机器人关键部件还有国外几家少数机构垄断,如机器人专用轴承,减震齿轮,直流伺服电机等[7]。
我国的工业机械手的应用范围主要集中在一些自动化要求较高的制造业和先进的重工业,并且随着能源产业的壮大的相应的工业机器人也在逐渐的被应用。
在目前专业机械手的发展和应用比较广泛时,应相应的发展通用机械手,组合式机械这种机械手具有很强的灵活性和较高的拓展性,由此带来的优点是对生产环境有很强的适应性,可以在多种生产环境工作。
目前国内工业机械臂主要应用在铸造、焊接、搬运及热处理方面,以减轻人类的劳动强度,改善生产作业条件。
在研究设计通用机械手时可以将机械手臂的各运动构件,如伸缩、摆动、升降、横移、俯仰等机构,设计成典型的通用机构,以便适应不同工作环境的作业要求,选用通用型结构机构,使其能够组装成可改变结构的各种用途的机械手,这种机械手往往便于跟换工件,同时也便与设计制造与检修,扩大了应用范围。
当前我国在机械臂的数量、品种、性能方面都达不到工业生产的需要,并且在机械臂的通用性,精确性和稳定性等方面与国外还有很大的差距。
因此,我国机械臂产业在大力发展专用型和通用型机械臂的前提下,此外还应大力研究通用型的机械臂控制器、以及具有触觉、视觉处理能力的学习型机械臂控制器,并考虑将将其接入互联网,逐步建立智能学习型机械臂控制系统网络。
1.3机械臂控制器的发展现状
机械臂控制器主要分为两部分:
机械臂控制系统硬件平台和机械臂软件控制系统。
在早期的工业机械臂控制中,主要采用可编程控制器(PLC)作为主控制器,这种控制系统是将控制步骤和运行轨迹事先编程写入PLC中。
这种控制器体积大、能耗高、不适合实时数据处理且寿命短难以满足越来越复杂的生产环境。
随着半导体芯片制造工艺的进步带动微电子技术和嵌入式系统的发展,单片机、FPGA、ARM等被广泛的应用于的机械臂控制系统中。
在如今的机械臂系统中,机械臂需要进行实时调整、多传感器融合辅助以及实现自动控制等任务,同时采集现场环境并加以识别并做出相应的控制策略[8]。
1.4本设计研究的任务
本设计以单片机为核心控制器完成机械手控制系统设计,主要围绕四自由度机械手臂实现货物的抓取这一任务:
对机械手的结构进行分析,查阅资料,选择合适的单片机型号;对机械手臂建立空间坐标模型,确定规定动作控制要求;设计控制系统各功能电路,驱动电路、控制电路及各部分元件选型;根据机械手臂各关节动作控制要求,完成控制系统软件设计。
制定手臂动作行程,手臂能实现四自由度规定动作。
2机械结构与控制系统概述
2.1机械结构
机械手臂的动力驱动方式有气动式、齿轮式和绳索式等。
其中齿轮式是目前被采用最多的机械手臂驱动方式之一,主要因为齿轮式机械手臂具有传动精度高、体积小、速度较快及运行平稳等优点。
随着制造工业的发展需要,对机械手臂的自由度,精确度,运行的平稳性要求越来越高,机械手臂向多自由度,高速度,高精确度发展。
考虑到齿轮式的机械臂结构简单,易于安装与拆卸;重量轻,关节转动的惯性小、灵活性强等优点,本文选用齿轮式(舵机驱动方式)。
本设计综合考虑机械臂的结构、功能要求、平举力矩等因素决定机械臂为四自由度,四自由度机械臂采用四个舵机控制,如图2.1所示,舵机1控制底座,实现自由旋转,舵机2控制机械臂上下运动,舵机3控制末端机械爪的水平倾角,舵机4控制机械爪的开合,用于抓取物件。
其中在机械臂的驱动中最大力矩出现在平举的过程中,为了使机械臂能平稳准确的完成平举,本机械臂舵机2选用输出力矩更大的数字舵机,考虑到性价比其它舵机采用模拟舵机。
为了使机械手运行的更加轻巧,关节连接件选用轻质U型铝合金连接杆,因此可以在动作上可以做的更加灵活,可以完成各种高难度动作。
本机械臂各关节的最大运动范围:
关节1(舵机1)底座的转动范围受舵机极限转动范围的限制为-90°~+90°。
关节2(舵机2)用于平举最大的转动为最低0°,最高90°。
关节3(舵机3)机械爪倾角的控制最低为-90°,最高90°。
关节4(舵机4)机械爪的开合,最小(闭合)0°,最大(张开)90°。
2.2控制系统
本控制系统的直接控制对象是驱动机械臂的舵机,而舵机的控制信号是一种占空比可调的PWM波。
从而本设计从PWM信号的生成上考虑主控制器的选型。
机械臂舵机PWM信号的生成方法,主要有以下三种。
第一种是采用模拟电路的方法实现的,利用一些独立元器件搭建模拟电路来实现,这种电路虽然原理简单易实现,但是脉宽精度不高、脉冲宽度难以调整且受环境影响较大等缺点;第二种是采用可编程逻辑器FPGA实现的,FPGA有丰富的编程指令,强大的运算能力,并且具有并行处理的功能,能够产生稳定可靠的PWM信号,但是FPGA系统电路复杂,编程难度大开发效率低且成本很高;第三种是利用单片机作为控制系统的主控制器来产生PWM信号的,这种方法具有输出性能稳定、编程灵活多样、控制精度较高等优点,而且这种电路的体积较小,是当前生成PWM信号进行舵机及直流电机调速的最常用的方案。
综合比较以上的三种方法本设计确定采用性价比更高的新一代8051单片机STC12C5A60S2作为主控制芯片。
控制系统方案如图2.2所示。
STC12C5A60S2是一种新型的8051单片机,最大的特点是具有单时钟/机器周期(1T)速度快8-12倍,自带A/D转换功能,并能产生PWM信号,双串口,指令代码完全兼容传统8051。
传统8051单片机与新一代STC12C5A60S2系列单片机的区别:
STC12C5A60S2系列单片机的定时器T0/定时器T1及串口与传统8051完全兼容,但其没有定时器T2。
上电复位后,定时器方式控制寄存器缺省仍然是除12再计数的。
STC12C5A60S2与传统8051的111条指令完全兼容且执行速度全面提速,最高的能提速24倍,最慢的也能快3倍。
新型的STC12C5Axx去除了传统8051单片机ALE脚对6分频输出,不可对外输出时钟,但可利用其新加进去的可编程时钟输出控制器对外输出时钟(CLKOUT0/CLKOUT1/CLKOUT2)或XTAL2脚串一个200欧姆电阻对外输出时钟。
由于STC12系列速度更快执行由高变低或由低变高的I/O口操作,仅需4个时钟周期,而传统8051需要12个时钟[9]。
传统8051单片机在执行读外部状态时,需将相应的引脚拉高,否则读不对。
主要特性:
1)增强型8051CPU,1T单时钟/机器周期
2)工作频率范围:
0~35MHz,相当于普通8051的0~420MHz
3)片上集成1280字节RAM
4)通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:
准双向口/弱上拉,强推挽/弱上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA[10]。
5)
共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器[11]。
图2.2机械臂控制系统组成
2.3系统功能介绍
本设计采用电动式四自由度机械手臂结构方案,其控制器方案由单片机系统提供,采用舵机作为动力传动方式来驱动机械臂[12]。
该手臂具有四个关节,每个关节可以转动180°,手臂转动采用4台舵机驱动,可以完成点对点的夹取物件的简单动作,系统控制图如图2.3所示。
图2.3四自由度机械臂控制
2.4舵机工作原理与控制方法
2.4.1概述
舵机是一种伺服控制系用,由于可以通过程序连续控制其转角,通常用于需要实现角度旋转控制的各类关节运动中。
舵机是关节转向的控制与驱动机构,具有体积小、力矩大、外部机械设计简单、控制精度高等特点,无论是在硬件设计还是软件设计,舵机的设计都是机械臂驱动的重要的组成部分。
2.4.2舵机的组成
一般来讲,舵机主要由舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路几部分组成,如图2.4所示。
图2.4舵机的组成示意图
舵机有三条输入线,电源线、地线、控制线如图2.5所示,其中中间的红线是电源线,黑色的是地线,舵机的地线要与控制电路的接地端相连(共地)。
舵机主要是通过这两条线获取能源的。
舵机的电源电压一般有两种规格,一是4.8V,一是7.2V,7.2V通常应用于转矩要求较高的场合,4.8V主要应用于超小型长时间持续工作的场合;另外一根黄色线是控制信号线,舵机由这条信号线接收控制系统输出的PWM信号。
图2.5舵机的输出线图
2.4.3舵机工作原理
舵机的信号线接收PWM控制信号控制电机转动,电机带动一系列减速齿轮组,减速后传动至输出舵盘,舵机的输出轴带动位置反馈电位计,电位计将相应角度的输出电压信号与到控制电路板的PWM控制信号进行比较,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到目标停止[13]。
其工作流程为:
控制信号→控制电路板→电机转动→齿轮组减速→舵盘转动→位置反馈电位计→控制电路板反馈,如图2.6所示。
图2.6舵机控制原理图
舵机的控制信号是周期为20ms的脉宽调制(PWM)信号,脉冲宽度的调节范围是0.5ms~2.5ms,对应输出角度-90°~90°,呈线性变化如图2.7所示。
对于模拟舵机
来说,只有给它提供稳定持续的脉宽信号,它的输出轴才会保持在对应角度上。
而对于数字舵机,则只用给它提供相应的脉宽信号,它的输出轴就会保持在对应的角度上,并不用维持这一脉宽信号。
舵机的控制电路产生一个周期为20ms,宽度1.5ms的基准PWM信号,其内部有一个比较器,将外加信号与内部基准信号相比较,判断出电机的转动方向和大小。
通过调节PWM信号的占空比可以方便的控制舵机的转角,因此舵机广泛的应用于角度控制系统中,比如机器人的关节驱动,智能小车的转向控制等。
图2.7舵机输出转角与输入脉冲的关系
3系统硬件电路设计
单片机为整套系统的控制核心,单片机本身和其外围电路的性能直接决定系统复杂程度及系统性能。
故单片机的选择及其外围电路的设计也就显得十分的重要。
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍[14]。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合[15]。
考虑到芯片的性价比以及供货等综合因数,本文中采用STC12C5A60S2单片机。
3.1时钟电路设计
STC12C5A60S2的时钟源可以来自外部时钟信号或者振荡器。
通常单片机系统使用外部时钟输入,因为外部时钟可更换灵活性强可根据处理速度选着不同频率的时钟芯片,同时外部时钟的精度高、稳定性好。
时钟电路如图3.1所示。
图3.1时钟电路
3.2复位电路设计
复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开始运行。
当8051单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作。
常用的上电且开关复位电路如图3.2所示。
上电后,由于电容充电,使RST持续一段高电平时间。
当单片机已在运行之中时,按下复位键也能使RST持续一段高电平时间。
从而实现上电且开关复位的操作。
通常选择C=10~30
F,R=10k
。
图3.2复位电路图
3.3控制器电源电路设计
本电路所需5V直流电源采用工频220V电源,经由一个变压器降压后,通过H桥整流,再使用三端稳压芯片稳压得到。
常见的三端稳压集成电路有正电压输出的78××系列和负电压输出的79××系列。
三端IC的三条引脚分别是输入端、接地端和输出端。
用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
因为本设计只需要正电压5V,故这里选用7805。
整流桥选择正向电流1A,耐压值为25V。
整流出来的波形是脉动的,为了得到平稳的电压,在整流桥输出端接一个大电容。
7805的最高输出电流约为1.5A,最高输出功率:
P=UI=5V*1.5A=7.5W
故用一片7805可设计满足要求。
下图中C1和C3作平波用,故选用大电容;C2和C4择消除长导线的电感效应,选用小电容如图3.3所示。
图3.3控制器电源电路图
3.4舵机驱动电路
通过实验发现,舵机在运行过程中要从电源吸纳较大的电流,若舵机与单片机控制器共用一个电源,则舵机会对单片机产生较大的干扰。
因此,舵机与单片机控制器采用两个电源供电。
两者共地,并且给舵机供电的电源最好采用输出功率较大的开关电源,如图3.4所示。
图3.4舵机驱动电路图
3.5串口通信电路设计
STC12C5A60S2有两个全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,本设计采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
采用三线制连接串口,也就是说和计算机的9针串口只连接其中的3根线:
第5脚的GND、第2脚的TXD、第3脚的RXD。
这是最简单的连接方法,但是已经足够使用了,电路如下图3.5所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。
图3.5RS232串口通信电路
4系统软件设计
随着单片机技术日新月益的发展,学习和应用它的人越来越多。
相应的单片机的编程语言也在不断地发展、完善、丰富中。
目前比较完善、常用的编程语言有3种,即汇编语言、C语言和BASIC语言。
BASIC是一种高级语言,是在1965年5月,由美国科学家托马斯·库尔兹研制出来的。
几十年来,BASIC语言一直被认为是初学者编程的语言。
具备了很多结构化思想和编程方式,如函数、模块、局部变量、全局变量、数据传递