最少拍控制系统设计

更新时间:2023-09-15 09:24:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

能源与动力工程学院

课程设计报告

题 目:课 程:专 业:班 级:姓 名:学 号:

最少拍控制系统设计 计算机控制技术课程设计

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

一、 课程设计目的

课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

《计算机控制技术》是一门实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的整定工作打下基础。

二、 课程设计内容

设计以89C51单片机、ADC、DAC等电路和运放电路组成的被控对象构成的单闭环反馈控制系统。 1. 硬件电路设计:89C51最小系统加上模入电路ADC0809和模出电路DAC0832;由运放构成的被控对象。

2. 控制算法:最少拍控制、PID。

3. 软件设计:主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、最少拍控制程序等。

三、 课程设计要求

1. 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。 2. 被控对象每个同学选择不同:

G(s)?5,(s?1)(0.8s?1)G(s)?4,s(0.4s?1)G(s)?10(s?1)(0.4s?1)

G(s)?5

s(0.8s?1)8

s(0.8s?1)(0.2s?1)G(s)?5,s(s?1)(0.2s?1)G(s)?G(s)?5,(0.8s?1)(0.3s?1)G(s)?5(0.8s?1)(0.2s?1)

3. 设计无纹波最少拍控制器。被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。

1

4. 定时中断间隔可在10-50ms中选取,采样周期取采样中断间隔的整数倍,可取1000-2000ms,由实验结果确定。

5. 滤波方法可选择平均值法,中值法等。

四、 课程设计实验结果

1. 控制系统能正确运行。 2. 按设计信号下的系统输出响应。

3. 其他典型输入信号下的系统输出响应。

五、 进度安排

序号 1 2 3 4 5 6 7 内容 布置任务,查阅资料 总体方案确定,硬件电路设计 熟悉实验箱及C语言开发环境,研读范例程序, 控制算法设计 软件编程,调试 实验 总结,撰写课程设计报告 天数 0.5 1.5 1 1 1 1 1

六、 课程设计报告内容:

总结设计过程,写出设计报告,设计报告具体内容要求如下: 1.课程设计的目和设计的任务。 2.课程设计的要求。

3.控制系统总框图及系统工作原理。

4.控制系统的硬件电路连接图(含被控对象),电路的原理。 5.软件设计流程图及其说明。

6.电路设计,软件编程、调试中遇到的问题及分析解决方法。 7.实验结果及其分析。 8.体会。 七、

参考文献

(列出你所利用的参考文献。格式参见下。)

[1] 于海生主编,微型计算机控制技术,北京:清华大学出版社,1999 [2] 张艳兵等编著,计算机控制技术,北京:国防工业出版社,2008 [3] 张毅刚主编,单片机原理及应用,北京:高等教育出版社,2004 [4] 陈涛编著,单片机应用及C51程序设计,北京:机械工业出版社,2008

[5] 楼然苗, 李光飞编著, 单片机课程设计指导, 北京: 北京航空航天大学出版社, 2007 [6] 控制、电子技术类杂志、报刊

2

第 二 部 分

程 设 计 报 告

3

目 录

1.课题简介

1.1 课程设计内容…………………………………………………………5 1.2课程设计要求…………………………………………………………5

2.方案设计

2.1 设计步骤 ……………………………………………………………………5

2.2 控制系统总框图及系统工作原理………………………………………6

3.硬件电路设计

3.1 被控对象设计 ………………………………………………………………8 3.2 硬件电路连接图 ……………………………………………………………9

4.控制算法设计 ……………………………………………………10 5.软件编程设计

5.1 流程图 ………………………………………………………………………11 5.2 程序设计 ………………………………………………………………………12

6.实验结果与分析 …………………………………………………14 7.心得体会 …………………………………………………………14

4

1 课题简介 (宋体4号加粗)

1.1 课程设计内容

设计以89C51单片机、ADC、DAC等电路和运放电路组成的被控对象构成的单闭环反馈控制系统。 1. 硬件电路设计:89C51最小系统加上模入电路ADC0809和模出电路TLC7528;由运放构成的被控对象。

2. 控制算法:最少拍控制。

3. 软件设计:主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、最少拍控制程序等。

1.2课程设计要求

1. 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。 2. 被控对象Gs=10

(s+1)(0.4s+1)3. 设计无纹波最少拍控制器。被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。

4. 定时中断间隔可在10-50ms中选取,采样周期取采样中断间隔的整数倍,可取1000-2000ms,由实验结果确定。

5. 滤波方法可选择平均值法,中值法等。

2 方案设计

2.1 设计步骤

先进行硬件设计,根据Gz改造被控对象 进行最少拍控制算法计算

读范例程序,画出流程图,进行修改 调试实验结果

2.2控制系统总框图及系统工作原理

最小拍双通道采样的闭环系统框图如上所示,在该系统中对给定值r(t)进行D/A转换采样,得到离散化的r(z),并且对输出值c(t)也进行D/A转换,得到c(z),然后计算有e(k)=c(k)-r(z)。D(z)为计算机控制系统的脉冲传递函数,U(z)为输出的控制量,然后经过A/D转换后得到模拟控制量U(t)对包含零阶保持器的被控量

5

进行控值进而达到要求的最小拍控制的目的。

误差E=R-C经运放运算得到,并由模数转换器采集。最少拍控制算法由软件程序和单片机实现。输出U经数模转换器和零阶保持器转换成模拟信号送至被控对象。被控对象由两只运放及阻容元件构成。

3 硬件电路设计

3.1 被控对象Gs=10由运放及阻容元件搭建,电路图如下:

(s+1)(0.4s+1)1C15uF2R1200kΩVCC5C22uF3R2VCC12VR3323200kΩVCCVCC5U3U412V4R420kΩ0214200kΩ3288RT0143288RTVCCVCCVCCVCC12V12V 3.2硬件电路原理图

6

4 控制算法设计

2.146z?1(1?0.5785z?1)4.1 G(z)? ?1?1(1?z)(1?0.2865z)被控对象含有一个积分环节,采用单位速度输入信号,q=2 D=0,q=2,v=1,w=1,j=1 m=w+d=1 n=v-j+q=2

1?e?Ts10G(z)?Z[Gs]?Z[.]

s(s?1)(0.4s?1) ?(1?Z?1)Z[10]

(s?1)(0.4s?1)

4.2

?(z)?(1?0.5785z?1)(1.4992z?1?0.8657z?2)

?e(z)?(1?z?1)2(1?0.5z?1)

0.466(1?0.2865z?1)(1.4992?0.8657z?1) D(z)??1?1(1?z)(1?0.5z)U(z)?0.5z?1U(z)?0.5z?2U(z)?0.466E(z)?0.6036z?1E(z?1)?0.1156z?2E(z?2)

u(k)?0.5u(k?1)?0.5u(k?2)?0.466e(k)?0.6036e(k?1)?0.1156e(k?2)

7

5 软件编程设计

5.1 流程图

主程序采样中断采样7号通道Cont=(ADC_7-128+M)/2;设定定时器工作状态定时器装入初值设定外中断类型开外中断和定时中断Y同步信号到否DINO=0;开中断EX1=0;采样6号通道Set=(ADC_7-128+N)/2;控制UK的输出满足8位转换的要求ND/A输出清零采样周期变量减一TC--;保存采样值M=ADC_7-128;输出控制量ADC_1=bb+128;选中6号通道DEFI=0;保存采样值N=ADC_7-128;控制量递推变量初始化Y采样周期到否TC==0;启动转换STR=0;STR=1;关中断EX1=0;等待转换结束k=200;While(k>0) k--;选中7号通道DEFI=1;计算偏差EK=Cont-Set;偏差值递推启动定时器ND/A清零采样周期变量赋初值采样周期变量恢复TC=TK;计算UK值变量清零等待中断中断返回 5.2 程序

#include #include #include

/***************************************** 宏定义

*****************************************/ #define uchar unsigned char #define uint unsigned int

8

#define ADC_7 XBYTE[0x0600] //定义模数转换IO地址 #define DAC_1 XBYTE[0x0640] //定义D/A第一路的IO地址

/***************************************** 全局变量定义

*****************************************/ sbit str = P1^7; //定义A/D启动信号 sbit DIN0 = P1^0; //声明同步信号 uint data time; //声明变量,用于定时 uchar data t0_h,t0_l; //用于存储定时器0的初值 char TK = 5; //声明采样周期变量,//采样周期=TK*10ms char TC; //TK的变量 float kp =1.8; //比例系数 uint ti =80; //积分系数 char td = 2; //微分系数 char IBAND = 120; //积分分离值 char EK; //当前采样的偏差值 char EK_1; //上一次采样的偏差值 char AEK; //偏差的变化量 char UK; //当前时刻的D/A输出 char AEK_1; char BEK; char CEK;

float ZEK;

/***************************************** 主函数

*****************************************/ void main(void) { TMOD = 0x01; time = 10; //定时10ms t0_h = (65536 - 1000 * time) / 256; //计算定时器0初值 t0_l = (65536 - 1000 * time) % 256; t0_l = t0_l + 70; //修正因初值重装而引起的定时误差 TH0 = t0_h; TL0 = t0_l; IT1 = 1; //边沿触发中断 EX1 = 1; //开外部中断1 ET0 = 1; //开定时中断0 TR0 = 1; //启动定时器 TC = 1;

9

本文来源:https://www.bwwdw.com/article/fdvh.html

Top