1论文题目:风力摆控制系统设计学生:庞刚学号:201206070422院(系):电气与信息工程学院专业:自动化124指导教师:郑恩让2016年1月4日1风力摆控制系统庞刚(陕西科技大学电气与信息工程学院,陕西西安710021)摘要:本组选择的是2015年大学生电子竞赛B题——风力摆控制系统。针对于题目基础部分与发挥部分要求,设计了一个以飞思卡尔公司单片机MK60为控制单元、2对垂直放置的轴流风机组为执行器单元、陀螺仪传感器和加速度传感器以信息融合方式实现的(角度)传感器单元形成了一个三维空间的闭环控制系统(风力摆控制系统)。在此基础上首先利用空间矢量法将被控量投影到X和Y两个独立坐标上,分别利用相互独立的PID、FUZZY等控制方法实现风力摆系统系列动作。实验表明:本竞赛小组设计制作的风力摆系统能够以较高的精度完成各种任务。关键词:风力摆,MK60,轴流风机,角度传感器,空间矢量法,PIDWindpendulumcontrolsystemPANGGang(ShaanxiUniversityofScience&Technology,Academyofelectronicinformationandelectricalengineering,ShanXiXi’an710021)Abstract:TheUndergraduateElectronicCompetitioninthisgroupchoseBquestion-Windpendulumcontrolsystem.Forthebaseportionandplayinthetitlepartoftherequirements,wedesignedaFreescalemicrocontrollerMK60controlunit,twopairsofverticallydisposedaxialairunitsfortheactuatorunit,agyrosensorandanaccelerationsensorinformationfusionwaytoachieve(angle)sensorunitsformaclosedloopcontrolsystemofathree-dimensionalspace(windpendulumcontrolsystem).Firstly,onthebasisofspacevectorwillbechargedtheamountprojectedontoXandYcoordinatesoftwoseparate,independentofoneanother,respectivelyPID,FUZZYandothercontrolmethodstoachieveawindpendulumseriesofactions.Experimentalresultsshowthat:Theraceteamdesignedawindpendulumsystemwithhighaccuracycancompletevarioustasks.Keywords:Windswing,MK60,axialfans,anglesensors,spacevector,PID1方案论证首先我们对该系统的结构及风力摆运动控制方案的比较论证。21.1系统结构由图可知,风力摆的整体结构由控制单元MK60,执行单元轴流风机组,传感器单元mpu9250以及人机交互模块和其他必要外设构成。该系统结构简单,电路易于实现,功能完善,且稳定性高,精度高,性能好。1.2系统方案比较论证1.2.1控制芯片的选择方案一:利用飞思卡尔公司XS128芯片作为微控制器。方案二:利用飞思卡尔公司MK60芯片作为微控制器。通过对两者的比较,MK60相较于XS128的频率要高很多,且前者为32位,后者为16位。MK60相较于XS128的运算速率要快很多,反应快,精度高。通过比较,选择MK60作为系统的控制单元,可以获得更快的运算速度,更灵敏过的反应,同时应为MK60具有更丰富的管脚,可以设计更完善的外设,增强系统的功能。1.2.2轴流风机的选择根据竞赛题目要求轴流风机为5-10cm,5-12V。我们现有符合要求的轴流风机的型号为80*80、0.5W;80*80、16W;90*90、54W三种类型。如此电机的选择便有三种方案。方案一:用四个80*80、0.5W的轴流风机组成机组。通过实验发现该机组的功率太小,无法满足系统的要求。方案二:用四个80*80、16W的轴流风机组成机组。通过实验,该机组能够达到本系统的驱动能力,满足要求。方案三:用四个90*90、54W的轴流风机组成机组。通过实验发现该机组本身的重量太重,满占空比驱动机组效果和方案二效果相仿,但是有该电机额定电流为4.5A,增加了驱动电路的负担。1.2.3驱动电路的选择方案一:利用MOS管搭建全桥形直流电机驱动电路。该电路具有电流大,电路简单,驱动能力强的特点。方案二:利用电机驱动芯片L298N构成两路输出驱动电路。出于对功率和电流的考虑,该电路的驱动能力无法满足上述电机组的驱动要求。方案三:利用电机驱动芯片BTN7971构成单极(半桥)电机驱动单路。1.2.4角度传感器的选择方案一:利用电位器作为角度变化的检测器件,输出电压信号由软件转换为角度信息,但是由于系统为风力摆控制系统,用电位器在摆的搭建上固定很困难,硬度很软,容易自旋。无法满足方案要求。方案二:利用九轴MPU9250或者六轴MPU6050作为角度的检测器件,根据方案要求需要采集摆与X、Y的角度,虽然两者均含有陀螺仪和角加速度传感器,但是九轴比六轴多出Z轴,更方便我们采集角度的变化,选择亦更灵活,必要时可以屏蔽Z轴不用,故选择九轴角度传感器做为角度的检测原件。1.2.5风力摆的制作方案方案一:一组直流风机用细管或棒(如碳素纤维管、PVC管等)通过万向节固定在3一支架上。虽然风力摆自身重量较重,但是基本没有自旋。方案二:用粗单股导线(减少自旋)将风力摆倒挂在支架上,该方案虽然能够有效减轻风力摆自身的重力,且阻力更小,但是不可避免的会产生自旋,加大队系统的控制难度,软件编程已更复杂。方案二中虽然用单粗导线能够减少自旋,但是无法避免,而万向节和碳素纤维管连接可以避免自旋,固选方案二。1.2.6小结综上所述,本组对该风力摆控制系统的电路设计方案为基于飞思卡尔公司MK60芯片为微处理器,采取九轴MPU9205作为角度传感器,利用BTN7971构成单极电机驱动电路驱动四个80*80、16W的轴流风机组成的机组。2测量与控制方法2.1风力摆系统控制的任务一长约60cm至70cm的细管上端用万向节固定在支架上,下方悬挂一组(2-4只)直流风机构成一个风力摆,如图2-1-1所示。风力摆上安装一向下的激光笔,静止时,激光笔的下端距地面不超过20cm。设计一控制系统,控制驱动风机使风力按照一定的规律运动,激光笔在地面画出要求轨迹。2.2任务难度分析(技术难点)(1)任务难点一:风力摆的起摆作为风力摆系统首要条件便是在风机组的控制下起摆,只有顺利稳定快速地起摆,风力摆在风机组的控制下才能良好的执行规定的动作。(2)任务难点二:对风力摆摆动时摆幅的控制当风机顺利摆起来以后,如果不加以限制,风力摆摆幅会越摆越大。如此技术难点便在于通过电机的配合运动将摆的幅度限制在任务规定范围(误差不超过±2.5cm),以便顺利画出规定长度的直线段。(3)任务难点三:风力摆红外线运动轨迹的线性度的控制基本任务(1)、(2)均有线性度的要求,规定画出的直线段线性度误差不超过±2.5cm。技术难点便在于怎样通过控制电机是摆运动在线性范围内。(4)任务难点四:极坐标的确定基本任务(3)中需要以在地面的任意角度(0°)自己设定以作参考)做类似自由摆的运动,除去限制摆幅、线性度等难点外,最主要的技术难点便是极坐标的确定。(5)任务难点五:风力摆在运动中快速制动在基本任务(4)需要以一定角度讲摆4拉起放开,在规定时间内使风力摆达到静止状态。可分析得出技术难点在于快速制定。2.3技术难点(解决方案)(1)风力摆红外线运动轨迹的线性度的控制解决该难点的方法是当风力摆顺利起摆后,通过角度传感器检测摆偏移的角度,通过判断角度的符号来控制电机动作修正偏移。(2)运动状态下风力摆极坐标的实时确定此难点是所有难点中最难以解决的问题,通过角度传感器采集回来的关于X轴、Y轴的所在平面的偏移角度,利用几何分析,找出极坐标与两个偏移角度的数学关系。(3)对风力摆摆动时快速制动的快速性将风力摆的运动分解为X轴、Y轴方向的运动,两组电机分别对两个方向的运动制动,如此电机能连续对风力摆作用,以达到在规定时间内制动的目的。(4)风力摆激光笔画圆的高圆形度利用角度传感器测出圆的半径,即X轴、Y轴方向的极值,通过判定极值确定是否画圆,以便利用机组调节,保证画圆。造成这些技术难点的原因有:○1控制器——轴流风机的功率较低;○24个轴流风机的功率不一致性;○3万向节的方向性干扰;○4空气的随机行干扰。为此,本小组将依靠硬件系统及控制算法克服,具体内容如下文。2.4系统基本被测量及测量算法2.4.1角度a的测量算法风力摆以碳素纤维杆为与X轴的夹角a1,与Y轴的家轿a2,其示意图如下图所示。2.4.2圆锥角b的测量算法通过多次测量找出了圆锥角b与摆偏移X轴或者Y轴的距离的关系,即和摆幅两倍的线性关系,式子如下:b=5x-50……………………………(1)式(1)表明,圆锥角b与风力摆偏移X轴或者Y轴的成一次函数关系,实验表明利用此式子,通过软件控制风力摆完成基本任务(2)效果很好,系统稳定,误差小。2.4.3极坐标c的测量算法由传感器采集进单片机的两个角a1,a2;x1与X轴的所在平面的夹角,x2与Y轴的所在平面的夹角,如下图。通过几何分析,得出的关系式子如下:tanc=tana1/tana2……………………(2)式(2)表明,极坐标c与a1、a2的关系为三角函数关系,运用此式子可以确定出极坐标,以此完成基本部分(3)的任务要求。2.4.5空间位置(XOY)的测量算法X与Y的算法一样,所以只给出求X的5公式如下:X=5b/3-50…………………………(3)式(3)中b为圆锥角,该式子表明空间坐标X、Y与圆锥角成一次函数,以此可以确定风力摆在坐标轴中的位置,有利于对风力摆的控制。2.5控制算法2.5.1控制指标根据风力摆控制系统任务要求,针对于基础部分和发挥部分的任务要求,需要控制一下的指标量,以满足系统执行时的精度要求。1、线性度在基础任务(1)、(2)、(3)以及发挥部分中,需要要求风力摆在一定的误差带内运动,轨迹误差不得超过±2.5cm。因此,需要对系统测量的线性度,并加以控制。2、线段长度在基础部分(2)、(3)要求风力摆的摆动幅值能够在30-60cm可设置,或任意角度摆动不短与20cm,所以需要测量红外指示灯在地面画出的轨迹长度,并加以控制,来判断风力摆动作是否满足任务要求。3、半径在发挥部分,要求风力摆在地面轨迹所画出的圆半径在15-35cm可设置,所以需要测量半径并加以控制,以判断轨迹圆是否符合任务要求。4、角度在基本任务(3)中要求风力摆能够以任意角度做类似自由摆的运动,所以需要测出角度并加以控制,来判断风力摆的动作是否满足任务要求。2.5.2基本部分任务的主要算法思想(1)基本要求1:从静止开始,15s内控制风力摆做类似自由摆运动,是激光笔稳定地在地面画出一条不短于50cm的直线,其线性度偏差不大于正负2.5cm,并且具有较好的重复性。实现的主要算法:通过陀螺仪检测风力摆运动方向,沿风力摆运动正方向施加推力,既可达到要求。(2)基本要求2:在静止开始,15s内完成幅度可控的摆动,画出长度在30-60cm间可设置,长度偏差不大于正负2.5cm的直线段,并且具有较好的重复性。实现的主要算法:在第一步的基础上使用加速度计测量风力摆摆角,控制直线段长度。(3)基本要求3:在设定摆动方向,风力摆从静止开始,15s内按照设置的方向(角度)摆动,画出不短于20cm的