最小拍控制设计——计算机控制课程设计.doc_第1页
最小拍控制设计——计算机控制课程设计.doc_第2页
最小拍控制设计——计算机控制课程设计.doc_第3页
最小拍控制设计——计算机控制课程设计.doc_第4页
最小拍控制设计——计算机控制课程设计.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机控制课程设计报告题目: 最小拍控制设计 姓名: 学号: 2014年7月4日计算机控制课程设计任务书学 号班 级学 生指导教师题 目最小拍控制设计设计时间2014年 6 月 27 日 至 2014 年 7 月 4 日 共 1 周设计要求设计任务:设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为,采样周期T=0.05s,设计数字控制器,要求系统在单位阶跃输入时实现最小拍无波纹控制。方案设计:1. 完成控制系统的分析、设计;2. 选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Proteus绘制原理图;3. 编程实现

2、单片机上的控制算法。报告内容:1. 控制系统仿真和设计步骤,应包含性能曲线、采样周期的选择、数字控制器的脉冲传递函数和差分方程;2. 元器件选型,电路设计,以及绘制的Proteus原理图;3. 软件流程图,以及含有详细注释的源程序;4. 设计工作总结及心得体会;5. 列出所查阅的参考资料。指导教师签字: 系(教研室)主任签字:2014年 6 月 27 日方案设计:一、题目分析设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为,采样周期T=0.05s,设计数字控制器,要求系统在单位阶跃输入时实现最小拍无波纹控制。 2、 控制系统设计 1、被控对象特性图1 被控对象整体框图图2 被控

3、对象波特图图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-z2 - 1.951 z + 0.9512 Sampling time: 1 即 (1)(2)无波纹最小拍控制

4、器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 控制系统仿真图仿真结果为:()系统输入及系统输出曲线c(t)图形如下:图11 控制系统输出响应图(2

5、)系统误差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转换器选A

6、DC0808。ADC0808是一种逐次比较式的8路模拟输入,内部具有锁存功能,故不需要加地址锁存器。ALE脚为地址锁存信号,高电平有效,三根地址线固定接地,由于地址信号已经固定,故将ALE接高电平。系统只需要一路信号,选择IN-0通道作为输入。START脚为AD转换启动信号,高电平有效,程序控制。AD采样值为系统的偏差信号,故选择ADC0808的为5V。由于ADC0808的时钟所限,AD转换器的时钟信号,由单片机P0.1脚产生,将CLOCK脚接单片机的P0.1。单片机晶振选12MHz,对其40分频,产生300khz的时钟信号。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表

7、明正在进行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输出值为: (

8、4)DAC0832的引脚接法下:CS:片选端,直接接低电平ILE:数据锁存允许控制端,直接接高电平。WR2:DAC寄存器写选通控制端,故直接接低。XFER:数据传送控制,低电平有效,故直接接地。WR1;第一级输入寄存器写选通控制,低电平有效。其输入为上升沿时,将输入数据锁存到DAC寄存器,故将该脚与单片机P0.3口相连,由程序控制DA转换的时间。 D10D17:与单片机P20P27相连。电路图如下:图16 DA转换器的接口电路 3、控制器 控制器选择AT89C51单片机,根据ADC0808和DAC0832的特性,及上述分析,设计单片机与AD、DA的接口电路如下图所示: 图17 控制器电路4、被

9、控对象 被控对象如下图所示:图18 被控对象电路5、仿真波形图19 仿真波形图四、 程序流程图及源程序 1、流程图如下: 图20 程序流程图2、定时器T0的初值计算 设:需要装入T0的初值为X,则有: X化为十六进制,即X=0x3cb0T0的初值为 TH0=0x3c; TL0=0xb0;3、源程序及注释如下:#include #define uchar unsigned char#define uint unsigned intvoid init();/定义/sbit START=P00; /AD开始转换控制,上升沿有效sbit CLK=P01; /AD工作脉冲,不高于600KHZsbit E

10、OC=P02; /AD的转换完成标志,转换完成为高电平sbit DA_W=P03; /DA的WR1选通控制,低电平有效sbit OE=P04; /AD的输出控制,低电平有效uchar addata; /AD采样值uint count=0; /定时量char e; /偏差信号char e1=0; char u; /输出信号char u1=0; float temp;/主程序/void main()init(); START=0; /启动信号为0DA_W=0;P2=0x80; DA_W=1; /控制器初始输出为零while(1);/延时程序,延时i/8毫秒/void delay(uchar i)

11、uchar j;while(i-)for(j=125;j0;j-);/初始化子程序/void init()EA=1; /开总中断TMOD=0x21; /T0工作方式1,T2工作方式2IP=0x08; /设置优先级,T1为最高TH0=0x3c; /设置定时器T0的初值TL0=0xb0; /产生0.05s的中断 TR0=1; /启动定时器T0ET0=1;TH1=216; /利用T1中断产生CLK信号TL1=216;TR1=1; /启动定时器T1ET1=1;START=0; /AD初始化OE=0;DA_W=1; /DA初始化/AD子程序/void AD()START=0;START=1; /启动AD

12、转换START=0;while(EOC=0);/等待转换完毕OE=1;/AD数据输出允许addata=P1;OE=0;/T0中断程序/void t0(void)interrupt 1 TH0=0x3c;/重装初值 TL0=0xb0; if (count=1) count=0; AD();/0.05s后,读取AD采样值e=addata-128;/采样实际偏差值 /差分方程/temp=-0.4959*u1+41.017*e-39.015*e1; if(temp0)/当前输出值大于零 if(temp=127)/判断是否溢出,溢出取极值 u=127; else u=(char)temp;/控制器输出值

13、 else /当前输出值小于零 if(temp=-127)/判断是否溢出,溢出取极值 u=-127; else u=(char)temp;/控制器输出值 P2=u+128;/DA输出值u1=u; e1=e; DA_W=0; DA_W=1;/上升沿DA输出 else count+;/定时不到1次,即不到0.05s,继续定时/T1中断程序/void t1(void) interrupt 3 TH1=216; /利用T1中断产生CLK信号TL1=216;/重新赋初值CLK=CLK;五、 设计工作总结及心得体会:经过一星期的计算机控制课程设计,收获了很多。通过这几天的学习,确实掌握了许多知识,关于MATLAB,SIMULINK还有PROTEUS。不同于以往的课程设计,计算机控制课设的包含面相当的广泛,不仅包括对上课时的理论基础的回顾还有对数学工具MATLAB的学习掌握及单片机的使用。单片机这块还包含程序编程与原理图设计,这使得课程设计的包含面非常广泛,是一次对前面所学习科目的综合设计。在这次课程设计中,我们学到了很多设计数字控制系统的思想与方法,应用了计算机控制课程上学到的知识,还用到了自动控制原理、单片机原理及应用、模拟电子技术中的相关知识,给我们提供了一个将所学的课程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论