《计算机控制》课程设计报告题目: 超前滞后矫正控制器设计姓名:学号: 10级自动化2013年12月2日《计算机控制》课程设计任务书指导教师签字:系(教研室)主任签字:2013年11 月25 日1.控制系统分析和设计 1.1实验要求设单位反馈系统的开环传递函数为)101.0)(11.0(100)(++=s s s s G ,采用模拟设计法设计数字控制器,使校正后的系统满足:速度误差系数不小于100,相角裕度不小于40度,截止角频率不小于20。
1.2系统分析(1)使系统满足速度误差系数的要求:()()s 0s 0100lim ()lim1000.1s 10.011V K s G s s →→=∙==++(2)用MATLAB 画出100()(0.11)(0.011)G s s s s =++的Bode 图为:-150-100-50050100M a g n i t u d e (d B )10-110101102103104P h a s e (d e g )Bode DiagramGm = 0.828 dB (at 31.6 rad/s) , P m = 1.58 deg (at 30.1 rad/s)Frequency (rad/s)由图可以得到未校正系统的性能参数为: 相角裕度0 1.58γ=︒, 幅值裕度00.828g K dB dB =,剪切频率为:030.1/c rad s ω=, 截止频率为031.6/g rad s ω=(3)未校正系统的阶跃响应曲线024********0.20.40.60.811.21.41.61.82Step ResponseTime (seconds)A m p l i t u d e可以看出系统产生衰减震荡。
(4)性能分析及方法选择系统的幅值裕度和相角裕度都很小,很容易不稳定。
在剪切频率处对数幅值特性以-40dB/dec 穿过0dB 线。
如果只加入一个超前校正网络来校正其相角,超前量不足以满足相位裕度的要求,可以先缴入滞后,使中频段衰减,再用超前校正发挥作用,则有可能满足要求。
故使用超前滞后校正。
1.3模拟控制器设计(1)确定剪切频率c ωc ω过大会增加超前校正的负担,过小会使带宽过窄,影响响应的快速性。
首先求出幅值裕度为零时对应的频率,约为30/g rad s ω=,令30/c g rad s ωω==。
(2)确定滞后校正的参数22113/10c rad s T ωω===, 20.33T s =,并且取得10β=112110.33/rad s T T ωβ===, 13T s = 则滞后校正的控制器为10.331()31c s G s s +=+此时系统的响应曲线为:-150-100-50050100M a g n i t u d e (d B )10101010101010P h a s e (d e g )Bode DiagramGm = 16.9 dB (at 26.5 rad/s) , P m = 26.9 deg (at 8.73 rad/s)Frequency (rad/s)滞后校正后的性能参数为:相角裕度 026.9γ=︒, 幅值裕度 016.9g K dB dB =,剪切频率为:08.73/c rad s ω=, 截止频率为026.5/g rad s ω= 系统仍需要进行超前校正 (3)确定超前校正的参数在图中过(c ω,0dB )作-20dB/dec 线,与原先的Bode 相交,交点的角频率为:3313/rad s T ω==, 30.3T s = 443130/rad s T T βω===,40.03T s = 超前矫正控制器的传递函数为:20.31()0.031c s G s s +=+(4)超前滞后校正同时作用时系统的Bode 图:-150-100-50050100M a g n i t u d e (d B )10-210-110101102103104P h a s e (d e g )Bode DiagramGm = 13.5 dB (at 62.1 rad/s) , Pm = 48.4 deg (at 24.4 rad/s)Frequency (rad/s)相角裕度 048.4γ=︒, 幅值裕度 013.5g K dB dB =,剪切频率为:024.4/c rad s ω=, 截止频率为062.1/g rad s ω= 校正后的系统性能已经满足了性能指标要求。
(5)画出校正后系统的阶跃响应曲线00.51 1.52 2.530.20.40.60.811.21.4Step ResponseTime (seconds)A m p l i t u d e(6)设计好的控制器传递函数为:(0.331)(0.31)()(31)(0.031)c s s G s s s ++=++1.4用模拟法设计数字控制器(1)模拟控制器离散化采用双线性变换法。
(2)采样周期选择取采样周期T=0.01s,因为考虑到A/D ,D/A 转换的时间以及单片机计算的时间,采样时间不能选的太小,但是为了保证离散控制器的控制仍能满足性能指标的要求,采样时间不能取得太大。
取采样周期为10ms,给程序运行留下了足够的时间,而且由后面可见控制效果仍满足性能指标要求,所以取采样周期为10ms 。
(3)将模拟控制器离散化离散化后得脉冲函数为:220.9715 1.8820.9116() 1.7110.7119c z z G z z z -+=-+ (4)被控对象离散化离散化的被控对象为:2320.012870.039840.007441() 2.273 1.6060.3329p z z G z z z z ++=-+-(5)绘制出离散系统的Bode 图-50050100M a g n i t u d e (d B )1010101010103-360-270-180-90P h a s e (d e g )Bode DiagramGm = 9.11 dB (at 47.7 rad/s) , P m = 41.3 deg (at 24.4 rad/s)Frequency (rad/s)相角裕度 041.3γ=︒, 幅值裕度 09.11g K dB dB =,剪切频率为:024.4/c rad s ω=, 截止频率为041.3/g rad s ω= 离散化的控制器仍旧满足性能指标的要求,设计合理。
(6)离散系统的阶跃响应曲线:00.51 1.50.20.40.60.811.21.4Step ResponseTime (seconds)A m p l i t u d e(6)数字控制器的脉冲传递函数:220.9715 1.8820.9116() 1.7110.7119c z z G z z z -+=-+1.5控制系统的编排结构(1)编排结构的选择如果使用直接型编排结构,如果控制器中任一系数存在误差,则将使控制器所有的零极点产生响应的变化,严重影响系统的性能。
在控制器设计时采用了超前滞后校正,所以采用串联型结构比较简单,而且任何一系数有误差,不会使控制器所有的零极点产生相应的变化。
因为()c G z 有复数零点,故可以写成12121 1.9370.9383()0.9715*1 1.7110.7119c z z G z z z -----+=-+(2)转换为差分方程的形式:0.9715可以通过一个比例环节实现,可以不用考虑。
只需在设计好的控制器上加个比例因子即可。
u()() 1.937(1)0.9383(2) 1.711(1)0.7119(2)k e k e k e k u k u k =--+-+---2.硬件电路设计 2.1元器件选择(1)控制器选择选择8051单片机,外接晶振为2MHz. (2)A/D 选择选择ADC0809,该AD 有8路输入通道,8位A/D 转换器,分辨率为8位,转换时间为100s μ,(时钟为640KHz 时),130s μ(时钟为500KHz 时);单个+5V 供电,模拟输入电压范围为0到5V,不需要零点和满课度校准;内部没有时钟,所以需要外接时钟,时钟从单片机的ALE 引脚引出。
在经过两个D 触发器分频,从而达到500KHz 的时钟信号。
D 触发器选择74LS174。
A/D 转换时间为130s μ,应该能满足设计的要求。
(3)D/A 选择选择DAC0832,分辨率为8位;可单缓冲,双缓冲或者直接数字输入;只需要在满量程下调整线性度;单一电源供电+5V 到+15V;可以满足设计的要求。
输出电压值为:82refout D V U *=-2.2电路的设计(1)A/D 转换电路的设计将AD 转换的ADDA,ADDB,ADDC 接地,选择IN0锁存器。
EOC 接P2.2,转换结束则输出1,否则输出为0;OE 接P2.1,选择是否输出数据。
OE=0,输出高阻态,OE=1输出数字量; ST 接P2.0,转化开始信号。
由1变零转换开始; IN0接输入的模拟数据e(t);IN1-IN7悬空;Clock 接分频器SUN7474的输出端,输入500HZ 时钟信号; Vref(+)接+5V,Vreft(-)接地,VCC 接电源,GND 接地;ALE地址所存,上跳沿所存,可以接在P2.O口。
D0-D7接单片机的P1.0-P1.7;(2)D/A转换电路设计D0-D7接单片机的P0.0-P0.7,数字量输入;将CS,WR1,WR2,XFER,引脚接地;ILE引脚接+5V,Vref选择+5V,GND接地;此时DAC0832处于直通工作方式,一旦有数字量输入,就直接进入DAC寄存器,进行D/A转换。
(3)8051单片机的电路设计:P0.0-P0.7接D/A转换数字输入端;P1.0-P1.7接A/D转化数字输出端;P2.0接A/D转换ST端;P2.1接A/D转换OE端;P2.2接A/D转换EOC端;外接2MHZ的时钟电路输入到时钟端XTAL1,XTAL2;外接复位电路到RET;2.2硬件电路图3.用单片机实现控制算法3.1流程图(2)程序编写#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit ST=P2^0;sbit OE=P2^1;sbit EOC=P2^2; //A/D转换结束标志位void main(){float uk_1=0.0;float uk=0.0;float ek=0.0;float ek_1=0.0;//初始化float ek_2;float uk_2;ST=0;OE=0; //输出高阻态/*定时器中断初始化*/TMOD|=0XF9;// 设置T1工作在方式1,16位定时器方式TH1=0x7E;TL1=0xE0; //装初值,定时10msEA=1;//开总中断ET1=1;//开T1中断TR1=1;//启动定时器1while(1){if(EOC==1){uk_2=uk_1;ek_2=ek_2;uk_1=uk;ek_1=ek;OE=1;//输出转换数据ek=P1;//给单片机输入数据OE=0 ; //输出高阻态}uk=ek-1.937*ek_1+0.9383*ek_2+1.711*uk_1-0.7119*uk_2; //差分方程 P0=(uchar)uk;//数据输入到D/A转换器while (EOC==0) ;//等待A/D转换结束}}/*************定时器中断处理************/void time(void) interrupt 1 using 1{ TH1=0XF9;TL1=0x7E;//重装初值ST=1;ST=0;//开始下一次转换数据}4.设计总结与体会4.1设计过程总结:(1)首先用自动控制原理的知识,设计出满足要求的超前滞后校正控制器。