《微机控制技术》 课程设计报告
课 题: 最少拍控制算法研究 专业班级: 自动化1401 姓 名: 学 号:
指导老师: 朱琳琳
2017年5月21日
-/
目 录
1. 实验目的 ······································································ 3 2. 控制任务及要求 ····························································· 3 3. 控制算法理论分析 ·························································· 3 4. 硬件设计 ······································································ 5 5. 软件设计 ······································································ 5 无纹波 ········································································· 5 有纹波 ········································································· 7 6. 结果分析 ······································································ 9 7. 课程设计体会 ······························································ 10
-/
1.实验目的
本次课程设计的目的是让同学们掌握微型计算机控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、控制算法的设计、硬件设计的方法。学习并熟悉最少拍控制器的设计和算法;研究最少拍控制系统输出采样点间纹波的形成;熟悉最少拍无纹波控制系统控制器的设计和实现方法。复习单片机及其他控制器在实际生活中的应用,进一步加深对专业知识的认识和理解,使自己的设计水平、对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。
2.控制任务及要求
1.设计并实现具有一个积分环节的二阶系统的最少拍有纹波控制和无纹波控制。
10对象特性G(s)= s ( s 1 )
采用零阶保持器H0(s),采样周期T=0.1,试设计单位阶跃,单位速度输入时的有限拍调节器。
2.用Protel、Altium Designer等软件绘制原理图。
3.分别编写有纹波控制的算法程序和无纹波控制的算法程序。 4.绘制最少拍有纹波、无纹波控制时系统输出响应曲线,并分析。
3.控制算法理论分析
在离散控制系统中,通常把一个采样周期称作一拍。最少拍系统,也称为最小调整时间系统或最快响应系统。它是指系统对应于典型的输入具有最快的响应速度,被控量能经过最少采样周期达到设定值,且稳态误差为定值。显然,这样对系统的闭环脉冲传递函数(z)提出了较为苛刻的要求,即其极点应位于Z平面的坐标原点处。
1最少拍控制算法
计算机控制系统的方框图为:
图7-1 最少拍计算机控制原理方框图
根据上述方框图可知,有限拍系统的闭环脉冲传递函数为:
(z)C(z)D(z)HG(z) (1) R(z)1D(z)HG(z)E1(z)11(z) (2) R(z)1D(z)HG(z)e(z)
-/
由(1) 、(2)解得: D(z)(z)
e(z)HG(z)随动系统的调节时间也就是系统误差e1(kt)达到零或为一恒值所需的时间,由Z变换定义可知:E1(Z)e(KT)z1k0ke1(0)e1(T)z1e1(2T)z2e1(kT)zk
有限拍系统就是要求系统在典型的输入信号作用下,当KN时,e1(kT)恒为零或恒为一常量。N为尽可能小的正整数,为了实现这个目标,对不同的输入信号,必须选择不同的
e(z)传递函数,由理论分析得:
R(z)1 e(z)1z1 11zTz1 R(z) e(z)(1z1)2 12(1z)T2z1(1z1) R(z) e(z)(1z1)3 132(1z)2.等速输入下最少拍有纹波控制器的设计
设最少拍随动系统如图7-2所示,对象特性G(s)= 10 采用零阶保持器 H0(s)
(1esTs)s(0.1s1)=采样周期T=0.1,试设计单位速度输入时的有限拍调节器。
解:广义对象的Z传递函数: TS1eK] HG(S)=£[ SS(T1S1) =(1-Z-1)£[100]
s2(s10) =(1-Z-1)
10Tz111[], T=0.1s (1z1)(1z1)(110Tz1)0.368z1(10.717z1)= 11(1z)(10.368z) 单位速度输入时,选择Ge(z)=(1-z-1)2,则
U(z)[1Ge(z)]5.435(10.5z1)(10.368z1) D(z) E(z)Ge(z)HG(z)(1z1)(10.717z1)
U(z)0.283*U(z1)0.717U(z2)5.435*E(z)4.7176*E(z1)E(z2)
-/
3.等速输入下最少拍无纹波控制器的设计 对G(s)=
111 选择 Gc(z)z(10.717z)(a0a1z) 11 Ge(z)(1z)(b0b1z)
10s(0.1s1)进行无纹波设计由有纹波设计可知
0.368z1(10.717z1)1 HG ( s ) (1 z )( 1 .368z1)0两式联立求解得
z1(10.717z1)(a0a1z1)1(1z1)2(b0b1z1)
解方程,可得
a0=1.408, a1=-0.826,b0=1, b1=0.592
所以有
U(z)Gc(z)3.826(10.5864z1)(10.368z1) D(z)E(z)Ge(z)HG(z)(1z1)(10.592z1)由此可得等速输入下最少拍无纹波的算法:
U(z)=0.408*U(z-1)+0.582*U(z-2)+3.826*E(z)-3.6516*E(z-1)+0.8256*E(z-2)
4.硬件设计
其中:R1=100k,R2=100k,R3=100k,C1=1uF,C2=1uF
1.根据图连接一个积分环节和一个惯性环节组成的二阶被控对象的模拟电路;
2.用导线将该电路的输入端与单片机控制单元的“AO1”输出端相连;电路的输出端与单片机控制单元的“AI1”和示波器单元的“通道1”输入端相连;单片机控制单元的“AO2”与示波器单元的“通道2”输入端相连;
3.将“单片机模块”的“D0”与“锁零单元”的“Ui”相连,并将“锁零单元”的“手动/自动”开关打到“自动”;
5.软件设计
无纹波
#include -/ #include double pv,sv,Ts,ei,eix,eixx,A,b,C,K,op,opx,opxx,Ti,a1,a2,bx; uint i; uchar t; void delay1s(void) { uchar i,j,k; for(k=100;k>0;k--) for(i=20;i>0;i--) for(j=248;j>0;j--); } void main(void) // 主程序 { LTC1446(0,0); opx=0; opxx=0; eix=0; eixx=0; for(i=0;i>=60000;i++); P0=0x00; Ti=1; K=10; Ts=1000; //采样周期1000ms for(t=0;t<5;t++) //延时5s { delay1s(); } RCAP2H=0x4c; //200ms计时 RCAP2L=0x00; TR2=1; ET2=1; EA=1; while(1); -/ } timer2 () interrupt 5 { static uchar t; TF2=0; t++; if(t==2) { t=0; //AI1通道采集 sv=sv+0.05; if(sv>4) { sv=4; } ei=sv-pv; op=0.271*opx+0.29*opxx-0.211*ei+0.15*eix+0.1*eixx; eixx=eix; pv=ADC7366(); eix=ei; opxx=opx; opx=op; if(op>5) { op=5; } if(op<-5) { op=-5; } LTC1446(op*1000,sv*1000); //输出值给AO1,斜坡信号给AO2 P0=0x01; } } 有纹波 #include -/ #include double pv,sv,ei,eix,eixx,A,b,C,K,x,pvx,op,opx,opxx,Ti; int Ts,t; void delay1s(void) { uchar i,j,k; for(k=100;k>0;k--) for(i=20;i>0;i--) for(j=248;j>0;j--); } void main(void) // 主程序 { LTC1446(0,0); opx=0; opxx=0; eix=0; eixx=0; P0=0x00; Ti=0.1; K=10; Ts=100; //采样周期200ms for(t=0;t<5;t++) //延时5s { delay1s(); } RCAP2H=0x4C; //200ms计时 RCAP2L=0x00; TR2=1; ET2=1; EA=1; while(1); } -/ timer2 () interrupt 5 { static uchar t; TF2=0; t++; if(t==2) { P0=0x01; t=0; //AI1通道采集 sv=sv+0.05; if(sv>4) {sv=4;} ei=sv-pv; op=0.233*opx+0.007*opxx+0.010*ei+0.006*eix+eixx; eixx=eix; pv=ADC7366(); eix=ei; opxx=opx; opx=op; } if(op>5) {op=5;} if(op<-5) {op=-5;} LTC1446(op*1000,sv*1000); //输出值给AO1,斜坡信号给AO2 } 6.结果分析 无纹波 有纹波 -/ 最少拍系统对于典型输入具有最快响应速度,被控量经最少采样周期达到设定值,且稳态误差为定值。有最少拍有文波、无纹波控制系统输出响应曲线相比较可知,最少拍无差系统最多只能达到采样点上无偏差,而在相邻采样点之间 偏差很大(在图上可以明显观察出)。最少拍无纹波控制系统输出响应曲线在采样点上无偏差,在相邻采样点之间几乎无偏差。但是系统的调整时间比无纹波增加了大概二节拍。为消除纹波,给系统传递函数增加了零点,延长了系统消除偏差的时间。 最少拍有纹波调整时间较短,但精度低,采样点外误差一直存在。最少拍无纹波调整时间较长,但精度高,信号跟随后一直保持一种,不存在误差。 7.课程设计体会 两周的实验课很快就结束了,但是整体收获还是很多的。这让我不再枯燥的面对课本的知识,而是与实践相结合,并且对最少拍系统等有了更加直观的了解,让我对课本知识也更加了解,理解的更加透彻。通过本次的实训,我对开发软件有了一定的了解和掌握,也学会了一些简单的命令语言,对控制系统的硬件组成和组装连线等一些列的基本操作也有了很好的掌握。 试验中也遇到了各种困难,有的是因为对课本知识的不太熟悉,有的是因为实验板的故障,但是不管遇到怎样的故障,我们都会想办法去解决问题,看书本、查资料、问同学、请教老师。总之,在努力之后,还是有所回报的,最终我们还是完成了整个实验课程。 这次课程设计,让我对课程的学习思路更加的清晰,为以后的学习奠定了基础。而且,我不仅对微机控制更加熟悉,最重要的,是我学会了自己去发现问题、思考问题、解决问题的能力,这才是最重要的,也是我日后工作学习中最需要的能力,这也是我此次实验课程中最大的收获。 因篇幅问题不能全部显示,请点此查看更多更全内容