MATLAB交流伺服系统ARM单片机制软件设计及仿真(5)
时间:2017-01-17 19:53 来源:毕业论文 作者:毕业论文 点击:次
图2.2 STM32F103系列微控制器引脚图 2.6 本章小结 本章主要介绍了伺服系统的发展、交流伺服系统的总体结构、ARM单片机发展与应用,阐释了新型的Cortex-M3处理器的特点,并对本文采用的STM32F103系列微控制器做了简要的介绍。了解了受控对象和ARM单片机之后,才能更好地设计控制方法与策略,并应用ARM来编写软件,解决实际问题。 3 PID控制及MATLAB仿真 3.1 模拟PID控制原理 在模拟控制系统中,控制器最常用的控制方法是PID控制。常规的模拟PID控制原理如图3.1所示。该控制系统中由模拟PID控制器和被控对象组成。图中,r(t)是给定的输入值,y(t)是系统实际的输出值,e(t)是给定值与实际值构成的控制偏差: 图3.1 模拟PID控制原理图 e(t)作为模拟PID控制器的输入,u(t)作为PID控制器的输出和被控对象的输入。所以模拟PID控制器的规律为: 式中, 为比例常数; 为积分常数; 为微分常数。 模拟PID控制器各校正环节的作用如下: (1)比例环节:控制器的输出信号u与偏差e成比例,一旦产生偏差,控制器立即产生控制作用,以减小偏差。从减小偏差角度的出发,应增加 ,但另一方面, 还影响系统的稳定性, 增加通常导致系统的稳定性降低,过大的 会导致系统振荡,破坏系统的稳定性[18]。 (2)积分环节:积分的特点是无差调节,即当系统平衡后,阶跃信号稳态设定值和被调量无差,偏差e等于0。主要用于消除静差,提高系统的无差度。积分环节的作用强弱取决于时间常数 , 越大,积分作用越弱,反之越强[19]。 (3)微分环节:微分环节的作用是阻止偏差的变化,它是依据误差的变化速度进行控制。偏差变化越快,微分控制器的输出就越大,并且可以在偏差值变大之前进行修正。微分环节的引入,有助于减少超调量,克服振荡,使系统趋于稳定,尤其对于高阶系统很有利,可以加快系统的跟踪速度。然而,微分环节对输入信号的噪声十分敏感,对于噪声较大的系统一般不采用微分环节,或是在微分作用之前先对输入信号进行滤波处理[20]。 随着单片机进入控制领域,需要将模拟PID控制规律引入到单片机中来。对于式(3-2)中的模拟PID控制规律进行适当的变换,就可以到用软件实现的数字PID控制了。 3.2 数字PID控制及MATLAB仿真 3.2.1 位置式PID控制及MATLAB仿真 由于单片机本身是离散系统,那么单片机的控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,而不能像模拟PID控制那样连续输出控制量,进行连续控制。因此,公式(3-2)中的积分项和微分项无法直接使用,需要应用数学知识进行离散化处理。离散化处理的基本思想为:以T作为采样周期,k作为采样序列,那么离散的采样时间kT对应着连续时间t,利用求和的形式代替积分,增量的形式代替微分[21],作以下近似变换: 式(3-3)中,为了表达方便,将类似于e(kT)简化成 等。 将式(3-3)代入式(3-2)中,可以得到离散的PID表达式为: 式中k为采样序号,k=0,1,2,…; 为第k次采样时刻单片机的输出值; 为第k次采样时刻输入的偏差值; 为第k-1次采样时刻输入的偏差值; 为积分常数, ; 为微分系数。 如果采样周期取得足够小,那么式(3-4)或式(3-5)的近似计算公式可以得到足够精确的结果,离散控制过程会与连续控制过程十分接近。 下面利用MATLAB对离散位置式PID控制进行仿真。取采样周期为0.001s,采样2000次,输入值为10,选定合理的控制参数后进行仿真。位置式PID控制阶跃响应如图3.2所示。 (责任编辑:qin) |