版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.机器人测控技术大作业课程设计 课程设计名称:基于STM32的机械臂运动控制分析设计专业班级:自动1302 学生*:鹏涛 *:9 指导教师: 毅 课程设计时间:2016-4-282016-5-16 指导教师意见:成绩:签名: 年 月 日目录TOC o 1-3 h u HYPERLINK l _Toc3593 摘要 PAGEREF _Toc3593 1 HYPERLINK l _Toc27040 第一章 运动模型建立 PAGEREF _Toc270402 HYPERLINK l _Toc1052 1.1引言 PAGEREF _Toc1052 2 HYPERLINK l _Toc8850
2、1.2机器人运动学模型的建立 PAGEREF _Toc8850 2 HYPERLINK l _Toc23646 1.2.1运动学正解 PAGEREF _Toc23646 4 HYPERLINK l _Toc4766 第二章 机械臂控制系统的总体方案设计 PAGEREF _Toc4766 5 HYPERLINK l _Toc7012 2.1机械臂的机械构造设计 PAGEREF _Toc7012 5 HYPERLINK l _Toc15148 2.1.1臂部构造设计原则 PAGEREF _Toc15148 5 HYPERLINK l _Toc14199 2.1.2机械臂自由度确实定 PAGEREF
3、 _Toc14199 6 HYPERLINK l _Toc20959 2.2机械臂关节控制的总体方案 PAGEREF _Toc20959 6 HYPERLINK l _Toc11840 2.2.1机械臂控制器类型确实定 PAGEREF _Toc11840 6 HYPERLINK l _Toc18944 2.2.2机械臂控制系统构造 PAGEREF _Toc18944 7 HYPERLINK l _Toc2307 2.2.3关节控制系统的控制策略 PAGEREF _Toc2307 7 HYPERLINK l _Toc26210 第三章 机械臂控制系统硬件设计 PAGEREF _Toc26210
4、8 HYPERLINK l _Toc19326 3.1机械臂控制系统概述 PAGEREF _Toc19326 8 HYPERLINK l _Toc32564 3.2微处理器选型 PAGEREF _Toc32564 9 HYPERLINK l _Toc27361 3.3主控制模块设计 PAGEREF _Toc27361 9 HYPERLINK l _Toc17312 3.3.1电源电路 PAGEREF _Toc17312 9 HYPERLINK l _Toc5507 3.3.2复位电路 PAGEREF _Toc5507 10 HYPERLINK l _Toc15657 3.3.3时钟电路 PAG
5、EREF _Toc15657 10 HYPERLINK l _Toc6460 3.3.4 JTAG调试电路 PAGEREF _Toc6460 11 HYPERLINK l _Toc19231 3.4驱动模块设计 PAGEREF _Toc19231 12 HYPERLINK l _Toc25998 3.5电源模块设计 PAGEREF _Toc25998 13 HYPERLINK l _Toc16045 第四章 机械臂控制系统软件设计 PAGEREF _Toc16045 14 HYPERLINK l _Toc20475 4.1初始化模块设计 PAGEREF _Toc20475 14 HYPERLI
6、NK l _Toc17476 4.1.1系统时钟控制 PAGEREF _Toc17476 14 HYPERLINK l _Toc13377 4.1.2 SysTick定时器 PAGEREF _Toc13377 15 HYPERLINK l _Toc28018 4.1.3 TIM定时器 PAGEREF _Toc28018 16 HYPERLINK l _Toc5976 4.1.4通用输入输出接口GPIO PAGEREF _Toc5976 17 HYPERLINK l _Toc1641 4.1.5超声波传感器模块 PAGEREF _Toc1641 17 HYPERLINK l _Toc27485
7、总结 PAGEREF _Toc27485 19 HYPERLINK l _Toc31934 参考文献 PAGEREF _Toc31934 20 HYPERLINK l _Toc17358 附录A PAGEREF _Toc17358 21 HYPERLINK l _Toc2351 附录B PAGEREF _Toc2351 22-. z.设计要求: 设计一个两连杆机械臂,具体参数自行设计,建立其运动学模型,然后在此根底上完成该机械臂两点间的路径规划,并给出仿真结果。设计完成上述目标的控制系统,控制器可以自行选择单片机,ARM,DSP,PLC等,其他硬件局部根据系统所需要完成的功能自行选择,根本要求
8、要表达系统的输入,输出信号和人机交互界面,画出整个系统的硬件构造电路模块,驱动模块,控制模块等和软件局部。摘要由于机械臂在各行各业中得到了愈来愈广泛的应用,机械臂控制的多样化、复杂化的需要也随之日趋增多。作为当今科技领域研究的一个热点,提高机械臂的控制精度、稳定性、操作灵活性对于提高其应用水平有着十分重要的意义。经过仔细的分析和研究之后,我选择的是STM32单片机进展控制,而自由臂选择工业中常见的四自由臂进展设计和建模分析,运动的控制选用舵机进展控制。首先根据机械臂系统的控制要求,整体上设计出单 CPU 的系统控制方案,即通过控制主控制器输出的 PWM 波的占空比实现对舵机转动的控制,进而实现
9、各个关节的位置控制。在硬件方面,主要论述了如何以 ARM 微处理器STM32F103ZET6、MG995舵机为主要器件,通过搭建硬件平台和设计软件控制程序构建关节运动控制系统。然后按照构造化设计的思想,依次对以上各局部的原理和设计方法进展了分析和探讨,给出了实际的原理图和电路图。在软件设计方面,按照模块化的设计思想将控制程序分为初始化模块和运行模块,并分别对各个模块的程序进展设计。关键词:四自由度机械臂,STM32,运动模型,脉冲宽度调制运动模型建立1.1引言机器人运动学描述了机器人关节与组成机器人的各刚体之间的运动关系。 机器人在工作时,要通过空间中一系列的点组成的三维空间点域,这一系列空间
10、点构成了机器人的工作围,此工作围可通过运动学正解求得。此外,根据机器人末端执行器的位置和姿态要求,通过运动学逆解求得各个关节转角,可以实现对机器人进展运动分析、离线编程、轨迹规划等工作。机器人控制的目的就在于它能快速确定位置,这使得机器人的运动学正逆解问题变得更为重要。只有计算与运动学正逆解问题相关的变换关系在尽可能短时间完成,才能到达快速准确的目的。在运动学方程正解过程中,只表达在矩阵相乘关系上,相对简单。1.2机器人运动学模型的建立本文所研究的机器人由四个旋转关节和四个连杆组成,故为四自由度机器人,如图1.1所示。图1.1用齐次坐标来描述机器人各连杆相对于参考坐标系的空间几何关系;用44的
11、齐次变换矩阵来描述相邻两杆的空间几何关系;从而推导出机器人手爪坐标系相对于参考坐标系的空间位姿关系,利用该法得到的D-H参数如表1所示。图1.2机器人连杆坐标系表1 机器人连杆的D-H参数连杆变换表示连杆坐标系i相对于i-1的变换,根据连杆变换的通式: 1其中:得到各连杆之间的变换矩阵 2 3 4式中:s1,s2,s3,s4;c1,c2,cs3,c4分别表示sin1,sin2,sin3,sin4; cos1, cos2, cos3, cos4以下同。由矩阵(1可知:连杆变换依赖于四个参数和,其中只有一个参数是变化的,对于本文所研究的机器人,显然只有为变量,其余三个参数为常量。1.2.1运动学正
12、解 机器人运动学正解指:在机器人各关节变量i(i=1,n)的根底上,求解出机器人末端执行器的位置矢量p和姿态矢量n,o,a的过程。将连杆变换矩阵(2)(4)相乘,便得到了该机器人手爪的运动学方程 (5)其中,机器人手爪姿态方程为机器人手爪的位置方程为为检验所得结果的正确性,取1=90,2=0,3=-90,4=0计算的值。结果为:与图1所示机器人手爪的位姿完全一致,说明所得结果正确。这样只要知道关节变量1,2,3和,4的值,就可以完全确定机器人手爪的位置和姿态。机械臂控制系统的总体方案设计2.1机械臂的机械构造设计2.1.1臂部构造设计原则作为机械臂的一个重要组成局部,手臂不仅起到支撑被抓物体、
13、手爪和其他关节的作用,而且还可以驱动手爪抓取物体,并根据事先预定的位置将物体搬运到指定地点。机械臂的构造形式必须基于其运动形式、动作自由度、抓取质量、受力情况和其他的因素来确定,整个系统的总质量比拟大,受力也比拟复杂,其运动部件的质量直接影响到机械臂的刚度和强度。所以,进展手臂的设计时,一般应注意下述要求:1刚度要大。为了防止机械臂在运动过程中发生较大的形变,要合理选择手臂的截面形状。2导向性要好。为了防止机械臂在运动过程中发生不必要的相对运动,臂杆最好设计成方形或是花键等形式。3偏重力矩要小。要尽可能减小机械臂运动局部的质量。该设计根据机械臂的功能及搬运工作的任务的特点以及类型,为了使其在一
14、定程度上具有操作的灵活性和运行性能的良好,经过屡次的比拟、讨论后,该设计选用多关节型的机械臂,它不仅具有动作的角度大的优点,还可以使机械臂在更大的空间的运动。2.1.2机械臂自由度确实定机械臂的自由度是一个非常重要的参数,取决于机械臂的类型及其构造,并且在很大程度上直接决定到机械臂能否完成预定的任务。一般来说是根据机械臂的用途来设计机械臂的自由度。自由度越多的机械臂,具有更大的运动的灵活性,通用性也越强,但构造较复杂,难以实现。所设计的搬运机械臂采用四个自由度就可以完成设定的搬运任务。其中机械臂的手臂的旋转关节包括腰关节、肩关节、肘关节和腕关节四个关节以及末端手爪的开合。2.2机械臂关节控制的
15、总体方案2.2.1机械臂控制器类型确实定作为机械臂的心脏,机械臂控制器是根据程序指令和从传感器获得的传感信息来控制机械臂完成事先预定的动作或任务的装置,控制器的性能决定了机械臂控制性能的好坏。从计算机构造、控制方式方面来划分,机械臂控制器大约可分为3种:单CPU 集中控制方式、多CPU 分布式控制方式、二级CPU 主从式控制方式。1单CPU 集中控制方式:单CPU 集中控制系统必须是一个强大的控制系统,它的全部控制功能是用一台功能强大的计算机实现的。Hero-、Robot- 等这些时代较早的机器人采用的就是这种单CPU 集中控制方式的构造,但由于在控制的过程中需要进展大量的计算,因此这种控制方
16、式的控制速度一般比拟慢。2多CPU 分布式控制方式:多CPU 分布式控制系统的最大特点就是一个CPU负责控制一个关节轴,同时在上位机与单轴控制的CPU 之间设计了一个并行接口,其主要负责上、下位机的通信,从而保证了数据的可靠传输。3二级主从式控制方式:该控制方式需要主从两个CPU,即上位机和下位的单片机两层构造。上位机负责运动轨迹的规划、运动学计算等任务,根据预定的位置,计算出各个关节的运动量,以指令形式传送给下位的微处理器。下位的微处理器根据指令对各关节进展运动控制。本课题所设计的机械臂系统基于STM32微处理器,利用STM32强大的运算和处理能力,采用单CPU 集中控制方式即可满足要求。2
17、.2.2机械臂控制系统构造本课题研究的机械臂控制系统采用单CPU 集中控制方式,系统框图如下:计算机J-Link仿真器舵机关节执行机构STM32关节控制系统图2.1 机械臂控制系统构造图计算机用于完成整个系统的管理、发送指令、运动轨迹规划等。计算机通过J-Link仿真器将程序下载至STM32微处理器,向关节控制系统发出位置指令,STM32根据指令输出PWM 波,从而使机械臂的各个关节转过指定的角度,进而使其按照预定的轨迹完成搬运任务。2.2.3关节控制系统的控制策略本课题设计的机械臂关节控制系统以STM32微处理器为核心,对直流伺服电机舵机进展较为准确的运动控制。关节控制系统的工作原理是:ST
18、M32微处理器部的PWM 单元产生PWM信号,驱动直流伺服电机旋转。电机驱动舵机部的齿轮组,其输出端带动一个线性的比例电位器作为位置检测,该电位器把转角坐标转换为一比例电压反应给控制线路板,控制线路板将其与输入的控制脉冲信号比拟,产生纠正脉冲,并驱动电机正向或者反向的转动,使齿轮组的输出位置与期望值相符,令纠正脉冲最终趋于为0,从而到达使伺服电机的准确定位17。该关节控制系统的主要特点如下:1使用以Conte*-M3为核的STM32F103ZET6作为系统的微控制器,与传统的51单片机相比起来,具有功耗小,运算能力大大增强的优点。2采用直流伺服电机驱动机械臂的各个关节,根据STM32微控制器输
19、出的PWM 控制信号的占空比来确定直流电动机的转速和转向,控制起来简单,准确。机械臂控制系统硬件设计3.1机械臂控制系统概述机械臂控制系统通常要满足如下几个根本的要求:1控制系统的微型化、轻型化和模块化。2控制系统的实时性。3系统的稳定性和开放性。该机械臂控制系统由主控制模块、电机驱动模块和电源模块组成,每个子模块的功能如下:主控制模块:作为该控制系统的核心,包括 ARM Corte*-M3 核和有关外围电路,主要负责完成 PWM 波控制信号的输出。驱动模块:负责机械臂各个关节的驱动,由舵机组成。电源模块:机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117-3.3V稳压芯片供
20、电,舵机驱动模块采用7.2V可充电电池经LM2596 DC-DC 可调降压模块实现供电。3.2微处理器选型微控制器作为机械臂运动控制系统的核心,如下几个方面为重点进展微控制器的选择:*系统时钟速度*运算速度*功能*电机控制方式*ROM及ROM的大小*控制板的构造尺寸经过反复比拟,本设计采用意法半导体公司的STM32处理器,如图3.1所示。STM32F103ZET6是基于32位ARM Corte*-M3核的微处理器,不但支持实时仿真,而且嵌入了512KB的高速闪存。CPU 的最高工作频率为72MHz,支持Thumb-2。图3.1 STM323.3主控制模块设计该设计的主控制模块的硬件系统包括电源
21、电路、复位电路、系统时钟电路以及 JTAG 调试电路四大组成局部。3.3.1电源电路在硬件电路的设计中,电源模块的设计是非常重要的,如果不能妥善处理,不但会使电路不能正常工作,严重的还可能烧毁电路。因此,在设计电源时务必要注意如下几点:1交流输入和直流输出尽可能保持更大的距离;2地线要足够粗,单点和多点相结合,同时别离模拟地和数字地;3散热要好,布局应适宜;图3.2 电源电路图如上图所示,开发板由7.2V接口供电。板上的电源转换芯片将7.2V接口输入的7.2V电源转换成5V的电源,然后转换成3.3V给处理器和相关外围电路供电。3.3.2复位电路图3.3 复位电路图如上图所示,B1为整个板的复位
22、按钮,当按钮被按下时,STM32处理器、TFT彩屏等都将复位。3.3.3时钟电路STM32的VBAT 的供电是由外部电源完成的,在有外部电源VCC3.3的情况下,VBAT 供电而由外部电源实现供电。但是,当外部电源断开的情况下, RTC的走时以及后备存放器的容就会丧失。相关电路如下:图3.4 时钟电路图3.3.4 JTAG调试电路软件程序的编写通常是需要屡次的修改才适用的,因此一些比拟先进的调试手段便应运而生。JTAG 仿真调试手段作为其中的一种,是由ARM 公司提出的。本设计采用占用IO口资源少的SWD调试,只需JTAG 仿真器上的4根线就能完成,如下列图所示:图3.5 SWD调试电路图通过
23、SWD接口,我们可以烧录和调试程序,开发板的JTAG接口的硬件连接如上图所示,可以与目前主流的JLINK V8仿真器配合使用。3.4驱动模块设计通常对机械臂的驱动系统的要求有:1驱动系统的质量不应太重,效率也应较高;2响应速度快;3动作灵活,位移偏差以及速度偏差均较小;4平安可靠;5操作和维护方便;6经济合理,占地面积要尽可能的小。基于上述驱动系统的特点和该机械臂驱动系统的设计要求,该设计选用直流伺服电机负责机械臂各个关节的驱动。该设计选用的舵机型号为分别MG995,如图3.2、3.3,其参数如下:MG995:1尺寸:40mm20mm36.5mm 2重量:62g3技术参数:无负载速度0.17秒
24、/60度(4.8V) 、0.13秒/60度(6.0V) 4扭矩:13KG 5使用温度:-30+60摄氏度 图3.6 MG995舵机一般来说,舵机是由舵盘、减速齿轮组、位置反应电位计、直流电机、控制电路板等几个重要局部组成的。信号线把来自于微控制器的控制信号传输到舵机的控制电路板,控制电路板根据相应的控制信号控制电机的转动,同时电机带动齿轮组随之转动,经减速机构减速后传动到输出舵盘。由于舵机的输出轴和位置反应电位计是连接在一起的,所以在舵盘转动的时候会带动位置反应电位计,电位计根据当前位置将一个电压信号反应到控制电路板,然后控制电路板根据电位计反应回来的数据决定电机后续的转动方向和速度,从而使舵
25、机运动到指定的位置后停顿运动,可以实现对位置的准确控制。3.5电源模块设计机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117-3.3V稳压芯片供电,舵机驱动模块采用7.2V可充电电池经LM2596 DC-DC 可调降压模块实现供电。AMS1117是正向低压降的稳压器,在1A电流下产生1.2V的压降。它的部所集成有过热保护和限流电路,因此是电池供电和便携式计算机的最正确选择。由AMS1117-3.3V芯片构成的3.3V稳压电路如图3.8所示。图3.8 3.3V稳压电路LM2596开关电压调节器是降压型电源管理单片集成电路,可以输出最高达3A的驱动电流,同时也有良好的线性和负载调
26、节特性。可调型的LM2596甚至可以输出低于37V的各种电压。LM2596的特性如下:输出电压可调,可调围为1.2V37V,误差围4%;输出特性有良好的线性,并且负载可以调节;驱动能力较强,输出电流可高达3A,输入电压可高达40V;采用150kHz的部振荡频率,属于第二代开关电压调节器;功耗小、效率高,具有过热保护和限流保护功能等。常用于高效率降压调节器,单片开关电压调节器,正、负电压转换器等。由LM2596构成的5V稳压电路如图3.9所示。图3.9 5V稳压电路机械臂控制系统软件设计4.1初始化模块设计初始化模块主要负责完成如下工作:系统时钟控制存放器 RCC 的配置, SysTick 定时
27、器,TIM 定时器,通用输入输出接口 GPIO ,嵌套向量中断控制器 NVIC, PWM 波输出,超声波传感器模块的初始化。采用库函数进展编程。4.1.1系统时钟控制STM32 CPU 的时钟源可以来自部高速振荡器HSI、外部高速振荡器HSE或者部锁相环PLL。锁相环需要以 HSI 或 HSE 作为时钟来源,两者的差异在于部高速震荡器 HSI 不能产生稳定的8MHz的时钟频率。为了获得最大的工作频率,都会通过锁相环配置出最大的72MHz频率,供应Corte*-M3核使用。流程图如下:开场复位系统时钟设置开启外部振荡器HSE是否成功起振并稳定?YN选择AHB,APB1,APB2频率使能锁相环PL
28、L等待PLL输出稳定,成为时钟源完毕图4.2 系统时钟初始化流程图4.1.2 SysTick定时器SysTick ,即系统节拍时钟,它作为ARM Corte*-M3核的一个设,和STM32微控制器之间并没有必然的联系。SysTick的存在既能够提供必要的系统节拍,为实时操作系统的任务调度提供一个有节奏的心跳,进而提高可靠性,又方便了程序在不同器件间的移植。系统初始化时,RCC通过AHB时钟(HCLK)8分频后作为Corte*系统定时器(SysTick)的外部时钟。通过对SysTick控制与状态存放器的设置,可选择上述时钟或Corte*(HCLK)时钟作为SysTick时钟。系统嘀嗒校准值固定为
29、9000,当系统嘀嗒时钟设定为9MHz(HCLK/8的最大值),产生1ms时间基准。本局部的程序流程图如下:开场设置Systick重装载时间失能Systick定时器设定中断函数,获取节拍使能Systick定时器完毕图4.3 SysTick定时器初始化流程图4.1.3 TIM定时器STM32微控制器具备高级定时器TIM1和TIM8 2个,通用定时器TIM2、TIM3、TIM4和TIM5 4个以及根本定时器TIM6和TIM7 2个,再加上 RTC 和 Systick 定时器,总数量到达了10个。根本定时器可以为用户提供准确的时间参考;通用定时器不仅具备时间参考功能,还具有输入捕捉、输出比拟、单脉冲
30、输出、 PWM 输出功能和正交编码器的特点;高级定时器更是参加了可以产生带死区控制的互补 PWM 信号、紧急制动、定时器同步等高级特征,并最多可以输出6路 PWM 信号,可谓是意法半导体赋予STM32的王牌。本设计采用TIM2、TIM3的 PWM 输出功能和TIM4的计数功能。本局部的程序流程图如下:开场配置PWM输出引脚设置定时器TIM2各输出通道占空比设置定时器TIM3输出通道1占空比延时1000ms,等待手臂初始化完成设置定时器TIM4计数模式完毕图4.4 TIM定时器初始化流程图4.1.4通用输入输出接口GPIOGPIO 可以说是STM32最常用的外设。STM32F103ZET6提供多达112个双向 GPIO ,分别分布在 AG 这7个端口中。每个端口又包括16个 GPIO ,都可承受5V的压降。GPIO 可通过配置存放器工作在如下8种模式:浮空输入、带上拉电阻的输入、带下拉电阻的输入、模拟输入;开漏输出、推挽输出、复用推挽输出、复用开漏输出。该设计中将PA0、PA1、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿古诗学习课件
- 《光生伏特器》课件
- 大学生职业规划公共服务
- 适老智能家居系统功能性需求
- 两位数加减一位数综合练习试题
- 《理科班监督权威》课件
- 医疗行业职业道德规范
- 正常妊娠妇女的护理
- 市妇幼保健院终末住院病历质量评价用表
- 临床治疗诊疗流程规范
- (完整版)六宫格数独题目
- 企业风险辨识清单
- 装修增减项单模板
- 旅游景区公共信息导向系统规范与设计(旅游)
- 肺部感染性疾病诊疗规范内科学诊疗规范诊疗指南2023版
- 有效教学崔允漷读书汇报课件
- 双眼视觉的分析方法 图表的基本构成
- 年产10吨功能益生菌冻干粉的工厂设计改
- 期中考试成绩质量分析会课件
- 《为未知而教 为未来而学》读书笔记思维导图
- 2023上海车展展前报告
评论
0/150
提交评论