微机控制技术实验报告

  • 格式:doc
  • 大小:18.50 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机控制技术实验报告

课程设计报告课题:

最少拍控制算法研究专业班级:

自动化1401 姓名:

学号:

指导老师:

朱琳琳全文结束》》年5月21日目录

1、实验目的

32、控制任务及要求

33、控制算法理论分析

34、硬件设计

55、软件设计5无纹波5有纹波

76、结果分析

97、课程设计体会10

1、实验目的本次课程设计的目的是让同学们掌握微型计算机控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、控制算法的设计、硬件设计的方法。学习并熟悉最少拍控制器的设计和算法;研究最少拍控制系统输出采样点间纹波的形成;熟悉最少拍无纹波控制系统控制器的设计和实现方法。复习单片机及其他控制器在实际生活中的应用,进一步加深对专业知识的认

识和理解,使自己的设计水平、对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。

2、控制任务及要求

1、设计并实现具有一个积分环节的二阶系统的最少拍有纹波控制和无纹波控制。对象特性G(s)=采用零阶保持器H0(s),采样周期T=0、1,试设计单位阶跃,单位速度输入时的有限拍调节器。

2、用Protel、Altium Designer等软件绘制原理图。

3、分别编写有纹波控制的算法程序和无纹波控制的算法程序。

4、绘制最少拍有纹波、无纹波控制时系统输出响应曲线,并分析。

3、控制算法理论分析在离散控制系统中,通常把一个采样周期称作一拍。最少拍系统,也称为最小调整时间系统或最快响应系统。它是指系统对应于典型的输入具有最快的响应速度,被控量能经过最少采样周期达到设定值,且稳态误差为定值。显然,这样对系统的闭环脉冲传递函数提出了较为苛刻的要求,即其极点应位于Z平面的坐标原点处。1最少拍控制算法计算机控制系统的方框图为:图7-1 最少拍计算机控制原理方框图根据上述方框图可知,有限拍系统的闭环脉冲传递函数为:

(1)

(2)由(1)、(2)解得:

随动系统的调节时间也就是系统误差达到零或为一恒值所需的时间,由Z变换定义可知:有限拍系统就是要求系统在典型的输入信号作用下,当时,恒为零或恒为一常量。N为尽可能小的正整数,为了实现这个目标,对不同的输入信号,必须选择不同的传递函数,由理论分析得:

2、等速输入下最少拍有纹波控制器的设计设最少拍随动系统如图7-2所示,对象特性G(s)=采用零阶保持器H0(s)=采样周期T=0、1,试设计单位速度输入时的有限拍调节器。解:广义对象的Z传递函数:£[] =(1-Z-1)£=(1-Z-1), T=0、1s=单位速度输入时,选择Ge(z)=(1-z-1)2,则

3、等速输入下最少拍无纹波控制器的设计对G(s)=进行无纹波设计由有纹波设计可知选择

两式联立求解得

解方程,可得

a0=

1、408, a1=-0、826,b0=1, b1=0、592所以有由此可得等速输入下最少拍无纹波的算法: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

52、h> #include #include

66、h> #include

A、h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned longdouble

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++)

RCAP2L=0x00; TR2=1; ET2=1; EA=1; while(1); }timer2 () interrupt5{ static uchar t;TF2=0;t++;if(t==2){ t=0;

pv=ADC7366();//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; 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

52、h> #include #include

66、h> #include

A、h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned longdouble

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++)