
最小拍控制设计——计算机控制课程设计报告.doc
10页《计算机控制》课程设计报告题目:最小拍控制设计 XX: 学号: 2014年7月4日《计算机控制》课程设计任务书学 号班 级学 生指导教师题 目最小拍控制设计设计时间2014年 6 月 27 日 至 2014 年 7 月 4 日 共 1 周设计要求设计任务:设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为,,采样周期T=0.05s,设计数字控制器,要求系统在单位阶跃输入时实现最小拍无波纹控制方案设计:1. 完成控制系统的分析、设计;2. 选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Proteus绘制原理图;3. 编程实现单片机上的控制算法报告内容:1. 控制系统仿真和设计步骤,应包含性能曲线、采样周期的选择、数字控制器的脉冲传递函数和差分方程;2. 元器件选型,电路设计,以及绘制的Proteus原理图;3. 软件流程图,以及含有详细注释的源程序;4. 设计工作总结及心得体会;5. 列出所查阅的参考资料指导教师签字: 系(教研室)主任签字:2014年 6 月 27 日方案设计:一、题目分析设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为,,采样周期T=0.05s,设计数字控制器,要求系统在单位阶跃输入时实现最小拍无波纹控制。
二、 控制系统设计 1、被控对象特性图1 被控对象整体框图图2 被控对象波特图图3 被控对象波特图图4 被控对象Nyquist图图5 被控对象输出曲线图2、采样周期T的选择当取采样周期T=0.05s时,经过理论验证,两拍后系统无波纹,达到无波纹输出时t=0.10s,满足控制器要求3、无波纹最小拍控制器的计算(1)带零阶保持器的广义被控对象为通过matlab,z变换程序为np=[0 0 10];dp=[1 1 0];hs=tf ( np, dp);hz=c2d(hs,0.05)结果为Transfer function:0.01229 z + 0.01209----------------------------z^2 - 1.951 z + 0.9512Sampling time: 1 即(1)(2)无波纹最小拍控制器D(z) 根据G(z),对于单位阶跃r(t)=1(t),m=1考虑到广义对象,则闭环脉冲传递函数为由,得系数,则系统脉冲传函为误差脉冲传函为由得设计的控制器为(2)4、无波纹最小拍控制系统框图图6 控制系统整体框图5、无波纹最小拍控制系统Matlab仿真通过Matlab观察阶跃输入响应曲线如下图7 控制系统阶跃图由图7可见,2拍后输出跟上输入,可实现最小拍控制,T=0.05s满足要求。
图8 控制系统波特图图9 控制系统Nyquist图6、无波纹最小拍控制系统simulink仿真图10 控制系统仿真图仿真结果为:(1)系统输入及系统输出曲线c(t)图形如下:图11 控制系统输出响应图(2)系统误差e(t)曲线如下:图12 控制系统误差曲线图(3)控制器输出u(k)曲线如下:图13 控制系统控制器输出曲线图通过仿真曲线看出: 控制器D(z)满足设计要求,系统在第二拍之后系统达到无差,最后控制器输出恒定(u(k)=0),因此系统输出不会产生波纹,调节时间为将得系统的差分方程为:(3)三、硬件电路设计及元件选型控制器部分由AD转换器,DA转换器和AT89C51单片机组成模数转换芯片采用ADC0808,数模转换芯片采用DAC0832图14 系统结构总图 1、AD转换器 由于用proteus进行仿真,但在它的库里没ADC0809的仿真模型,而有ADC0808的,故AD转换器选ADC0808ADC0808是一种逐次比较式的8路模拟输入,内部具有锁存功能,故不需要加地址锁存器ALE脚为地址锁存信号,高电平有效,三根地址线固定接地,由于地址信号已经固定,故将ALE接高电平。
系统只需要一路信号,选择IN-0通道作为输入START脚为AD转换启动信号,高电平有效,程序控制AD采样值为系统的偏差信号,故选择ADC0808的为5V由于ADC0808的时钟所限,AD转换器的时钟信号,由单片机P0.1脚产生,将CLOCK脚接单片机的P0.1单片机晶振选12MHz,对其40分频,产生300khz的时钟信号EOC 为转换结束信号当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换设计将其接单片机P0.2脚由程序读入,判断AD是否转换完成AD转换结果由P1口读入,故将AD转换器的输出与单片机P1口相连,由于ADC0808的高位是OUT1,故将其输出与P1口反向依次相连OE为ADC0808数据端输出控制口,当为高电平时,送出转换后的数据给P1口设计AD转换器的接口电路如图所示:图15 AD转换器的接口电路2、DA转换器DA转换器选择DAC0832,DAC0832是具有两个输入数据寄存器的8位DAC,可以直接与51单片机相连参考电压 ,直接与供电电源相连因为输出的C(t)可能有负的情况,故选择DAC为双极性电压输出DA输出值为:(4)DAC0832的引脚接法下:CS:片选端,直接接低电平ILE:数据锁存允许控制端,直接接高电平。
WR2:DAC寄存器写选通控制端,故直接接低XFER:数据传送控制,低电平有效,故直接接地WR1;第一级输入寄存器写选通控制,低电平有效其输入为上升沿时,将输入数据锁存到DAC寄存器,故将该脚与单片机P0.3口相连,由程序控制DA转换的时间 D10~D17:与单片机P20~P27相连电路图如下:图16 DA转换器的接口电路3、控制器 控制器选择AT89C51单片机,根据ADC0808和DAC0832的特性,及上述分析,设计单片机与AD、DA的接口电路如下图所示:图17 控制器电路4、被控对象被控对象如下图所示:图18 被控对象电路5、仿真波形图19 仿真波形图四、 程序流程图及源程序1、流程图如下:图20 程序流程图2、定时器T0的初值计算设:需要装入T0的初值为X,则有:X化为十六进制,即X=0x3cb0T0的初值为 TH0=0x3c; TL0=0xb0;3、源程序及注释如下:*include
通过这几天的学习,确实掌握了许多知识,关于MATLAB,SIMULINK还有PROTEUS不同于以往的课程设计,《计算机控制》课设的包含面相当的广泛,不仅包括对上课时的理论基础的回顾还有对数学工具MATLAB的学习掌握及单片机的使用单片机这块还包含程序编程与原理图设计,这使得课程设计的包含面非常广。












