计算机控制课程设计 - 范文中心

计算机控制课程设计

10/21

《计算机控制》课程设计报告

题目: 串联校正控制器设计 姓名: 学号:

2013年12月2日

4

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

指导教师签字: 系(教研室)主任签字:

2013年 11 月 25 日

1、 模拟控制器的设计

原系统的开环传递函数为

K

,单位负反馈。

s (s +1)(s +4)

根据题目要求,系统阻尼比为0.5,无阻尼自然振荡频率2rad/s。因此期望主导极点为

s d =-ξωn ±j ω=-1±

用Matlab 绘制其根轨迹如下图所示:

R oot Locus

a g i n a r y A x i s (s e c o n d s ) I m

-1

----

-1

R eal A xi s (seconds )

图 1 校正前系统的根轨迹

由上图可知,期望闭环极点位于根轨迹左侧,可以采用相位超前校正,使根轨迹左移。

由图可见,开环几点之一,s =-1正好位于期望闭环极点s d 垂线下的负实轴上,如果令校正装置的零点设在紧靠s =-1这个开环极点的左侧,另z c =-1.2,这样做往往能增大s d 成为闭环主导极点的可能性。运用Matlab 编程求出对应于零点z c =-1.2的极点为p c =-5,因此校正后系统的开环传递函数为:

G (s ) =

K (s +1.2)

s (s +1)(s +2)(s +5)

其根轨迹如图2所

-1

a g i n a r y A x i s (s e c o n d s I m )

----

R eal A xi s (seconds )

-1

图 2 校正后系统根轨迹

根据幅值条件,可以求出系统工作于点s d 的K 值为30。 原系统及校正后系统的阶跃响应如图3所示:

1. S t ep R esponse

1. p l i t u d e A m

0. 0. 0. 0. [**************]20

Ti m e (seconds)

图 3 原系统阶跃响应

4

1. S t ep R esponse

1. p l i t u d e A m

0. 0. 0. 0. [**************]20

Ti m e (seconds)

图 4 校正后系统的阶跃响应

可以看出原系统阶跃响应单调递增变化,为过阻尼的情况;校正后系统衰减震荡,为欠阻尼,由其根轨迹曲线可以看出,工作点近似位于期望闭环极点上。至此,模拟控制器设计完毕。

2、 器件选取及电路设计

(1) 控制器选用STC89C52单片机,晶振选取12MHz 。P0口作为普通I/O口使用,故需接入上拉电阻。

(2) A/D选用ADC0804。其分辨率为8位,转换时间为100us ,输入电压范围为0~5V。芯片内部具有三态输出数据锁存器,可直接连接在数据总线上。

(3) D/A选用DAC0832。其为8位D/A转换器,其转换时间为1us 。数据输入可以采用双缓冲、单缓冲、或直通方式,以便适用于各种电路的需要。工作电压为+5V~+15V,基准电压为范围为-10V~+10V。D/A转换结果采用电流形式输出,可通过外接运算放大器将其转换成电压。

由上述器件可以计算出,完成一次A/D、D/A转换所需要的时间为101us ;单片机每执行一条指令所需时间为0.083us ,给定采样时间0.01s ,即10000us ,足够完成程序运算与A/D、D/A的转换。原理图如图5所示:

图 5 数字控制器原理图

3、 数字控制器的设计以及被控对象的离散化

由模拟控制器到数字控制器的实现有许多方法,比如一阶前向差分、一阶后向差分、双线性变换法、零极点匹配法等等。考虑到双线性变换发使用方便且有一定精度,故选取其作为离散化方法。上一步选取了采样周期为0.01s ,由Matlab 运算得到离散化之后的控制器脉冲传函为:

G c (z ) =

0.9815 z - 0.9698

z - 0.9512

求得相应的差分方程为:u (k ) =0.9815e (k ) -0.9698(k -1) +0.9512u (k -1) 。

被控对象采用零阶保持器离散化,最终的离散化系统方框图如图6所示:

图 6 离散系统方框图

用simulink 对系统进行仿真,可得到系统的阶跃响应曲线:

图 7 simulink仿真图

图 8 离散系统阶跃响应曲线

与原系统相比,相差不大。下面给出离散化前后的bode 图:

图 9 离散化前后bode 图

上图中,实线为离散前系统的bode 图,点画线为离散化之后的bode 图,可以看出,两者差别不大,可以满足要求。

4、 程序设计

程序设计的总体思路是采用外部中断的方式进行。首先启动A/D转换,当转换完成时,触发单片机外部中断,进入中断服务子程序程序。在中断服务程序中,进行控制量的求取,然后再次启动A/D转换,中断返回。D/A采用直通工作方式,即只需要变化数据输入端,其模拟输出就紧跟着变化。由于D/A的转换时间为1us ,而A/D转换时间为100us ,故D/A芯片有足够的时间完成转换。

使用keil 开发环境进行程序编写调试。并且利用keil 的软件调试模式进行计算中断服务子程序运行一次所需要的时间。进而可以计算出每个周期内采样、转换与计算输出所需的总时间,然后与确定的采样周期相比较,确定采样周期的选取是否符合条件。

软件调试界面如图10所示:

图 10 Keil软件调试模式

分别对进入中断以及中断返回进行计时,即可得到中断服务子程序运行时间,如图11所示:

图 11 中断服务程序运行时间

由上图可以计算中断服务程序运行的时间为:

0.0011554-0.01076=0.000794s

A/D转换时间为100us ,故每周期总共用时为:

0.000794+0.001=0.001794s

故所选取的采样周期0.01s 完全足够其完成采样与运算。

程序流程图如下所示:

图 12 软件流程图

5、 心得体会

本次课程设计持续一周时间,在这一周内,我完成了从系统设计到控制器的具体编程实现等工作,有很大的收获。这次课设将以前学过的很多知识串联起来,形成整体化、系统化的思想,提高了我们综合运用所学知识解决实际问题的能力,也提升了我们有目的地查阅资料解决问题的能力。当然,这次课程设计更多的是让我识到自己的不足。作为一名大学生,掌握的知识确很过时,会用的只是课程中讲过的一些很简单很基本的芯片和控制器,不能与最新的只知识接轨,知识结构的老化,对所学专业认识的浅显,纸上谈兵,缺乏实践经验等等都是我们亟待解决的问题。在以后的学习工程中,我一定会积极拓宽自己的视野,多接触一些新知识,丰富自己,提升自己。我们的路还有很长。

6、 参考文献

[1] 张晋格主编. 自动控制原理. 哈尔滨:哈尔滨工业大学出版社,2003.

[2] 刘建昌等主编. 计算机控制系统. 北京:科学出版社,2009.

[3] 张毅刚主编. 单片机原理及应用. 北京:高等教育出版社,2004.

[4] 张晋格,陈丽兰主编. 控制系统CAD —基于MA TLAB 语言. 北京:机械工业出版社,2010.

[5] 郭天祥编著.51单片机C 语言教程. 北京:电子工业出版社,2009.

7、 附录

Matlab 程序:

程序一:

%%校正前根轨迹

clc,clear,close all ;

num=1;

den=conv([1 1 0],[1 4]);

G=tf(num,den);

figure(1);

rlocus(G);

T=feedback(G,1);

figure(2);

step(T,20);

程序二:

%%求取极点位置

clc,clear,close all ;

x=-20:0.001:-1;

angs=angle(-1+sqrt(3)*1i-(-1.2))*180/pi-90-angle(-1+sqrt(3)*1i-0)*180/pi-angle(-1+sqrt(3)*1i-(-4))*180/pi-angle(-1+sqrt(3)*1i-x)*180/pi;

p=spline(angs,x,-180)

程序三:

%%校正后根轨迹还未进行离散化

clc,clear,close all ;

G=tf([1 1.2],conv([1 1 0],[1 9 20]));

figure(1);

rlocus(G)

s=-1+sqrt(3)*1i;

k=abs(s*(s+1)*(s+4)*(s+5)/(s+1.2))

Gc=tf([k 1.2*k],[conv([1 1 0],[1 9 20])]);%期望极点处开环传函

T=feedback(Gc,1);%期望极点处闭环传函

figure(2);

step(T,20)

程序四:

%运用双线性变换,进行离散化, 判稳???

clc,clear,close all ;

num=[1 1.2];

den=[1 5];

Gs=tf(num,den);%连续系统的控制器

Gz=c2d(Gs, 0.01, 'tustin' ) %双线性离散化之后的控制器

Gp=tf([30],conv([1 1 0],[1 4]));%连续系统的被控对象传函

Gpz=c2d(Gp,0.01,'zoh' ); %采用零阶保持器离散化之后的被控对象脉冲传函

sysc=Gs*Gp;

sysd=Gz*Gpz;

%画出离散化前后系统的bode 图,比较性能差异

figure(1);

bode(sysc, 'r-' , sysd, 'b-.' );

axis();

grid;

T=feedback(sysd,1);%离散系统的闭环传函(单位反馈)

figure(2),step(T,20);

C 源程序:

#include

#include

#define uint unsigned int

sbit ADRD=P2^0;

sbit ADWR=P2^1;

sbit INTR=P2^2;

static float ek=0;

static float ek_1=0;

static float uk=0;

static float uk_1=0; //以上四个变量存储用于计算每次输出的值

void Init()

{

P0=0X00;//由于P0为D/A的输入口,而D/A为直通工作方式故初始化其为0 P1=0x00;//P1口为读A/D的数据口,将其初始化为全1

P2=0xff;//P2口控制A/D的读写端,将其初始化为全1,使A/D芯片不工作 P3=0xff;

}

void main()

{

Init(); //初始化 注意,一定要先声明变量,在进行其他操作,否则会出现许多奇怪的错误

TMOD=0x01;//设置定时器TO 为工作方式1

TH0=(65536-10000)/256;

TL0=(65535-10000)%256;

PT0=1;//设置定时器中断0优先级最高

EA=1; //开总中断

ET0=1;//开外部中断0

TR0=1;//启动定时器T0

while(1);//主程序进入循环,等待中断产生

}

void T0_time(void) interrupt 1

{

TH0=(65536-10000)/256; //重装初值

TL0=(65535-10000)%256;

INTR=1;//先将其置高,A/D转换结束时,其将变为低电平

//下面启动A/D转换

ADWR=1;

_nop_();

ADWR=0;//拉低WR ,启动A/D转换

_nop_();

ADWR=1;

while(INTR); //INTR低电平表示A/D转换完成

//下面进行读取A/D,并赋值给e(k)

P1=0xff;//P1、P2、P3口均为准双向I/O口,读取之前要向其先写1 ADRD=1;

_nop_();

ADRD=0;

_nop_();

ek=P1;

ADRD=1;

//下面计算u(k)的输出值

uk=0.9815*ek-0.9698*ek_1+0.9512*uk_1;

P0=uk;//计算得到的控制量,由P0口输出给D/A芯片

//更新数据

ek_1=ek;

uk_1=uk;

}


相关内容

  • 兰州交通大学铁道技术学院(高职)专业介绍
    铁道技术学院(高职) 铁道机车车辆三年制高职 培养具有必备的基础理论知识.专业知识和职业综合能力,能胜任机车车辆厂.城轨系统和铁路运用部门的生产.运用.管理.检修检测.机车调度等岗位的高技能应用型人才.毕业生能够在各铁路局.机车车辆厂.工程 ...
  • 物料需求计划编制指导书
    吉林化工学院 生产计划与控制课程设计报告 (工业工程专业) 教 学 院 机电工程学院 专业班级 工程00801 学生姓名 王滨义 学生学号 08440106 目 录 第1章 课程设计目的和要求........................ ...
  • X.Y工作台设计说明书
    目 录 一.课程设计目的 . ......................................................................................................... ...
  • 农田水利工程设计教学大纲
    <农田水利工程设计>课程教学大纲 一.课程简介 1.课程名称.编号 课程名称(中文):农田水利学 课程名称(英文):Irrigation Projects 课程简称(中文):农田水利工程 课程编号:03221105 2.课程简介 ...
  • 20**年大气课程设计任务书
    <大气污染控制工程>课程设计说明 课程设计目标 <大气污染控制工程>课程设计是课程组成部分之一,要求学生在课堂学习的基础上,通过自学和查阅资料等方式,完成一个大气污染控制系统的部分或全部设计工作,提交设计说明书及相关 ...
  • 济南大学实验室介绍
    CAD 实验室 CAD 实验室承担全院所有的上机实践课程,涉及课程学习.课程设计和毕业设计等多个教学环节,是 Solid Works 中国有限公司在山东设立的首家 Solid Works 授权教育基地及 CSWA 考试中心. 实验室设三个分 ...
  • 道路与桥梁工程课程设计
    1设计总说明书 1.1设计依据 根据合肥学院建筑工程系工程管理专业<道路与桥梁工程课程设计任务书>. 1.2公路设计概况 1.2.1概况 根据设计任务书要求,本路段按平原微丘三级公路技术标准勘察.设计.设计车速为40公里/小时, ...
  • 自动化专业概论
    浅谈自动化专业 姓名:丁一林 学号:[1**********] 一. "四旋翼飞行器"与自动化专业课程培养体系 四旋翼飞行器也称为四旋翼直升机,是指拥有四个动力组旋翼,通过不同方向旋转而进行完成飞行.悬停.转向等动作的飞 ...
  • 测控电路课程设计论文1
    - 1 - 本科课程设计(论文) 电风扇指触保护及报警电路 学 院 信息工程学院 专 业 测控技术与仪器 (计算机方向) 年级班别 2010级(2)班 学 号 3110002480 学生姓名 林远劲 指导教师 郑莹娜.刘伟 2012年 6月 ...
  • 工商管理专业课程梳理
    课 程 考 核 课 程 考 核 湖南大学工商管理学院修课计划 课 程 考 核 课 程 考 核 课程总结 温故而知新,可以为师矣.大学接近三年,在工商管理系读了两年,再加上转系之前,在岳麓书院读了一年,学的知识虽多,却没有好好总结过.今借此机 ...