《计算机控制》课程设计报告-滞后超前校正控制器的设计和matlab仿真.docx_第1页
《计算机控制》课程设计报告-滞后超前校正控制器的设计和matlab仿真.docx_第2页
《计算机控制》课程设计报告-滞后超前校正控制器的设计和matlab仿真.docx_第3页
《计算机控制》课程设计报告-滞后超前校正控制器的设计和matlab仿真.docx_第4页
《计算机控制》课程设计报告-滞后超前校正控制器的设计和matlab仿真.docx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

计算机控制课程设计报告题目: 滞后-超前校正控制器的设计 姓名: 学号: 2013年7月12日计算机控制课程设计任务书学 号班 级学 生指导教师蔡春伟题 目滞后-超前校正控制器的设计设计时间2013年 7 月 5 日 至 2013 年 7 月 12 日 共 1 周设计要求设计任务:设单位反馈系统的开环传递函数为,采用模拟设计法设计滞后-超前校正数字控制器,使校正后的系统满足如下指标:(1) 当时,稳态误差不大于1/126; (2) 开环系统截止频率 rad/s; (3) 相位裕度。方案设计:1. 完成控制系统的分析、设计;2. 选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;3. 编程实现单片机上的控制算法。报告内容:1. 控制系统仿真和设计步骤,应包含性能曲线、采样周期的选择、数字控制器的脉冲传递函数和差分方程;2. 元器件选型,电路设计,以及绘制的Protel原理图;3. 软件流程图,以及含有详细注释的源程序;4. 设计工作总结及心得体会;5. 列出所查阅的参考资料。指导教师签字: 系(教研室)主任签字:2013年 7 月 5 日一 设计任务与方案1 设计任务设单位反馈系统的开环传递函数为,采用模拟设计法设计滞后-超前校正数字控制器,使校正后的系统满足如下指标:(1) 当时,稳态误差不大于1/126; (2) 开环系统截止频率 rad/s; (3) 相角裕度。2 设计方案1.采用Matlab完成控制系统的建立、分析、设计和模拟仿真;2.选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;3.控制算法采用单片机汇编语言编程实现(应通过编译,无语法错误)。二 根据性能指标设计控制器1 调整开环增益K,使其满足稳态误差要求由于是I型系统故 (1)2 由求得的开环增益绘制BODE图和阶跃响应Matlab程序如下clear all;num=126;den=0.00167,0.1167,1,0;margin(num,den);Kg,R,Wg,Wc=margin(mag,phase,w);title(未校正前的系统bode图)xlabel(频率/(rad/sec)ylabel(幅值/dB)ylabel(相位/deg)clear all;num=126;den=1/600,7/60,1,0;sys1=tf(num,den);sys2=feedback(sys1,1);step(sys2);grid on;title(阶跃响应)xlabel(幅值/sec)ylabel(时间) 程序运行结果图1 图2由图可得系统剪切频率幅值裕度相角裕度穿越频率且系统闭环阶跃响应不能实现稳定,不满足设计任务指标要求,需要进行校正。3确定校正后的剪切频率选取剪切频率的原则应兼顾快速性和稳定性,剪切频率过大会增加超前校正的负担,过小又会使频带过窄,影响快速性,结合实际情况选取,相位裕度要求由超前校正网络提供。4确定滞后校正的部分参数 选取,则。获得滞后校正的传递函数为 (2)5确定超前校正的部分参数 过点做+20dB/dec斜线与滞后校正部分交于,与0dB交于求得,。得到超前校正部分的传递函数为 (3)最后可求得滞后超前校正的传递函数 (4) 6对校正后的结果进行matlab仿真 对校正后的结果进行matlab仿真matlab程序为clear all;num=10.08,75.6,126;den=conv(1/600,7/60,1,0,0.08,4.02,1)margin(num,den);Kg,R,Wg,Wc=margin(mag,phase,w);sys1=tf(num,den);sys2=feedback(sys1,1);step(sys2);grid on;title(阶跃响应)xlabel(时间)ylabel(幅值)得到的仿真结果为Bode图图3图4对速度输入使用simulink仿真构建模块如下得到速度输入的响应和误差为图5图6校正之后剪切频率幅值裕度相角裕度穿越频率响应的稳定性和误差均满足指标要求。三 模拟控制器的离散化对已设计得到的模拟控制器需要经由matlab离散化。1 matlab设计离散化程序分析系统特性,为保证输出结果的快速性稳定性并减小超调,采用双极性变换法对模拟控制器进行离散化,采样周期选取0.01s.设计程序如下numd=0.08,0.6,1;dend=0.08,4.02,1;T=0.01;sysd=tf(numd,dend);numdZ,dendZ=c2dm(numd,dend,T,tustin);sysd=tf(numdz,dendz);printsys(numdZ,dendZ,Z);得到离散化后的控制器传递函数为num/den = 0.82921 Z2 - 1.5975 Z + 0.76929 - Z2 - 1.5975 Z + 0.59852 观察离散化后的阶跃响应程序设计为s=tf(s);G0s=126/(s*(s/10+1)*(s/60+1);Ds=(0.4*s+1)*(0.2*s+1)/(4*s+1)*(0.02*s+1);G0z=c2d(G0s,0.01,tustin);Dz=c2d(Ds,0.01,tustin);Gz=G0z*Dz;sys=feedback(Gz,1);step(sys,20);y=step(sys,20);grid on;title(阶跃响应)xlabel(时间/sec)ylabel(幅值)阶跃输出响应结果为图73 simulink仿真离散控制器观察速度输出结果利用simulink搭建速度输入的离散控制器模块速度输入响应为图8速度输入稳态误差为图9由仿真结果可以看出,离散控制器对阶跃,速度输入的稳态误差和输出响应均满足设计要求,达到稳定范围。三 根据离散化控制器设计差分方程 设计的离散化控制器的差分方程为 (5)因此求得的差分方程为 (6)四 设计通过单片机实现的控制器硬件电路1 控制器与电路的选择 选择AT89C51单片机,12MHz晶振,构建控制器电路。使用P1口接收A/D转换的信号,P2口输出给D/A,P3口实现对A/D的控制。电路图如下:图102 A/D的选择选择ADC0809,该AD 具有8 路输入通道,8 位AD转换器,即分辨率为8位。转换时间为100s(时钟为640kHz 时),130s(时钟为500kHz 时),单个5V 电源供电,模拟输入电压范围05V,不需零点和满刻度校准,工作温度范围为-4085 摄氏度,低功耗,约15mW。由于该AD 内部没有时钟,要外接时钟输入,时钟可以从单片机的ALE 引脚引出,经过两个触发器分频,可以得到500KHz 的时钟信号,D 触发器可以选择4013,这样AD 的转换时间为130us,可以满足本设计的要求。基本电路图如下:图113 D/A的选择采用DAC0809,分辨率为8 位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5V+15V);低功耗,200mW。可以满足本设计的需求。将CS、WR1、WR2 和XFER 引脚接地,ILE 引脚接5V,Vref 选择+5V,8 位数字信号输入端DI0DI7 分别接单片机的P0.0P0.7 引脚。此时DAC0832处于直通工作方式,数字量一旦输入,就直接进入DAC 寄存器,进行D/A 转换。D/A电路如下图124 protel设计原理图图13五 程序设计实现1 流程图设计图142 设计单片机的C语言程序#include#define uchar unsigned char#define uint unsigned intsbit EOC=P30;sbit st=P32;sbit OE=P31;/定时器程序void timer50() TMOD=0xd8; /定时器1采用方式1定时 TH1=0xf0;/12M晶振定时10ms赋初值 TL1=0xb0; EA=1; /开中断 ET1=1; /开定时器中断 TR1=1; /启动定时器1 /定时器中断程序void timer50_server(void)interrupt 1 TH1=0x3c;/定时器重装初值 TL1=0xb0; st=1; /重新开ad st=0;void main() float uk,uk_1,uk_2,ek,ek_1,ek_2;/ uk=0; uk_1=0; uk_2=0; ek=0; ek_1=0; ek_2=0; timer50(); while(1) uk_2=uk_1; ek_2=ek_1; uk_1=uk; ek_1=ek;if(EOC=1)/当A/D转换结束时OE=1;/允许输入给单片机ek=P1;/单片机接收数据OE=0;/关闭输入uk=(0.8291*ek)-(1.5975*ek_1)+(0.76926*ek_2)+(1.5975*uk_1)-(0.5988*uk_2);/差分方程处理数据P2=(uchar)uk; /输出给D/Awhile(EOC=0); 六 心得体会通过对设计任务的实现,对控制系统各项指标参数的实际意义有了更深刻的了解,同时熟练了自动控制原理中滞后超前校正方法的使用,在系统的分析设计中,充分利用了matlab的M语言和simulink仿真,感受到了matlab这一工程软件的强大功能。对控制器的离散化过程中,同样也加深了计算机控制系统理论的实践,结合单片机设计离散控制器的过程更是很好的锻炼了我学科知识综合运用,理论联系实际的能力。在系统的设计与调试的过程在遇到了各种各样的问题,让我体会到理论与实践是有很大区别的,通过查阅相关资料,来解决各种问题的过程中,也锻炼了我遇到陌生问题如何独立思考、分析、解决的能力,同时让我明白遇到问题只有不气馁,有

温馨提示

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

评论

0/150

提交评论