无刷驱动单轴旋翼系统控制算法设计.docx
《无刷驱动单轴旋翼系统控制算法设计.docx》由会员分享,可在线阅读,更多相关《无刷驱动单轴旋翼系统控制算法设计.docx(26页珍藏版)》请在冰豆网上搜索。
无刷驱动单轴旋翼系统控制算法设计
无刷驱动单轴旋翼系统控制算法设计
摘要
现在随着科技知识的普及,大家对航模、旋翼飞机之类的科技产品都比较感兴趣。
这类产品的主要控制原理相似,很多都是对直流电机的控制。
单轴旋翼系统就是其中的一个例子,它主要是通过用单片机控制电机的转速,从而达到控制电机位置的目的。
主要的控制原理就是利用单片机控制PWM波的输出,从而调节电机的转速,使其可以停留在设定的位置上。
单轴旋翼系统使用AVRATMEGA328P单片机作为控制器,使用无刷电机驱动旋翼,使用微机电传感器姿态检测加速度、角速度、方位角。
利用计算机发出位置指令,单片机接收到位置指令后,通过传感器检测实际位置,控制旋翼的旋转速度,使主轴运动到设定位置上。
使用matlab设计控制算法,使重物能够稳定、准确、快速响应给定指令。
建立单轴旋翼系统的数学模型。
数学模型,一般是指用数学语言、符号或图形等形式来刻画、描述、反映特定的问题或具体事物之间关系的数学结构。
广义地讲,一般表现为数学的概念、法则、公式、性质、数量关系等。
数学模型具有一般化、典型化和精确化的特点。
选择系统的控制方法是PID控制法,PID控制就是由比例环节、积分环节、微分环节组成的一种闭环控制方式。
本设计主要选用了比例环节、积分环节和微分环节。
并且用SIMULINK对PID控制算法进行模拟仿真。
SIMULINK,是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计,适当的调节比例环节、积分环节和微分环节的参数,可以使系统达到稳定、准确、快速。
关键词:
数学模型,pid控制算法,Simulink仿真,稳定、准确、快速
Uniaxialrotorsystemcontrolalgorithmdesign
ABSTRACT
Withthepopularizationofscientificandtechnologicalknowledge,theclassofmodelaircraft,rotorcrafttechnologyproductsaremoreinterested.DCmotorcontrolissimilartothemaincontrolprincipleofsuchproducts.
Singlespindlerotorsystemisoneexampleofthis,Itismainlybyusingsinglechipmicrocomputercontrolmotorrotationalspeed,thusachievethegoalofcontrolofmotorposition.Maincontrolprincipleistheuseofsingle-chipmicrocomputercontrolPWMwaveoutput,soastoadjusttherotationspeedofmotor,makeitcanstayonthesetposition.
SinglespindlerotorsystemusingAVRATMEGA328psinglechipmicrocomputerascontroller,usingbrushlessmotordrivenrotor,usingmicro-electro-mechanicalsensordetectacceleration,angularvelocityandazimuth.Withpositioninstructionfromacomputer,microcontrollerreceivesthepositioncommand,theactuallocationbysensor,controltherotationoftherotorspeed,makemainshaftmovementtosetposition.Designcontrolalgorithm,usematlabtomakeweightcanbestable,accurate,fastinresponsetoagivencommand.
Amathematicmodelofthesingleshaftrotorsystem.Mathematicalmodel,generallyreferstotheuseofmathematicallanguage,symbolsorgraphicstodepict,description,reflectaspecificproblemorthemathematicalmodelofthespecificrelationshipsbetweenthings.Broadlyspeaking,thegeneralexpressionforthemathematicalconcepts,principle,formula,propertiesandquantitativerelation,etc.Mathematicalmodelhasthecharacteristicsoftypicalgeneralization,andhigh-precision.
SelectioncontrolmethodofthesystemisPIDcontrol,PIDcontrolisthechainofproportion,integralelement,differentiallinksformaclosedloopcontrolmethod.Thisdesignmainlyusetheproportionalanddifferential,integrallinklink.PIDcontrolalgorithmandusingSIMULINKsimulation.SIMULINK,whichisoneofthemostimportantcomponentofMATLAB,itprovidesadynamicsystemmodeling,simulationandcomprehensiveanalysisoftheintegrationoftheenvironment.Intheenvironment,withoutalotofwritingprogram,andjustthroughsimpleandintuitivethemouseoperation,canconstructacomplexsystem.Simulinkareadaptiveareawide,clearstructureandprocessandthesimulationprecision,practical,highefficiency,flexibleetc,AndbasedontheaboveadvantagesofSimulinkhasbeenwidelyappliedinthecontroltheoryandcomplexsimulationanddesignofdigitalsignalprocessing,Regulationofappropriateproportionlinkanddifferential,integrallinklinkparameters,canmakethesystemtoachievestable,accurateandrapid.
Keywords:
mathematicalmodel,pidcontrolalgorithm,
Simulinksimulation,stable,accurateandrapid
前言
为了提高学生的课余活动的质量和种类,现在大家都提倡做一些集科技性、知识性、趣味性、实践性于一体的活动,从而越来越多的人热衷于航模、车模之类的活动。
单轴旋翼直流电机的控制就是航模中最基础的控制系统,在此基础上还可以扩展为两旋翼、四旋翼等系统,非常具有研究前景。
该设计的单轴旋翼控制系统是靠控制电机的转速来实现的。
电机上带有螺旋桨,电机依靠升力来调整位置。
通过加速度传感器测得电机的实际位置,若实际位置低于设定位置,则使电机的转速增大,使其产生更大的升力,从而可以让电机的位置上升;若电机的位置高于设定位置,则降低电机的转速,使其升力减小,从而使电机位置下降,靠近设定位置,或是可以让电机反转落到设定位置。
电机可以在垂直方向上60度的范围内自由转动。
整个系统是采用反馈调节的方式,利用闭环控制来实现电机的位置控制,也就是在反馈原理的基础上,通过检测偏差再纠正偏差的控制方式。
闭环控制系统具有抑制烦扰的能力,对于元件特性变化不敏感,并善于改善系统的响应特性。
我们采用数学建模的方法,构造杆,螺旋桨和电机的数学模型,并计算出该系统的传递函数。
选择系统的控制方法是PID控制法,PID控制就是由比例环节、积分环节、微分环节组成的一种闭环控制方式。
本设计主要选用了比例环节、积分环节和微分环节。
并且运用simulink仿真软件对pid算法进行仿真,通过不断调节pid各参数的使得整个系统是一个自动控制系统,自动控制螺旋桨转速产生合适的升力,使木杆悬浮在指定角度。
可以实现:
1.稳定。
在外界扰动的情况下仍能正常工作;
2.准确。
尽量小的稳态误差;
3.快速。
快速运动到设定角度;
PID算法是指在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器是应用最为广泛的一种自动控制器。
它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点。
第1章硬件的介绍
§1.1直流电机的简介
在现代工业中,电动机作为电能转换的传动装置被广泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量增长,越来越多的生产机械要求能实现自动调速。
在可调速传动系统中,按照传动电动机的类型来分,可分为两大类:
直流调速系统和交流调速系统。
交流电动机直流具有结构简单、价格低廉、维修简便、转动惯量小等优点,但主要缺点为调速较为困难。
相比之下,直流电动机虽然存在结构复杂、价格较高、维修麻烦等缺点,但由于具有较大的起动转矩和良好的起、制动性能以及易于在宽范围内实现平滑调速,因此直流调速系统至今仍是自动调速系统的主要形式。
直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。
正是这些技术的进步使直流调速系统发生翻天覆地的变化。
其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并正向全数字控制方向快速发展。
电动机的驱动部分所用的功率器件亦经历了几次更新换代。
目前开关速度更快、控制更容易的全控型功率器件MOSFET和IGBT成为主流。
功率器件控制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现。
脉宽调制控制方法在直流调速中获得了广泛的应用。
本次毕业设计使用的是朗宇V2216KV900无刷电机以及好盈40A电机驱动器(电调)控制器向电调发出转速信号,电调控制电机旋转。
朗宇V2216KV900无刷电机实物图如下:
§1.2Arduino单片机的简介
Arduino是一块基于开放原始代码的Simplei/o平台,并且具有使用类似java,C语言的开发环境,让大家可以快速使用Arduino语言与Flash或Processing等软件,做出互动作品。
Arduino可以使用开发完成的电子元件例如Switch或Sensors或其他控制器、LED、步进电机或其它输出装置。
Arduino也可以独立运作成为一个可以跟软件沟通的平台。
DFRduino与Arduino完全兼容,只是在原来的基础上做了些改进。
Arduino的实物图如图1-1:
图1-1Arduino开发板的示意图
Arduino的特性描述:
1.DigitalI/O数字输入/输出端共0~13。
2.AnalogI/O模拟输入/输出端共0~5。
3.支持USB接口协议及供电(不需外接电源)。
4.支持ISP下载功能。
5.支持单片机TX/RX端子。
6.支持USBTX/RX端子。
7.支持AREF端子。
8.支持六組PWM端子(Pin11,Pin10,Pin9,Pin6,Pin5,Pin3)。
9.输入电压:
接上USB时无须外部供电或外部5V~9VDC输入。
10.输出电压:
5VDC输出和3.3VDC输出和外部电源输入。
11.采用AtmelAtmega168V-10PI单片机。
12.DFRduino大小尺寸:
宽70mmX高54mm。
Arduino所采用的ATmega8微处理器一其有6个模数转换器(ADC,AnalogtoDigitalConverter),每一个模数转换器的精度都是10bit,也就是说能够读取1024(2^10=1024)个状态。
在Arduino的每一个模拟输入管脚上,电压的变化范畴是从0V到5V,因此Arduino能够感知到的最小电压变化是4.8毫伏(5/1024=4.8mV)。
电位计(potentiometer)是一种最简单的模拟输入设备,它实际上就是一个可变电阻箱,通过控制滑块所在的位置我们可以得到不同的电压值,而输入信号正是从滑块所在的位置接入到电路中的。
就像模拟输入一样,在现实的物理世界中我们经常需要输出除了0和1之外的其他数值。
例如,除了想用微控制器找开或者关闭电灯之外,我们还会想控制灯光的亮度,这时就需要用到模拟输出。
由于Arduino的微控制器只能产生高电压(5V)或者低电压(0V),而不能产生变化的电压,因此必须采用脉宽度调制技术(PWM,PulseWidthModulation)来模仿模拟电压。
在Arduino数字I/O管脚9、10和11上,我们可以通过analogWrite()函数来产生模拟输出。
该函数有两个参数,其中第一个参数是要产生模拟信号的引脚(9、10或者11);第二个参数是用于产生模拟信号的脉冲宽度,取值范围是0到255。
脉冲宽度的值取0可以产生0V的模拟电压,取255则可以产生5V的模拟电压。
不难看出,脉冲宽度的取值变化1,产生的模拟电压将变化0.0196V(5/255=0.0196)。
§1.3传感器的简介
该设计中需要通过电机实际位置的反馈值来控制电机的速度,所以需要用到传感器。
实验中使用的是MPU6050传感器。
MPU-6000(6050)为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了大量的包装空间。
MPU-6000(6050)整合了3轴陀螺仪、3轴加速器,并含可藉由第二个I2C端口连接其他厂牌之加速器、磁力传感器、或其他传感器的数位运动处理(DMP:
DigitalMotionProcessor)硬件加速引擎,由主要I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算技术
InvenSense的运动处理资料库,可处理运动感测的复杂数据,降低了运动处理运算对操作系统的负荷,并为应用开发提供架构化的API。
MPU-6000(6050)的角速度全格感测范围为±250、±500、±1000与±2000°/sec(dps),可准确追緃快速与慢速动作,并且,用户可程式控制的加速器全格感测范围为±2g、±4g±8g与±16g。
产品传输可透过最高至400kHz的IC或最高达20MHz的SPI(MPU-6050没有SPI)。
MPU-6000可在不同电压下工作,VDD供电电压介为2.5V±5%、3.0V±5%或3.3V±5%,逻辑接口VVDIO供电为1.8V±5%(MPU6000仅用VDD)。
MPU-6000的包装尺寸4x4x0.9mm(QFN),在业界是革命性的尺寸。
其他的特征包含内建的温度感测器、包含在运作环境中仅有±1%变动的振荡器。
§1.4驱动器的简介
当电机转动起来,控制部会再根据驱动器设定的速度及加/减速率所组成的命令(Command)与hall-sensor信号变化的速度加以比对(或由软件运算)再来决定由下一组(AH、BL或AH、CL或BH、CL或……)开关导通,以及导通时间长短。
速度不够则开长,速度过头则减短,此部份工作就由PWM来完成。
PWM是决定电机转速快或慢的方式,如何产生这样的PWM才是要达到较精准速度控制的核心。
高转速的速度控制必须考虑到系统的CLOCK分辨率是否足以掌握处理软件指令的时间,另外对于hall-sensor信号变化的资料存取方式也影响到处理器效能与判定正确性、实时性。
至于低转速的速度
控制尤其是低速起动则因为回传的hall-sensor信号变化变得更慢,怎样撷取信号方式、处理时机以及根据电机特性适当配置控制参数值就显得非常重要。
或者速度回传改变以encoder变化为参考,使信号分辨率增加以期得到更佳的控制。
电机能够运转顺畅而且响应良好,P.I.D.控制的恰当与否也无法忽视。
之前提到直流无刷电机是闭回路控制,因此回授信号就等于是告诉控制部现在电机转速距离目标速度还差多少,这就是误差(Error)。
知道了误差自然就要补偿,方式有传统的工程控制如P.I.D.控制。
但控制的状态及环境其实是复杂多变的,若要控制的坚固耐用则要考虑的因素恐怕不是传统的工程控制能完全掌握,所以模糊控制、专家系统及神经网络也将被纳入成为智能型P.I.D.控制的重要理论
本次设计使用的是好盈40A电机驱动器(电调)驱动电机,实物图如下:
控制器向电调发出转速信号,电调控制电机旋转。
控制器给电机发送的控制量u是脉宽信号,有效宽度为1000—2000us,对应转速0—180转/秒。
第2章建立系统的数学模型
§2.1数学建模的简介
数学模型是近些年发展起来的新学科,是数学理论与实际问题相结合的一门科学。
它将现实问题归结为相应的数学问题,并在此基础上利用数学的概念、方法和理论进行深入的分析和研究,从而从定性或定量的角度来刻画实际问题,并为解决现实问题提供精确的数据或可靠的指导。
当需要从定量的角度分析和研究一个实际问题时,人们就要在深入调查研究、了解对象信息、作出简化假设、分析内在规律等工作的基础上,用数学的符号和语言,把它表述为数学式子,也就是数学模型,然后用通过计算得到的模型结果来解释实际问题,并接受实际的检验。
这个建立数学模型的全过程就称为数学建模。
数学建模的背景:
近半个多世纪以来,随着计算机技术的迅速发展,数学的应用不仅在工程技术、自然科学等领域发挥着越来越重要的作用,而且以空前的广度和深度向经济、管理、金融、生物、医学、环境、地质、人口、交通等新的领域渗透,所谓数学技术已经成为当代高新技术的重要组成部分。
数学模型(MathematicalModel)是一种模拟,是用数学符号、数学式子、程序、图形等对实际课题本质属性的抽象而又简洁的刻划,它或能解释某些客观现象,或能预测未来的发展规律,或能为控制某一现象的发展提供某种意义下的最优策略或较好策略。
数学模型一般并非现实问题的直接翻版,它的建立常常既需要人们对现实问题深入细微的观察和分析,又需要人们灵活巧妙地利用各种数学知识。
这种应用知识从实际课题中抽象、提炼出数学模型的过程就称为数学建模(MathematicalModeling)。
不论是用数学方法在科技和生产领域解决哪类实际问题,还是与其它学科相结合形成交叉学科,首要的和关键的一步是建立研究对象的数学模型,并加以计算求解。
数学建模和计算机技术在知识经济时代的作用可谓是如虎添翼。
数学建模的应用:
数学是研究现实世界数量关系和空间形式的科学,在它产生和发展的历史长河中,一直是和各种各样的应用问题紧密相关的。
数学的特点不仅在于概念的抽象性、逻辑的严密性,结论的明确性和体系的完整性,而且在于它应用的广泛性,自从20世纪以来,随着科学技术的迅速发展和计算机的日益普及,人们对各种问题的要求越来越精确,使得数学的应用越来越广泛和深入,特别是在21世纪这个知识经济时代,数学科学的地位会发生巨大的变化,它正在从国家经济和科技的后备走到了前沿。
经济发展的全球化、计算机的迅猛发展,数理论与方法的不断扩充使得数学已经成为当代高科技的一个重要组成部分和思想库,数学已经成为一种能够普遍实施的技术。
培养学生应用数学的意识和能力已经成为数学教学的一个重要方面。
§2.2系统数学模型的建立
§2.2.1杆数学模型的建立
转动遵循
,则系统转动方程为
系统工作点为0°附近,此时
。
上式可以简化为
§2.2.2螺旋桨数学模型的建立
本次毕业设计采用的是1045型号螺旋桨,直径:
10英寸,螺距4.5英寸
螺旋桨拉力f和空气相对速度平方成正比。
空气流速与螺旋桨转速n成正比:
拉力计算公式
其中,
是和螺旋桨直径平方成正比的一个系数,
是螺旋桨转速。
上式是螺旋桨静止时的简化公式,实际上推力和空气相对速度平方成正比。
对于朗宇V2216KV900电机,3s电池,1045浆,最高电压12v转速180转/秒,此时拉力约0.8Kg。
则
假设杆在工作点
处于平衡状态时,对应的电机转速为
,此时
在工作点处舍去高阶项,将式线性化为
将式结合式,带入式得到
通过实验测得
。
将各参数带入式后得到
拉氏变换得到传递函数
§2.2.3电机数学模型的建立
控制器向电调发出转速信号,电调控制电机旋转,控制器给电机发送的控制量u是脉宽信号,有效宽度为1000—2000us,对应转速0—180转∕秒。
同时认为脉宽和转速之间是一阶惯性环节,时间常数通过实验确定为1s,则有
§2.2.4对象传递函数的建立
将8式带入9式,同时将角度单位转由弧度换为度。
则得到控制量u和角度的关系
其中,角度
单位为度,控制量
的单位为
。
第3章设计pid控制算法
§3.1pid控制的基本介绍
PID(比例-积分-微分)控制器作为最早实用化的控制器已有70多年历史,现在仍然是应用最广泛的工业控制器。
PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。
这个理论和应用自动控制的关键是,做出正确的测量和比较后,如何才能更好地纠正系统。
PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e(t)与输出u(t)的关系为:
u(t)=kp[e(t)+1/TI∫e