大林算法控制器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控制器传函的计算:
(6)
D( z )
( z ) G( z )[1 ( z )]
(7)
由(3),(6),(7)式得本系统控制器传递函数为:
D( z )
代入各项参数
(1 eT /T )(1 eT /T 1 z 1 )(1 eT /T 2 z 1 ) K (C1 C 2 z 1 )[1 eT /T z 1 (1 eT /T ) z N 1 ]
1 (T 1eT /T 2 T 2eT /T 1 ) T 2 T1
(4)
C2 e
1 1 ) T1 T 2
(5)
校正后系统闭环脉冲传函为:
1 eTs 1 (1 eT /Tm ) z N 1 ( z ) Z e s 1 eT /Tm z 1 s 1 Tm s
sbit sbit sbit sbit sbit
CS = P1^4; AD_In = P1^3; SPI_CLK = P1^1; SPI_DATA = P1^0; CS_DA = P1^2;
//TLC549 片选信号 //TLC549 输入端 //TLC5615 时钟信号 //TLC5615 数据信号 //TLC5615 片选信号
int Count = 0; //时间计数变量 int ek=0,ek1=0,ek2=0; //采样变量。 ek 为 E(k),ek1 为 e(k-1),ek2 为 e(k-2)。 int uk_out=0,uk[26]={0};//控制器输出变量。uk[i]表示 u[k-i] /******************************************************************** * 名称 : Delay() * 功能 : 延时,延时时间为 1ms * del * 输入 : del * 输出 : 无 ********************************************************************* **/ void Delay(uint del) { uchar i, j; for(i=0; i<del; i++) for(j=0; j<=148; j++); } /******************************************************************** * 名称 : AD_Change(void) * 功能 : TLC549 驱动程序,模拟 SPI 模式从 AD 芯片中读出 8 位数据 * 输入 : 无 * 输出 : temp (电压值) ********************************************************************* **/ uchar AD_Change(void) { uchar i,temp = 0; AD_In = 0; _nop_(); _nop_(); CS = 0; _nop_(); _nop_(); _nop_(); _nop_(); if(AD_Out == 1) temp += 1; for(i=0; i<8; i++)
1
0.5
0
-0.5
0
10
20
30
40
50
ห้องสมุดไป่ตู้
60
70
80
90
100
图 3.有振铃情况下控制器输出和系统输出
u 0.2
0.15
0.1
0.05
0
-0.05
-0.1 1.5
1
0.5
0
-0.5
0
10
20
30
40
50
60
70
80
90
100
图 4.消除振铃后控制器输出和系统输出 (3)仿真结果分析: 直接计算得到的控制器后,系统输出稳定,没有超调。但是控制器输出有大 幅度的振铃现象。如图 3 所示。消除振铃后,系统输出依然稳定,控制器输出也 没有了振铃现象,如图 4 所示。效果比较好。
图 7.单片机最小系统 单片机选择 11.0592MHZ 晶振,上电复位模式。
5.2 控制器的软件控制
5.2.1、流程图
主程序
定时器中断 服务程序
系统初始化
定时器初值 重装
时间计数变 量自加

采样周期是否到
中断返回

采样周期变量清零
A/D 采样
计算u(k)
采样变量赋新值
D/A 输出u(k)
5.2.2、程序 /******************************************************************** * 文件名 : Dahlin.c * 描述 : 本程序实现大林算法控制器。 * 创建人 : 张萌萌 090230230 ********************************************************************* **/ #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit AD_Out = P3^4; //TLC549 输出端
图 5.TLC549 接口电路图 AD 转换器的电路设计 : (1)AD 转换器的时钟信号,由单片机 P1.3 脚产生,故将 CLOCK 脚接单片 机的 P1.3。 (2) CS 脚为 AD 转换片选信号, 低电平有效, 由程序控制, 与单片机的 P1.4 脚相连。 (3)REF+和 REF-是 AD 芯片的参考电压,这里分别接的+5V 和地。则输入信 号范围是 0~5V,对应数字信号 0x00~0xFF。 (4)OUT 是串行数据的输出口。由 P3.4 引脚读取。 5.1.2、DA 转换器 D/A 转换器选择 TLC5615。TLC5615 是 TI 公司生产的电压型 10 位串行 D/A 转换器。性能优于早期的电流型转换器。而且是串行接口,只需要 3 根线就能完 成 10 位数据的传输,节省了 IO 口资源。

2012 年 7 月 13 日
共 1 周
设计任务: (按照所选题目内容填写) 被控对象为 G p ( s)
20e 12s ,T=0.5s, T 6 , 采用 Dahlin 算 ( s 0.2)(10s 1)
法设计消除振铃的数字控制器。 方案设计: 1. 完成控制系统的分析、设计; 2. 选择元器件,完成电路设计,控制器采用 MCS-51 系列单片机(传感 器、 功率接口以及人机接口等可以暂不涉及) , 使用 Protel 绘制原理图; 3. 编程实现单片机上的控制算法。 报告内容: 1. 控制系统仿真和设计步骤,应包含性能曲线、采样周期的选择、数字 控制器的脉冲传递函数和差分方程; 2. 元器件选型,电路设计,以及绘制的 Protel 原理图; 3. 软件流程图,以及含有详细注释的源程序; 4. 设计工作总结及心得体会; 5. 列出所查阅的参考资料。
五.控制器的硬件实现
5.1.硬件电路部分
控制器部分需要 AD 转换器,DA 转换器,单片机。 5.1.1、AD 转换器 AD 转换器选择 TLC549, TLC549 是 TI 公司生产的一种低价位、高性能的 8 位串行 A/D 转换器,它以 8 位开关电容逐次逼近的方法实现 A/D 转换,最大转 换速率为 40000HZ,电源为 3V 至 6V。它能方便地采用三线串行接口方式与 各种微处理器连接,构成各种廉价的测控应用系统。
0.17(1 0.9048 z 1 )(1 0.9512 z 1 ) D( z ) 1 0.92 z 1 0.08 z 25
由 D(z)得到差分方程为:
U(k)=0.92U(k-1)+0.08U(k-25)+0.17E(k)-0.3155E(k-1)+0.1463E(k-2)
五.工作原理
在控制系统应用中, 纯滞后环节往往是影响系统动态特性的不利因素。工业 过程中如钢铁,热工和化工过程中往往会有纯滞后环节。对这类系统,控制器如 果设计不当,常常会引起系统的超调和持续振荡。 由于纯延迟的存在,使被控量对干扰、控制信号不能即时的反映。即使调 节机构接受控制信号后立即动作,也要经过纯延时间 t 后才到达被控量,使得系
设计要求
指导教师签字:
系(教研室)主任签字: 2012 年 7 月 5 日
一.课题名称
Dahlin 算法控制器设计
二.课程设计目的
课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综 合性较强的实践教学环节, 它对帮助学生全面牢固地掌握课堂教学内容、培养学 生的实践和实际动手能力、提高学生全面素质具有很重要的意义。 《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设 计环节应占有更加重要的地位。 计算机控制技术的课程设计是一个综合运用知识 的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过课 程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从 整体上了解计算机控制系统的实际组成, 掌握计算机控制系统的整体设计方法和 设计步骤, 编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下 基础。
三.提供的实验条件
(1)软件:Matlab, Altium Designer,KEIL (2)仪器和设备:计算机、单片机
四.课程设计内容
被控对象为 G( s)
20 e 12s ,T=0.5s, T 6 ,采用 Dahlin ( s 0.2)(10s 1)
算法设计消除振铃的数字控制器。
《计算机控制》课程设计报告
题目: Dahlin 算法控制器设计 姓名: 张萌萌 学号: 090230230
2012 年 7 月 13 日
《计算机控制》课程设计任务书
学 学 题
号 生 目
090230230 张萌萌


0902302 李军远
指导教师 Dahlin 算法控制设计
设计时间
2012 年 7 月 6 日
R E
D(Z)
ZOH
20 e12 s ( s 0.2)(10s 1)
C
图 1.采样控制系统原理图
D(z)系统的设计核心,它实际上是由计算机实现,它的输入输出均是时间上 离散的数字信号信号。在实际运用中要经过 A/D,D/A 的转换,利用数字控制起 来控制被控对象,打到期望的性能指标。
六.Dahlin 控制器设计
图 6.TLC5615 接口电路图 DA 转换电路设计: (1)DA 转换芯片的时钟信号有 P1.1 提供。故 SCLK 引脚将与单片机的 P1.1 引脚相连接。 (2) CS 脚为 AD 转换片选信号, 低电平有效, 由程序控制, 与单片机的 P1.2 脚相连。 (3)REFIN 为参考电压。本电路中由电阻分压得到。为 2.5V。则 DA 输出电 压范围是 0~5V,对应数字信号 0x0000~0x03FF。 (4)DIN 为芯片的数字输入引脚,与单片机的 P1.0 引脚相连。 5.1.3、控制器 控制器选择 AT89C51 单片机。51 单片机是目前应用最广泛的 8 位单片机之 一, 其代表型号是 ATMEL 公司的 AT89 系列, 它广泛应用于工业测控系统之中。 目前很多公司都有 51 系列的兼容机型推出,在目前乃至今后很长的一段时间内 将占有大量市场。
(2)
对于二阶对象,其脉冲传递函数为:
G 0( z )
其中参数的计算:
Kz N 1 (C1 C2 z 1 ) (1 eT /T1 z 1 )(1 eT /T2 z 1 )
(3)
C1 1
T (
1 (T 1eT /T 1 T 2eT /T 2 ) T 2 T1
本系统被控对象的传递函数为:
G( s)
100 e12 s (5s 1)(10s 1)
(1)
系统延迟时间为 12s, 采样时间 取 T=0.5s,T =6,T 1 5 ,T 2 10 ,K=100, 则 N=24。 假定校正后的系统闭环传函为
s 1 1 12 s e s e Tm s 1 6s 1
(10)
(11)
七.系统仿真
(1)仿真框图
Scope U
num(z)
x ek
100
u
Y 12s Delay
den(z) D(z)
50s2 +15s+1 ZOH G(s)
Step
图 2.系统仿真框图 (2)仿真结果 系统输出结果:
u 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4 1.5
(8)
D( z )
(1 0.9048 z 1 )(1 0.9512 z 1 ) 3(1 0.958 z 1 )[1 0.92 z 1 0.08 z 25 ]
(9)
该控制器中,含有极点 Z=-0.958,接近 z=-1 点。该极点会引起振铃。将该极 点用 z=1 代替,得到消除振铃的控制器:
统产生较大的超调量和较长的调节时间。当 t>=0.5T(T 为对象的时间常数)时, 实践证明用 PID 控制很难获得良好的控制品质。 对这类具有纯滞后环节系统的控制要求,快速性往往是次要的,通常要求系 统稳定,要求系统的超调量要小,而调整时间允许在较多的采样周期内结束。 这样的一种大时间滞后系统采用 PID 控制或采用最少拍控制,控制效果往 往不好。这里我们利用一种直接数字控制器设计方法:大林算法。 基于达林算法的采样控制系统结构框图如图所示。
相关文档
最新文档