1设某一步进电机控制系统传递函数为.docx
- 文档编号:6609578
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:12
- 大小:157.72KB
1设某一步进电机控制系统传递函数为.docx
《1设某一步进电机控制系统传递函数为.docx》由会员分享,可在线阅读,更多相关《1设某一步进电机控制系统传递函数为.docx(12页珍藏版)》请在冰豆网上搜索。
1设某一步进电机控制系统传递函数为
1设某一步进电机控制系统传递函数为:
系统的输入为单位阶跃信号,对步进电机进行位置控制
设系统的采样时间T=1s,设计PID控制器如下:
Kp=10,TI=10,TD=15
试比较增量法PID和传统PID两种方法对该控制系统进行仿真分析其控制结果
要求得出两种控制方法的响应曲线
解:
(1)根据增量式PID算法:
(1)
即:
(2)
所以可以整理得:
(3)
其中:
、
、
(3)
(2)根据
(4)
对角相乘得到:
(5)
(6)
(7)
即:
(8)
因此编制程序如下:
clearall;
closeall;
%增量式PID控制
ts=0.001;%采样时间
G=tf(50,[0.125,7,0])
Gd=c2d(G,ts,'z');%Z变换
[num,den]=tfdata(Gd,'v')
c_1=0;c_2=0;
y_1=0;y_2=0;
e_1=0;e_2=0;
kp=10;Ti=0.1;Td=0.015;
ki=kp*ts/Ti
kd=kp*Td/ts
A=kp*(1+ts/Ti+Td/ts);
B=-kp*(1+2*Td/ts);
C=kp*Td/ts;
fork=1:
1:
3000
t(k)=k*ts;
r(k)=1;
y(k)=-den
(2)*y_1-den(3)*y_2+num
(2)*c_1+num(3)*c_2;
e(k)=r(k)-y(k);
c(k)=A*e(k)+B*e_1+C*e_2;
c(k)=c_1+c(k);
c_2=c_1;c_1=c(k);
y_2=y_1;y_1=y(k);
e_2=e_1;e_1=e(k);
end
figure
(1);
plot(t,y,'r');
gridon;
figure
(2)
plot(t,y,'r');
holdon;
gridon;
%传统PID控制
c_1=0;c_2=0;
y_1=0;y_2=0;
e_1=0;
x=[0,0,0]';
fork=1:
1:
3000
t(k)=k*ts;
r(k)=1;
y(k)=-den
(2)*y_1-den(3)*y_2+num
(2)*c_1+num(3)*c_2;
e(k)=r(k)-y(k);
x
(1)=e(k);
x
(2)=x
(2)+e(k);
x(3)=e(k)-e_1;
c(k)=kp*x
(1)+ki*x
(2)+kd*x(3);
c_1=c(k);c_2=c_1;
y_1=y(k);y_2=y_1;
e_1=e(k);
end
plot(t,y,'b');
图1-1采用增量式PID的输出图形
也可用附录函数:
>>f(1,2)
(4)与传统PID比较
图1-2采用传统PID控制效果
>>ft(1,3)
图1-3增量式PID与传统PID比较
>>f(1,3);holdon;ft(1,3)
分析:
如图3所示,采用增量式PID控制,超调量小,响应速度快,稳定时间短,控制效果明显优于传统PID控制。
2输入为三角波和正弦波信号,再对信号进行位置跟踪,设计仿真程序,分析仿真结果
如果PID参数不合适,调整参数
(1)三角波信号输入响应如图3所示:
代码略,与单位跃阶类似,只需修改输入函数:
>>T=1000;
ifk>=0&k<0.5*T
r(k)=2*k;
else
r(k)=-2-2*(k-T);
end
得到如下图形输出:
图2-1三角波输出响应
>>f(3,1)
图2-2三角波输入下增量式PID与传统PID对比
>>f(3,1);holdon;ft(3,1)
图2-1为三角波输入下采用增量式PID控制的系统的输入和输出对比,控制效果较好,图2-1为增量式PID与传统PID比较,明显增量式的控制效果优于传统式。
(2)采用增量式PID控制的正弦信号输入响应如图2-3所示:
代码略,与单位跃阶类似,只需修改输入函数:
>>r(k)=sin(pi*t(k));
图2-3采用增量式PID的正弦波响应
>>f(2,2)
>>f(2,2);holdon;ft(2,2)
图2-4与传统PID比较
由图2-4得正弦波输入下增量式PID控制效果明显优于传统PID控制。
总结:
采用增量式PID算法时,通过不同信号的输入(单位阶跃,三角波,正弦波)与其分别采用传统PID算法比较,可以很明显地看到,增量式PID具有很明显的优越性。
因为算式中不需要累加误差,控制增量△c(k)的确定仅与最近k次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。
附录:
1,增量式PID算法
functionf(a,M)
%a选则输入信号,M为输出图形的横坐标最大值;
%单位阶跃f(1,1);
%正弦波f(2,2)
%三角波f(3,1)
ts=0.001;%采样时间
G=tf(50,[0.125,7,0])
Gd=c2d(G,ts,'z');%Z变换
[num,den]=tfdata(Gd,'v')
c_1=0;c_2=0;
y_1=0;y_2=0;
e_1=0;e_2=0;
kp=10;Ti=0.1;Td=0.015;
ki=kp*ts/Ti
kd=kp*Td/ts
A=kp*(1+ts/Ti+Td/ts);
B=-kp*(1+2*Td/ts);
C=kp*Td/ts;
fork=1:
1:
M*1000
t(k)=k*ts;
s=a;
ifs==1
r(k)=1;
elseifs==2
r(k)=sin(pi*t(k));
elseifs==3
T=1000;
ifk>=0&k<0.5*T
r(k)=2*k;
else
r(k)=-2-2*(k-T);
end
end
y(k)=-den
(2)*y_1-den(3)*y_2+num
(2)*c_1+num(3)*c_2;
e(k)=r(k)-y(k);
c(k)=A*e(k)+B*e_1+C*e_2;
c(k)=c_1+c(k);
c_2=c_1;c_1=c(k);
y_2=y_1;y_1=y(k);
e_2=e_1;e_1=e(k);
end
plot(t,y,'r',t,r,'b');
gridon;
2,传统PID算法
functionft(a,M)
%a选则输入信号,M为输出图形的横坐标最大值;
%单位阶跃ft(1,4);
%正弦波ft(2,2)
%三角波ft(3,1)
ts=0.001;%采样时间
G=tf(50,[0.125,7,0])
Gd=c2d(G,ts,'z');%Z变换
[num,den]=tfdata(Gd,'v')
c_1=0;c_2=0;
y_1=0;y_2=0;
e_1=0;
x=[0,0,0]';
kp=10;ki=0.1;kd=15;
fork=1:
1:
1000*M
t(k)=k*ts;
s=a;
ifs==1
r(k)=1;
elseifs==2
r(k)=sin(pi*t(k));
elseifs==3
T=1000;
ifk>=0&k<0.5*T
r(k)=2*k;
else
r(k)=-2-2*(k-T);
end
end
y(k)=-den
(2)*y_1-den(3)*y_2+num
(2)*c_1+num(3)*c_2;
e(k)=r(k)-y(k);
x
(1)=e(k);
x
(2)=x
(2)+e(k);
x(3)=e(k)-e_1;
c(k)=kp*x
(1)+ki*x
(2)+kd*x(3);
c_1=c(k);c_2=c_1;
y_1=y(k);y_2=y_1;
e_1=e(k);
end
plot(t,y,'r',t,r,'b');
gridon;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 某一 步进 电机 控制系统 传递函数
![提示](https://static.bdocx.com/images/bang_tan.gif)