计算机控制技术大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目一:
要求:
1、 针对一个具有纯滞后的一阶惯性环节
()1
s
Ke G s Ts τ-=+
的温度控制系统和给定的系统性能指标: ✧ 工程要求相角裕度为30°~60°,幅值裕度>6dB
✧
要求测量范围-50℃~200℃,测量精度0.5%,分辨率0.2℃
2、 书面设计一个计算机控制系统的硬件布线连接图,并转化为系统结构图;
3、 选择一种控制算法并借助软件工程知识编写程序流程图; 用MATLAB 和SIMULINK 进行仿真分析和验证;
一、系统结构模型
本系统采用简单回路计算机控制系统,其输入为温度设定值,输出为调节控制信号,整个系统由以下图所示各部分组成。
1、如下图所示为简单回路计算机控制系统框图,由输入设定值与系统输出值的偏差传递到
数字控制器,并产生控制信号,针对本设计所假定的特定控制对象温度进行循环重复式的校正和调节。
2、如下图所示为本设计计算机控制系统的硬件结构框图(简单回路计算机控制系统的结构图),主要由模拟输入通道和模拟输出通道组成,通过该回路对控制对象不断的调整,指导满足系统要求及各项性能指标。
二、各部分程序流程图
由于要使用计算机作为控制设备,要对温控对象实现较好的控制,使其满足较好的性能指标,故本设计采取程序主要包括如下部分:
主程序
T1中断程序
采样中断程序
达林算法程序等 各程序流程如下图所示:
1、主程序
主程序主要是对电路进行初始化,并且开相关的中断,使到设备对温度进行采样、控制,以及显示输出。
3、达林算法控制程序 计算数字控制器的控制信号, 每次读取e (k ),然后计算出参数, 输出控制序列u (k ),
然后变换e (k -1)、e (k -2), u (k -1),u (k -2), 为下一次计算作准备。
达林算法程序流程图:
开始
初始化
设定堆栈指针
清显示缓冲起区
设定T0控制字
开中断
扫描键盘
温度显示
T1中断程
清标志
停止输出
返回
主程序
2、T1中断服务程
开始
读数据e (k )
计算参数
计算数字控制器输出
输出u (k )控制
变换e(k)和u (k ) e(k-2) ←e(k-1),e(k-1) ←e(k),
u(k-2) ←u(k-1),u(k-1) ←u(k)
返回
4、采样程序
用于对温度进行采样,对采样温度值的处理用了连续N 次,再取平均的方法得到最后的平均采样温度值。在开始时,对采样设备进行初始化,设定采样次数以及计算次数,然后结束后,计算出平均值,进行A/D 转换,并输送给处理器。
采样程序流程图
入口
堆栈保护 确定采样次数 启动0809进行采样 记录数据,进行累加 返回
计算采样数据平均值 进行A/D 转换
传送数据
采样次数是否减少为清空单元
Y
N
三、数字控制器设计(取θ= T/2) 本人学号200xxxxx 232,所以C =232
根据设计要求,用matlab 计算出系统参数,确定系统的传递函数。
对于系统
s T Ke
s G s
t ⋅+=⋅-1)(0
式中:T ——时间常数 K ——调节系统总的放大倍数 t ——系统的纯滞后时间,且Ts N t ⋅=,Ts 为采样周期。
计算用程序:
>> k=10*log(232*232-sqrt(232)) k =108.9319
>> rand('state',232); >> t1=rand(1) t1 =0.0090
θ=t1/2=0.0045
代入数据,系统的传递函数为:
1
0090.09319.108)(0045.0+=-s e s G s
其波特图为:
由图可知,其幅值裕度与相角裕度均不符合要求,系统性能差,需要校正。按照设计要求,运用计算机作为控制装置对系统进行校正。
当对象的纯延迟时间θ与对象惯性时间常数Tm 之比大于等于0.5时,采用常规PID 算法难于获得良好的系统性性能。达林算法的目标是设计一个合适的数字控制器,使整个闭环系统的传递函数相当于一个带有滞后的一阶惯性环节,且它得纯时延时间与被控对象时延相同。跟史密斯对比起来,达林算法比较适合的被控对象多为工业中的热工或化工过程中,被控对象具有纯滞后环节且容易引起系统超调和持续的振荡。综合考虑之后,决定采用达林算法来进行数字控制器的设计。 由达林算法知:
被控对象为带有纯滞后的一阶惯性环节:01()1
s
ke G s s θτ-=+ ,
假设其期望的闭环传递函数为:()1
s
e H s s θτ-=+,其中s LT θ=,s T 为采样周期,L 为整数。
由此可得到:1
11
)
1(011)]()([)(-+---==z Kz
s G s G Z z G L h σσ,
]
)1(1)[1()
1)(1()()1(1111+---------=L z z K z z D σσσσσ,
其中:111
(~)23
ττ=;1//1;s T Ts e e ττσ
σ--==。
确定参数值过程: