零极点匹配离散化报告.docx

上传人:b****8 文档编号:9698299 上传时间:2023-02-05 格式:DOCX 页数:19 大小:307.93KB
下载 相关 举报
零极点匹配离散化报告.docx_第1页
第1页 / 共19页
零极点匹配离散化报告.docx_第2页
第2页 / 共19页
零极点匹配离散化报告.docx_第3页
第3页 / 共19页
零极点匹配离散化报告.docx_第4页
第4页 / 共19页
零极点匹配离散化报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

零极点匹配离散化报告.docx

《零极点匹配离散化报告.docx》由会员分享,可在线阅读,更多相关《零极点匹配离散化报告.docx(19页珍藏版)》请在冰豆网上搜索。

零极点匹配离散化报告.docx

零极点匹配离散化报告

《计算机控制》课程设计任务书

学号

班级

学生

指导教师

题目

零极点匹配离散化

设计时间

2012年7月2日至2012年7月9日共1周

设计要求

设计任务:

(按照所选题目内容填写)

已知连续系统控制器传函为

,T=0.5s,比较有三个和有两个无穷远处零点的零极点匹配方法的离散化频率响应曲线,实现有三个无穷远处零点的零极点匹配结果。

方案设计:

1.完成控制系统的分析、设计;

2.选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;

3.编程实现单片机上的控制算法。

报告内容:

1.控制系统仿真和设计步骤,应包含性能曲线、采样周期的选择、数字控制器的脉冲传递函数和差分方程;

2.元器件选型,电路设计,以及绘制的Protel原理图;

3.软件流程图,以及含有详细注释的源程序;

4.设计工作总结及心得体会;

5.列出所查阅的参考资料。

 

指导教师签字:

系(教研室)主任签字:

2012年6月28日

目录

一.设计目的…………………………………………………………………3

二.设计要求…………………………………………………………………3

三.设计任务…………………………………………………………………3

四.设计方法与步骤…………………………………………………………3

1.设计原理分析………………………………………………………….3

2.MATLAB程序与响应曲线……………………………………………5

3.Protel原理图…………………………………………………….…….10

4.单片机程序流程图……………………………………………………12

5.KEIL程序…………………………………………………………......13

五.设计心得体会…………………………………………………………...15

六.参考文献…………………………………………………………………16

 

一.设计目的

1、了解控制系统设计的一般方法、步骤。

2、掌握利用MATLAB对控制理论内容进行分析和研究的技能。

3、掌握对系统进行离散化的方法。

4、掌握MATLAB,protel,visio,keil等软件的基本操作。

二.设计要求

1.完成控制系统的分析、设计;

2.选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;

3.编程实现单片机上的控制算法。

三.设计任务

已知连续系统控制器传函为

,T=0.5s,比较有三个和有两个无穷远处零点的零极点匹配方法的离散化频率响应曲线,实现有三个无穷远处零点的零极点匹配结果。

四.设计方法与步骤

1.设计原理分析

所谓零极点匹配法,就是按照z变换的定义z=

将模拟控制器D(s)在s平面上的零点和极点一一对应地映射到z平面上,使数字控制器D(z)的零极点与模拟控制器D(s)的零极点完全对应。

变换后D(z)的分∞母和分子的阶次总是相等的,当D(s)的极点数比零点数多时,缺少的零点可视作在无穷远处存在零点,可用z平面上的z=-1的零点匹配。

方法:

(a).零极点分别按照z=

变换

(b).如果m

s→∞相当于在主频段-л/T<=ω<=л/T中

ω→л/T对应z=-1点

(c).D(z)中增益K的确定:

D(s)

=D(z)

如果D(s)分子中s因子,可按高频段增益相等,或者某频段幅频相等确定

D(s)

=D(z)

|D(j

)|=|D(

)|

注意:

在MATLAB工具箱中,讲一个s=∞零点映射成了z=∞零点,其他的s=∞零点映射成z=-1的零点,分子会比分母低一阶.

1.1有两个无穷远处零点的零极点匹配方法

由方程

可得其极点为

=-0.4±j0.9165,

=-1

=

=0.,408±j0.5313,

=0.6065

有三个无穷远处的零点,可映射为

由于在MATLAB工具箱中,将一个s=∞零点映射成了z=∞零点,故由MATLAB零极点匹配方法得到的是两个无穷远处的零极点匹配结果:

0.01985z^2+0.0397z+0.01985

D(z)=----------------------------------

z^3-2.075z^2+1.561z-0.4066

1.2有三个无穷远处零点的零极点匹配方法

由方程

可得其极点为

=-0.4±j0.9165,

=-1

=

=0.408±j0.5313,

=0.6065

有三个无穷远处的零点,可映射为

D(s)

=D(z)

1=

得k=0.031

D(z)=

2.MATLAB语句及响应曲线

2.1有两个无穷远处零点的零极点匹配方法

(A)MATLANB程序如下

>>num=[1];

>>den=[1,1.8,1.8,1];

>>sys=tf(num,den)

Transferfunction:

1

-------------------------

s^3+1.8s^2+1.8s+1

>>[numz,denz]=c2dm(num,den,0.5,'matched');

>>w=0:

0.1:

40;

>>[mag,pha]=bode(num,den,w);

>>[dmag,dpha]=dbode(numz,denz,0.5,w);

>>figure

(1);

>>plot(w,mag,'blue');holdon;

>>plot(w,dmag,'red');

>>gridon;axis([0,40,0,1.2]);

>>figure

(2);

>>plot(w,pha,'blue');holdon;

>>plot(w,dpha,'red');

(B).响应曲线如下

2.2.有三个无穷远处零点的零极点匹配方法

(A).MATLAB程序如下

>>numz=[0.0301,0.09029,0.09029,0.0301];

>>numz=[0.031,0.093,0.093,0.031];

>>denz=[1,-1.422,0.9436,-0.2722];

>>w=0:

0.1:

40;

>>[dmag,dpha]=dbode(numz,denz,0.5,w);

>>figure

(1);

>>plot(w,mag,'blue');holdon;

>>plot(w,dmag,'red');

>>gridon;axis([0,40,0,1.2]);

>>figure

(2);

>>plot(w,pha,'blue');holdon;

>>plot(w,dpha,'red');

>>gridon;axis([0,40,-1200,100]);

>>

(B).响应曲线如下

2.3两种情况的分析比较

响应曲线如下

分析:

比较有两个和有三个无穷远处零点的零极点匹配方法的离散化频率响应曲线可得两者的幅频特性曲线相差不大,但相频特性曲线差异较大,有两个无穷远处零点的匹配方法比有三个无穷远处零点的匹配方法相位滞后大一些。

2.4.阶跃响应曲线比较

(A)有两个无穷远零点的情况

(B).有三个无穷远零点的情况

分析:

由图像可知,两种方法稳态值均趋于1,即采用零极点匹配法可以保证D(s)稳定,则D(z)一定稳定。

但采用两个无穷远处零极点匹配方法所得到的阶跃响应曲线有超调且调节时间长。

而采用三个无穷远零极点匹配方法所得到的阶跃响应曲线无超调且调节时间短。

3.PROTEL原理图

3.1控制器的选择与电路设计

单片机是计算机控制系统常用的一种控制器,具有较强的控制功能。

单片机种类繁多、性能各异。

本次设计对所需控制器的要求不是很高,所以选择较为常用的AT89S52作为控制器。

AT89S52最高工作频率为33Hz、32个可编程I/O口线、三个16位定时器/计数器,满足设计任务要求。

AT89S52其最小系统如下图

3.2AD的选择与电路设计。

选择ADC0809,该AD具有8路输入通道,8位A/D转换器,即分辨率为8

位。

转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时),单个+5V电源供电,模拟输入电压范围0~+5V,不需零点和满刻度校准,工作

度范围为-40~+85摄氏度,低功耗,约15mW。

由于该AD内部没有时钟,要外

接时钟输入,时钟可以从单片机的ALE引脚引出,经过两个D触发器分频,可

得到500KHz的时钟信号,D触发器可以选择SUN7474.,这样AD的转换时间为

130us,可以满足本设计的要求。

3.3D/A的选择与电路设计

DAC0832分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5V~+15V);低功耗,200mW。

可以满足本设计的需求。

将CS、WR1、WR2和XFER引脚接地,ILE引脚接+5V,Vref选择+5V,8位数字信号输入端DI0~DI7分别接单片机P0.0~P0.7引脚。

此时DAC0832处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。

其电路图如图所示。

3.4整体电路图如下

4.单片机程序流程图

5.KEIL程序

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitST=P2^2;

sbitOE=P2^1;

sbitEOC=P2^0;//AD,DA控制位定义

voidInit_Timer1(void);//产生50ms延时

voidmain(void)

{

floatuk_2=0.0;

floatuk_1=0.0;

floatuk=0.0;

floatek_2=0.0;

floatek_1=0.0;

floatek=0.0;

floatuk_3=0.0;

floatek_3=0.0;//数据初始化

ST=0;

OE=0;//输出数据线呈高阻态

ST=1;

ST=0;//开始转换数据

Init_Timer1();

while

(1)

{

if(EOC==1)

{

uk_1=uk;

uk_2=uk_1;

uk_3=uk_2;

ek_1=ek;

ek_2=ek_1;

ek_3=ek_2;

OE=1;//输出转换得到数据

ek=P1;//保存数据

OE=0;//输出数据线成高阻态

}

uk=1.422*uk_1-0.9436*uk_2+0.2722*uk_3+0.031*ek+0.093*ek_1+0.093*ek_2+0.031*ek_3;//差分方程

P0=(uchar)uk;//将uk输出给DA

while(EOC==0);//等待转换结束

}

}

voidInit_timer1(void)

{

TMOD=0x10;//设置T1为工作方式1,为16位定时器

TH1=0x3C;

TL1=0xB0;//装初值,设置定时时间为50ms

EA=1;//开总中断

ET1=1;//允许T1溢出中断

TR1=1;//计数器1开始工作

}

voidTimer1_isr(void)interrupt3using1

{

TH1=0x3C;

TL1=0xB0;//重装初值,设置定时时间为50ms

ST=1;

ST=0;//开始下一次转换数据

}

四.设计心得体会

经过为期一周多的课程设计,让我感触颇深的是解决问题的思路、方法、技巧的重要性。

所谓“万事开头难”,在最初的几天,看到题目什么也想不到,脑袋里一片空白,不知道怎么开始,也就拖拖拉拉好几天都没开始做。

但是,在多次向同学请教并查阅资料后,慢慢的我似乎找到了基本的思路。

虽然我做的不好,但是也收获颇多。

通过这几天的设计,我们对运用MATLAB进行控制系统数字仿真有了更加深刻的认识,对用protel绘制电路图以及编写C语言程序更加的熟悉。

这个课程设计将我们所学的《自动控制原理》、《计算机控制理论与应用》、《单片机》、《模拟电子技术基础》、《数字电子技术基础》等重要课程联系起来,真正做到理论联系实际,这对我们以后的学习和工作一定会有很大的帮助。

当然,由于水平有限、经验不足我们的设计还存在着一些不足,有待于在将来的设计中进一步提高,在此恳请老师批评指正。

此外,通过这次课程设计也让我更加深刻理解了认真细心,严谨规范对科研工作的重要性,以及哈工大“规格严格,功夫到家”这一务实校训的深刻理解。

五.参考文献

《MATLAB控制系统动态仿真》谢仕宏编著

《MATLAB在自动控制中的应用》吴晓燕张双选编著

《计算机控制系统》刘建昌关守平周玮编著

《自动控制原理》张晋格主编

《Protel》电路设计教程江思敏姚鹏翼胡荣等

《单片机原理及应用》张毅刚主编

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1