1 / 25
文档名称:

基于STM32的机械臂运动控制分析设计说明书.pdf

格式:pdf   大小:2,404KB   页数:25页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于STM32的机械臂运动控制分析设计说明书.pdf

上传人:青山代下 2024/5/14 文件大小:2.35 MB

下载得到文件列表

基于STM32的机械臂运动控制分析设计说明书.pdf

文档介绍

文档介绍:该【基于STM32的机械臂运动控制分析设计说明书 】是由【青山代下】上传分享,文档一共【25】页,该文档可以免费在线阅读,需要了解更多关于【基于STM32的机械臂运动控制分析设计说明书 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:........机器人测控技术大作业课程设计课程设计名称:基于STM32的机械臂运动控制分析设计专业班级:自动1302学生姓名:鹏涛学号:201323020219指导教师:曹毅课程设计时间:2016-4-28~2016-5-16指导教师意见:成绩:签名:年月日目录摘要...............................................................IV第一章运动模型建立..................................................:...........................................................................................................................................VII第二章机械臂控制系统的总体方案设计...................................................................................................................................................................................................................................................................X第三章机械臂控制系统硬件设计..................................................................................................................................................................................................................................................................................................................................................................................................................................XVI第四章机械臂控制系统软件设计...............................................................................................................................................................................................................................................................XX总结..............................................................XXI参考文献.........................................................XXII附录A..........................................................XXIII附录B............................................................:........设计要求:设计一个两连杆机械臂,具体参数自行设计,建立其运动学模型,然后在此基础上完成该机械臂两点间的路径规划,并给出仿真结果。设计完成上述目标的控制系统,控制器可以自行选择(单片机,ARM,DSP,PLC等),其他硬件部分根据系统所需要完成的功能自行选择,基本要求要体现系统的输入,输出信号和人机交互界面,画出整个系统的硬件结构(电路模块,驱动模块,控制模块等)和软件部分。.下载可编辑.:........摘要由于机械臂在各行各业中得到了愈来愈广泛的应用,机械臂控制的多样化、复杂化的需要也随之日趋增多。作为当今科技领域研究的一个热点,提高机械臂的控制精度、稳定性、操作灵活性对于提高其应用水平有着十分重要的意义。经过仔细的分析和研究之后,我选择的是STM32单片机进行控制,而自由臂选择工业中常见的四自由臂进行设计和建模分析,运动的控制选用舵机进行控制。首先根据机械臂系统的控制要求,整体上设计出单CPU的系统控制方案,即通过控制主控制器输出的PWM波的占空比实现对舵机转动的控制,进而实现各个关节的位置控制。在硬件方面,主要论述了如何以ARM微处理器STM32F103ZET6、MG995舵机为主要器件,通过搭建硬件平台和设计软件控制程序构建关节运动控制系统。然后按照结构化设计的思想,依次对以上各部分的原理和设计方法进行了分析和探讨,给出了实际的原理图和电路图。在软件设计方面,按照模块化的设计思想将控制程序分为初始化模块和运行模块,并分别对各个模块的程序进行设计。关键词:四自由度机械臂,STM32,运动模型,.:........。机器人在工作时,要通过空间中一系列的点组成的三维空间点域,这一系列空间点构成了机器人的工作围,此工作围可通过运动学正解求得。此外,根据机器人末端执行器的位置和姿态要求,通过运动学逆解求得各个关节转角,可以实现对机器人进行运动分析、离线编程、轨迹规划等工作。机器人控制的目的就在于它能快速确定位置,这使得机器人的运动学正逆解问题变得更为重要。只有计算与运动学正逆解问题相关的变换关系在尽可能短时间完成,才能达到快速准确的目的。在运动学方程正解过程中,只体现在矩阵相乘关系上,相对简单。,故为四自由度机器人,。;用4×4的齐次变换矩阵来描述相邻两杆的空间几何关系;从而推导出机器人手爪坐标系相对于参考坐标系的空间位姿关系,利用该法得到的D-H参数如表1所示。.下载可编辑.:........-H参数连杆变换表示连杆坐标系{i}相对于{i-1}的变换,根据连杆变换的通式:(1)其中:得到各连杆之间的变换矩阵(2).下载可编辑.:........(3)(4)式中:s1,s2,s3,s4;c1,c2,cs3,c4分别表示sinθ1,sinθ2,sinθ3,sinθ4;cosθ1,cosθ2,cosθ3,cosθ4以下同。由矩阵(1)可知:连杆变换依赖于四个参数和,其中只有一个参数是变化的,对于本文所研究的机器人,显然只有为变量,其余三个参数为常量。:在已知机器人各关节变量θi(i=1,…,n)的基础上,求解出机器人末端执行器的位置矢量p和姿态矢量n,o,a的过程。将连杆变换矩阵(2)~(4)相乘,便得到了该机器人手爪的运动学方程(5)其中,.:........机器人手爪的位置方程为为检验所得结果的正确性,取θ1=90°,θ2=0°,θ3=-90°,θ4=0°计算的值。结果为:与图1所示机器人手爪的位姿完全一致,表明所得结果正确。这样只要知道关节变量θ1,θ2,θ3和,θ4的值,就可以完全确定机器人手爪的位置和姿态。,手臂不仅起到支撑被抓物体、手爪和其他关节的作用,而且还可以驱动手爪抓取物体,并根据事先预定的位置将物体搬运到指定地点。机械臂的结构形式必须基于其运动形式、动作自由度、抓取质量、受力情况和其他的因素来确定,整个系统的总质量比较大,受力也比较复杂,其运动部件的质量直接影响到机械臂的刚度和强度。所以,进行手臂的设计时,一般应注意下述要求:(1)刚度要大。为了避免机械臂在运动过程中发生较大的形变,要合理选择手臂的截面形状。(2)导向性要好。为了避免机械臂在运动过程中发生不必要的相对运动,.下载可编辑.:........臂杆最好设计成方形或是花键等形式。(3)偏重力矩要小。要尽可能减小机械臂运动部分的质量。该设计根据机械臂的功能及搬运工作的任务的特点以及类型,为了使其在一定程度上具有操作的灵活性和运行性能的良好,经过多次的比较、讨论后,该设计选用多关节型的机械臂,它不仅具有动作的角度大的优点,还可以使机械臂在更大的空间的运动。,取决于机械臂的类型及其结构,并且在很大程度上直接决定到机械臂能否完成预定的任务。一般来说是根据机械臂的用途来设计机械臂的自由度。自由度越多的机械臂,具有更大的运动的灵活性,通用性也越强,但结构较复杂,难以实现。所设计的搬运机械臂采用四个自由度就可以完成设定的搬运任务。其中机械臂的手臂的旋转关节包括腰关节、肩关节、肘关节和腕关节四个关节以及末端手爪的开合。,机械臂控制器是根据程序指令和从传感器获得的传感信息来控制机械臂完成事先预定的动作或任务的装置,控制器的性能决定了机械臂控制性能的好坏。从计算机结构、控制方式方面来划分,机械臂控制器大约可分为3种:单CPU集中控制方式、多CPU分布式控制方式、二级CPU主从式控制方式。(1)单CPU集中控制方式:单CPU集中控制系统必须是一个强大的控制系统,它的全部控制功能是用一台功能强大的计算机实现的。Hero-Ⅰ、Robot-Ⅰ等这些时代较早的机器人采用的就是这种单CPU集中控制方式的结构,但由于在控制的过程中需要进行大量的计算,因此这种控制方式的控制速度一般比较慢。(2)多CPU分布式控制方式:多CPU分布式控制系统的最大特点就是一个CPU负责控制一个关节轴,.:.......(3)二级主从式控制方式:该控制方式需要主从两个CPU,即上位机和下位的单片机两层结构。上位机负责运动轨迹的规划、运动学计算等任务,根据预定的位置,计算出各个关节的运动量,以指令形式传送给下位的微处理器。下位的微处理器根据指令对各关节进行运动控制。本课题所设计的机械臂系统基于STM32微处理器,利用STM32强大的运算和处理能力,采用单CPU集中控制方式即可满足要求。,系统框图如下:J-、发送指令、运动轨迹规划等。计算机通过J-Link仿真器将程序下载至STM32微处理器,向关节控制系统发出位置指令,STM32根据指令输出PWM波,从而使机械臂的各个关节转过指定的角度,进而使其按照预定的轨迹完成搬运任务。,对直流伺服电机(舵机)进行较为精确的运动控制。关节控制系统的工作原理是:STM32微处理器部的PWM单元产生PWM信号,驱动直流伺服电机旋转。电机驱动舵机部的齿轮组,其输出端带动一个线性的比例电位器作为位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路..:.......控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或者反向的转动,使齿轮组的输出位置与期望值相符,令纠正脉冲最终趋于为0,从而达到使伺服电机的精确定位[17]。该关节控制系统的主要特点如下:(1)使用以Contex-M3为核的STM32F103ZET6作为系统的微控制器,与传统的51单片机相比起来,具有功耗小,运算能力大大增强的优点。(2)采用直流伺服电机驱动机械臂的各个关节,根据STM32微控制器输出的PWM控制信号的占空比来确定直流电动机的转速和转向,控制起来简单,准确。:(1)控制系统的微型化、轻型化和模块化。(2)控制系统的实时性。(3)系统的稳定性和开放性。该机械臂控制系统由主控制模块、电机驱动模块和电源模块组成,每个子模块的功能如下:主控制模块:作为该控制系统的核心,包括ARMCortex-M3核和有关外围电路,主要负责完成PWM波(控制信号)的输出。驱动模块:负责机械臂各个关节的驱动,由舵机组成。电源模块:机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117-,-DC可调降压模块实现供电。,如下几个方面为重点进行微控制..:.......★系统时钟速度★运算速度★功能★电机控制方式★ROM及ROM的大小★控制板的结构尺寸经过反复比较,本设计采用意法半导体公司的STM32处理器,。STM32F103ZET6是基于32位ARMCortex-M3核的微处理器,不但支持实时仿真,而且嵌入了512KB的高速闪存。CPU的最高工作频率为72MHz,支持Thumb-2。、复位电路、系统时钟电路以及JTAG调试电路四大组成部分。,电源模块的设计是非常重要的,如果不能妥善处理,不但会使电路不能正常工作,严重的还可能烧毁电路。因此,在设计电源时务必要注意如下几点:(1)交流输入和直流输出尽可能保持更大的距离;(2)地线要足够粗,单点和多点相结合,同时分离模拟地和数字地;(3)散热要好,布局应合适;..:.......,。,。,B1为整个板的复位按钮,当按钮被按下时,STM32处理器、TFT彩屏等都将复位。,在有外部电源()的情况下,VBAT供电而由外部电源实现供电。但是,当外部电源断开的情况下,RTC的走时以及后备寄存器的容就会丢失。相关电路如下:..:.......,因此一些比较先进的调试手段便应运而生。JTAG仿真调试手段作为其中的一种,是由ARM公司提出的。本设计采用占用IO口资源少的SWD调试,只需JTAG仿真器上的4根线就能完成,如下图所示:,我们可以烧录和调试程序,开发板的JTAG接口的硬件连接如上图所示,可以与目前主流的JLINKV8仿真器配合使用。:(1)驱动系统的质量不应太重,效率也应较高;(2)响应速度快;(3)动作灵活,位移偏差以及速度偏差均较小;(4)安全可靠;..:.......5)操作和维护方便;(6)经济合理,占地面积要尽可能的小。基于上述驱动系统的特点和该机械臂驱动系统的设计要求,该设计选用直流伺服电机负责机械臂各个关节的驱动。该设计选用的舵机型号为分别MG995,、,其参数如下:MG995:(1)尺寸:40mm×20mm×(2)重量:62g(3)技术参数:()、()(4)扭矩:13KG(5)使用温度:-30~~+60摄氏度(6)死区设定:4微秒(7)工作电压:-,舵机是由舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路板等几个重要部分组成的。信号线把来自于微控制器的控制信号传输到舵机的控制电路板,控制电路板根据相应的控制信号控制电机的转动,同时电机带动齿轮组随之转动,经减速机构减速后传动到输出舵盘。由于舵机的输出轴和位置反馈电位计是连接在一起的,所以在舵盘转动的时候会带动位置反馈电位计,电位计根据当前位置将一个电压信号反馈到控制电路板,然后控制电路板根据电位计反馈回来的数据决定电机后续的转动方向和速度,从而使舵机运动到指定的位置后停止运动,可以实现对位置的精确控制。..:........,STM32单片机经过AMS1117-,-DC可调降压模块实现供电。AMS1117是正向低压降的稳压器,。它的部所集成有过热保护和限流电路,因此是电池供电和便携式计算机的最佳选择。由AMS1117-。,可以输出最高达3A的驱动电流,同时也有良好的线性和负载调节特性。可调型的LM2596甚至可以输出低于37V的各种电压。LM2596的特性如下:输出电压可调,~37V,误差围4%;输出特性有良好的线性,并且负载可以调节;驱动能力较强,输出电流可高达3A,输入电压可高达40V;采用150kHz的部振荡频率,属于第二代开关电压调节器;功耗小、效率高,具有过热保护和限流保护功能等。常用于高效率降压调节器,单片开关电压调节器,正、负电压转换器等。。.下载可编辑.:........:的配置,SysTick定时器,TIM定时器,通用输入输出接口GPIO,嵌套向量中断控制器NVIC,PWM波输出,超声波传感器模块的初始化。采用库函数进行编程。(HSI)、外部高速振荡器(HSE)或者部锁相环(PLL)。锁相环需要以HSI或HSE作为时钟来源,两者的差别在于部高速震荡器HSI不能产生稳定的8MHz的时钟频率。为了获得最大的工作频率,都会通过锁相环配置出最大的72MHz频率,供给Cortex-M3核使用。流程图如下:开始复位系统时钟设置开启外部振荡器HSEN是否成功起振并稳定?.,APB1,APB2频率:........,即系统节拍时钟,它作为ARMCortex-M3核的一个设,和STM32微控制器之间并没有必然的联系。SysTick的存在既能够提供必要的系统节拍,为实时操作系统的任务调度提供一个有节奏的“心跳”,进而提高可靠性,又方便了程序在不同器件间的移植。系统初始化时,RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex(HCLK)时钟作为SysTick时钟。系统嘀嗒校准值固定为9000,当系统嘀嗒时钟设定为9MHz(HCLK/8的最大值),产生1ms时间基准。本部分的程序流程图如下:开始设置Systick重装载时间失能Systick定时器设定中断函数,:........,通用定时器TIM2、TIM3、TIM4和TIM54个以及基本定时器TIM6和TIM72个,再加上RTC和Systick定时器,总数量达到了10个。基本定时器可以为用户提供准确的时间参考;通用定时器不仅具备时间参考功能,还具有输入捕捉、输出比较、单脉冲输出、PWM输出功能和正交编码器的特点;高级定时器更是加入了可以产生带死区控制的互补PWM信号、紧急制动、定时器同步等高级特征,并最多可以输出6路PWM信号,可谓是意法半导体赋予STM32的王牌。本设计采用TIM2、TIM3的PWM输出功能和TIM4的计数功能。本部分的程序流程图如下:,等待手臂初始化完成:........。STM32F103ZET6提供多达112个双向GPIO,分别分布在A~G这7个端口中。每个端口又包括16个GPIO,都可承受5V的压降。GPIO可通过配置寄存器工作在如下8种模式:浮空输入、带上拉电阻的输入、带下拉电阻的输入、模拟输入;开漏输出、推挽输出、复用推挽输出、复用开漏输出。该设计中将PA0、PA1、PA2、PA3、PA6作为PWM波的输出口;PA4、PA5作为LED显示接口;PA7、PA8作为超声波传感器信号的接收发送接口;PB6、PB7分别作为串口的发送接收接口(人机交互)。,STM32的PA7端口接超声波传感器的TRIG口,触发测距信号,发出10us的高电平信号;然后,超声波发射器自动发送8个40KHz的方波,接收器检测返回信号;然后,PA8端口接的ECHO发给STM32微控制器一个高电平,用TIM4来测量高电平的持续时间。本部分的程序流程图如下:,TIM4开始计数:........,尽管其发展已经有了一段很长的历史,但是其发展并不完全成熟。无论是学术界、工业还是在教育教学方面都一直在进行着这方面的研究,距离成熟阶段还要有一段时间。本设计是基于STM32四自由度机械臂驱动系统的设计,以四自由度机械臂为控制对象,以意法半导体公司的STM32系列芯片STM32F103ZET6为主控芯片,人机交互的串口显示进行了系统的硬件的设计和研究,并在此基础上,.:........控制理论,以正确的控制方法为指导,进行了系统的软件设计。在整个系统的设计中,硬件的设计是本论文研究的重点,芯片的选型是系统硬件设计的保证,并且辅以可靠性分析为指导,保证了系统运行的可靠性和稳定性。通过编写控制程序,使主控制器输出PWM波实现对各个关节位置的控制。参考文献[1][J].出国与就业,2012,(2)84-85.[2][J].工业自动化,2011,40(07)45-46.[3]忠,[J].中国机械工程,2012,23(23).[4][D].:东北大学,2011:5.[5]黄辉先,[J].机床与液压,2001,(05).下载可编辑.:........92-94.[6][J].自动化与仪器仪表,2001,(03)30-32.[7]鹏飞,韩九强,[J].微电子学与计算机,2005,22(08)5-.:.........:.........