当前位置:
文档之家› 基于某STM32的机械臂运动控制分析报告设计
基于某STM32的机械臂运动控制分析报告设计
(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)可知:连杆变换 依赖于 四个参数和 ,其中只有一个参数是变化的,对于本文所研究的机器人,显然只有 为变量,其余三个参数为常量。
图3.1 STM32
3.3
该设计的主控制模块的硬件系统包括电源电路、复位电路、系统时钟电路以及JTAG调试电路四大组成部分。
3.3.1
在硬件电路的设计中,电源模块的设计是非常重要的,如果不能妥善处理,不但会使电路不能正常工作,严重的还可能烧毁电路。因此,在设计电源时务必要注意如下几点:
(1)交流输入和直流输出尽可能保持更大的距离;
关键词:四自由度机械臂,STM32,运动模型,脉冲宽度调制
第1章
1.1
机器人运动学描述了机器人关节与组成机器人的各刚体之间的运动关系。机器人在工作时,要通过空间中一系列的点组成的三维空间点域,这一系列空间点构成了机器人的工作范围,此工作范围可通过运动学正解求得。此外,根据机器人末端执行器的位置和姿态要求,通过运动学逆解求得各个关节转角,可以实现对机器人进行运动分析、离线编程、轨迹规划等工作。
机器人控制的目的就在于它能快速确定位置,这使得机器人的运动学正逆解问题变得更为重要。只有计算与运动学正逆解问题相关的变换关系在尽可能短时间内完成,才能达到快速准确的目的。在运动学方程正解过程中,只体现在矩阵相乘关系上,相对简单。
1.2
本文所研究的机器人由四个旋转关节和四个连杆组成,故为四自由度机器人,如图1.1所示。
2.1.2
机械臂的自由度是一个非常重要的参数,取决于机械臂的类型及其结构,并且在很大程度上直接决定到机械臂能否完成预定的任务。
一般来说是根据机械臂的用途来设计机械臂的自由度。自由度越多的机械臂,具有更大的运动的灵活性,通用性也越强,但结构较复杂,难以实现。
所设计的搬运机械臂采用四个自由度就可以完成设定的搬运任务。其中机械臂的手臂的旋转关节包括腰关节、肩关节、肘关节和腕关节四个关节以及末端手爪的开合。
(2)地线要足够粗,单点和多点相结合,同时分离模拟地和数字地;
(3)散热要好,布局应合适;
图3.2电源电路图
如上图所示,开发板由7.2V接口供电。板上的电源转换芯片将7.2V接口输入的7.2V电源转换成5V的电源,然后转换成3.3V给处理器和相关外围电路供电。
3.3.2
图3.3复位电路图
如上图所示,B1为整个板的复位按钮,当按钮被按下时,STM32处理器、TFT彩屏等都将复位。
机器人测控技术
大作业课程设计
课程设计名称:基于STM32的机械臂运动控制分析设计
专业班级:自动1302
学生姓名:张鹏涛
学号:201323020219
指导教师:曹毅
课程设计时间:2016-4-28~2016-5-16
指导教师意见:成绩:Βιβλιοθήκη 签名:年月日设计要求:
设计一个两连杆机械臂,具体参数自行设计,建立其运动学模型,然后在此基础上完成该机械臂两点间的路径规划,并给出仿真结果。
(1)单CPU集中控制方式:单CPU集中控制系统必须是一个强大的控制系统,它的全部控制功能是用一台功能强大的计算机实现的。Hero-Ⅰ、Robot-Ⅰ等这些时代较早的机器人采用的就是这种单CPU集中控制方式的结构,但由于在控制的过程中需要进行大量的计算,因此这种控制方式的控制速度一般比较慢。
(2)多CPU分布式控制方式:多CPU分布式控制系统的最大特点就是一个CPU负责控制一个关节轴,同时在上位机与单轴控制的CPU之间设计了一个并行接口,其主要负责上、下位机的通信,从而保证了数据的可靠传输。
该关节控制系统的主要特点如下:
(1)使用以Contex-M3为内核的STM32F103ZET6作为系统的微控制器,与传统的51单片机相比起来,具有功耗小,运算能力大大增强的优点。
(2)采用直流伺服电机驱动机械臂的各个关节,根据STM32微控制器输出的PWM控制信号的占空比来确定直流电动机的转速和转向,控制起来简单,准确。
驱动模块:负责机械臂各个关节的驱动,由舵机组成。
电源模块:机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117-3.3V稳压芯片供电,舵机驱动模块采用7.2V可充电电池经LM2596 DC-DC可调降压模块实现供电。
3.2
微控制器作为机械臂运动控制系统的核心,如下几个方面为重点进行微控制器的选择:
图3.5 SWD调试电路图
通过SWD接口,我们可以烧录和调试程序,开发板的JTAG接口的硬件连接如上图所示,可以与目前主流的JLINK V8仿真器配合使用。
3.4
通常对机械臂的驱动系统的要求有:
(1)驱动系统的质量不应太重,效率也应较高;
(2)响应速度快;
(3)动作灵活,位移偏差以及速度偏差均较小;
(2)导向性要好。为了避免机械臂在运动过程中发生不必要的相对运动,臂杆最好设计成方形或是花键等形式。
(3)偏重力矩要小。要尽可能减小机械臂运动部分的质量。
该设计根据机械臂的功能及搬运工作的任务的特点以及类型,为了使其在一定程度上具有操作的灵活性和运行性能的良好,经过多次的比较、讨论后,该设计选用多关节型的机械臂,它不仅具有动作的角度大的优点,还可以使机械臂在更大的空间内的运动。
2.2.3
本课题设计的机械臂关节控制系统以STM32微处理器为核心,对直流伺服电机(舵机)进行较为精确的运动控制。
关节控制系统的工作原理是:STM32微处理器内部的PWM单元产生PWM信号,驱动直流伺服电机旋转。电机驱动舵机内部的齿轮组,其输出端带动一个线性的比例电位器作为位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或者反向的转动,使齿轮组的输出位置与期望值相符,令纠正脉冲最终趋于为0,从而达到使伺服电机的精确定位[17]。
设计完成上述目标的控制系统,控制器可以自行选择(单片机,ARM,DSP,PLC等),其他硬件部分根据系统所需要完成的功能自行选择,基本要求要体现系统的输入,输出信号和人机交互界面,画出整个系统的硬件结构(电路模块,驱动模块,控制模块等)和软件部分。
摘要
由于机械臂在各行各业中得到了愈来愈广泛的应用,机械臂控制的多样化、复杂化的需要也随之日趋增多。作为当今科技领域研究的一个热点,提高机械臂的控制精度、稳定性、操作灵活性对于提高其应用水平有着十分重要的意义。
图1.1
用齐次坐标来描述机器人各连杆相对于参考坐标系的空间几何关系;用4×4的齐次变换矩阵来描述相邻两杆的空间几何关系;从而推导出机器人手爪坐标系相对于参考坐标系的空间位姿关系,利用该法得到的D-H参数如表1所示。
图1.2机器人连杆坐标系
表1机器人连杆的D-H参数
连杆变换 表示连杆坐标系{i}相对于{i-1}的变换,根据连杆变换的通式:
机械臂的结构形式必须基于其运动形式、动作自由度、抓取质量、受力情况和其他的因素来确定,整个系统的总质量比较大,受力也比较复杂,其运动部件的质量直接影响到机械臂的刚度和强度。所以,进行手臂的设计时,一般应注意下述要求:
(1)刚度要大。为了避免机械臂在运动过程中发生较大的形变,要合理选择手臂的截面形状。
2.2
2.2.1
作为机械臂的心脏,机械臂控制器是根据程序指令和从传感器获得的传感信息来控制机械臂完成事先预定的动作或任务的装置,控制器的性能决定了机械臂控制性能的好坏。从计算机结构、控制方式方面来划分,机械臂控制器大约可分为3种:单CPU集中控制方式、多CPU分布式控制方式、二级CPU主从式控制方式。
与图1所示机器人手爪的位姿完全一致,表明所得结果正确。这样只要知道关节变量θ1,θ2,θ3和,θ4的值,就可以完全确定机器人手爪的位置和姿态。
第2章
2.1
2.1.1
作为机械臂的一个重要组成部分,手臂不仅起到支撑被抓物体、手爪和其他关节的作用,而且还可以驱动手爪抓取物体,并根据事先预定的位置将物体搬运到指定地点。
经过仔细的分析和研究之后,我选择的是STM32单片机进行控制,而自由臂选择工业中常见的四自由臂进行设计和建模分析,运动的控制选用舵机进行控制。
首先根据机械臂系统的控制要求,整体上设计出单CPU的系统控制方案,即通过控制主控制器输出的PWM波的占空比实现对舵机转动的控制,进而实现各个关节的位置控制。在硬件方面,主要论述了如何以ARM微处理器STM32F103ZET6、MG995舵机为主要器件,通过搭建硬件平台和设计软件控制程序构建关节运动控制系统。然后按照结构化设计的思想,依次对以上各部分的原理和设计方法进行了分析和探讨,给出了实际的原理图和电路图。在软件设计方面,按照模块化的设计思想将控制程序分为初始化模块和运行模块,并分别对各个模块的程序进行设计。
3.3.3
STM32的VBAT的供电是由外部电源完成的,在有外部电源(VCC3.3)的情况下,VBAT供电而由外部电源实现供电。但是,当外部电源断开的情况下,RTC的走时以及后备寄存器的内容就会丢失。相关电路如下:
图3.4时钟电路图
3.3.4 JTAG
软件程序的编写通常是需要多次的修改才适用的,因此一些比较先进的调试手段便应运而生。JTAG仿真调试手段作为其中的一种,是由ARM公司提出的。本设计采用占用IO口资源少的SWD调试,只需JTAG仿真器上的4根线就能完成,如下图所示:
★系统时钟速度
★运算速度
★功能
★电机控制方式
★ROM及ROM的大小
★控制板的结构尺寸
经过反复比较,本设计采用意法半导体公司的STM32处理器,如图3.1所示。STM32F103ZET6是基于32位ARM Cortex-M3内核的微处理器,不但支持实时仿真,而且嵌入了512KB的高速闪存。CPU的最高工作频率为72MHz,支持Thumb-2。