摘要
电机的主要作用是产生驱动转矩,通常是作为电器或各种机械的动力源。直流电动机具有良好的启、制动性能,在轧钢机及流水线、电梯、汽车等领域得到了广泛应用。本文首先根据直流电机工作原理建立直流电机的数学模型,然后根据直流电机调速系统工作原理设计了一种数字PID控制器,最后通过MATLAB进行仿真PID控制器的参数以及改进PID对控制性能的影响。(底下会出现无公式的情况,本人在AXMATH中编辑的公式,由于不想再编辑一次,如果有需要可以添加QQ号:3120397571,完整版免费)
关键词:直流电机;直流电机调速系统;PID;MATLAB;数字PID
目录
1 直流电动机工作原理
直流电机应用了电磁感应效应,“通电导体在磁场中受力的作用”,如图1所示,直流电机里边有固定永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。
图1、直流电机模型
2 直流电机的数学模型及参数
2.1 数学模型
直流电机机的数学模型计算是设计调速系统过程中不可缺少的环节,这里根据直流电机的电气方程和机械特性方程求得直流电机的数学模型。
直流电机的电器方程:
直流电机的机械方程:
(1)式中 为电势时间常数:(2)式中 ,J为折算到电动机轴上的转动惯量。对(1)式、(2)式进行拉普拉斯变换可得到直流电机转速相对于输入电压的传递函数为:
(3)式中机械时间常数 。比较(3)式可知,直流电机的传递函数是一个二阶无滞后函数。二阶无滞后传递函数模型:
由于 ,所以近似认为 。
对于(4)式,输入幅度为a的阶跃信号,阶跃信号的时域响应为:
2.2 模型参数
直流电机模型参数的经验公式:
(8)式中p为电机极对数。
3 直流电动机调速系统工作原理
图2所示的为具有转速负反馈的单闭环直流调速系统原理图。被调量是转速 ,给定量是给定电压 ,在电动机轴上安装测速发电机用以得到与被测转速成正比的反馈电压 。 相比较后,得到转速偏差电压 ,经过比例放大器A(又称比例调节器,P调节器),产生电力电子变换器(UPE)所需的控制电压 。从 开始一直到直流电动机,系统的结构与开环调速系统相同,而闭环控制系统和开环控制系统的区别在于转速是否反馈到输入端参与控制。
图2、具有转速负反馈的单闭环直流调速系统原理图
4 电机调速系统的模拟PID控制及仿真
4.1 基本原理
模拟PID控制的基本原理可以用图3来描述,由图可见,它是一种线性组合控制,由比例(P),积分(I),微分(D)三环节控制作用通过线性组合构成,即模拟PID控制器输出的控制量由这三个环节的输出量简单地线性相加而得。
数学表达式描述为
式中,下标P、I、D分别代表比例、积分和微分环节,u为控制量;K为PID控制参数;e(t)为系统偏差,定义为给定值与系统实际输出值之差,即 ,其中r(t)为给定值,是我们所希望的系统输出应达到的值,y(t)为系统输出值,即被控量。
由此,得到模拟PID控制算法表达式为
式(16)是常用模拟PID控制规律算式,式中
对(16)式进行拉普拉斯变换后,获得PID控制的传递函数形式
4.2 控制参数的作用
4.2.1 比例环节
比例环节能及时成比例地放映控制系统的偏差信号c(t),偏差一旦产生,控制器立即残生控制作用,以减少偏差。比例系数 的作用在于加快系统的响应速度,提高系统调节精度。 越大,系统的响应速度越快,系统的调节精度越高,也就对偏差的分辨率(重视程度)越高,但将产生超调,甚至导致系统不稳定。 取值过小,则会降低调节精度,尤其是使响应速度级慢,从而延长调节时间,使系统静态、动态特性变坏。
4.2.2 积分环节
积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数T,T越大,积分作用越弱,反之则越强。积分作用系数越大,系统静态误差消除越大,但积分作用过大,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调。若积分作用系数过小,将使系统静差难以消除,影响系统的调节精度。
4.2.3、微分环节
能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
4.3 电机的仿真
选取一直流电机为例,其名牌参数如表1所示,利用这些参数以及直流电机的参数模型可以得到:
额定电压 | 230V |
额定电流 | 10.4A |
额定转速 | 3.77rad/s |
额定输出功率 | 2.0KW |
转动惯量 | 0.0027J. |
表1、电机铭牌参数
将Tm、Ta、Ce代入(3)式可得传递函数为:
利用MATLAB仿真单位阶跃信号程序如下:
G1=tf(1.786,[0.0022,0.17,1]);%传递函数
y=step(G1);%阶跃响应
plot(y)%画图
图4、电机系统传递函数单位阶跃响应
4.4 电机调速系统的模拟PID控制仿真
式(17)是连续系统的PID控制器,式(18)是电机的传递函数,当取 电机与PID控制器进行串联反馈。
Gs=tf(1.786,[0.0022,0.17,1]);%电机系统传递函数
Kp = 12.8; %PID控制参数
Ti = 0.084;
Td =0.0028;
Gs = tf([Kp*Td,Kp,Kp/Ti],[0,1,0]); %PID控制器传递函数
sys = feedback(Gs*Gs,1);%电机系统取PID控制器串联反馈
step(sys); %系统阶跃响应
hold on;
得到结果如图5所示
图5、电机调速系统PID控制阶跃响应曲线图
5 电机调速系统的数字PID控制器设计
计算机控制是一种采样控制,它只能应用每个采样时刻获得的偏差值计算控制量,即采样系统的输出值与期望值进行比较后获得偏差值,再应用控制算法计算获得控制量。因此,在计算机控制系统中,模拟PID控制算法是不能直接使用的,需要采用离散化方法,获得数字式PID控制算法。根据模拟PID算法可得到两种数字式PID控制算法的形式。
5.1 位置式PID控制算法
所谓位置式PID控制算法是利用数值计算的方法,将模拟PID控制算式转变为近似的离散控制量计算式,该算式提供的是控制量的绝对值。这里所述的数值计算方法是一种模拟化设计方法,具体的近似做法是:以一系列的采样时刻点 (为了表达简洁,通常用K表示,可以省略掉系统采样周期T)代表连续时间t,用矩形法数值积分代替模拟PID控制中的积分项,用一阶后向差分代替其微分项,即
将式(19)代入式(17)得到位置式PID控制算式
式中:
K——采用序列号;
——第k次采样时刻的计算机输出值;
——第K次采样时刻输入的偏差值;
——第K-1次采样时刻输入的偏差值;
——积分系数, ;
——微分系数,
如果采祥周期T足够小,这种逼近是相当准确的,被控过程就十分接近于连续控制过程,把这种情况称为“准连续控制”。
由式(20)可见,计算得到的结果是控制量的绝对值大小。我们知道,在实际控制系统中,通常在被控对象和控制器之间设置一执行机构, 以便对被控对象进行操作,该式的绝对值大小其实就是提供了执行机构的绝对位置,例如阀门的开度大小,因此,把该算式称为位置式PID控制算法。
对于位置式PID控制算法来说,位置式PID控制算法示意图如图6所示,由于全量输出,所以每次输出均与过去的状态有关,计算式要对误差进行累加,所以运算工作量大。
对于位置式PID每次输出均与过去的状态有关,要进行e(k)累加计算,如果直接按照公式(20)计算要用到较多的存储单元。为了便与程序设计,位置式PID计算采用在增量的基础上进行:
程序流程只需在增量型PID算法(后面介绍)的基础上增加一次运算
和更新 即可,程序流程如图7所示
5.2 增量式PID控制算法
在实际系统中,当执行机构不需要控制量的绝对值大小,而是其增量时(例如驱动步进电机),则需要应用增量式PID控制算式来计算。根据递推原理,由式(17)可得:
式(20)与式(22)相减得到增量式PID控制算式
通过对式(23)的进一步变化,得
式中
增量式PID控制流程图如图9所示
5.3 两种数字PID控制比较
增量式PID控制与位置式PID控制比较,有如下优点:
1、由式(23)可见,增量式PID控制算式只需要当前时刻以及前两个时刻的偏差采样值,计算量和存储量都小,且计算的是增量,当存在计算误差或精度不足时,对控制量计算的影响较小。而位置式PID控制算式(20)每次计算均与整个过去的状态有关,需要过去所有的偏差采样值参与累积计算,容易产生较大的积累误差,存储量和计算量
2、增量式PID控制容易实现无扰动切换。增量式PID控制算法是对前一-时刻控制量的增量式变化,对执行机构的冲击小。位置式PID控制算法则是对前一稳定 运行点控制量的绝对大小的变化,变化大,对执行机构容易产生冲击。
3、增量式PID控制本质上具有更好的抗干扰能力。若某个时刻采样值受到干扰,对于位置式PID控制,由式(20) 易见:这个干扰会一直影响系统的整个运行过程;而增量式PID控制算式只需要当前时刻以及前两个时刻的偏差采样值,干扰最多影响三个采样时刻时间,其他时间不受该干扰的影响。
4、位置式PID控制比增量式PID控制更容易产生饱和效应。位置式PID控制由于有累积作用,更容易导致计算值超出系统实际允许的控制范围而造成饱和效应。
5.4 电机调速系统的数字PID控制仿真
以模拟PID的电机为例。其流程图为图10所示
5.4.1 程序流程图
5.4.2 程序
用的是增量式PID控制,仿真输入为单位阶跃,采样时间为1ms,控制器输出限幅为【-10,10】,PID控制器参数kp=5;ki=0.125;kd=9;
仿真程序为:
clear all;
close all;
ts=0.001;
sys = tf(1.786,[0.0022,0.17,1]); %连续系统传递函数
dsys = c2d(sys,ts,'z'); %离散化,零阶保持器
[num,den]=tfdata(dsys,'v'); %分子、分母向量
u_1=0.0;u_2=0.0;u_3=0.0; %初始化
y_1=0;y_2=0;y_3=0;
x=[0,0,0]';
error_1=0;error_2=0;
for k=1:1:1000 %循环程序,模拟采样时刻
time(k)=k*ts;%采样时间
rin(k)=1.0; %输入
kp=5; %PID控制参数
ki=0.125;
kd=9;
du(k)=kp*x(1)+kd*x(2)+ki*x(3);%增量微分
u(k)=u_1+du(k); %控制量累加
if u(k)>=10 %控制量计算值遇上限
u(k)=10; %取上限值
end
if u(k)<=-10 %控制量计算值遇下限
u(k)=-10; %取下限值
end
%计算对象输出值,即模拟采样值
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
error=rin(k)-yout(k); %计算偏差
u_3=u_2;u_2=u_1;u_1=u(k); %数据存储
y_3=y_2;y_2=y_1;y_1=yout(k);
x(1)=error-error_1; %计算比例项
x(2)=error-2*error_1+error_2; %计算微分项
x(3)=error; %计算积分项
error_2=error_1; %偏差数据移动、存储
error_1=error;
end
figure(1) %响应曲线图
plot(time,rin,'b',time,yout,'r');
xlabel('time(s)');ylabel('rin,yout');
5.4.3 运行结果
仿真结果如图11所示。由图可见,参考输入为阶跃信号,只要增量式PID控制器的参数设计合适,系统就能较好地跟踪给定输出。
图11、仿真结果
6 结论
本文介绍了数字PID算法在直流电机调速上实现的流程。针对流程的每个阶段给出了直流电机数学模型的确定方法,PID参数整定方法以及离散PID算法。经过本次数字PID在电机调速系统是实现过程,掌握了在模拟化设计方法的基础上,将模拟PID控制转化为数字PID控制,掌握了数字PID的基本特性、PID控制参数的作用及整定、PID控制算法在计算机中如何实现。
7 参考资料
[1] 罗文广,廖凤依 计算机控制技术第二版
[2] 吴贵文. 运动控制系统
[3] 赵广元. MATLAB与控制系统仿真实践第3版