各程序流程如下图所示:
1、主程序
主程序主要是对电路进行初始化,并且开相关的中断,使到设备对温度进行采样、控制,以及显示输出。 开始
3、达林算法控制程序 计算数字控制器的控制信号, 每次读取e(k),然后计算出参数, 输出控制序列u(k),
然后变换e(k-1)、e(k-2), u(k-1),u(k-2), 为下一次计算作准备。
达林算法程序流程图:
变换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) 输出u(k)控制 计算数字控制器输出 u(k)?Ae(k)?Be(k?1)?Cu(k?1)?(1?C)u(k?2)计算参数 读数据e(k) 温度显示 开始 扫描键盘 开中断 返回 设定T1控制字 停止输出 清显示缓冲起区 清标志设定堆栈指针 T1中断程序 主程序 初始化 2、T1中断服务程返回
4、采样程序
用于对温度进行采样,对采样温度值的处理用了 连续N次,再取平均的方法得到最后的平均采样 温度值。在开始时,对采样设备进行初始化,设 定采样次数以及计算次数,然后结束后,计算出 平均值,进行A/D转换,并输送给处理器。
采样程序流程图 :
清空单元 进行A/D转换 Y N 记录数据,进行累加 启动0809进行采样 确定采样次数 入口 堆栈保护 采样次数是否减少计算采样数据平均值 传送数据
返回 六、参数计算和仿真
由题目要求K?10?ln(C*C-sqrt(C)),其中C为学号后三位,即012,则有下式:
K?10?log(C*C-sqrt(C))?49.5
而rand(‘state’,12),T?rand(1)?0.5266;
从而考虑??0 和??T?0.2633两种情况。 21、??0时数字调节器D(z)的实现
a、无控制作用下系统伯德图
此时G0(s)?49.5
0.5266s?1
使用MATLAB画出其频率特性曲线图,程序如下: >> num=49.5;
>> den=[0.5266 1]; >> Gs=tf(num,den); >> margin(Gs);
BODE图如下:
由上图可知,系统幅值裕度为无穷(Inf),相角裕度为91.2deg。相角裕度和幅值裕度均符合要求。下面增加最少拍系统设计的数字调节器,使得系统调节时间最短和稳态误差为零。
b、最少拍下调节器函数
因为被控对象为一阶无纯滞后环节,因此可考虑使用数字 PID 算法或者最少拍设计方法等进行控制器设计。现采用最少拍设计方法设计该对象的控制器 D(Z) ,采样时间Ts选择Ts=0.2633s 。
所为最少拍系统或最少调整时间系统,是指对下图所示的随动系统,在给定某种典型输入条件下,设计一个控制规律D(z),使闭环系统具有最快的响应速度,也就是能在最少个采样周期时间内准确跟踪输入给定值,即达到无静差的稳定状态。
??0无控制作用下系统伯德图
r(t) + e(k) u(k) u(t) y(t) D(z)G0(s)G(s)h - 数字控制随动系统
广义工业对象脉冲传递函数为:
1?e?Tss49.5G(z)??[Gh(s)G(s)]?Z[?]
s0.5266s?1?49.5(1-z-1)Z[1.899]
s(s?1.899)z(1-e-1.899T)?49.5(1-z)?
(z-1)(z-e-1.899T)-119.45z?1?1?0.607z?1
因为输入信号为阶跃信号,所以H(z)?Z?1,1?H(z)?1?Z?1 则数学调节器为:
H(z)1?0.607z?1z?1D(z)??G(z)[1?H(z)]19.45z?11?z?11?0.607z?1?19.45(1?z?1)0.051?0.031z?1?1?z?1
因此可求得在单位阶跃输入下,系统期望输出序列:
y(z)?H(z)R(z)?z?1?zz-1?z-1?z-2?z-3?z-4?z-5?....
显然,当k?1(即第一拍)后,y(k)?r(k)。也就是经过一拍,系统响应输出序列已准确跟踪输入函数且在采样点上的稳态误差为零。
系统的开环传递函数为:
Gk(z)?D(z)G(z)?H(z)1?1?H(z)z?1
C、最少拍下系统伯德图
使用MATLAB进行Bode图仿真,其程序如下:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机控制课程设计(2)在线全文阅读。
相关推荐: