单级倒立摆前言自动控制理论是研究自动控制共同规律的技术科学。
它的发展初期,是以反馈理论为基础的自动调节原理,并主要用于工业控制。
控制理论在几十年中,迅速经历了从经典理论到现代理论再到智能控制理论的阶段,并有众多的分支和研究发展方向。
控制理论的发展,起于“经典控制理论”。
早期最有代表性的自动控制系统是18世纪的蒸汽机调速器。
20世纪前,主要集中在温度、压力、液位、转速等控制。
20世纪起,应用围扩大到电压、电流的反馈控制,频率调节,锅炉控制,电机转速控制等。
二战期间,为设计和制造飞机及船用自动驾驶仪、火炮定位系统、雷达跟踪系统及其他基于反馈原理的军用装备,促进了自动控制理论的发展。
至二战结束时,经典控制理论形成以传递函数为基础的理论体系,主要研究单输入-单输出、线性定常系统的分析问题。
经典控制理论的研究对象是线性单输入单输出系统,用常系数微分方程来描述。
它包含利用各种曲线图的频率响应法和利用拉普拉斯变换求解微分方程的时域分析法。
设计目的及意义1)、理论联系实际,加强对自动控制理论的理解。
增强分析问题、解决问题的能力。
2)、熟悉MATLAB软件,掌握它在控制系统设计当中的应用,能熟练进行系统建模、性能分析、模型仿真等操作。
3)、用单片机进行编程,实现PID的控制算法,了解控制算法的具体实现及单片机软件仿真过程。
开发创新意识,增进对科学技术的兴趣,培养严肃认真的科学态度。
1.倒立摆1.1 倒立摆的概念倒立摆是处于倒置不稳定状态,人为控制使其处于动态平衡的一种摆。
如杂技演员顶杆的物理机制可简化为一级倒立摆系统,是一个复杂、多变量、存在严重非线性、非自治不稳定系统。
常见的单级倒立摆系统一般由小车和摆杆两部分构成。
如下图图1-1 单级倒立摆装置1.2研究倒立摆稳定性的意义倒立摆的研究具有重要的工程背景。
从日常生活中所见到的任何重心在上、支点在下的控制问题,到空间飞行器和各类伺服云台的稳定,再到机器人行走。
都和倒立摆系统的稳定控制有很大相似性,故对其稳定控制在实际中有很多应用,如火箭姿态控制、卫星发射架的稳定控制、飞机安全着陆、海上钻井平台的稳定控制等。
2.单级倒立摆的数学模型2.1单级倒立摆的系统描述只要一提小车倒立摆系统,一般均认为其数学模型也已经定型,即对应于直流电机的情况。
事实上,小车倒立摆的数学模型与驱动系统有关,常见到的模型只是对应于直流电机的情况,如果执行机构是交流伺服电机,就不是这个模型了。
本文主要分析由直流电机驱动的小车倒立摆系统。
其特点是高阶次、不稳定、非线性、强耦合,只有采取有效的控制方式才能稳定控制。
图2-1 单级倒立摆系统的原理图图中u是施加于小车的水平方向的作用力,x是小车的位移,θ是摆的倾斜角。
若不给小车施加控制力,倒摆会向左或向右倾斜,控制的目的是当倒摆出现偏角时,在水平方向上给小车以作用力,通过小车的水平运动,使倒摆保持在垂直的位置。
即控制系统的状态参数,以保持摆的倒立稳定。
2.2单级倒立摆系统的数学建模为了建立倒立摆系统的数学模型,先作如下假设:①倒立摆与摆杆均为匀质刚体。
②可忽略摆与载体,载体与外界的摩擦,即忽略摆轴、轮轴、轮与接触面之间的摩擦力等。
2.2.1结构参数这里只考虑二维问题,即认为倒立摆只在图2-1所示平面运动。
控制力u 作用于小车上。
摆杆长度为2L ,质量为m ,小车的质量为M ,小车瞬时位移为x ,摆杆瞬时位置为(x+2L*sinθ),在外力的作用下,系统产生运动。
假设摆杆的重心位于其几何中心。
设输入为作用力u ,输出为摆角θ。
2.2.2系统的运动方程图2-2 小车沿x 轴的受力分析 图2-3 摆的受力分析小车沿x 轴方向的受力分析如图2-2所示,根据牛顿第二定律得xFMx=∑&& (2-1)u H Mx -=&& (2-2)摆的受力分析如图2-3所示,根据牛顿第二定律得 摆杆重心沿x 轴方向运动方程为xFmx=∑&& (2-3)()22sin d x L H mdt θ+= (2-4)摆杆重心沿y 轴方向运动方程为yFmy=∑&& (2-5)()22cos d L V mg mdt θ-= (2-6)摆杆围绕重心转动方程为GG MJ α=∑ (2-7)2sin cos 12mL VL HL θθθ-=&& (2-8)上述方程(2-1)到(2-8)为车载倒立摆系统运动方程组。
因为含有项,所以为非线性微分方程组。
中间变量不易相消。
当θ很小的时候,可对方程线性化.由于控制的目的是保持道理摆稳定, θ很小,可以合理的认为sin θ趋于0,cos θ趋于1,在这些假设条件下,可进行线性化处理有u H Mx -=&& (2-9)H m mL θ=+&&&& (2-10) 0V mg -= (2-11) 212mL VL HL θθ-=&& (2-12)由上述(2-9)到(2-12)方程,消去V 、H 后,有()u m M x mL θ=++&&&& (2-13)21312mL mx mgL θθ+=&&&& (2-14)再消去,得()()1312mL m M L m M g u θθ⎡⎤--+++=⎢⎥⎣⎦&& (2-15)即 ()()1312mL m M L m M g u θθ⎡⎤++-+=-⎢⎥⎣⎦&& (2-16)所以其线性化微分方程为()()221312d mL m M L m M g u dt θθ⎡⎤++-+=-⎢⎥⎣⎦ (2-17)经拉氏变换后,得其传递函数()()()()()211312s G s u s mL m M L s m M g θ-==⎡⎤++-+⎢⎥⎣⎦ (2-18)3. 单级倒立摆控制系统上一章节已经得出单级倒立摆系统的传递函数,但仅仅得出其传递函数是不够的,还需要对其进行校正.3.1基本的PID 校正具有比例—积分—微分控制规律的控制器,称PID 控制器。
当利用PID 控制器进行串联校正时,除可使系统的型别提高一级外,还将提供两个负实零点,从而在提高系统动态性能方面,具有很大的优越性。
因此,在工业过程控制系统中,广泛使用PID 控制器。
PID 控制器各部分参数的选择是根据系统现场调试最后确定。
所有的PID 控制器都有可以分解成给定值控制单元,PID 作用单元及手动/自动转换单元等三个主要单元,如图3-1所示。
图中,给定值单元①接收工业控制过程的测量量c ,以及控制装置的给定值。
PID 作用单元②接受给定值控制单元产生的误差信号e ,并按给定控制律算出闭环控制信号。
手动/自动单元③在“自动A 位置时,将PID 单元的输出信号送入工业过程,此时工业过程在闭环中受到控制;而在“手动M 位置时,把用户直接在控制器上调整手动输出信号送至工业过程,此时系统采用开环控制方式。
图3-1 PID 控制器原理性结构P 、I 、D 三种基本控制规律,各有特点,综合起来其实用PID 控制器的传递函数可以表示为()()()()()111c c F D i M s G s K sT R s C s sT ⎛⎫==++ ⎪-⎝⎭ (3-1)或者表示为()()()()11c c F D i M s G s K sT R s C s sT ⎛⎫==++ ⎪-⎝⎭(3-2)上述两式中的K F 、T i 和T D 是根据工程实际来确定的系数。
而PID 单元的原理电路如图3-2所示图3-2 PID 单元原理电路3.2系统的校正控制设计3.2.1系统的校正所谓校正,就是在系统中加入一些其参数可以根据需要而改变的机构或装置,使系统整个特性发生变化,从而满足给定的各项性能指标。
控制校正系统的目的是使系统动态稳定,即保持倒立摆在垂直的位置,使小车在外力作用下其位移以较小的误差跟随输入的变化。
由于系统的动态响应主要是由它的极点位置决定的,而假如系统是状态完全能控的,即可使系统得到良好的动态性能。
我们在第2.2.2节中已对单级倒立摆系统模型的进行了线性化并推导出了其传递函数。
本设计根据被控对象及技术指标要求采用PID 串联校正。
系统的小车质量为M =2.00kg ,摆的质量为m =0.20kg ,摆长为2L=0.80m ,重力加速度 g=9.8m/s 2,代入公式(2-18)中,得()'2214.643G s s -=- (3-3)系统开环特征方程为224.6430s -=.由特征方程可以看出系统不稳定.根据劳思判据,若想使系统稳定,需加入一个反馈环节()12H s K s K =+,还有一个串联环节()K s .加入反馈和串联环节后,系统的闭环传递函数为()()()()()'0'1K s G s G s G s H s =+()22()4.643K s s H s -=--2212()4.643K s s K s K -=---(3-4)设K(s)=-1,K 1=-3,K 2=-26.5574,则闭环传递函数,即未校正的系统传递函数为()02135G s s s =++ (3-5)由(3-1)和(3-2)可知,PID 校正控制装置的传递函数为()2111i i F C F D i i T s T s K G s K sT sT T s τ⎛⎫++=++=•⎪⎝⎭校正后系统开环传递函数为()()()0c G s G s G s =211135F D i K sT s s sT ⎛⎫=•+ ⎪++⎝⎭221135i i F i T s T K s s T s τ++=••++ (3-6)则系统的闭环传递函数为()()()1G s s G s φ=+()()()232135F i i i F i F i FK T s T s T s K T s K T s K ττ++=+++++ (3-7)3.2.2利用MATLAB 的系统仿真进入MATLAB 的工作环境之后,通过键盘输入MATLAB 命令,便可以执行相应的操作。
例如,通过下面的MATLAB 程序即可获得G (s)的单位阶跃响应及极零点分布。
>> s=tf('s')Transfer function: s>> sys=tf(-1,[1 0 29.6964]) Transfer function: -1 ---------- s^2 + 26.557 >> step(sys) >> pzmap(sys)图3-3G (s)的单位阶跃响应及极零点分布本实验采用MATLAB 软件进行仿真实验,进一步验证了PID 控制器中各个参数对系统的稳定性和动态性能的影响,在大量的仿真结果中进行比较和挑选,同时根据调节时间<3s 的设计要求,最后确定PID 控制器的各参数分别为:微分时间系数=1,积分时间系数T=1,比例系数 K=20。