版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32的机械臂驱动系统设计摘要由于机械臂在各行各业中得到了愈来愈广泛的应用,机械臂控制的多样化、复杂化的需要也随之日趋增多。作为当今科技领域研究的一个热点,提高机械臂的控制精度、稳定性、操作灵活性对于提高其应用水平有着十分重要的意义。本课题主要对四自由度机械臂控制系统进展了研究与设计。作为运动控制系统的一种,该控制系统主要面向底层,力争开发出一套稳定性高,可靠性强并且定位准确的工业机械臂系统。首先根据机械臂系统的控制要求,整体上设计出单CPU的系统控制方案,即通过控制主控制器输出的PWM波的占空比实现对舵机转动的控制,进而实现各个关节的位置控制。在硬件方面,主要论述了如何以ARM微处理器STM32F103ZET6、MG995舵机、MG945舵机、超声波传感器和电源模块为主要器件,通过搭建硬件平台和设计软件控制程序构建关节运动控制系统。然后按照构造化设计的思想,依次对以上各局部的原理和设计方法进展了分析和探讨,给出了实际的原理图和电路图。在软件设计方面,按照模块化的设计思想将控制程序分为初始化模块和运行模块,并分别对各个模块的程序进展设计。实验说明,该机械臂控制系统不仅具有很好的控制精度,还具有很好的稳定性、准确性,而且在很大程度上改善了定位精度。关键词:四自由度机械臂,STM32,Corte*-M3,脉冲宽度调制theDesignofManipulatorDriveSystemBasedonSTM32Author:***Tutor:***AbstractInrecentyears,robotarmiswidelyusedinindustrycontrol,specialrobot,medicaldeviceandhomeservicerobots.Researchofrobotarmcontrolsystemisafocusinrobotarea.Itismeaningfultoincreasetheperformanceinaccuracy,stabilityandfeasibility.Thispaperistheresearchanddesignaboutacontrolsystembasedonafourdegreesfreedom’sdesign.And,westrivetodevelopahighstability,reliabilityandaccuratecontrolsystem.Firstly,accordingtothecontrolrequirementsoftheroboticsystem,theoveralldesignofthesystemcontrolprogramisbasedonasingleCPU.TurnthesteeringcontroltoachievethecontrolofthedutycycleofthePWMwaveoutputbythemaincontroller,soastorealizethepositioncontrolofeachjoint.Intermsofhardware,thepapermainlydiscusseshowtousetheARMmicroprocessorSTM32F103ZET6,MG995Servo,MG945servos,ultrasonicsensorsandpowersupplymoduleasthemainponents,buildajointmotioncontrolsystembybuildinghardwareplatformsandsoftwarecontrolprogram.Thenfollowthestructureddesignideas,principlesanddesignmethodssequentiallyovereachpartisanalyzedanddiscussed,andthengivetheactualschematicorcircuitdiagram.Insoftwaredesign,thecontrolprogramisdividedintotherunmodulesandtheinitializationmoduleanddesignprogramofeachmoduleseparately.Controlsysteme*perimentsshowthatthesystemcansignificantlyimprovetheprecisionofcontrol,andimprovesystemstability,accuracy,sothatthepositioningaccuracyoftherobotarmhasbeengreatlyimprovedandenhanced.KeyWords:FourDegreesFreedomRobot,STM32,Corte*-M3,PulseWidthModulation目录TOC\h\z\t"章标题,1,节标题,2,条标题,3,论文正文英文样式,8,图片样式,8,图片标注样式,8,附录一级样式,1,附录二级样式,2"1绪论11.1机械臂概述1机械臂研究的意义1国内外机械臂的研究现状及开展趋势1机械臂的分类21.2机械臂控制的研究内容4机械臂的驱动方式4机械臂的机械构造4机械臂的控制器4机械臂的控制算法51.3嵌入式系统简介51.4本文的主要工作62机械臂控制系统的总体方案设计72.1机械臂的机械构造设计7臂部构造设计原则7机械臂自由度确实定72.2工作对象简介72.3机械臂关节控制的总体方案8机械臂控制器类型确实定8机械臂控制系统构造9关节控制系统的控制策略92.4本章小结93机械臂控制系统硬件设计113.1机械臂控制系统概述113.2微处理器选型113.3主控制模块设计13电源电路13复位电路14时钟电路153.3.4JTAG调试电路153.4驱动模块设计163.5电源模块设计173.6传感器模块设计193.7本章小结194机械臂控制系统软件设计204.1初始化模块设计20系统时钟控制204.1.2SysTick定时器224.1.3TIM定时器23通用输入输出接口GPIO24超声波传感器模块244.2运行模块设计254.3本章小结265系统的整机调试275.1硬件调试275.2软件调试285.3故障原因及解决方法315.4本章小结32结论33致谢34参考文献35附录37附录A37附录B46附录C471绪论1.1机械臂概述1.1.1机械臂研究的意义早在几千年前,人类就开场了机器人的制造,以解决人类繁重的劳动。例如,古希腊诗人荷马在其长篇叙事诗"伊利亚特"中,描述了“火和锻冶之神〞赫菲斯托斯用黄金锻造出一个侍女[1]。一直以来,人们也一直致力于将这些美丽的神话变为现实。1958年世界上的第一台机器人被创造以来,与工业机器人相关的技术得到了迅猛的开展,并且己经愈来愈广泛的应用在机械、电子、汽车等行业[2]。如今,机器人技术已成为衡量一个国家科技水平的标志之一[3]。作为近几十年来开展起来的一种自动设备,机械臂可以通过编写软件程序来完成目标任务,它不仅具有人和机器各自的很多优点,而且特别具有人的智能性和适应性。在作业过程中,机械臂控制的准确性和对环境的适应性,已经使其在各个领域有着广阔的开展前景。高级类型的机械臂,可以执行更复杂的操作[4]。将机器臂运用于工业生产过程,除了可以提高生产率之外,还能够减弱工人的劳动强度,使生产过程实现自动控制。因此机械臂在近几年得到了愈来愈广泛的应用[5]。1.1.2国内外机械臂的研究现状及开展趋势机器人的研究始于二战后的美国。1958年第一台数控工业机器人诞生后,机器人在工业上的应用不断增加,日本、德国等国家也相继开场机器人的研制。中国对现代机器人的研制始于上世纪70年代后期,80年代进入到飞速开展时期。尤其在国家成立了863方案后,机器人技术得到特别的重视,由此中国在机器人领域取得了飞速开展,相继研制出示教再现型的搬运、焊接、喷漆、装配等各种工业机器人,以及水下作业、军事和特种机器人。机械臂开展状况概括如下:第一代机械臂,即示教再现方式的机械臂。目前这种机械臂仍广泛应用于各种场合。这种工作方式只能按照事先设置的位置进展重复的动作,但是不能感知周围环境,其应用*围因此受到一定的限制。这类机械臂主要工作于原料搬运、喷漆、焊接等工作场合。第二代机械臂,即具有视觉、触觉等外部感觉功能的机械臂。这类机械臂可以根据周围环境的变化进展自适应,故可以完成较为复杂的工作。图1.1一汽“红旗〞轿车机器人焊接生产线第三代机械臂,这类机械臂不仅具有第二代机械臂的感觉功能,而且还具有规划和决策的功能。从而在环境发生变化时进展自主的工作。但是目前这类机械臂依然处于研究阶段,还需要一段时间才能得到实际应用[6]。图1.2演奏机器人从机械臂几十年来的成长进程来看,高精度,多功能,集成化,系统化以及智能化是机械臂在以后多年中的开展方向。1.1.3机械臂的分类机械臂一般从运动坐标形式分为直角坐标式机械臂、圆柱坐标式机械臂、极坐标式机械臂和多关节式机械臂。直角坐标式机械臂:由三个线性关节来确定手爪的位置,通常还带有附加的旋转关节用来确定末端执行器的姿势。这类机械臂虽然控制位置精度高、简单,但构造繁杂,占地面积大。圆柱坐标式机械臂:由两个滑动关节以及一个旋转关节来确定手爪的位置,也可以再附加一个旋转关节来确定部件的位置。其位置精度仅次于直角坐标式机械臂,控制简单,但构造庞大,移动轴的设计复杂。极坐标式机械臂:它由一个滑动关节以及两个旋转关节来确定手爪的位置,也可以附加一个旋转关节来确定部件的姿势。这类机械臂占地面积小,构造紧凑,但有平衡问题,位置误差与臂长有关。多关节式机械臂:其关节都是旋转的,类似于人的手臂,是工业机械臂中最常见的构型。该类机械臂构造紧凑,占地面积小,工作空间大,但是位置精度较差,控制存在耦合,比拟复杂。图1.3~1.6分别对应以上四种机械臂。图1.3直角坐标式机械臂图1.4圆柱坐标式机械臂图1.5极坐标式机械臂图1.6多关节式机械臂1.2机械臂控制的研究内容1.2.1机械臂的驱动方式作为驱动方式,通常采用液压驱动、气压驱动和电机驱动三种类型。液压式:液压驱动机械臂通常由液动机〔各种油缸、油马达〕伺服阀、油泵、油箱等组成驱动系统,由驱动机械臂的执行机构进展工作[7]。气压式:其驱动系统通常由气缸、气阀、气罐和空压机组成。电动式:电力驱动的机械臂是目前应用最广泛的一种类型。驱动电机一般采用步进电机、直流伺服电机或交流伺服电机,其中交流伺服电机为目前主要的驱动形式。由于电机速度高,通常还需要减速机构[8]。1.2.2机械臂的机械构造传统的机械臂系统由于占地面积较大,所以在小空间的环境下不适用。在一些特殊的环境下,我们需要一种占地面积小而且活动灵敏的机械臂。要实现机械手臂的控制,首先要分析机械手臂的机械构造,其中动力源以及动力传递方法应被予以重视。现在,电力传动的机械臂得到了广泛的应用,在动力传动方式上,有连杆式、齿轮式、绳索式等。以关节型为主流,80年代创造的适用于装配作业的平面关节型机械臂约占总量的1/2[9]。鉴于汽车、建筑、桥梁等行业的需要,超大型机械臂应运而生。1.2.3机械臂的控制器选择一个性能较好的控制器对控制功能的实现来说是十分必要的。工业控制技术、软件和硬件技术的开展,为机械臂控制器的选择提供的充分的条件。可编程控制器〔PLC〕由于抗干扰能力强,故障率较低,设备易于扩展、维护,开发周期短等特点,被广泛应用于工业场合[10]。但是其本钱很高。数字信号处理器〔DSP〕采用数据和程序别离的哈佛构造和改良的哈佛构造,执行指令速度更快,它以处理能力强、内置较大的存储器、芯片功耗低及配置资源灵活等特点得到了广泛的应用[11]。但是其本钱较高,高频干扰很大,功率消耗也很大。FPGA〔Field-ProgrammableGateArray〕灵活,设计周期短的特点使其特别适合用于小批量系统,提高系统的可靠性和集成度[12]。但是FPGA的功耗非常大,而且跟硬件的的联系非常大,使用起来很有难度[13]。与上述各种微处理器相比,STM32F103ZET6处理器是意法半导体公司STM32系列芯片的一种,STM32F103ZET6采用ARM最新的Corte*-M3内核,具有低本钱、高集成度、低功耗等优点[14]。ARM微处理器资源丰富,具有很好的通用性,在很多领域都得到了广泛的应用。1.2.4机械臂的控制算法应用于机械臂系统控制方法多种多样,包括传统的PID控制,现代控制的轨迹控制、模糊控制、自适应控制等。PID控制的实用性很强。只要三个参数配适宜当,便可实现速敏捷、平稳准确的控制。工业生产上的机械臂经常采用示教再现的方式。模糊控制和自适应控制精度高,是现代控制领域中应用广泛的控制方法,尤其表达在军工领域和航天领域中。机械臂的研究内容除以上主要内容外,智能化传感器的应用、机器人的编程语言以及网络通讯等技术对于机器人系统也有非常重要的意义。1.3嵌入式系统简介在一般情况下,嵌入式系统是“执行特殊功能并受内部控制器控制的设备或系统〞,即“嵌入到对象体系内的特定计算机系统〞。“嵌入性〞、“专用性〞与“计算机系统〞是嵌入式系统的三个根本要素。它主要负责信号的控制,体积小,可作为一个部件嵌入到所控制的装置中。它提供用户接口、有关管理信息的输入输出等,使设备及应用系统有较高的智能和性价比。进入微型计算机机时代后,科技人员开场了嵌入式系统的研究,之后迅速进入到独立开展的单片机时代,随后又迅速进入到电子技术领域中[15]。嵌入式技术的开展不仅使机器人在微型化、智能化等方面具有更明显的优势,同时又使机器人的价格大幅降低,实现了机器人在更多领域广泛的应用。1.4本文的主要工作该设计主要负责四自由度机械臂控制系统相应的软件、硬件的设计与开发。该设计以四自由度机械臂为控制根底,以STM32F103ZET6为主控芯片,设计的机械臂控制系统,控制精度较高,稳定性较强,具体的内容包括如下几个方面:1.对机械臂系统的硬件设计进展分析,具体的电路以及芯片的选择进展了较为详细的介绍,并对其可靠性进展了深入的分析。2.对舵机的控制理论进展了深入的研究,分析讨论了控制系统所涉及的主控芯片。3.根据四自由度机械臂需要完成的工作任务,编写了系统的软件控制程序,对初始化、运行等模块展开了较为详细的介绍,之后对整个系统进展了反复的调试,调试结果说明,所设计的机械臂控制系统可以实现较为准确的控制。2机械臂控制系统的总体方案设计2.1机械臂的机械构造设计臂部构造设计原则作为机械臂的一个重要组成局部,手臂不仅起到支撑被抓物体、手爪和其他关节的作用,而且还可以驱动手爪抓取物体,并根据事先预定的位置将物体搬运到指定地点[16]。机械臂的构造形式必须基于其运动形式、动作自由度、抓取质量、受力情况和其他的因素来确定,整个系统的总质量比拟大,受力也比拟复杂,其运动部件的质量直接影响到机械臂的刚度和强度。所以,进展手臂的设计时,一般应注意下述要求:〔1〕刚度要大。为了防止机械臂在运动过程中发生较大的形变,要合理选择手臂的截面形状。〔2〕导向性要好。为了防止机械臂在运动过程中发生不必要的相对运动,臂杆最好设计成方形或是花键等形式。〔3〕偏重力矩要小。要尽可能减小机械臂运动局部的质量。该设计根据机械臂的功能及搬运工作的任务的特点以及类型,为了使其在一定程度上具有操作的灵活性和运行性能的良好,经过屡次的比拟、讨论后,该设计选用多关节型的机械臂,它不仅具有动作的角度大的优点,还可以使机械臂在更大的空间内的运动。2.1.2机械臂自由度确实定机械臂的自由度是一个非常重要的参数,取决于机械臂的类型及其构造,并且在很大程度上直接决定到机械臂能否完成预定的任务。一般来说是根据机械臂的用途来设计机械臂的自由度。自由度越多的机械臂,具有更大的运动的灵活性,通用性也越强,但构造较复杂,难以实现。所设计的搬运机械臂采用四个自由度就可以完成设定的搬运任务。其中机械臂的手臂的旋转关节包括腰关节、肩关节、肘关节和腕关节四个关节以及末端手爪的开合。2.2工作对象简介在工业现场采用机械臂进展的工作对象中袋装物品和箱装物品较为是常见的。在一般的情况下,箱装物品由于具有规则的外形,多使用吸附式的手爪;而袋装物品由于具有极易产生形变的特点,多使用夹钳式或者插板式的手爪。在该设计中,由于受机械臂硬件条件的限制,选择夹钳式的手爪搬运箱装物品。模拟的箱装物品的长、宽、高分别是55mm、36mm和30mm。在进展工作对象的选择过程中,共有3种型号可供选择。其中长、宽、高分别是40mm、36mm、和30mm的工作对象由于超声波传感器的反射面较小,所以当其已经运动到指定搬运位置时,传感器不能准确的检测到物体,所以控制精度不够高,放弃采用。而长、宽、高分别是65mm、36mm和30mm的工作对象对于该手爪来说尺寸较大,在抓取和搬运的过程中经常出现掉落的现象,所以没有采用。2.3机械臂关节控制的总体方案2.3.1机械臂控制器类型确实定作为机械臂的心脏,机械臂控制器是根据程序指令和从传感器获得的传感信息来控制机械臂完成事先预定的动作或任务的装置,控制器的性能决定了机械臂控制性能的好坏。从计算机构造、控制方式方面来划分,机械臂控制器大约可分为3种:单CPU集中控制方式、多CPU分布式控制方式、二级CPU主从式控制方式。〔1〕单CPU集中控制方式:单CPU集中控制系统必须是一个强大的控制系统,它的全部控制功能是用一台功能强大的计算机实现的。Hero-Ⅰ、Robot-Ⅰ等这些时代较早的机器人采用的就是这种单CPU集中控制方式的构造,但由于在控制的过程中需要进展大量的计算,因此这种控制方式的控制速度一般比拟慢。〔2〕多CPU分布式控制方式:多CPU分布式控制系统的最大特点就是一个CPU负责控制一个关节轴,同时在上位机与单轴控制的CPU之间设计了一个并行接口,其主要负责上、下位机的通信,从而保证了数据的可靠传输。〔3〕二级主从式控制方式:该控制方式需要主从两个CPU,即上位机和下位的单片机两层构造。上位机负责运动轨迹的规划、运动学计算等任务,根据预定的位置,计算出各个关节的运动量,以指令形式传送给下位的微处理器。下位的微处理器根据指令对各关节进展运动控制。本课题所设计的机械臂系统基于STM32微处理器,利用STM32强大的运算和处理能力,采用单CPU集中控制方式即可满足要求。2.3.2机械臂控制系统构造本课题研究的机械臂控制系统采用单CPU集中控制方式,系统框图如下:计算机J-Link仿真器计算机J-Link仿真器舵机关节执行机构STM32关节控制系统图2.1机械臂控制系统构造图计算机用于完成整个系统的管理、发送指令、运动轨迹规划等。计算机通过J-Link仿真器将程序下载至STM32微处理器,向关节控制系统发出位置指令,STM32根据指令输出PWM波,从而使机械臂的各个关节转过指定的角度,进而使其按照预定的轨迹完成搬运任务。2.3.3关节控制系统的控制策略本课题设计的机械臂关节控制系统以STM32微处理器为核心,对直流伺服电机〔舵机〕进展较为准确的运动控制。关节控制系统的工作原理是:STM32微处理器内部的PWM单元产生PWM信号,驱动直流伺服电机旋转。电机驱动舵机内部的齿轮组,其输出端带动一个线性的比例电位器作为位置检测,该电位器把转角坐标转换为一比例电压反响给控制线路板,控制线路板将其与输入的控制脉冲信号比拟,产生纠正脉冲,并驱动电机正向或者反向的转动,使齿轮组的输出位置与期望值相符,令纠正脉冲最终趋于为0,从而到达使伺服电机的准确定位[17]。该关节控制系统的主要特点如下:〔1〕使用以Conte*-M3为内核的STM32F103ZET6作为系统的微控制器,与传统的51单片机相比起来,具有功耗小,运算能力大大增强的优点。〔2〕采用直流伺服电机驱动机械臂的各个关节,根据STM32微控制器输出的PWM控制信号的占空比来确定直流电动机的转速和转向,控制起来简单,准确。2.4本章小结本章介绍了4自由度机械臂的构造形式,根据腰关节、肩关节、肘关节和腕关节4个旋转关节的运动特点,从整体上确定了该机械臂控制系统的控制方案。首先确定了该关节控制系统采用单CPU集中控制方式,然后说明了关节控制系统的工作原理,最后介绍了本设计的关节控制系统的一些主要特点。3机械臂控制系统硬件设计3.1机械臂控制系统概述机械臂控制系统通常要满足如下几个根本的要求:〔1〕控制系统的微型化、轻型化和模块化。因为机械臂的控制系统是安装在机械臂上的,所以为了安装的方便和减轻机械臂的负载,控制系统应尽可能实现微型化和轻型化;另外,为了到达系统的各单元之间有要求的独立性的目的,要尽量实现模块化。〔2〕控制系统的实时性。为了满足机械臂的输入输出信息量大,并且计算量大,同时要保证较高的控制精度的要求,机械臂控制系统必须具有较好的实时性。〔3〕系统的稳定性和开放性。稳定是保证系统正常运行的前提和保证,所以机械臂控制系统必须具有一定的稳定性以保证系统的低故障率。此外,为了实现控制系统以后的改良和可以方便的移植到其他的位置,这就要求控制系统具有好的开放性[18]。该机械臂控制系统由主控制模块、电机驱动模块和电源模块组成,每个子模块的功能如下:主控制模块:作为该控制系统的核心,包括ARMCorte*-M3内核和有关外围电路,主要负责完成PWM波〔控制信号〕的输出。驱动模块:负责机械臂各个关节的驱动,由舵机组成。电源模块:机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117-3.3V稳压芯片供电,舵机驱动模块采用7.2V可充电电池经LM2596DC-DC可调降压模块实现供电。3.2微处理器选型微控制器作为机械臂运动控制系统的核心,其性能对控制效果起着至关重要的作用,因此高性能的CPU是必需的。微控制器的选择对机械臂系统的设计影响很大,所以要在具体分析了该控制系统的特点和要求后选择适宜的微控制器,应基于整个系统的控制速度及其智能水平两个方面,以如下几个方面为重点进展微控制器的选择:·系统时钟速度·运算速度·功能·电机控制方式·ROM及ROM的大小·控制板的构造尺寸目前,应用于机械臂的微控制器有很多种,最广泛的有8/16位单片机和数字信号处理器两种。选择8/16位单片机进展控制系统的设计简单,开发周期较短,但数据处理能力弱,需要附加很多的外部设备如PID调节器和PWM发生器等才能完成较为复杂的控制,而且系统的稳定性不强,开发板尺寸较大。相比于8/16位单片机,数字信号处理器具有处理能力强、速度快、开发板体积小等特点,但在中断处理、位处理方面,DSP不如单片机的资料多,而且芯片的价格以及其相应的开发软件也比拟贵,针对性性比拟强,但是通用性一般比拟差。具有同等性能的ARM微处理器与DSP相比,资源更加的丰富,通用性明显增强,它所具有的处理速度快、性价比高、功耗低等优点使其得到了广泛的应用。虽然作为32位的微处理器,但是由于ARM内部具有16位的Thumb指令集,这使其能够作为16位的单片机使用,却拥有了32位单片机的处理速度。所以,用单片机和DSP实现的系统,ARM都可以实现。在上述分析的根底上,经过反复比拟,本设计采用意法半导体公司的STM32处理器,如图3.1所示。STM32F103ZET6是基于32位ARMCorte*-M3内核的微处理器,不但支持实时仿真,而且嵌入了512KB的高速闪存。CPU的最高工作频率为72MHz,支持Thumb-2。图3.1STM32STM32的主要特性如下[19~22]:·内核为ARM32位的Corte*-M3CPU:·存储器:512KB的闪存程序存储器;64KB的SRAM;带4个片选的静态存储器控制器。支持CF卡、SRAM、PSRAM、NOR和NAND存储器。·时钟、复位和电源管理:·低功耗:·3个12位的模/数转换器:3倍采样和保持功能;温度传感器。·2通道12位D/A转换器。·12通道DMA控制器:·调试模式:串行单线调试和JTAG接口;Cotte*-M3内嵌跟踪模块。·112个快速I/O端口。·11个定时器。·13个通信接口。·CRC计算单元,96位的芯片唯一代码。3.3主控制模块设计该设计的主控制模块的硬件系统包括电源电路、复位电路、系统时钟电路以及JTAG调试电路四大组成局部。3.3.1电源电路在硬件电路的设计中,电源模块的设计是非常重要的,如果不能妥善处理,不但会使电路不能正常工作,严重的还可能烧毁电路。因此,在设计电源时务必要注意如下几点:〔1〕交流输入和直流输出尽可能保持更大的距离;〔2〕地线要足够粗,单点和多点相结合,同时别离模拟地和数字地;〔3〕散热要好,布局应适宜;图3.2电源电路图STM32开发板支持的供电方式主要有3种,分别是:·USB接口供电,最大为500mA·外部直流5V供电·JLINKV8电源,包括两种方式5V和3.3V如上图所示,当电源开关拨到下面时,开发板由外部接口供电。板上的电源转换芯片将USB接口输入的5V电源转换成3.3V的电源,给处理器和相关外围电路供电。当电源开关拨到上面时,开发板由USB接口供电。板上的电源转换芯片将USB接口输入的5V电源转换成3.3V的电源,给处理器和相关外围电路供电。3.3.2复位电路图3.3复位电路图如上图所示,B1为整个板的复位按钮,当按钮被按下时,STM32处理器、液晶、以太网和音频解码芯片等都将复位。3.3.3时钟电路STM32的VBAT的供电是由CR1220纽扣电池以及外部电源混合完成的,在有外部电源〔VCC3.3〕的情况下,CR1220纽扣电池不给VBAT供电而由外部电源实现供电。但是,当外部电源断开的情况下,CR1220纽扣电池负责给VBAT供电。这样,VBAT总是有电的,以保证RTC的走时以及后备存放器的内容不丧失。相关电路如下:图3.4时钟电路图3.3.4JTAG调试电路软件程序的编写通常是需要屡次的修改才适用的,因此一些比拟先进的调试手段便应运而生。JTAG仿真调试手段作为其中的一种,是由ARM公司提出的。如下列图所示:图3.5JTAG调试电路图通过JTAG接口,我们可以烧录和调试程序,开发板的JTAG接口的硬件连接如上图所示,可以与目前主流的JLINKV8仿真器配合使用。3.4驱动模块设计该机械臂控制系统包括四个旋转的腰关节、肩关节、肘关节和腕关节,以及末端手爪的运动,相应的要五个动力源才能完成目标作业。如第一章所述,广泛使用的驱动方式主要包括液压驱动、气压驱动和电机驱动。三者各有自己的优点和缺点,通常对机械臂的驱动系统的要求有:〔1〕驱动系统的质量不应太重,效率也应较高;〔2〕响应速度快;〔3〕动作灵活,位移偏差以及速度偏差均较小;〔4〕平安可靠;〔5〕操作和维护方便;〔6〕经济合理,占地面积要尽可能的小。基于上述驱动系统的特点和该机械臂驱动系统的设计要求,该设计选用直流伺服电机负责机械臂各个关节的驱动。该设计选用的舵机型号为分别MG995、MG945,如图3.2、3.3,其参数如下:MG995:〔1〕尺寸:40mm×20mm×36.5mm〔2〕重量:62g〔3〕技术参数:无负载速度0.17秒/60度(4.8V)、0.13秒/60度(6.0V)〔4〕扭矩:13KG〔5〕使用温度:-30~~+60摄氏度图3.6MG995舵机MG945:〔1〕尺寸:40mm×20mm×36.5mm〔2〕重量:70g〔3〕技术参数:无负载速度0.23秒/60度(4.8V)、0.20秒/60度(6.0V)〔4〕扭矩:13KG〔5〕使用温度:-30~~+60摄氏度图3.7MG945舵机一般来说,舵机是由舵盘、减速齿轮组、位置反响电位计、直流电机、控制电路板等几个重要局部组成的。信号线把来自于微控制器的控制信号传输到舵机的控制电路板,控制电路板根据相应的控制信号控制电机的转动,同时电机带动齿轮组随之转动,经减速机构减速后传动到输出舵盘。由于舵机的输出轴和位置反响电位计是连接在一起的,所以在舵盘转动的时候会带动位置反响电位计,电位计根据当前位置将一个电压信号反响到控制电路板,然后控制电路板根据电位计反响回来的数据决定电机后续的转动方向和速度,从而使舵机运动到指定的位置后停顿运动,可以实现对位置的准确控制。3.5电源模块设计机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117-3.3V稳压芯片供电,舵机驱动模块采用7.2V可充电电池经LM2596DC-DC可调降压模块实现供电。AMS1117是正向低压降的稳压器,在1A电流下产生1.2V的压降。它的内部所集成有过热保护和限流电路,因此是电池供电和便携式计算机的最正确选择。其特点是:固定的3.3V输出电压,具有1%的精度;低漏失电压;限流功能;过热切断;温度*围-40°C~125°C。经常被应用于笔记本电脑,掌上电脑,电池充电器,手机,电池供电系统,便携式设备等。由AMS1117-3.3V芯片构成的3.3V稳压电路如图3.8所示。图3.83.3V稳压电路LM2596开关电压调节器是降压型电源管理单片集成电路,可以输出最高达3A的驱动电流,同时也有良好的线性和负载调节特性。可调型的LM2596甚至可以输出低于37V的各种电压。LM2596的特性如下:输出电压可调,可调*围为1.2V~37V,误差*围4%;输出特性有良好的线性,并且负载可以调节;驱动能力较强,输出电流可高达3A,输入电压可高达40V;采用150kHz的内部振荡频率,属于第二代开关电压调节器;功耗小、效率高,具有过热保护和限流保护功能等。常用于高效率降压调节器,单片开关电压调节器,正、负电压转换器等。由LM2596构成的5V稳压电路如图3.9所示。图3.95V稳压电路3.6传感器模块设计本设计采用HC-SR04超声波测距模块,检测物体距离超声波传感器的距离。当物体到达指定位置时,控制器发出指令,使机械臂完成动作。HC-SR04超声波测距模块由超声波发射器、超声波接收器与控制电路等三局部组成。它的根本工作原理如下:首先,采用TRIG端口触发测距信号,产生至少10μs的高电平信号;然后,超声波发射器自动发送8个40KHz的方波信号,接收器检测是否有反射的信号返回;如果有信号返回,超声波模块通过ECHO端口输出一个高电平,高电平的持续时间就是超声波从发射到返回的时间。其时序图如下。图3.10超声波时序图3.7本章小结本章首先对机械臂的关节控制系统的硬件组成进展了说明,然后按照模块化的设计思想,分别对以ARM微处理器STM32F103ZET6为核心的主控制模块、由直流伺服电机组成的驱动模块和采用7.2V可充电电池、AMS1117-3.3V稳压芯片和LM2596DC-DC可调降压模块组成的电源模块和超声波传感器模块的工作原理和设计进展了仔细的分析和讨论,并给出了相应模块的实际的电路图或原理图。4机械臂控制系统软件设计如果将硬件比作是机械臂控制系统的身体,则就可以把软件比作是是整个控制系统的大脑,将连接人的思维与系统硬件连接在一起。软件系统的优劣关系到整个机械手系统的正常运行、硬件功能的发挥以及控制性能的优劣等[23]。因此,在进展软件程序的设计之前,必须要先了解整个机械臂控制系统的根本要求,主要有以下三点要求:〔1〕实时性:电机控制一般都是实时控制,则,软件就必须是实时控制软件。实时意味着计算机必须在一定的期限内,完成一系列的处理过程。〔2〕可靠性:可靠性是指在运行过程中,系统防止故障发生,以及故障发生后排除解决故障的能力。因此,为了提高软件的可靠性,在软件设计过程中必须充分考虑电机在运行中出现的不正常现象。〔3〕维护方便:好的控制软件不是一次设计、调试就可以应用的,往往是一边设计一边调试,经过屡次修改才能到达控制要求。所以在开场整体设计时,就必须有好的构造,以提高软件调试的效率,并保证完成的软件具有构造简单、清晰的优点。为了能够使系统调试更加顺利以及功能扩展更加方便,该机械臂控制系统的软件采用模块化构造设计,包括系统时钟与Systick定时器模块,串口通讯模块,PWM〔TIM2〕波输出模块,超声波传感器模块和计数〔TIM4,NVIC〕模块。主程序分为初始化和运行两个模块,在程序上电后初始化模块运行一次,运行模块主要用于电机的控制。4.1初始化模块设计初始化模块主要负责完成如下工作:系统时钟控制存放器RCC的配置,SysTick定时器,TIM定时器,通用输入输出接口GPIO,嵌套向量中断控制器NVIC,PWM波输出,超声波传感器模块的初始化。采用库函数进展编程。4.1.1系统时钟控制STM32CPU的时钟源可以来自内部高速振荡器〔HSI〕、外部高速振荡器〔HSE〕或者内部锁相环〔PLL〕。锁相环需要以HSI或HSE作为时钟来源,两者的差异在于内部高速震荡器HSI不能产生稳定的8MHz的时钟频率。为了获得最大的工作频率,都会通过锁相环配置出最大的72MHz频率,供给Corte*-M3内核使用。在复位操作之后,首先开启HSE并等待其稳定,从而作为PLL的输入。其次,确定锁相环倍频数,使内核工作在最大频率下。该设计以8MHz的HSE作为时钟源,PLL倍频数需要设置为6才能使PLL恰好输出48MHz的频率。在PLL设置好后,Corte*-M3内核就以72MHz的频率运行了,此时,还需要通过改变总线控制存放器设置AHB和APB总线频率。AHB和APB2的最高频率是72MHZ。APB1的最高允许频率是36MHZ。图4.1STM32时钟树本局部的程序流程图如下:开场开场复位系统时钟设置开启外部振荡器HSE是否成功起振并稳定?YN选择AHB,APB1,APB2频率使能锁相环PLL等待PLL输出稳定,成为时钟源完毕图4.2系统时钟初始化流程图与该流程图相对应的程序设计见附录C。4.1.2SysTick定时器SysTick,即系统节拍时钟,它作为ARMCorte*-M3内核的一个内设,和STM32微控制器之间并没有必然的联系。SysTick的存在既能够提供必要的系统节拍,为实时操作系统的任务调度提供一个有节奏的“心跳〞,进而提高可靠性,又方便了程序在不同器件间的移植。系统初始化时,RCC通过AHB时钟(HCLK)8分频后作为Corte*系统定时器(SysTick)的外部时钟。通过对SysTick控制与状态存放器的设置,可选择上述时钟或Corte*(HCLK)时钟作为SysTick时钟。系统嘀嗒校准值固定为9000,当系统嘀嗒时钟设定为9MHz(HCLK/8的最大值),产生1ms时间基准。本局部的程序流程图如下:开场开场设置Systick重装载时间失能Systick定时器设定中断函数,获取节拍使能Systick定时器完毕图4.3SysTick定时器初始化流程图与该流程图相对应的的程序设计见附录C。4.1.3TIM定时器STM32微控制器具备高级定时器TIM1和TIM82个,通用定时器TIM2、TIM3、TIM4和TIM54个以及根本定时器TIM6和TIM72个,再加上RTC和Systick定时器,总数量到达了10个。根本定时器可以为用户提供准确的时间参考;通用定时器不仅具备时间参考功能,还具有输入捕捉、输出比拟、单脉冲输出、PWM输出功能和正交编码器的特点;高级定时器更是参加了可以产生带死区控制的互补PWM信号、紧急制动、定时器同步等高级特征,并最多可以输出6路PWM信号,可谓是意法半导体赋予STM32的王牌。本设计采用TIM2、TIM3的PWM输出功能和TIM4的计数功能。本局部的程序流程图如下:开场开场配置PWM输出引脚设置定时器TIM2各输出通道占空比设置定时器TIM3输出通道1占空比延时1000ms,等待手臂初始化完成设置定时器TIM4计数模式完毕图4.4TIM定时器初始化流程图与该流程图相对应的的程序设计见附录C。4.1.4通用输入输出接口GPIOGPIO可以说是STM32最常用的外设。STM32F103ZET6提供多达112个双向GPIO,分别分布在A~G这7个端口中。每个端口又包括16个GPIO,都可承受5V的压降。GPIO可通过配置存放器工作在如下8种模式:浮空输入、带上拉电阻的输入、带下拉电阻的输入、模拟输入;开漏输出、推挽输出、复用推挽输出、复用开漏输出。该设计中将PA0、PA1、PA2、PA3、PA6作为PWM波的输出口;PA4、PA5作为LED显示接口;PA7、PA8作为超声波传感器信号的接收发送接口;PB6、PB7分别作为串口的发送接收接口。4.1.5超声波传感器模块首先,STM32的PA7端口接超声波传感器的TRIG口,触发测距信号,发出10us的高电平信号;然后,超声波发射器自动发送8个40KHz的方波,接收器检测返回信号;然后,PA8端口接的ECHO发给STM32微控制器一个高电平,用TIM4来测量高电平的持续时间。本局部的程序流程图如下:开场开场配置超声波模块引脚配置并使能TIM4触发超声波模块发射方波,TIM4开场计数触发超声波模块收到反射波,TIM4停顿计数完毕图4.5超声波模块初始化流程图与该流程图相对应的的程序设计见附录C。4.2运行模块设计运行模块的主要任务是:控制器输出PWM波控制舵机的转向及角度,进而实现对各个关节的位置控制。主要工作流程为:在系统上电后,超声波传感器进展循环扫描,检测工件是否到达指定位置,假设到达指定位置,机械臂的各个关节开场运动,完成搬运动作,否则继续扫描。完成一次搬运后,机械臂回到起始位置,进入等待状态,直到下一次动作。流程图如下:将工件搬运到位置1将工件搬运到位置1YY开场RCC,SysTick,TIM,NVIC,GPIO初始化产生PWM波传感器检测物件到位N搬运到位置1将工件搬运到位置2Y搬运到位置2N完毕将工件搬运到位置3N图4.6系统流程图运动子程序、宏定义和相关定义以及完整程序见附录C。4.3本章小结本章首先介绍了软件控制的总体思想,从宏观上分为初始化模块和运行模块;然后分别对各个模块的程序进展设计。其主要内容包括:系统初始化程序设计和基于PWM波的舵机机制程序设计以及相应的配置。5系统的整机调试作为开发过程中的重要环节,系统整机调试对系统运行过程中控制效果的好或是坏有着至关重要的作用,所以,必须进展系统软件、硬件的调试。也就是说一个良好的机械臂控制系统必须经过系统调试才能到达控制系统预期的目的[24]。因为机械臂工作在高风险的环境下,所以它必须是可靠的,对于这样的硬件,其稳定性要求必须很高。一般的情况下首先进展硬件的调试,只有在确定了硬件电路正常的前提下,进展软件的调试才是有意义的。所以,硬件、软件的调试在整个系统的调试过程中都是非常重要的。5.1硬件调试控制系统的硬件主要包括如下几局部:1.机械局部;2.电源及稳压模块;3.直流伺服电机;4超声波传感器;5主控制器。对于机械局部,对应原理图,将机械局部以及舵机安装起来,组装成品,检查零件安装是否适宜,松动要继续固定,直到满意为止。如图5.1所示。图5.1机械臂成品对于电源及稳压模块,采用万用表测量的方法确定电源电压适宜以及稳压模块正常工作。对于舵机,采用舵机测试仪检测和设定舵机的虚位、中位和抖动,用手左右旋转确定舵机均具有180度转角。对于超声波传感器模块,将测试程序写入控制芯片中,通过串口显示的数据确定该模块正常工作。对于主控制器,将其自带的芯片相应的初始化程序下载至STM32芯片里,然后队所需要的各个引脚的输出状况进展测试,如果各个引脚的输出正确,就可以证明芯片是正常的。测试所有硬件局部均正常后,用杜邦线将其按电路原理图连接起来,同时注意布线的整齐以及不能影响机械臂的正常工作。5.2软件调试软件调试的主要任务是通过反复试凑确定PWM波的占空比,进而确定各个关节运动到指定位置需要转过的角度。经反复试凑,各个关节在整个过程中运动到指定位置的占空比方以下各表。表5.1机械臂各关节运动到指定位置的占空比关节占空比*1000动作腰关节肩关节肘关节腕关节手爪-90到+90的理论值25~12525~12525~12525~12525~125-90到+90的实际值41~9524~10341~9641~9658~76直立状态6661696976直立状态如图5.1所示。表5.2机械臂完成动作1各关节运动到指定位置的占空比关节占空比*1000动作腰关节肩关节肘关节腕关节手爪抓取过程6645808573放置过程16658708573放置过程28956859658将工件搬运到位置1的分解动作如下列图所示。图5.2位置1—抓取过程图5.3位置1—放置过程表5.3机械臂完成动作2各关节运动到指定位置的占空比关节占空比*1000动作腰关节肩关节肘关节腕关节手爪抓取过程6645808573放置过程16658708573放置过程24557828858将工件搬运到位置2的分解动作如下列图所示:图5.4位置2—抓取过程图5.5位置2—放置过程表5.4机械臂完成动作3各关节运动到指定位置的占空比关节占空比*1000动作腰关节肩关节肘关节腕关节手爪抓取过程6645808573放置过程16658708573放置过程26680555058将工件搬运到位置3的分解动作如下列图所示:图5.6动作3—抓取过程图5.7动作3—放置过程在进展硬件和软件的单独调试后,按照系统整体连接原理图和器件具体接口及功能,将电源、稳压模块、超声波传感器模块、舵机及控制器进展整体连接。应用STM32开发软件Keil,通过J-Link仿真器将控制程序写入控制器,观察开发板上的电源指示灯及软件上的提示,等程序下载完成后,即可按复位键进展搬运动作的操作。翻开电源模块的开关和开发板上的电源开关,即可听到控制手爪的舵机发出轻微的响声,同时手爪有小幅度的*合动作,这是超声波传感器循环扫描的结果。即可初步判断连接正确,并且舵机也得到了电力供给。移开工件不断接近指定位置,机械臂没有动作。当工件到达指定位置时,超声波传感器发送控制信号给控制器,机械臂动作,完成抓取、搬运、放置一系列动作后,回到初始位置进入等待状态。整个调试的过程中,由于受到来自系统内部以及外部的各种干扰,各个关节旋转的角度有轻微的误差,其中引起位置误差最严重的因素是由于采用可调降压器而使整个系统在运行过程中电压不稳。解决的方法是在调试前先用万用表测量关节驱动系统的输入电压,进展校正,在进展几次调试确定系统比拟准确后再投入使用。将物体搬运到各个指定位置的具体误差如下:位置1的长和宽分别为45mm和32mm,系统将物体搬运到位置1后,在长度方面放置的很准确;宽度方面,会超出指定*围2mm,产生6.25%的误差。位置2的长和宽分别为47mm和33mm,系统将物体搬运到位置2后,在长度方面放置的很准确;宽度方面,会超出指定*围2mm,产生6.06%的误差。位置3的长和宽分别为53mm和35mm,系统将物体搬运到位置3后,在长度方面,会超出指定*围3mm,产生5.67%的误差;宽度方面,会超出指定*围2mm,产生5.71%的误差。5.3故障原因及解决方法在进展整机调试的过程中,并没有很顺利,其中出现过很多问题。当调试出现问题时,一般的步骤是先进展硬件的单独调试以及硬件间接线的检查,当确定硬件没有问题后再检查程序是否正确。我们将设计中遇到的问题以及他们的解决方案列举出来:1.当系统以及单片机供电后,将程序通过J-Link仿真器下载至开发板,按下复位键后,本应直立的机械臂并没有直立,肩关节处有明显的弯曲,同时舵机发出嗡嗡的声音。当用手将机械臂拉直后,这种声音就没有了。以上现象说明肩关节舵机的扭力不是足够大能使其直立,所以更换了MG945舵机。在进展舵机的选型时,扭力是一个重要数据,要充分考虑工件的重量以及机械臂的自重,在留有一定余量的前提下选择舵机。2.当系统以及开发板供电后,通过指示灯初步判断没有异常后,按下复位键,整个系统没有按正常程序工作,经仔细排查,发现控制器和机械臂之间没有共地,将硬件做稍微的改变,控制器和机械臂实现共地后该问题就得以解决。因为如果控制器和机械臂之间没有共地时,舵机就无法正确识别控制器输出的PWM波的上下电平,进而导致其不能正常工作。3.在调试的过程中,偶尔会出现当工件没有接近指定位置时,超声波传感器就将信号传递给控制器,导致机械臂动作。当遇到这个问题时,仔细检查超声波传感器返回的数据,并绘制成折线图,发现毛刺现象非常严重。通过查阅资料得知,超声波反射时,反射面的大小、角度、凹凸程度都会影响反射波的频率,甚至产生驻波。因此,将工件进展打磨、抛光,并在软件上参加数字滤波程序,上述问题才得以解决。4.在最初的几次调试过程中,工件到达指定位置时,机械臂刚有去抓取工件的趋势,却又立即回到原位,并不断重复先后摆动。检查超声波传感器返回的数据后,发现毛刺现象非常严重,距离的上一个测量值在动作*围以内,下一个测量值就超出了该*围,因而会有上述现象产生。在软件上参加数字滤波程序后,上述问题就得以解决了。5.在进展屡次调试后,经常出现整个系统不按正常程序工作的现象。断电检查没有发现任何问题,然而当再次出现这种问题的同时用万用表测量电源电压,发现带载电压过低,而断电后测量,空载电压正常,说明整个机械臂系统工作时是一个很大的负载,并且当电源电压较低时,舵机无法正常工作。所以,在该系统应用的过程中应按时给电池充电,并适当提高降压模块的输出电压。6.在进展整机调试的过程中,由于末端手爪以及被搬运的物体的外表较光滑,经常出现在将物体搬运至位置3的过程中,物体出现翻转的现象;为解决这个问题,要增加末端手爪的摩擦力,解决的方法是在末端手爪上附加一层橡胶。采用这种方法后,在搬运过程中物体翻转的现象就没有再发生。5.4本章小结本章详细描述了该机械臂系统硬件五大局部:机械局部、电源及稳压模块、直流伺服电机、超声波传感器和主控制器的调试过程和结果;软件局部的调试过程及结果。最后,对整个调试过程中出现的故障进展描述和分析,并且通过反复试验,最终找出错误所在,并给出了合理的解决方案。结论机械臂控制系统是当今社会的一项非常重要的研究课题,尽管其开展已经有了一段很长的历史,但是其开展并不完全成熟。无论是学术界、工业还是在教育教学方面都一直在进展着这方面的研究,距离成熟阶段还要有一段时间。本设计是基于STM32四自由度机械臂驱动系统的设计,以四自由度机械臂为控制对象,以意法半导体公司的STM32系列芯片STM32F103ZET6为主控芯片,辅以可调降压转换电路、串口显示和超声波传感器进展了系统的硬件的设计和研究,并在此根底上,采用先进的控制理论,以正确的控制方法为指导,进展了系统的软件设计。在整个系统的设计中,硬件的设计是本论文研究的重点,芯片的选型是系统硬件设计的保证,并且辅以可靠性分析为指导,保证了系统运行的可靠性和稳定性。通过编写控制程序,使主控制器输出PWM波实现对各个关节位置的控制。实验结果说明,本文设计的基于STM32的四自由度机械臂控制系统能够满足中小型机器人控制器的性能要求,在操作灵活度、控制精度、易操作性等方面都表现出良好的性能。然而,仍有一些缺乏之处需要进一步的改良。〔1〕机械臂和传感器改造。作为控制对象,其本身构造、性能直接决定实际运行效果。木文采用的机械臂,尤其机械臂手爪局部更要进一步改良,参加压力等传感器,为控制提供较为完整的信息。〔2〕自动控制算法的完善研究。为了实现机械臂自动协调运行,需要有更加完善的控制算法,尤其在输入参数和机械臂逆向运动方程求解方而,需要更加优化的算法,使计算出的控制参数更加准确和完整。鉴于上述情况,在以后的工作中,我们应该不断改良、完善,以提高该机械臂系统的稳定性以及可靠性。致谢在本论文完成之际,首先要感谢的是我的导师***教师的谆谆教导和耐心的指导。在整个设计阶段,导师对我的设计做了全面的指导和生活上的热情关心,使我不仅在专业理论方面有了很大的提高,更重要的还是使我在动手能力、科研实践能力上有了很大的进步;***教师严格的教学作风,做人的原则,对工作的认真负责是我们以后在工作和学习上的典范。我还要感谢我的所有同学们的热情关心和无私帮助,生活上他们给予了很大的关心,学习上给过很大的帮助,撰写论文时他们又给过很多很好的建议。在课题设计阶段,尤其应该感谢的是***同学的帮助,在研究过程中他给了很多的意见和建议。最后,感谢多年来一直培养教育我的父母和教师们,正是有了他们的指导和教导才成就了今天的我,他们的无私奉献是我永远也报答不完的。再一次向所有关心、帮助我的人表示衷心的感谢!参考文献李团结.机器人技术[M].:电子工业,2009:1.李明.机器人[M].**:**科学技术,2012:3.黄贤新.工业机器人机械手设计[J].装备制造技术,2012,(3)220-225.郭益友.工业机械臂在机械制造工艺中的开展及应用[J].**职业技术学院学报,2002,2(2)36-38.方龙,陈丹,肖献保.基于单片机的机械手臂控制系统设计[J].计算机与信息技术,2012,08(08)89-90.任美玲.机械臂的研究与进展[J].出国与就业,2012,(2)84-85.*少丽.浅谈工业机械手设计[J].工业自动化,2011,40(07)45-46.*忠,朱浩等.工程机械臂新型液压驱动技术研究与仿真[J].中国机械工程,2012,23(23).胡睿智.五自由度机械手臂及控制系统的设计[D].**:东北大学,2011:5.黄辉先,文美纯.多自由度机械手PLC控制[J].机床与液压,2001,(05)92-94.金伟.基于DSP的机械臂控制系统设计[J].自动化与仪器仪表,2001,(03)30-32.*鹏飞,韩九强,周挺.基于多DSP的六自由度机器人伺服控制系统研究[J].微电子学与计算机,2005,22(08)5-9.曹欢.基于ARM和FPGA的多自由度机械臂控制系统设计[D].**:华东理工大学,2011:7.库少平,*晶.基于STM32F10*和MDK的步进电机控制系统设计[J].**理工大学学报,2009,31(03)107-110.*珊珊.基于ARM处理器的钻孔机械臂控制系统研究[D].**:**理工大学,2009:5-6.高微,杨中平,赵荣飞.机械手臂构造优化设计[J].机械设计与制造,2006,(01)13-15.贾伟涛.单片控制机械手臂的设计与制作[J].实用电子制作—机电制作,2006,(05)33-34.王迪.基于ARM的采摘机器人关节运动控制研究[D].**:东北林业大学,2009:12.黄智伟,王兵,朱卫华.STM32F32位ARM微控制器应用设计与实践[M].:航空航天大学,2012:3-4.STMicroelectronicsRM0008ReferencemanualSTM32F101**,STM32F102**,STM32F103**,STM32F105**andSTM32F107**advancedARM-based32–bitMCUs[EB/OL]..st..STMicroelectronicsSTM32F101**,STM32F102**,STM32F103**,STM32F105**和STM32F107**,ARM内核32位高性能微控制器参考手册[EB/OL]..st..STMicroelectronics数据手册STM32G103*CSTM32G103*DSTM32G103*E[EB/OL].://.st..程立艳.五自由度机械手的抓取设计[D].**:西华大学,2012:51.李磊.六自由度机械臂控制系统设计[D].**:**工程大学,2007:66.焦保存.基于四自由度机械臂控制系统的设计与研究[D]**:**电子科技大学,2009:59.附录附录A中文译文A用于平安且方便的人机合作的工业机器人的开展摘要:本文主要论述了用于平安且方便的人机合作的机械臂的开展。到目前为止,对于没有受过机械臂操作培训的工人来说,机械臂仍然是难以操作的。此外,目前的大多数工业机械臂被用于隔离的生产环境中,因为它可能会伤害系统附近的操作人员。为此,本文研究的最终目标是:研究即使是没有受过培训的工人也能熟练使用,并且能够保证在其附近工作的操作人员的平安的机械臂。本文主要介绍了机械臂的机械构造,并且对机械臂的教学方法——直接教学法也有所介绍。关键词:智能执行器,扭矩传感,直观教学,平安机器人机械臂。1.简介到目前为止,对于没有受过机械臂操作培训的工人来说机械臂仍然是难以操作的。此外,目前的大多数工业机械臂被用于隔离的生产环境中,因为它可能会伤害系统附近的操作人员。为了克制这些问题,我们研究的直接教学方法,使即使是没有受过专业培训的工人也能熟练操作机械臂;同时,我们研究的更加平安的方法,使机械臂能够检测到危险的情况,同时能够做出正确的反响以确保操作人员的平安。在本文中,介绍了机械臂的设计理念、单自由度扭矩传感器的智能驱动模块。智能驱动模块,可以检测由外力引起的扭矩,检测到的扭矩可用于平安地操作机械手。最后,介绍了用于机械臂的直接教学算法。2.设计理念目前的机械臂都有一个智能驱动模块,也就是在机械臂的内部有一个控制器。但在本项研究中,驱动模块内部并没有控制器,但我们称之为智能执行器是因为它有一个特殊的能力来检测由外部环境引起的扭矩。例如,如果工人转动轴,它可以检测由工人引起的外部转矩。如果检测到的外部转矩用于控制转轴按控制器的指示运动,执行机构必须遵守扭矩控制。如果检测到的外部转矩是由机械臂与操作者之间的碰撞引起的,转轴应被控制,以减少检测到的外部力矩来保护操作者。由此,智能驱动模块被开发,如图1所示。图1带有单自由度扭矩传感器的智能执行器随着驱动模块的开发,出现了六轴机器人机械臂。对于每个轴,如图1所示的驱动模块将被嵌入到机械臂的各个轴用以检测由外部环境引起的外部转矩。如果扭矩传感器位于末端执行器,机械臂可以检测出加载在端部执行器的力矩,但它不能检测到除了机械臂末端执行器以外的加载在整个身体上其他部位的力矩。图2为这种机械臂及其控制系统。图2带有图1中智能执行器的机械手用于驱动模块的外部转矩检测,单自由度的扭矩传感器是足够的。如图3所示。图3单自由度的扭矩传感器扭矩传感器在关节轴〔Z轴〕读取单自由度扭矩信号。但是,当出现3自由度的力或加载在*,Y轴的2自由度的力矩时,那些信号干扰转矩传感器的关节轴的输出信号,机器人控制器便不能准确的测量在z轴方向的转矩信号。因此,一对穿插滚子轴承被安装在1自由度的转矩传感器上,防止3自由度的力和在*,Y轴的2自由度的力矩干扰z轴的扭矩传感器信号图,如图4所示。在图4中,你可以看到转矩传感器和穿插滚子轴承是如何配备在智能执行器模块上的。在这种构造中,唯一的关节轴转矩信号,如图4所示,会影响转矩传感器的输出,因为其他的力和力矩可以被配备在转矩传感器上穿插滚子轴承所抵消。图4智能驱动器模块的构造本文所设计的机械臂由带有扭矩传感器的6智能驱动模块组成,它可以检测到整个身体上所有的力和力矩。因此,如果检测到的外部转矩是由机械臂和操作人员之间的碰撞产生的,该轴可以被控制以减少对操作人员的伤害。该项为人类平安而设计的算法并没有完成,本文便不做介绍了。图5每个关节配有一个扭矩传感器的机械臂3.直接教学算法为了帮助操作人员轻松操作机械臂,这项研究中讨论了直接教学算法。在本章中将对此做简要介绍。操作人员可以推或拉机械臂的操盘以指定作业所需的轨迹〔焊接,去毛刺或感应淬火〕,然后机械手臂会按操作人员的意图得到控制,同时记忆运动轨迹,在操作人员的教学过程完成后机械臂便回放轨迹。特别地,有时教学过程可以在机械臂的工作状态下完成。如果工件是安装在任意位置取向,或者如果工件上的信息〔例如,形状〕是不够的如果没有额外的感官系统,视觉,激光扫描仪等,则机械臂本身是不能正常工作的,。在这种情况下,人类与机器人合作可以是一个很好的解决方法。如果操作人员可以很容易地让机械臂知道工件上的信息,然后机械臂可以依据所收集的信息自己工作。为此,教学柄和教学工具被装配在机械臂末端执行器上。一个力—扭矩传感器被配备在教学柄和教学工具上,分别如图6所示。图1描述了上述概念。在图1的左侧,依据控制方案得到控制的机械臂被引导按照力的作用而动作。在图1的右侧,机械臂按照手动指导重建工件上的信息来工作〔如磨削工件〕。图6手动引导的机械臂在图6中,操作人员将力和力矩给教学柄,机械臂按照符合教学的力和力矩被控制,最后机械臂被手动引导到接近到操作员打算到达的工件上。在教学过程中工具与工件接触,所以对于操作人员来说准确的控制力和力矩是不容易的。因为操作人员不知道他/她的教学力将导致多少刀具和工件的接触力。出于此,提出修改教学力的方法以减小其与工件外表的小接触力。机械臂和接触力之间的阻抗特性也被用来实现机械臂对接触力的跟随。本文所提出的控制器的整体构造如图7。图7考虑接触的控制构造图在手动指导过程中,机械臂可记忆真正的运动轨迹并且在完成后机械臂可以重建工件上的信息。对于重建工件上的信息的调查将在以后得到解决。4.结论本文主要介绍了用于人机合作的机械臂,设计理念,带有转矩传感器的智能执行器的相关细节和直接教学算法。附录B图1机械臂驱动系统电路原理图附录C主程序设计:intmain(void){ RCC_Init(); Systick_Configuration(); JTAG_Set(0); USART_Configuration(); led_Config(); E*TI_Config(); NVIC_Config(); PWM_Init(); ultrasonic_mode(); while(1) { HC_SR04_Trig(); while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==0); TIM_Cmd(TIM4,ENABLE); while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==1); TIM_Cmd(TIM4,DISABLE); HC_SR04_Count(); Delay_ms(5); distance_mm=average_filter(distance_mm,50); if(distance_old!=distance_mm) { if(distance_mm>4000) { printf("distance>4m!Itcannotbereached!\n"); key=0; } elseif(distance_mm<20) key=0; elseif(distance_mm>156&&distance_mm<173) { printf("distance=%dmm\n",distance_mm); key=1; } else { printf("distance=%dmm\n",distance_mm); key=0; } } if((key==1)&&(i==0)) { GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_RESET); GPIO_WriteBit(GPIOA,GPIO_Pin_5,Bit_SET); ii++; if((ii%3)==1) action_1(); elseif((ii%3)==2) action_2(); elseif((ii%3)==0) action_3(); distance_old=distance_mm; key=0; } else { GPIO_WriteBit(GPIOA,GPIO_Pin_5,Bit_RESET); GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_SET); standstill(); } }}RCC初始化程序设计:voidRCC_Init(void){ ErrorStatusHSEStartUpStatus; RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); HSEStartUpStatus=RCC_WaitForHSEStartUp(); if(HSEStartUpStatus==SUCCESS) { RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_6) RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource()!=0*08); }}系统Systick初始化程序设计:voidSystick_Configuration(void){ if(SysTick_Config(SystemCoreClock/1000000)) { while(1); } SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;}voidDelay_s(__IOu32time){ uint16_ti; for(i=0;i<1000;i++) { Delay_ms(time); } Delay_ms(time*1000);}voidDelay_ms(__IOu32time){ uint16_ti; for(i=0;i<667;i++) { Delay_us(time); } Delay_us(time*1000);}voidDelay_us(__IOu32nTime){ TimingDelay=nTime; SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; while(TimingDelay!=0);}voidTimingDelay_Decrement(void){ if(TimingDelay!=0*00) { TimingDelay--; }}voidDelay(__IOuint32_tnCount){ for(;nCount!=0;nCount--);}USART初始化程序设计:voidUSART_Configuration(void){ GPIO_InitTypeDefGPIO_Init
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淘气堡销售合同范本
- 保安退休返聘劳务合同范本
- 境外劳务派遣雇佣合同范本
- 纸皮厂员工合同范本
- 2027年食品投资合同范本(项目融资附带收益计划)
- 大型种兔养殖合作合同范本
- 铸铁水篦子采购合同范本
- 正规欠款个人合同范本
- 电商销售提成合同范本
- 遮阳篷劳务合同范本
- T/JSSES 64-2025污水处理厂低碳运行管理技术指南
- 2026年七十岁老年人三力测试模拟附答案
- 2026年及未来5年市场数据中国铜拉丝行业市场全景分析及投资规划建议报告
- 《老年人活动策划与组织》智慧健康养老专业全套教学课件
- 2025-2030中国燕窝市场供需现状分析及投资盈利性风险预警研究报告
- 2025~2026学年贵州省贵阳市第十九中学上学期期中考试八年级数学试卷
- 食品安全说课稿课件下载
- 建筑施工企业安全总监职责
- 房屋租赁合同终止协议书
- 2024年四川成都职业技术学院编制外招聘考试真题
- 中国糖尿病足诊治指南(全文版)
评论
0/150
提交评论