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

下载本文档

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

文档简介

计算机控制课程设计报告题目: 非最小拍控制设计 姓名: 李凯 学号: 070210310 姓名: 姜意驰 学号: 070210320 姓名: 孙韬 学号: 070210330 2010年12月3日计算机控制课程设计任务书专 业自动化班 级0702103学 生李凯 姜意驰 孙韬指导教师王晓丽题 目非最小拍控制设计设计时间2010年11 月 27 日 至 2010 年 12月3 日 共 1 周设计要求设计任务:已知含零阶保持器的广义被控对象为,针对单位速度输入,设计具有抗系统参数变化能力的非最小拍系统,分析该设计当被控对象参数变化为时的系统输出。方案设计:1. 采用Matlab完成控制系统的建立、分析、设计和模拟仿真;2. 选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;3. 控制算法采用单片机汇编语言编程实现(应通过编译,无语法错误)。报告内容:1. 控制系统仿真和设计步骤,应包含Matlab仿真的性能曲线、采样周期T的选择、数字控制器脉冲传递函数和差分方程形式;2. 元器件选型过程,电路设计过程,绘制的Protel原理图;3. 算法流程图,含有详细注释的汇编源程序;4. 设计工作总结及心得体会;5. 列出所查阅的参考资料。指导教师签字: 系(教研室)主任签字:2010年 11月 26 日一、题目分析根据题目要求,含零阶保持器的广义被控对象为,针对单位速度输入,设计具有抗系统参数变化能力的非最小拍系统,分析该设计当被控对象参数变化为时的系统输出。二、设计非最小拍控制器1.离散控制器的计算根据非最小拍设计方法,计算过程如下: (1)按照速度输入,有 (2) (3) (4)取=0.5时,将,分别代入上式,可以得到 (5)2.MATLAB仿真与参数调整在MATLAB中,使用simulink进行仿真,首先绘制控制系统的结构图如下: 图1.控制系统结构图 分别调整各个环节的参数,采样周期选择1s,输入信号为。 其中D(z)表达式如(5)式,观察控制器的输出u(kT)以及系统的输入r(t)输出c(kT)。(1) 当时,输入r(t)输出信号 c(kT) 的波形图如下: 图2.输入输出信号波形其中c(z)= 控制器的输出u(kT)图如下: 图3. (2)当输入r(t)输出信号 c(kT) 的波形图如下: 其中 图4 控制器的输出u(kT)图如下: 图5从仿真的波形来看,取0.5时,G(z)变化,系统输出稳态误差仍然趋近于零。说明此控制器具有抗系统参数变化能力。 (6)差分方程为: (7)至此,数字控制器的理论设计就完成了。 三、电路的设计元器件选型过程,电路设计过程,绘制的Protel原理图;1. 由于51 单片机大部分不带AD 转换器,所以模拟量的采集就必须靠A/D实现。我们选择8位精度的AD 转换器AD0804。ADC0804 是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成(见图1)。(1) PIN1 (CS ):Chip Select,与RD、WR 接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low) 时会active。(2) PIN2 (RD):Read。当CS 、RD 皆为低位准(low) 时,ADC0804 会将转换后的数字讯号经由DB7 DB0 输出至其它处理单元。(3) PIN3 (WR):启动转换的控制讯号。当CS 、WR 皆为低位准(low) 时ADC0804 做清除的动作,系统重置。当WR 由01且CS 0 时,ADC0804会开始转换信号,此时INTR 设定为高位准(high)。(4) PIN4、PIN19 (CLK IN、CLKR):频率输入/输出。频率输入可连接处理单元的讯号频率范围为100 kHz 至800 kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLK R 及CLK IN 加上电阻及电容,则可产生ADC 工作所需的时序。(5) PIN5 ( INTR ):中断请求。转换期间为高位准(high),等到转换完毕时INTR 会变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据。(6) PIN6、PIN7 (VIN(+)、VIN(-):差动模拟讯号的输入端。输入电压VINVIN(+) VIN(-),通常使用单端输入,而将VIN(-)接地。(7) PIN8 (A GND):模拟电压的接地端。AD与单片机电路如下:2DA选择DAC0832。具有8位并行、中速(建立时间1us)、电流型、低廉(1020元)的特点。WR有效电平为低电平,此时DA转换。设计电路将WR接单片机P3.6.由程序控制P3.6的高低。DA输入端DI0-DI7接单片机P2口。由程序控制P2的高低。DA与单片机的连接电路如下:DA输出电路用双极性电路, 使输出电压极性可正可负。电路图如下:3设计单片机的电路需要考虑单片机的晶振电路,注意不要忘记接电源。单片机晶振电路:PROTEL绘制原理图: 图6.数字控制器电路图四、程序设计 1.程序流程图主程序开始定时器初始化控制端口初始化循环等待中断图7.主程序流程图开始初始化定时器0开定时器0中断a=20 ? ?读取AD值差分方程计算uk赋值给P2DA输出YN更新uk1,uk2,uk3 ek1,ek2,ek3 图8.中断服务程序流程图2.源程序:#include #define uchar unsigned char#define uintunsigned intsbit wr=P36; /定义DA采样信号sbit adr=P32; /定义AD读信号sbit adw=P33; /定义AD写信号char uk1=0,uk2=0,uk3=0,ek=0,ek1=0,ek2=0,ek3=0; /前三次采样值和前三次控制值uchar a=0;float uk;void delay(uint z);void Initial();char ad0804();void main() /主函数 Initial();TR0=1; while(1);void Initial() /定时器初始化 adr=1; TMOD=0x01; TH0=0x3C; TL0=0XB0; ET0=1; EA=1;char ad0804() /AD采样函数 uchar out; adw=1; adw=0; adw=1; delay(20);adr=0; delay(10);adr=1;delay(10);out=P1; return out;void t0() interrupt 1 using 1 /定时器0中断函数 a+; TR0=0; TH0=0x3C; TL0=0xB0; /重装初值 TR0=1; if(a=20) a=0; wr=0; ek=ad0804(); ek=ek-128; /采样实际偏差值 uk=1.5*uk1-0.5*uk3+3*ek-1.5*ek1-ek2+0.5*ek3; /差分方程 if(uk0) /当前输出值大于0 if(uk127) uk=127; /判断是否溢出,溢出取极值 P2=(char)(uk)+128; /控制器输出值 else /当前输出值小于0 if(uk0;t1-)for(y=110;y0;y-);五、设计心得 本次课程设计让我们进一步熟悉并掌握了数字控制器设计的一般步骤,以及使用MALAB、PROTEL、KEIL等软件进行设计、分析、仿真的过程。和以往的课程设计不同,这次课程设计不再是个人工作,而是团队合作,从一开始的分析题目,到后来的分工合作,我们三个小组成员都配合默契。在设计过程中遇到的一些问题,比如控制器设计方案的选择,MATLAB仿真模型的建立、控制器程序的设计等,都在我们三人的共同努力

温馨提示

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

评论

0/150

提交评论