《计算机控制技术》课程设计任务书
一、 课程设计目的 课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
《计算机控制技术》是一门实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的整定工作打下基础。
二、 课程设计内容 设计以 89C51 单片机、ADC、DAC 等电路和运放电路组成的被控对象构成的单闭环反馈控制系统。
1. 硬件电路设计:89C51 最小系统加上模入电路 ADC0809 和模出电路 DAC0832;由运放构成的被控对象。
2. 控制算法:PID 控制、最少拍控制、大林算法。
3. 软件设计:主程序、定时中断程序、A/D 转换程序、滤波程序、D/A 输出程序、最少拍控制程序等。
三、 课程设计要求 1. 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。
2. 被控对象:
8( )(0.2 1)G ss s 3. 控制器设计:
最少拍控制器。被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。
4. 定时中断间隔可在 10-50ms 中选取,采样周期取采样中断间隔的整数倍,可取 1000-2000ms,由实验结果确定。
四、 课程设计实验结果 1. 控制系统能正确运行。
2. 按设计信号下的系统输出响应。
3. 其他典型输入信号下的系统输出响应。
五、 进度安排 序号 内容 天数 1 布置任务,查阅资料 0.5 2 总体方案确定,硬件电路设计 1.5 3 熟悉实验箱及 C 语言开发环境,研读范例程序, 1
4 控制算法设计 1 5 软件编程,调试 1 6 实验 1 7 总结,撰写课程设计报告 1
六、 课程设计报告内容:
总结设计过程,写出设计报告,设计报告具体内容要求如下:
1.课程设计的目和设计的任务。
2.课程设计的要求。
3.控制系统总框图及系统工作原理。
4.控制系统的硬件电路连接图(含被控对象),电路的原理。
5.软件设计流程图及其说明。
6.电路设计,软件编程、调试中遇到的问题及分析解决方法。
7.实验结果及其分析。
8.体会。
七、 参考文献
(列出你所利用的参考文献。格式参见下。)
[1] 于海生主编,微型计算机控制技术,北京:清华大学出版社,1999 [2] 张艳兵等编著,计算机控制技术,北京:国防工业出版社,2008 [3] 张毅刚主编,单片机原理及应用,北京:高等教育出版社,2004 [4] 陈涛编著,单片机应用及 C51 程序设计,北京:机械工业出版社,2008 [5] 楼然苗, 李光飞编著, 单片机课程设计指导, 北京: 北京航空航天大学出版社, 2007
第 二 部 分
课 程 设 计 报 告
目录
1 1 、课题简介
................................ ................................ ....
1 1
1 1.1 课程设计内容
................................ ............................
1 1
2 1.2 课程设计要求
................................ ............................
1 1
2 2 、方案设计
................................ ................................ ....
1 1
1 2.1 设计步骤
................................ ................................
1 1
2 2.2 控制系统总框图及系统工作原理
................................ ............
1 1
3 3 、硬件电路设计
................................ ................................
2 2
3.1 1 被控对象设计
................................ ............................
2 2
2 3.2 硬件电路原理图
................................ ..........................
2 2
4 4 、控制算法设计
................................ ................................
3 3
5 5 、软件编程设计
................................ ................................
5 5
1 5.1 流程图设计
................................ ..............................
5 5
5.2 程序设计
................................ ...............................
5 5
6 6 、实验结果分析
................................ ................................
8 8
7 7 、总结
................................ ................................ ........
9 9
参考书目
................................ ................................ .......
9 9
1 1 、课题简介
1.1 课程设计内容 设计以 89C51 单片机、ADC、DAC 等电路和运放电路组成的被控对象构成的单闭环反馈控制系统。
1. 硬件电路设计:89C51 最小系统加上模入电路 ADC0809 和模出电路 TLC7528;由运放构成的被控对象。
2. 控制算法:最少拍控制。
3. 软件设计:主程序、定时中断程序、A/D 转换程序、滤波程序、D/A 输出程序、最少拍控制程序等。
1.2 课程设计要求 1. 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。
2. 被控对象8( )(0.2 1)G ss s 3. 设计无纹波最少拍控制器。被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。
4. 定时中断间隔可在 10-50ms 中选取,采样周期取采样中断间隔的整数倍,可取 1000-2000ms,由实验结果确定。
5. 滤波方法可选择平均值法,中值法等。
2 、方案设计 2.1 设计步骤 先进行硬件设计,根据 Gz 改造被控对象
进行最少拍控制算法计算 读范例程序,画出流程图,进行修改 调试实验结果
2.2 控制系统总框图及系统工作原理
图 2-1 系统总框图 误差 E=R-C 经运放运算得到,并由模数转换器采集。最少拍控制算法由软件程序和单片机实现。输出 U经数模转换器和零阶保持器转换成模拟信号送至被控对象。被控对象由两只运放及阻容元件构成。
最少拍控制算法 D(z)
1Tses5(0.8 1) s s R E C
2 3 、硬件电路设计
3.1 被控对象设计 被控对象8(0.2 1) s s 由两只运放及阻容元件构成。
积分部分 C=4uF,R=250k 惯性部分 R1=25k,R2=200k,C=1uF
3.2 硬件电路原理图
图 3-2 系统电路图 图 3-1 被控对象设计
3 4 、控制算法设计
被控对象传递函数 8( )(0.2 1)G ss s 根据香农采样定理,选择采样周期 T=0.1s 零阶保持器的传递函数为 h1( )sTeG ss 对被控对象带零阶保持器进行 Z 变换,得: 2-11 11 18(0.2 1)8(0.21( ) [ ]
(1- ) [ ]0.1704(1 0.846 )(1 )(1 01).606 )TseG z Zszs ssZzzszz
由该式可知:
0, 2, 1, 1, 1;1;2D q v jm Dn v j q 其中 D 为采样周期纯滞后环节的个数, q=2 为单位速度输入, ω为 G(z)中零点的个数, v 为 G(z)中不稳定极点的个数, j 为 G(z)在单位圆上极点的个数 故Φ e (z)和Φ(z)可设为 1 2 1e 111 2 311 11 11( ) (1 ) (1 )=1 ( 2) (1 2 )z z f zf z f z f z 1 1 221 221 2 321 22 21 22( ) (1 0.846 )( )( 0.846 ) 0.846z z f z f zf z f f z f z
4 又 ( ) 1 ( )ez z
所以有 11 2111 22 2111 222 01 2 0.846 00.846 0f ff f ff f 解得
1121220.6681.330.79fff 所以 1 2 1( ) (1 ) (1 0.668 )ez z z
1 1 2( ) (1 0.846 )(1.33 0.79 ) z z z z
1 11 11 ( ) (1.33 0.79 )(1 0.606 )( )( ) ( ) 0.1704(1 )(1 0.688 )ez z zD zG z z z z
5 5 、软件编程设计
5.1 流程图设计
系统初始化变量初始化等待中断主
程
序D/A输出清零变量初始化采样周期变量赋初值同步信号到否?采样周期到否?采样周期变量减一中断返回求误差E(k)计算D(z)模拟延时处理输出控制量U(k)采样周期变量赋初值采样中断服务程序是是否 图 5-1 系统流程图
5.2 程序设计
6 #include <reg51.h> #include <absacc.h> #include <math.h> #define uchar unsigned char #define uint
unsigned int #define ADC_7 XBYTE[0x0600]
#define DAC_1 XBYTE[0x0640]
sbit
str
= P1^7;
定义 A/D 启动信号 sbit
DIN0 = P1^0;
声明同步信号 uint
data time;
声明变量,用于定时 uchar data t0_h,t0_l; 用于存储定时器 0 的初值 int
TK=10;
声明采样周期=TK*10ms int
TC;
TC 的变量 float KK0=7.8;
系数 float KK1=-9.366;
float KK2=2.809;
float KK3=0;
float PP1=-0.332;
float PP2=-0.668; float PP3=0;
char
UK;
当前时刻DA的输出 char
EK;
当前时刻的偏差 char
UK_1,UK_2,UK_3,EK_1,EK_2,EK_3; 前三次采样时刻的控制量和偏差
void main(void) {
TMOD = 0x01;
time = 10;
定时 10ms
t0_h
= (65536-500*time)/256;
计算定时器 0 初值
t0_l
= (65536-500*time)%256;
t0_l = t0_l+20;
修正因初值重装而引起的定时误差
TH0
= t0_h;
TL0
= t0_l;
IT1
= 1;
边沿出发中断
EX1
= 1;
开外部中断 1
ET0
= 1;
开外部中断 0
TR0
= 1;
启动定时器
TC
= 1;
DAC_1= 0x80;
DA 清零
UK=UK_1=UK_2=UK_3=0;
EK=EK_1=EK_2=EK_3=0;
EA
= 1;
开总开关
while(1); }
void int1() interrupt 2 using 2 { float i,j;
DIN0 = 1;
读取输入前,先输出高电平
if(DIN0)
判断同步信号是否到达
{
UK=UK_1=UK_2=UK_3=0;
EK=EK_1=EK_2=EK_3=0;
7
DAC_1 =0x80;
DA 输出零
TC=1;
}
else
{
TC--;
判断采样周期是否到达
if(TC==0)
{
EK
= ADC_7-128;
采样当前的偏差值,并计算偏差的变化量
i=EK*KK0;
i=i+EK_1*KK1;
i=i+EK_2*KK2;
i=i+EK_3*KK3;
j=UK_1*PP1;
j=j+UK_2*PP2;
j=j+UK_3*PP3;
i=i-j;
if(i>0)
判断是否溢出
{
if(i>=127)
UK=127;
else
UK=(char)i;
}
else
{
if(i<-128)
UK=-128;
else
UK=(char)i;
}
DAC_1=UK+128;
DA 输出控制量
UK_3=UK_2;
控制量地推
UK_2=UK_1;
UK_1=UK;
EK_3=EK_2;
偏差递推
EK_2=EK_1;
EK_1=EK;
TC=TK;
采样周期变量恢复
}
} }
void Timer0() interrupt 1
using 1 {
str = !str;
TH0 = t0_h;
TL0 = t0_l; }
8 6 6 、实验结果分析
首先利用 MATLAB 仿真,仿真图及结果如图 6-1
图 6-1 MATLAB 仿真图
图 6-2 仿真结果 使用实验箱做仿真时得到的仿真结果为图 6-3
图 6-3 实验箱仿真结果及数字控制器输出结果 从仿真结果来看,调节之后的电路可以两拍跟踪斜坡输入信号,MATLAB 仿真结果没有任何纹波,但是在实验箱上仿真时出现了纹波,后期出现了不稳定的偏差,原因是实验箱上的电阻电容原件并不是非常精确的数值,在做 G(s)的参数时有偏差,因此会出现上述结果。
9 7 7 、总结
参考书目 [1] 于海生主编,微型计算机控制技术,北京:清华大学出版社,1999 [2] 张艳兵等编著,计算机控制技术,北京:国防工业出版社,2008 [3] 张毅刚主编,单片机原理及应用,北京:高等教育出版社,2004 [4] 陈涛编著,单片机应用及 C51 程序设计,北京:机械工业出版社,2008 [5] 楼然苗, 李光飞编著, 单片机课程设计指导, 北京: 北京航空航天大学出版社, 2007