【《基于永磁同步电机的机械臂三闭环伺服控制系统设计与实验探究》22000字(论文)】_第1页
【《基于永磁同步电机的机械臂三闭环伺服控制系统设计与实验探究》22000字(论文)】_第2页
【《基于永磁同步电机的机械臂三闭环伺服控制系统设计与实验探究》22000字(论文)】_第3页
【《基于永磁同步电机的机械臂三闭环伺服控制系统设计与实验探究》22000字(论文)】_第4页
【《基于永磁同步电机的机械臂三闭环伺服控制系统设计与实验探究》22000字(论文)】_第5页
已阅读5页,还剩52页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于永磁同步电机的机械臂三闭环伺服控制系统设计与实验探究目录TOC\o"1-3"\h\u714摘要 3928一.绪论: 5255581.1课题背景 5111091.2国内外研究现状 5302931.2.1永磁同步电机的研究现状 5251161.2.2位置控制策略的研究现状 6257771.2.3DSP芯片在永磁同步电机上的应用现状 8184661.3本文研究内容及创新点 825965二.永磁同步电机及其三闭环伺服控制系统介绍 9233302.1永磁同步电机简介 9255882.2永磁同步电机的数学模型 10214022.3坐标变换方法 12201012.4SVPWM介绍 1319532.5三闭环伺服控制系统简介 142146三.机械臂三闭环伺服控制系统仿真 15176193.1三闭环伺服控制系统模型建立及参数设置 15190933.2机械臂位置前馈控制系统 19252193.3机械臂位置模糊控制系统 22204273.4机械臂位置滑模控制系统 2858033.5滑模控制系统存在的问题 32194753.6机械臂模糊前馈控制系统 3511058四.软件设计 37305944.1TMS320F28335芯片简介 37241864.2软件框架 39274034.2.1主程序设计 39208274.2.2ePWM模块配置 40187054.2.3ADC模块配置 41138114.2.4DMA模块配置 41141944.2.5SPI与RDC模块配置 42199544.3中断程序设计 4379784.3.1ePWM中断设计 43318194.3.2定时器中断设计 4514644.4位置前馈控制程序设计 4534464.5位置模糊控制程序设计 4614049五.基于TMS320F28335的实验及分析 48129585.1硬件部分介绍 48270365.2机械臂伺服控制系统实验结果及分析 49203425.2.1实验设备简介 4984735.2.2实验结果及分析 4930606六.总结与展望 5221316参考文献 55摘要随着机器人领域的蓬勃发展,机械臂作为一种高操作灵活性的自动化设备,在工业、医疗等领域中有着不少的应用。机械臂通常运用于高精度的控制系统中,因此对机械臂的位置控制要求很高。为了保证机械臂的精确化控制,可以使用永磁同步电机的三闭环伺服控制系统来对其进行控制。然而,传统的三闭环伺服控制已经无法满足其高精度的要求,需要通过使用各种控制策略来改善系统的位置控制精度。本文基于永磁同步电机的三闭环伺服控制系统,设计了四种位置控制策略,搭建了仿真模型,并使用TMS320F28335芯片作为控制电路核心,实现了对机械臂控制系统控制性能的改善。在查阅国内外与永磁同步电机控制策略有关的文献之后,对位置前馈控制、模糊控制、滑模控制以及前馈模糊控制进行了深入研究。在传统位置伺服控制系统的基础上,结合控制策略,根据其控制原理对系统的三个闭环进行详细地分析和运算,设计出了四种机械臂控制系统,并在MATLAB/Simulink仿真平台上建立了相应的仿真模型。仿真结果显示,这四种控制策略都能够提高机械臂控制系统的控制性能。随后,在TMS320F28335的专用开发平台上,编写了机械臂的三闭环控制程序,同时在程序中实现了上述控制策略。最后通过实验,验证了这些控制方法能够在不同程度上提升机械臂控制系统的控制精度及响应速度。关键词:机械臂,永磁同步电机,三闭环PI控制,位置控制策略,TMS320F28335绪论:1.1课题背景近年来,现代控制与微电子技术高速发展,机械臂逐渐成为机器人技术领域中使用最广泛的自动化装置。目前,机械臂已经渗透到各种领域中。在医疗领域,使用医疗机械臂可以帮助伤者康复患肢;在工业领域,机械臂可以代替人来进行焊接、搬运、喷涂等工作;在航天领域,机械臂可以实现辅助对接、空间碎片清理、维修等空间任务。虽然每种机械臂的样式不尽相同,但它们的工作原理都是通过接受系统给出的指令,然后在实际空间中进行精确的作业。永磁同步电机由于其结构简单、高效且具有调速范围宽、可实现高精度定位等优点,被广泛应用于机械臂、混合动力汽车、轨道交通[1]等高性能的伺服控制领域。而对于机械臂的控制系统来说,一般会采用三闭环伺服控制。永磁同步电机的三闭环伺服控制系统是在传统的转速闭环以及电流闭环控制的基础上增加一个位置闭环,通过位置闭环来精确地控制电机的运行,以此来控制机械臂的运动。但是,传统的三闭环PI控制系统无法对机械臂控制实现非常精确的位置跟踪。因此,针对传统三闭环PI控制定位精度低、响应慢的缺陷,研究不同的位置控制策略,可以提高系统对位置跟踪的响应速度和位置精度,充分地提升永磁同步电机三闭环伺服控制系统对机械臂的控制性能。1.2国内外研究现状1.2.1永磁同步电机的研究现状目前,永磁材料性能不断提高和成本不断降低,电力电子器件市场也正在高速发展,对于永磁电机的研究逐渐走向成熟[2]。而随着对永磁同步电机调速系统性能要求的不断提高,国外的科学家基于对调速系统的快速动态性能和高效率的要求,提出了现代永磁同步电机的设计方法,以此为基础可以设计出高效率、高力矩惯量比、高能量密度的永磁同步电机[3]。而近年来微型计算机技术的发展,又使得永磁同步电动机矢量控制系统的全数字控制也取得了很大的发展。永磁同步电机的三闭环控制伺服系统因为其效率高、精度高、调速范围宽等优点,有着非常广泛的应用。除了传统的三闭环控制之外,模糊控制、滑模变结构控制等一系列控制策略被运用在了永磁同步电机的伺服控制系统中,显著地提高了伺服系统的控制性能。不仅如此,专家们还在探索如何混合使用以上控制方法,例如模糊前馈控制,模型参考自适应模糊混合控制等复合控制策略也被设计出来,应用在三闭环控制系统中。而随着现代化设备的不断发展,对永磁同步电机的控制性能要求也不断提高。因此,使用何种控制策略、如何恰当地利用该控制策略来提升永磁同步电机的控制性能成为了一大研究难题。1.2.2位置控制策略的研究现状前馈控制是一种根据给定值或者扰动的变化对控制变量进行补偿的一种控制方法。在永磁同步电机的控制系统中,前馈控制的实现形式有很多。国内学者将速度环进行前馈补偿,把反馈回来的负载扰动补偿速度环的输出[4];还有学者对位置环和速度环进行结构分析,推算出合理的微分传递函数来对位置环作前馈控制,通过位置给定来预测速度并进行补偿[5]。文中主要尝试将位置给定值进行一次微分得到速度信号补偿给速度环,再进行二次微分得到加速度信号补偿给电流环,这样便形成了一种位置前馈控制策略。模糊控制[6-10]是基于模糊数学的基本思想,可以简化复杂控制系统的一种控制策略。模糊控制有很多种分支,比如自适应模糊控制、神经模糊控制[11]、模糊PID控制等等。对于机械臂控制系统,可以采用模糊PID控制,该方法将传统的PID控制与模糊控制结合,根据现有的知识与经验,对、及这三个控制参数设定模糊规则,随后系统会根据模糊规则对参数进行模糊推理,推理后对输出量进行去模糊化得到实际输出值,以此来实现对三种参数的自整定调整。这种控制方法鲁棒性和适应性极佳,应用范围也较广。模糊控制诞生至今已有四十多年,在现代生活中的方方面面都有这种控制策略的应用。此外,国内外不少学者将其用于科研中,运用在智能车舵机[12]、卫星智能控制器[13]等控制系统上。滑模变结构控制[14-16](以下简称滑模控制)是一种非线性控制,它在一定条件下可以使系统按照规定的状态轨迹作小幅、高频的上下运动。滑模控制对系统的扰动和参数不敏感,因此具有鲁棒性。但由于该控制策略特殊的运动特性,系统达到平稳态后,跟随曲线并不会很平滑地跟随给定曲线,而是会在该曲线的两侧不断地进行穿越,从而导致抖振现象。不过有研究表明,在做好防抖措施的情况下,滑模控制对大惯量负载控制性能较好,对转动惯量的适用范围也更广,明显优于传统控制[17]。此外,滑模控制还衍生出了滑模观测器算法。国外的学者就通过研究一种基于滑模观测器的降阶滑模控制器,将其应用在表贴式永磁同步电机上,并证明了该控制有很好的鲁棒性[18]。模型参考自适应控制是一种基于Lyapunov稳定性理论和Popov超稳定理论的控制方法。这种控制系统通常由参考模型、可调系统及自适应机构这三部分组成[19]。当系统状态发生变化时,系统的跟随误差也随之变化,此时自适应机构便会自动调节控制器参数,使控制对象能够始终跟随参考模型的输出。有学者对模型参考自适应控制进行研究,通过演算得到合适的自适应律,提高对转速和转子位置估计的准确度。并且使用滑模控制器来替代传统PI控制器,提高了系统的动态性能与稳定性[20]。此外还有不少复合控制策略。模型参考自适应模糊混合控制将模型参考自适应控制与模糊控制结合,使用模糊控制器作为主控制器,自适应机构实时调节超前-滞后补偿器参数,该方法被证明比传统模糊控制有更好的跟踪性能,稳定性更好,抗干扰能力强[21]。变结构与前馈控制,变结构控制能显著提高系统响应速度,前馈控制能有效改善系统跟踪精度,结合两种方法的优点,优化了三闭环伺服控制系统[22]。1.2.3DSP芯片在永磁同步电机上的应用现状在国内,已经有不少学者使用DSP芯片来作为永磁同步电机控制电路的核心。其中,比较常用的芯片有DSP2812[23]以及本文中所使用的TMS320F28335芯片[24-25]。有学者在DSP开发平台上编写了模糊控制的相关程序,并且完成了永磁同步电机控制系统的调试与运行,证明了模糊控制器能有效地提升三闭环控制的系统性能[26]。除此之外,还有学者将DSP芯片运用到了舵机控制系统上,基于DSP编程实现了前馈模糊控制系统,得到的舵机系统精度高,动态性能好[27]。可见,目前DSP芯片已经广泛地运用在了多个控制领域中。1.3本文研究内容及创新点机械臂的精确位置控制一直以来都是机械臂控制领域的一大难点,本文主要对永磁同步电机以及机械臂负载建立数学模型,通过软件对永磁同步电机的三闭环伺服控制系统进行建模,并且对位置环分别使用前馈控制、模糊控制以及滑模控制这三种控制策略,通过输入扫频信号作为正弦给定位置跟踪指令,仿真观察系统位置跟随情况。在研究的过程中,由于模糊控制和前馈控制的控制性能优秀且两者的相性较好,两种方法可以结合起来,形成一种模糊前馈控制策略。该复合控制策略进一步提高了三闭环伺服系统对机械臂的控制性能。随后,在TMS320F28335芯片的控制平台上,通过编程来实现机械臂的永磁同步电机三闭环伺服控制系统,并验证不同的位置控制策略能够改善位置精度和响应速度。主要的创新点如下:本文将通过使用不同的位置控制策略,对位置环伺服控制系统进行不同程度的性能提升,提高位置环定位的快速性及准确性,最终得出相对最优的机械臂位置控制策略。其次,针对机器人关节部位(机械臂)的永磁同步电机,本文会实现不同机械臂负载情况下的位置曲线跟随。永磁同步电机及其三闭环伺服控制系统介绍2.1永磁同步电机简介永磁同步电动机一般使用永磁体进行励磁,简化了电动机的结构,降低了加工和组装成本,并去除了容易出现问题的滑环和电刷,显著提高了电动机运行时的可靠性。而且这种电机不需要励磁电流,也没有励磁损耗,从而提高了电机效率和功率密度。永磁同步电动机主要由定子,转子和端盖组成。定子经过叠层以减少电动机运行过程中的铁损,内部还有一种三相交流绕组,一般称为电枢。转子可以是实心形式,也可以用装有永磁材料的薄板压制而成。永磁同步电动机可以根据永磁材料在电动机转子上的位置分为两种结构形状,分别是表贴式和内置式。表贴式转子的磁路结构简单且价格便宜,但是由于不能将启动绕组安装在电机表面上,因此不能实现电机的异步启动。本文使用表贴式永磁同步电机来进行实验,这种电机制造成本更低,结构更简单,转动惯量也相对较小。表贴式永磁同步电动机永磁体的形状通常呈瓦片形,紧贴在转子铁芯的外表面。其永磁体的用量较小,磁链谐波分量较少,更容易产生正弦波磁动势,且直轴和交轴的电感相等[28]。通常在控制策略上会采用控制来对这种电机进行控制。由于其控制性能强于内置式永磁同步电机,常常被应用在工业控制领域上。2.2永磁同步电机的数学模型永磁同步电机在自然坐标系下的数学模型可以通过以下方法确定。首先假设永磁同步电机为理想电机,满足以下条件:(1)忽略电机铁芯饱和;(2)不计电机涡流和磁滞损耗;(3)电机中的电流为对称的三相正弦波电流。因此,电机的三相电压方程为: (1)其磁链方程为: (2)其中,为三相绕组的相电压、电阻和电流;为三相绕组的磁链;为三相绕组的电感;为三相绕组的磁链,并满足以下关系: ,, (3) , (4) (5)其中,为定子互感,为定子漏感。根据机电能量转换原理,电磁转矩等于磁场储能对机械角位移的偏导,因此有: (6)其中,为电机的极对数。而电机的机械运动方程为: (7)同步旋转坐标系下定子电压方程可以表示为: (8) (9)其中,为定子在d、q轴的电压分量。为定子在d、q轴的电流分量。为定子磁链在d、q轴的分量。永磁同步电机的dq轴等效电路如图2-1所示。图2-1永磁同步电机的dq轴等效电路此时电磁转矩可表达为[29]: (10)2.3坐标变换方法在永磁同步电机的数学模型中,经常会用到旋转坐标系以及静止坐标系中的变量,因此在建模的过程中将会涉及到两种坐标变换方法。一种是Clark变换,可以将自然坐标系中的变量转换到静止坐标系中,其坐标变换公式及变换矩阵如下所示: (11) (12)还有一种反Clark变换,即将静止坐标系中的变量转换到自然坐标系中,其变换公式如式13和14所示: (13) (14)另一种坐标变换的方法为Park变换,该变化可以将静止坐标系中的变量转换到旋转坐标系中,方程如下: (15) (16)当然,Park变换也存在反变换,将旋转坐标系中的变量转换到静止坐标系中: (17) (18)2.4SVPWM介绍SVPWM(空间矢量脉宽调制)是近年来广泛运用在电机控制领域的一种PWM控制方法。SVWPM是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,并且可以生成与理想正弦波非常接近的电流波形。与传统的正弦波PWM不同,SVPWM从三相输出电压的整体效果开始,着重于电机如何获得理想的圆形磁链轨迹。与SPWM技术相比,绕组电流波形的谐波含量较小,从而减小了电动机转矩的波动,使旋转磁场更接近圆形,并显著提高了直流母线电压的利用率,更容易实现数字化。在三相全桥逆变电路中,一共有六个开关器件,组成了三个半桥。将上桥臂开通下桥臂关断定义为0,上桥臂关断下桥臂开通定义为1。这样,六个开关器件就可以形成八种开关状态。其中,存在000和111这两种状态,在这两种情况下三相中任意两路的线电压都为零,因此这两种状态被称为零矢量。剩下的六种开关状态便对应六个有效矢量。将这六个矢量放进电压空间中可以画出一个六边形的电压矢量图,电压空间被等分成六个扇区,每个扇区为60°。只要合理使用这八个空间矢量,便可以合成电压空间中的任意一个矢量。若想要合成一个电压矢量,只需将该矢量分解到其所处扇区的两个基本电压矢量上,通过改变基本电压矢量的作用时间,便可以得到所需的电压矢量。以此为基础,当控制系统以的速度在电压空间内旋转,系统会自动分解电压矢量并算出其所需的基本电压矢量,并根据计算结果来驱动IGBT的导通和关断。系统每转一圈,就会输出一个周期的电压正弦波波形。2.5三闭环伺服控制系统简介典型的三闭环控制系统结构框图如图2-2。其工作原理为:将控制系统的输入设置为位置信号,把该信号与电机反馈回来的位置信号产生的位置误差信号值输入到位置控制器中,控制器根据设定好的PID参数输出给定转速值。与反馈转速作差,经过速度调节器后得到。同理,将的差值输入到电流调节器后输出。本文使用表贴式永磁同步电机,对于定子电流的直轴分量,由于该电流为励磁电流,分解到坐标系上与磁场方向重合,因此不会产生励磁转矩,反而会对电机造成能量上的损耗。因此,本实验采用了控制,相当于将电机的直轴绕组开路,此时定子电流等于电机电流的交轴分量,并且与电磁转矩成正比。此时定子电流产生的转矩最大,且损耗也会降到最小。对于永磁同步电机来说,这种控制方法效率高且容易实现。随后,由于ACR输出的量为d-q轴分量,而SVPWM的输入类型通常采用坐标系中的量,因此使用反Park变换模块将d-q坐标系的变量转换到坐标系中,再将这两个值输入进SVPWM模块中。该模块运行后会输出六路方波,通过逆变器转换为进行输出。一路直接输出给电机,一路作为反馈,通过Clark变换及Park变换后得到反馈给电流环。最后,检测电机转速与位置量,将该值反馈给电流环和转速环,形成速度与位置闭环。 图2-2三闭环伺服控制系统结构框图机械臂三闭环伺服控制系统仿真3.1三闭环伺服控制系统模型建立及参数设置本次实验中使用了永磁同步电机模型,建立了传统三闭环伺服控制系统模型。并在传统三闭环PI控制系统的基础上,使用多种控制策略对位置环进行精确的位置伺服控制。以图2-1为基础搭建模型,在MATLAB中建立伺服控制系统,如图3-1所示:其中,最里面的闭环为电流环,该环可以通过电流调节器ACR实现对给定电流的快速跟随;电流环外是速度环,采用了速度调节器ASR来跟随给定速度;最外环为位置环,利用位置偏差输入到位置调节器APR中产生速度指令使电机精准跟踪位置信号。图3-1三闭环控制系统仿真模型仿真中将电机的参数设置为:电机极对数,定子电感,,电阻,磁链,转动惯量,阻尼系数。设直流侧电压,PWM开关频率设定为,采样周期。设定完电机参数后,还需要设计三个闭环调节器的参数值。首先确定电流环参数:时间常数,带宽,由此可以计算得到电流环的参数,。切断转速环和位置环的连接,给定电流信号10作为输入,仿真时间设为0.5s,得到图3-2中的电流跟随曲线,可见电流环跟随性能良好。图3-2电流跟随曲线对于转速环,将转速环输出限幅设置为[-60,60],选取转速环带宽为,可得,。切断位置环,同样给定速度信号2000为输入,仿真时间设为2s,仿真结果如下图所示,转速环跟随速度较快,超调量很小,且没有振荡。图3-3速度跟随曲线由于要实现精确的位置跟踪,位置跟随系统不能产生超调或者振荡,以免影响位置跟随精度。因此位置调节器APR只能设置为比例调节器。参数调试时,为减小稳态控制误差,应该尽可能选择较大的比例系数。在本次实验中将从500开始调试。在经过反复调试后发现,比例系数越大,系统的位置跟随速度越快。一旦设置地太大,系统则一定会出现超调等不稳定的问题。因此,本次实验中将比例系数适中地调整为670,此时系统的跟随情况相对较好。给定位置信号20,仿真时间设为1s,位置跟随情况如图3-4所示,位置曲线跟随很快且无超调。图3-4位置跟踪曲线接下来对负载转矩进行设置。首先,电机的机械方程如式19所示: (19)其中,为电磁转矩();为负载转矩();为阻尼转矩();为电机的机械角速度()。分析电机的负载转矩。设机械臂负载的重量为5,机械臂长度为0.5。根据图3-5分析可得负载转矩如式20所示: (20)其中,为机械臂转过的角度(),为重力加速度()。而阻尼转矩则如式21所示: (21)图3-5负载转矩分析给定系统输入为1.5Hz的正弦信号,通过增益模块放大后,可以输出幅值为15的正弦信号作为系统的位置给定。对于系统的负载转矩,由于机械臂和电机的转速不可能相等,一般电机转速会比机械臂转速快。因此会在机械臂和永磁同步电机间设置一个减速机构。而在本实验中,将减速机构的减速比例设置为1:80(机械臂:电机)。所以最后得到电机负载转矩的算式为(转矩与转速成反比)。接着,由于实验室中电机最高转速为5000转每分钟,因此设置位置环限幅为[-5000,5000],并将三闭环控制系统的参数按前文所述设定之后进行仿真,仿真时间为1s。位置跟随结果如图3-6所示。从图上可以发现,传统三闭环控制伺服系统对负载的控制性能比较一般,跟随曲线的跟随性能较差,存在比较大的相位滞后,跟踪精度也很低,无法满足机械臂控制领域对于位置控制性能的需求。因此,需要通过位置控制策略来改善其控制性能。图3-6机械臂传统三闭环伺服控制系统的位置跟随曲线3.2机械臂位置前馈控制系统实现位置前馈控制的方法有很多种,本文则是在原有的三闭环伺服控制系统的基础上,对给定的位置信号进行一次微分和二次微分的方法来进行位置前馈控制。位置信号经过一次微分后得到速度信号引入到转速环中,速度信号再次微分之后得到加速度信号引入到电流环中。位置前馈系统的结构框图如图3-7所示。图3-7位置前馈系统结构框图其中,三闭环控制伺服系统的输入量为机械角度,,其单位为度,为了方便之后的运算,先将的单位先转化为。经过一次微分后得到机械角速度。其中,。但是转速环的输入量是电机转速,单位为,而机械角速度单位为,因此需要对进行单位换算: (22)且由于减速机构的存在,必须将上式中的机械臂转速乘以80之后得到对应的电机转速。此外,在实际操作过程中,由于在实际控制中,并不需要将所有的前馈量都引入到转速环中。若将前馈量全部加到转速环中,很可能会造成转速超调的情况。所以在仿真中一般会设置一个衰减因数。本次实验中,设转速环的衰减系数为0.9。整理后得到式23,随后将得到的前馈转速量引入到转速环中。 (23)经过二次微分后,得到机械角加速度。而最终要把该前馈量引入电流环,就必须将其转化为电流值。机械角加速度和电流的转换公式如式24所示。 (24)式中,为转矩与电流之比,在实验室中测出该参数值约为0.1。此外,与转速环同理,电流环也需要设置一个衰减系数,本实验将其值设置为0.7,化简得到式25。 (25)根据图3-7以及上文的运算结果,在Simulink中对传统三闭环控制伺服系统的模型进行修改,得到下图中的仿真模型:图3-8位置前馈控制系统仿真模型在原有模型的基础上,从位置给定信号处引出一条支路,之后分别进行一次微分和二次微分,并且加入相应的增益模块。设置仿真时间为1s,得到图3-9中的位置跟随曲线:图3-9机械臂位置前馈控制系统的位置跟随曲线由上图可知,在机械臂负载以及电机输出转矩能力不变的情况下,加入位置前馈控制可以大幅度提高系统的位置跟随性能,前馈控制不仅消减了原先系统的稳态误差以及正弦信号产生的相位滞后问题,还提高了系统的响应速度,且位置跟随误差在可接受范围内。由此可见,前馈控制很适合用来实现机械臂位置的精确控制。3.3机械臂位置模糊控制系统针对机械臂位置伺服控制系统,模糊PID控制可以根据机械臂位置的实时误差来进行对变量的动态调节。模块PID控制的原理图如下图。图3-10模糊PID控制原理图根据图3-10,第一步先定义模糊控制变量。本文采用了两个输入量和两个输出量的方式,将给定与反馈的误差和误差变化率作为模糊控制器的输入,模糊控制器通过模糊推理输出PI控制器参数的变化量。第二步将输入量和输出量进行模糊化,以适当的比例将这五个变量转换到论域的数值。一般情况下,误差和误差变化率的模糊论域都设置为。对于三个输出量,首先确定传统PI控制的传递函数为: (26)采用Ziegler-Nichols方法来对PID参数进行整定。该方法一般设: (27)根据上式,对于模糊控制器中的的论域可以按以下公式确定: (28) (29) (30)而对于积分系数,通常也会对划分论域:,即: (31)由于位置环采用的是比例控制器,可以计算出的论域范围: (32) 而原位置环PID控制器的,因此这该参数无法用上述公式进行整定。在经过反复进行仿真实验后,适当取。设定完变量的论域后,为了保证模糊控制的精确度和复杂度,还需要将输入信号和输出信号的论域都分成七个模糊子集,分别是{NB(负较大值),NM(负中等值),NS(负较小值),ZO(零),PS(正较小值),PM(正中等值),PB(正较大值)}。且输入量和输出量都服从于三角形隶属度函数,三角形隶属度函数公式如式33所示: (33)结合图3-11分析三角形隶属度函数的意义:若将论域[0,1]分割为三个模糊子集NB、NM与NS,三个模糊子集的论域分别为[0,0.4],[0.1,0.9],[0.6,1]。以中间的模糊子集NM为例,对于其论域[0.1,0.9]内的任意一个元素,都有(其中a为论域最小值0.1,b为论域中位值0.5,c为论域最大值0.9)。若的值更接近于1,则属于该模糊子集的程度更高。反之,若的值更接近于0,则属于该模糊子集的程度更低。比如,当时,,说明属于模糊子集NM。但是当时,,而此时对NB的隶属度为0.5,则说明比起模糊子集NM更属于NB。总而言之,隶属度函数可以反映出一个数在某个论域中的隶属程度高低,是模糊控制中衡量参数范围的重要标准。图3-11三角形隶属度函数示例确定完论域及隶属度函数后下一步需要建立模糊规则表。一般来说,模糊规则表来源于专家的经验以及知识。在阅读相关文献[6-10][30]时,发现许多学者对位置模糊控制的模糊规则表设计上基本都大同小异。结合这些文献中对模糊规则表的设计方法,得到了模糊规则表的设计思路:对于位置环模糊控制,首先还是要考虑到位置伺服控制不能出现超调和振荡的问题,要注意对积分系数和微分系数的调节。系统刚启动时,系统的位置跟随误差较大,此时希望位置伺服系统能够快速跟踪给定值,避免积分饱和,并且系统不会出现太大的超调,因此应该将设置得比较大,而和设置得比较小。当位置伺服系统跟随上给定值时,此时较小,则希望消除系统的稳态误差,尽可能地保持良好的稳态性能,应该适当地增加的值。根据以上思路,得到的模糊规则表如表1,2所示:表1模糊规则表NBNMNSZOPSPMPBNBPBPBPMPSPSZOZONMPBPBPMPSPSZONSNSPMPMPMPSZONSNSZOPMPMPSZONSNMNMPSPSPSZONSNSNMNMPMPSZONSNMNMNMNBPBZOZONMNMNMNBNB表2模糊规则表NBNMNSZOPSPMPBNBNBNBNMNMNSZOZONMNBNBNMNSNSZOZONSNBNMNSNSZOPSPSZONMNMNSZOPSPMPMPSNMNSZOPSPSPMPBPMZOZOPSPSPMPBPBPBZOZOPSPMPMPBPB通过模糊规则表对变量进行模糊推理,得到的输出结果还是NB、ZO这样的模糊量,因此模糊控制的最后一步需要对该模糊输出进行去模糊化。去模糊化的方式有很多,在本次实验中,用到了面积重心法如式34所示: (34)而对于离散系统来说,在具有m个离散输出隶属度的情况下,该公式可以如式35进行表示: (35)该方法将隶属度函数与对应的横坐标所围成面积的重心横坐标作为该模糊子集的去模糊化代表值。面积重心法对信号的改变非常灵敏,只要输入值产生变化,输出值也会对应地发生变化,因此该方法成为了一种比较常用的去模糊化方法。根据以上流程,在MATLAB中进行模糊控制的仿真。首先,在MATLAB主界面中输入fuzzy指令即可打开模糊规则编辑器。接着,设定两个输入量与两个输出量,并根据前文所述设置这些变量的论域,再依次将各个变量的论域分成七个模糊子集。下一步,将模糊规则表添加到编辑器中,编辑器中通常采用“if,then”的形式来描述输入量与输出量的关系。最后将去模糊化方法设为面积重心法。如图3-12,3-13所示:图3-12MATLAB模糊控制编辑器图3-13模糊规则设定在SimulinkLibrary中找到FuzzyLogicController模块,将上文编辑好的模糊控制文件导入到该模块中,根据模糊PID原理图,在原先的三闭环控制仿真中建立位置模糊控制器子系统,搭建仿真模型,如图3-14所示。图3-14模糊控制器仿真模型其中,由于设置两个输入量的论域为[-6,6],而一般情况下位置误差与误差变化率的变化区间并不在这个范围内。因此,需要添加一个系数来将这两个输入量的值域转换到[-6,6]中。经过测试后,测得误差最大值约为1.8,因此将误差的参数设为3;而误差变化率的最大值约为160,其参数取为0.04。对该位置模糊控制系统进行仿真。在仿真的过程中发现,该模型的仿真速度异常缓慢,运行十几分钟也只仿真了0.005秒,根本无法进行正常的仿真。若想解决这种问题,加快仿真速度,就要在模糊控制器前加入一个零阶保持器,设置采样时间与相同。由于零阶保持器可以把离散信号转换为连续信号,减轻了系统的运算负担,加快了仿真速度。不过,虽然加入零阶保持器之后仿真速度有明显加快,但是其仿真速度还是不及传统三闭环模型及前馈控制模型的仿真速度,运行1秒钟的仿真仍需要两三分钟,仍然是偏慢的。图3-15机械臂位置模糊控制系统的位置跟随曲线仿真得到的位置跟随曲线如图3-15所示。可见,相较于传统的三闭环伺服控制系统,模糊控制系统削弱了原本存在的位置相位滞后的问题,但模糊控制的本质还是一种PI调节,对位置控制系统的提升有限,导致系统不能很好地跟随给定位置曲线,跟踪误差仍然存在,对机械臂的控制性能要劣于上文所述的位置前馈控制系统。3.4机械臂位置滑模控制系统对于机械臂控制系统来说,滑模控制不受系统参数及扰动影响以及响应速度快的优点非常适合对机械臂进行控制。滑模控制的方法也有多种,而本实验采用了简单明了的趋近律方法来实现对位置环的滑模控制。在设计滑模控制器前,首先要考虑到设计出来的滑模控制器需要满足以下几个条件:滑动模态必须存在;满足可达性条件,在滑模面以外的运动点都将在有限时间内到达滑模面,即;保证滑模运动的稳定性;达到控制系统的动态品质要求。接下来便开始设计位置环的滑模控制器。由于位置环输入的是位置误差信号,首先定义系统的状态变量为: (36) (37)而最终要获得的输出量为给定转速信号,为了运算方便,这里先将转速信号转化为角速度信号。所以最后只需得到与关系式即可。设,并且设置滑模面为,其中。选取指数趋近律,其中。该趋近律表示,在滑模运动刚开始时,运动点离滑模面较远,此时较大,指数趋近项也较大,运动点以速度快速趋近滑模面。随着运动点越来越靠近滑模面,逐渐减小,此时的值也不断减小。一旦的值过小,运动点趋近于滑模面的速度也变得很小,无限接近于滑模面却无法到达滑模面。此时违背了上文所述的第二个条件,即在有限时间内到达滑模面的要求,因此需要设置等速趋近项。再小,只要有,此时趋近速度约等于,只要合理设置的值,就能保证滑模运动的动态性能。设定完滑模面及趋近律后,对控制器的表达式进行求解。首先对滑模面函数求导,得,再代入趋近律函数,可以得到以下算式: (38)整理后得: (39) (40)对上式两边积分,得到滑模控制器的表达式为: (41)该表达式中存在积分项,积分项可以在一定程度上减轻滑模控制系统的抖振问题,并且可以减少系统的稳态误差。根据上式,在MATLAB中建立相应的滑模控制器仿真模型:图3-16滑模控制器仿真模型对控制器的三项参数进行调节。首先调节参数。根据滑模面函数公式,的大小直接影响了滑模面函数的数值大小,即点到滑模面的距离远近。尽量选择合适的值,过大的会导致系统不稳定,过小的会导致的存在没有意义。关系到运动点的初始速度,在机械臂控制系统中,希望系统能够快速跟随上给定曲线,因此需要设置较大的初始速度。同样,设置得过大会导致运动点刚开始趋近滑模面的速度过快,导致跟随曲线会非常快地跟随上给定曲线,并且出现多次振荡与超调的问题,因为位置跟随的特殊性,需要尽量避免这种情况的发生。也会影响系统的初始趋近速度,但还是系统出现抖振的主要原因。当运动点靠近滑模面,此时很小,趋近速度可以约等于,此时运动点会以为速度不断在滑模面两侧穿梭。而的值越大,系统的抖振就很越厉害。由于控制器表达式存在积分项,抖振情况会稍微减轻一点,但也必须要控制好的值。最终,经过综合考虑,取,,。得到的系统跟随曲线如下图:图3-17机械臂位置滑模控制的位置跟随曲线根据图3-18可知,滑模控制对扫频信号的跟随性能较好。其控制性能略逊于位置前馈控制,但优于位置模糊控制。该系统的响应速度相比前馈控制要更快,从图中可以观察到,滑模控制系统在约0.05秒的时候就已经跟随上了给定信号,比前馈控制快了将近一倍速度。但是因为滑模控制的抖振特性,系统跟随会存在一定的稳态误差,在波峰波谷处误差最为明显,但是该误差在可接受范围内。3.5滑模控制系统存在的问题但在对滑模控制进行研究的过程中,发现了一个很严重的控制问题。由于在对机械臂的实际控制过程中,给定信号肯定会根据实际需求而改变。因此尝试将给定信号替换成别的信号,测试不同控制策略的控制性能。从最简单的信号开始,直接给定阶跃信号的值为30,对滑模控制系统进行位置跟随测试,测试结果如图3-18所示。图3-18滑模控制对阶跃信号的跟随情况从图中很明显能够看出,系统对该简易信号的跟随能力极差,超调量达到了66.67%,且系统振荡的情况非常严重。针对这种情况修改滑模控制器的参数来调节系统性能。设置,,此时得到正常的跟随曲线,无超调无震荡,跟随性能尚可。图3-19修改控制器参数后的跟随情况继续进行测试,将系统给定设置为斜坡信号,初始值为0,斜率为30,仿真结果如下。图3-20滑模控制对斜坡信号的跟随情况乍一看跟随得很好,但是不妨换一种斜坡信号的形式,设置斜坡信号初始值为20,斜率为10,再次进行仿真:图3-21斜坡信号改变后的仿真情况这次的结果和图3-18一样,滑模控制对给定信号的跟随能力非常差。再将图3-21和图3-20进行比对,图3-20的斜坡信号没有设置初始值,相当于开始时运动点就在滑模面附近,不需要花时间趋近滑模面,只会在滑模面两侧不停地运动,因此跟随得比较好;而图3-21的斜坡信号有初始值,因为滑模控制中参数和的值设置得较大,导致系统初始状态下对滑模面趋近速度很快,到达滑模面之后仍然以非常大的速度在滑模面两侧不断穿越,因此才导致这么严重的超调与振荡问题。根据上述结果,猜想该仿真中设置的滑模控制器参数会造成滑模控制系统对有初始值的给定信号的控制性能比较差。为了验证猜想,再用前文中的正弦信号对滑模控制系统进行测试。但此时,设置扫频信号的初始位置为5,其他不变,结果如图3-22所示:图3-22扫频信号有初始值后滑模控制的跟随曲线果然发生了与刚才测试中同样的问题。系统刚开始时对给定的跟随性能很差,出现了超调与振荡的问题,而这种情况在机械臂控制中是不允许存在的。同样使用上文中的几种信号对模糊控制和前馈控制进行测试,结果并没有出现类似于滑模控制的不稳定问题。出现这种情况的原因,归根结底是因为滑模控制器的参数设置。在第四节中经过反复仿真最终得到的参数值,在更换了给定信号之后对系统的控制性能就变得很差,又要重新对参数进行设定,设定完之后还需要仿真调试,这在实际操作中显得过于繁杂。而对于前馈控制和模糊控制来说,前馈控制是根据给定值大小来对闭环进行实时反馈,而模糊控制则是根据控制器输入来对输出论域进行动态调控,这两种控制方法的灵活性要好于滑模控制。并且,这两种方法的相性很好,前馈控制根据给定对系统进行调节,模糊控制则是对位置调节器进行调节,若将这两种控制策略的优点结合起来,对机械臂控制系统的控制性能一定会更好。3.6机械臂模糊前馈控制系统由于发现了上一节所述的问题,综合考虑放弃继续研究机械臂滑模控制系统,转而研究复合控制策略,即模糊前馈控制系统。其实模糊前馈控制早已不算是一种新型的控制方法,已经有不少学者研究过这种控制策略。有学者在永磁同步电机的双闭环矢量控制系统中,对速度环采用基于前馈补偿的模糊控制,得出这种控制方法能很好地对电机转速进行控制,响应速度快,调节时间短,抗干扰能力好的结论。还有学者对位置环使用模糊前馈控制,通过实验的方法得出结论,前馈模糊控制策略在给定正弦位置信号的情况下,控制系统可以完全跟随给定信号。针对机械臂控制系统,结合第二节与第三节中所推导的前馈控制系统和模糊控制系统,直接可以得到下图中的仿真模型。图3-23机械臂模糊前馈控制系统对模糊前馈控制系统进行仿真,并将跟随曲线与前馈控制系统的跟随性能进行比较,由于两个系统跟踪性能差距不大,从位置跟随曲线上很难看出两者的区别。但是可以通过观察误差曲线,比较误差大小来判断两者性能差距。误差曲线见图3-24和3-25。从两张图中不难看出,模糊前馈控制在系统稳定之后的跟随误差相比前馈控制更小,跟随性能相对更好。综合来说,将这两种方法结合起来是有意义的,进一步降低了跟随系统的相位滞后问题。图3-24机械臂前馈控制系统误差曲线图3-25机械臂模糊前馈控制系统误差曲线软件设计4.1TMS320F28335芯片简介28335芯片采用176引脚LQFP四边形封装,其主要性能如下:(1)28335芯片采用高性能静态CMOS技术,指令周期为6.67,主频达到150MHz,方便电机控制,功率器件控制和工业控制。该芯片具有高性能的32位CPU。单精度浮点运算单元(FPU)使用哈佛流水线结构,可以快速执行中断响应,具有内置的内存管理模式,并支持C/C++语言的复杂数学算法。(2)28335片上存储器分为:的Flash存储器,的SARAM存储器,OTPROM和的BootROM。其中,FLASH存储器以及OPTROM受系统密码保护,并且用户在这些存储器中设置的程序也会受到保护。(3)28335控制时钟系统具有6通道DMA控制器,片上振荡器和看门狗模块,支持动态PLL调谐,内部可编程锁相环,并通过软件对应的寄存器设置CPU时钟频率。(4)28335的控制时钟系统具有6通道DMA控制器,片上振荡器,看门狗模块,支持动态PLL调节,内部可编程锁相环,通过软件设置相应寄存器的值改变CPU的输入时钟频率。(5)28335内部有16根中断线,其中包括两个不可屏蔽中断与14个可屏蔽中断。其中12个可屏蔽中断线由8个外设中断组成,一共支持58个外设中断,通过外设中断扩展控制器(PIE)来管理片上外设和外部引脚引起的中断请求。(6)28335中有增强型的外设模块:18个PWM输出,包含6个高分辨率脉宽调制模块(HRPWM)、6个事件捕获输入和2通道的正交调制模块(QEP)。(7)28335一共有3个32位的定时器,定时器0和定时器1用作一般的定时器,定时器0接到PIE模块,定时器1接到中断INTl3;定时器2用于DSP/BIOS的片上实时系统,连接到中断INTl4,如果系统不使用DSP/BIOS,定时器2可用于一般定时器。(8)28335的串行外设为2通道CAN模块、3通道SCI模块、2个McBSP(多通道缓冲串行接口)模块、1个SPI模块、1个I2C主从兼容的串行总线接口模块。12位A/D转换器具有16个转换通道、2个采样保持器、内外部参考电压,转换速度为80,同时支持多通道转换。(9)此外,28335还有88个可编程的复用GPIO引脚,并且可以运行于低功耗模式下。内核电压为1.9V,I/O引脚电压为3.3V。且片上外设寄存器块0~3只能用于数据存储区,用户不能在该存储区内写入程序。同时,OTPROM区(0x380000~0x3803FF)为只读空间,存储A/D转换器的校准程序,用户不能对此空间写入程序。若设置安全代码,存储器区域Ox33FF80~0x33FFF5需全部写入数据0x0000,而不能用于存储程序或数据。反之,0x33FF80~Ox33FEF可以存储数据或程序,其中0x33FFF0~Ox33FFF5只能存储数据。软件部分主要在TI公司开发的DSP芯片专用仿真平台CCS5.5中对TMS320F28335进行编程。4.2软件框架4.2.1主程序设计28335的主程序主要进行整个系统模块进行初始化工作,其中包括时钟模块、中断模块、外设模块、IO口等等。此外还需要在主程序中定义本次实验中所需要的参数和变量。主程序的流程图如下:图4-1主程序流程图主程序的操作流程为:首先初始化系统,设置28335系统频率为150,禁用看门狗模块,设置PLLCR(锁相环电路)的系统时钟频率,设置高频和低频外设时钟的预分频器,并启用外设时钟;随后初始化IO口,其中包括ePWM模块,SPI模块,RDC模块和CAN模块的初始化;第三步,关系统中断,初始化系统的中断向量表并且重新映射系统中断服务程序的地址;下一步,初始化各个模块配置,这一步涉及的模块较多,将在下一条中详细介绍;接着,初始化系统参数,其中主要包含电机参数、控制器参数等等;完成各项初始化工作后,使能部分中断,软件中一共用到了PWM中断、定时器中断、DMA中断以及eCAN中断,使能中断后,开全局中断;最后,设置一个for语句让程序进入无限循环中,等待中断子程序的到来。要注意的是,在该循环语句中需要时刻判断电机的状态。若电机处于运行状态,则需要监测电机的电流、电压及温度值,实时观察电机是否有过流、过压或过温的情况出现。一旦电机进入故障状态,系统会停止输出PWM波形,直到故障被排除。4.2.2ePWM模块配置28335芯片中,每个ePWM模块都是由两路ePWM输出组成,一共有6对这样的ePWM模块。由于最终希望得到六路方波输出,因此只需要用到3对ePWM(本文使用了ePWM1,ePWM2和ePWM3)模块。对这三个模块进行以下参数配置:ePWM模块中还含有很多子模块,软件中主要用到了时基模块TB、计数比较模块CC、动作模块AC、死区模块DB和事件触发模块ET。配置时基模块TB。首先确定PWM的中断频率为10,即中断周期为100。将时基计数器设定为向上-向下计数(增减)模式,即计数器在前半个周期中向上计数,后半个周期向下计数。计数器每1计75个数,那么一个周期时基计数器将计7500个数,其计数最大值为3750。将时基模块设定为时基周期影子寄存器模式,每当计数器的值归零,周期寄存器TBPRD会立即装载影子寄存器的值。配置计数比较模块CC。计数比较模块可以将时基计数器的值作为输入,并不断地将该值与比较寄存器CMPA和CMPB中的值进行比较,一旦时基计数器的值等于其中一个比较寄存器的值,就会产生相应的事件。采用比较寄存器CMPA来控制PWM的占空比,每当SVPWM输出不同的,系统就会相应地更新CMPA的值。CMPB设置为1500,即在20时时基计数器的值等于CMPB的值。比较模块也设置了影子寄存器,和TB模块的一样,也是过零装载。配置动作模块AC。当ePWM模块产生相关事件时,动作模块会决定是输出高电平还是低电平。由于需要利用CMPA来控制系统占空比,因此将CMPA的动作设定为:向上计数时,当时基计数器的值等于CMPA的值,ePWMxA输出高电平;向下计数时,发生同上事件后,ePWMxA输出低电平。配置死区模块DB。ePWM模块中的三相全桥逆变电路很容易造成短路的问题。因此,设置死区时间为20,使能上升沿下降沿双边延时,并且设ePWMxA输出极性翻转,ePWMxB输出极性不翻转。配置事件触发模块ET。系统每产生一个事件就会产生一个ePWM中断,并设置ePWM1模块在时基计数器为其最大值时触发事件1(ePWM1中断),ePWM2模块在计数器值等于CMPB时触发事件2(ePWM2中断)。4.2.3ADC模块配置ADC模块使用内部参考电压,时钟频率为25,采样频率为12.5,即每0.08进行一次采样。设置ADC模块的2个8状态排序器独立工作,两个排序器按照顺序一一进行采样。排序器工作在启动/停止模式下,每当有触发信号到来时,排序器才会开始排序工作。设定排序器的采样顺序为:第一次对通道3进行采样,可以得到的值;第二次对通道1进行采样,可以得到的值;第三次对通道10进行采样,可以得到的值。4.2.4DMA模块配置DMA模块可以将ADC模块转换完的电流结果传送到相应的地址中。DMA模块一共有6个通道,使能DMA通道1来进行数据交换工作。DMA通道的设置必须与ADC设置的采样次数及转换次数相匹配。设源地址为ADC模块的结果寄存器0,目标地址为DMA模块的缓冲区。首先配置DMA内循环,让DMA从结果寄存器0开始传送3个数据,由于每个数据会传送5次,因此每传完一个数据,目标地址需要向后移5位,为接下来的四次数据传输留下空间。而源地址向后移一位,继续传送下一个结果寄存器的值。再配置DMA的外循环,第一次内循环结束后,目标地址一共后移了10位,源地址后移了2位,所以要将源地址前移2位回到结果寄存器0。由于原来的目标地址已经写过数据了,因此需要对该地址的下一位传送数据,所以目标地址要前移(10-1)位,回到上一次数据传输中的第一位地址的下一位。通道1的数据传送工作通过SEQ1(排序器1)中断触发,工作在连续模式下,并且在传送结束后会产生DMA中断,该中断会告知CPU数据传送工作已完成。使用DMA模块的好处在于,DMA模块能够用硬件实现存储器与存储器之间、存储器与IO设备之间的高速数据传送,这个过程中不需要CPU参与,大大减少了CPU的操作负担。而且存储器地址的修改和传送均由硬件自动完成,极大程度地提高了数据传输速度和效率,减少了程序耗时。4.2.5SPI与RDC模块配置SPI模块工作在主/从模式下,其中28335芯片为主控制器,RDC模块(旋变解码芯片)为从控制器。设置SPI模块通讯速率为低速时钟的5分频,即。由于RDC模块内部设为8位数据字长,所以将SPI模块相应地设置一次可传输8位数据长度。读数据时,SPI模块采用查询方法,可以主动发出信号来查询旋变解码芯片中的数据。SPI模块主要的通讯任务就是进行角度信号与转速信号的读取,均在ePWM2中断内进行。对于RDC模块来说,使用AD2S1210芯片可实现旋变解码电路。设该芯片工作模式为配置模式,激励频率为10,14位分辨率,最大可跟踪速率为。AD2S1210芯片的位置和速度数据分别储存在地址0x80-0x83中。SPI模块首先从0x80中读取位置数据,同时会发送一个数据。此时发送的数据并不是刚刚读到的位置值,而是将之前存储在SPI寄存器中的数据发送了出去。而这一个周期读到的位置数据要在下一个周期发送。因此,若需要读取一次转速或位置信息,必须让SPI进行三次读取与传输工作,这样才能得到一个完整的转速/位置数据。读取角度时主要会进行以下操作:首先更新AD2S1210中的位置与速度信息,随后利用SPI模块与RDC模块进行通讯,获取角度信息。由于SPI模块要读取两次角度数据,一次读取8位,而AD2S1210的分辨率为14位,因此要将读到的数据右移两位来确保数据的准确性。随后,需要通过换算处理将该14位数据转换为实际的角度值。读取速度值同理。但需要注意的是,SPI模块读取到的16位速度数据最高位代表转速方向,1代表正转,0代表反转。若为反转,需要对该数据取补码才能得到真实的转速数据。具体流程如下图所示:图4-2SPI模块程序流程图4.3中断程序设计4.3.1ePWM中断设计28335芯片内部可以产生多种中断信号,本程序中主要用到了ePWM中断和定时器中断。ePWM中断作为本次程序中的主中断,中断周期设置为100,并主要执行以下操作:读取电流、转速、位置信号,监测电机与控制器的实时状态,并实现对电流环、转速环和位置环的三闭环控制。图4-3ePWM中断设置将ePWM中断分为两个子中断:ePWM1中断和ePWM2中断。EPWM1中断在中断周期中点处触发,主要负责电流环的相关操作。进入ePWM1中断后,首先会采集电机的电流值,此时采到的电流值为静止坐标系下的电流值。由于最终需要将该电流值反馈到电流环中,必须经过Clark变换以及Park变换后转换为d-q坐标系下的电流值。得到反馈电流值之后,便需要对电流环进行计算,此时系统会自动判断现在的闭环情况。若系统正处于位置三闭环或者转速双闭环中,那么电流环的输入给定就等于速度调节器的输出值;若系统直接处在电流环中,那么此时相当于没有转速环和位置环控制,需要上位机来给定。给定和反馈值都得到之后,开始进行电流环的计算,首先算出电流调节器的输出值,再通过反Park变换及SVPWM算法,在下一个周期更新比较寄存器CMPA的值,改变占空比,输出相应的六路方波来控制电机输出新的电流值,该电流值经过Clark变换和Park变换后作为电流环的反馈电流。最后还需要进行过流保护,再重复以上操作。ePWM2中断主要进行角度读取和转速读取工作,一般会花费20左右时间,运行时间较长,因此选择在时触发中断。该中断的读取角度和转速的具体操作在5.1.5中已经详细做过介绍,故不再赘述。4.3.2定时器中断设计相较于电流环,转速环和位置环的计算不需要ePWM中断那样大的中断频率,因此将这两个环的相关操作放在了定时器中断内。将定时器中断频率设置为1,中断周期为1。定时器中断内会对位置环与转速环进行PI调节器运算,最终目的都是获得速度调节器的输出来作为电流环的输入。首先系统仍然要判断现在系统的闭环情况,但此时只需判断是位置三闭环还是转速双闭环。若是转速双闭环,此时不存在位置环,所以转速输入需要通过上位机给定,反馈转速为旋变解码芯片中的速度值,之后便直接进行速度环PI计算即可得到转速输出。若为位置环,此时将ePWM2中得到的角度值换算成实际的负载端角度信息,作为反馈角度。随后依次进行位置调节器和速度调节器的计算,最后获得转速输出值。4.4位置前馈控制程序设计在5.1节和5.2节中主要完成了主程序和中断程序的设计,实现了机械臂的永磁同步电机传统三闭环伺服控制系统。若要加入位置前馈控制,只需要在5.2节中所提到的两个中断程序中加上位置前馈控制的内容即可。位置前馈控制的主要程序放在定时器中断中。若系统判定目前正处于位置前馈控制系统中,便会执行前馈控制的相关操作。前馈控制程序会涉及到位置正弦给定曲线的生成程序。给定正弦曲线的频率以及幅值由上位机进行给定,程序会自动计算出给定曲线的角速度。而给定正弦幅值为机械臂的角度信号,所以还需要换算为电机的旋转圈数。实现前馈控制,只需要在该子程序中计算出前馈幅值即可,根据3.2节推导出转速前馈幅值和电流前馈幅值的计算公式: (42) (43)其中,为转速前馈幅值,为转速前馈的衰减系数,为正弦给定信号的幅值,为正弦给定信号的角速度,乘以60代表的单位换算。为电流前馈幅值,为电流衰减系数,为电流与转矩之比。随后直接将生成的位置正弦给定曲线作为位置调节器的输入进行计算,再将输出的转速值与前馈转速值相加后作为转速调节器的输入,继续进行转速环的计算。最后,在定时器中断中会直接对电流前馈值进行处理,将正弦给定子程序中计算得到的前馈电流与转速环的输出电流值相加,得到电流给定之和。对ePWM1中断进行修改。同样,若系统判断目前处在前馈控制系统中,便会将定时器中断中计算出的之和作为电流环的给定,之后再进入电流环的运算程序。4.5位置模糊控制程序设计模糊控制程序只需要修改定时器中断,将原本的位置环PI控制器更改为模糊PI控制器程序即可。而模糊控制程序的设计,只需根据模糊控制的操作步骤,一步一步地编写程序。具体流程如图4-4所示。第一步,定义模糊变量。为了方便后续的程序设计,将七个模糊子集赋值为,并设置四个长度都为7的数组,用来保存这四个量对各个模糊子集的隶属度。额外定义两个长度为7的数组和,这两个数组用来记录两个对七个模糊子集的“特征值”。特征值为模糊子集的中点,即模糊子集中三角形隶属度最大点的横坐标。图4-4模糊控制程序流程图第二步,求输入量的隶属度。先求出位置误差,误差变化率等于当前位置误差减去前一次的位置误差,并且以适当的比例将这两个参数转换到论域[-6,6]中。根据图3-11中的三角形隶属度函数公式,求出输入量和对七个模糊子集的隶属度,得到的数据保存在对应的数组和中。一般情况下,每个输入量最多会有两个数组的隶属度值会大于0。通过两层for循环嵌套,找出和隶属度大于0的数组编号。第三步,查询模糊规则表。模糊规则表可以直接通过if语句来实现,其表达形式如图所示,其中变量的值可以根据表1和表2进行更改。根据第二步最后得到的数组编号,便可以得到和的模糊输出,记录和数组中。图4-5模糊规则表程序表达式第四步,去模糊化。去模糊化公式参照式x。只需要将七个隶属度与对应的七个特征值相乘之后再求和,最后除以隶属度之和便可以得到和的输出值。 通过第三步和第四步便可以看出第一步中给模糊子集赋值的意义。赋值不仅方便了在程序中建立输入量与输出量的模糊规则关系,还可以使每个模糊子集的特征值数组和隶属度数组中的值一一对应,大大地简化了去模糊化程序的设计。五.基于TMS320F28335的实验及分析5.1硬件部分介绍以28335芯片为核心处理器,机械臂的永磁同步电机伺服控制系统的DSP28335硬件电路结构框图如图5-1所示。图中涉及到以下重要模块:eCAN模块,该模块可以实现与上位机PC的通讯;PWM模块可以通过改变占空比来生成相应的六路方波输出;IPM功率模块,能够将PWM模块的六路方波输出转换成三相交流电流来控制电机;ADC模块可以用来进行温度与电流的采样。旋变解码芯片(RDC)可以完成对电机的实时位置以及转速解码,并通过SPI模块将位置与转速的值发送给CPU。图5-128335芯片硬件结构图5.2机械臂伺服控制系统实验结果及分析5.2.1实验设备简介在本次实验中,主要用到了以下设备:表贴式永磁同步电机、28335芯片控制器、直流稳压电源、CAN卡、减速机构以及机械臂。控制器由直流稳压电源输出24V电源进行供电,CAN卡可以实现控制器与上位机的通讯。减速机构减速比为1:80,机械臂负载重5kg,实验平台如图5-2所示。图5-2机械臂、电机及减速机构(左)控制器(右)5.2.2实验结果及分析由于仿真时所用的电机参数与实验时的参数有所出入,因此在实验的过程中以实验电机的参数为准,并修改了控制器参数。对四种控制系统进行实验,设给定正弦信号幅值为15,频率从0.1HZ到1HZ逐渐增大。前馈控制中转速衰减系数和电流衰减系数分别设为0.93和0.3。根据实验数据,在MATLAB中得到了四种位置跟随曲线:传统三闭环PI控制系统图5-3传统三闭环控制系统跟随曲线如图所示,随着正弦信号频率的增加,传统三闭环控制系统的控制性能变差,系统响应速度逐渐无法跟随给定信号的变化速度,幅值衰减严重。模糊控制系统图5-4模糊控制系统跟随曲线对比传统三闭环控制曲线,模糊控制系统控制性能有略微改善,然而一旦正弦频率增大,系统仍然不能完全跟随上给定正弦信号的幅值。前馈控制系统图5-5前馈控制系统跟随曲线由图5-5所示,前馈控制对系统位置环跟踪性能的提升程度很大。给定频率增大,系统依然能够快速跟随上给定信号,但仍然存在微小的跟随误差。模糊前馈控制系统图5-6模糊前馈控制系统跟随曲线由于性能差距细微,单从图5-6中无法看出模糊前馈控制系统相较于前馈系统的性能提升。为此,在MATLAB中生成对比图来观察两者区别:图5-7前馈控制(实线)与模糊前馈控制(虚线)跟随曲线对比图可见模糊前馈控制系统确实在前馈控制的基础上性能有所提升,但是提升程度不大,综合来看是三种控制策略中控制性能最好的一种。实验结果验证了上述三种控制策略能够在不同程度上提升系统的位置精度与响应速度。且与第三章中仿真结果一样,系统的控制性能从好到坏依次为:模糊前馈控制>前馈控制>>模糊控制>传统PI控制。总结与展望永磁同步电机诞生至今,其运用范围越来越广泛,尤其是今年来比较火热的机器人领域。而机械臂作为机器人自动化领域中不可或缺的一部分,使用永磁同步电机来实现机械臂的精确化控制成为了目前的一大研究内容。由于永磁同步电机传统三闭环伺服控制系统的控制能力有限,需要通过使用控制策略来提高永磁同步电机对机械臂的控制性能。本文在对永磁同步电机的三闭环伺服控制系统仿真基础上,增加了位置前馈控制、位置模糊控制、位置滑模控制及位置模糊前馈控制,实现了机械臂控制系统的性能提升。同时,结合TMS320F28335控制芯片,对该控制系统进行编程设计。本文完成的主要工作如下:自学《现代永磁同步电机控制原理及MATLAB仿真》及《手把手教你学DSP》两本教材,在网上查阅了国内外与永磁同步电机控制策略以及DSP芯片的有关文献,研究永磁同步电机三闭环伺服控制系统的控制原理、控制策略原理与其应用方法以及28335芯片的相关知识。基于所学的内容,再结合实际中的机械臂控制系统,分析了系统负载转矩,给定正弦输入信号,并整定了三闭环PI参数,最终在MATLAB/Simulink仿真平台上搭建了机械臂的永磁同步电机三闭环控制系统。为了进一步提升控制系统的性能,在(2)的基础上实现了位置环前馈控制、模糊控制、滑模控制和模糊前馈控制这四种控制系统。仿真结果表明,这些控制策略有效地提升了位置环的控制性能。由于滑模控制存在参数整定的问题,没有进行深入研究。在TI公司开发的CCS5.5平台上,通过编程实现了机械臂位置前馈控制系统、模糊控制系统及前馈模糊控制系统程序,用实验验证了这三种不同的控制策略对系统的位置精度及响应速度有不同程度的改善,其中模糊前馈控制的控制系统的性能最好。本文基本实现了课题的主要研究内容,但由于时间与个人能力有限,留下了一些问题,可以通过以下两点进行完善:(1)滑模控制的改进。实现滑模控制的方式有很多种,本文只是运用了其中一种比较简单且直接的滑模控制方法。若使用新型的滑模面函数,或采用控制效果更好的趋近律函数,再或者运用模型参考自适应滑模控制[31]等复合控制策略来实现滑模控制等等,相信总有一种方法可以改善滑模控制的问题。(2)由于本文内容主要基于软件方面来实现机械臂的位置控制,28335芯片的硬件部分直接采用了实验室中现有的硬件电路,因此文中并没有涉及到硬件部分的设计,只是做了简单的介绍。若能加入硬件电路的设计,课题的内容会更加充实,同时也能够针对本文设计的几种控制系统来改进现有的硬件电路,使系统达到更好的控制效果。参考文献[1]唐丽婵,齐亮.永磁同步电机的应用现状与发展趋势[J].装备机械,2011(1):7-12.[2]于旭东.浅谈永磁同步电机伺服系统及其现状[J].黑龙江科技信息,2013(1):89.DOI:10.3969/j.issn.1673-1328.2013.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论