计算机控制系统课程设计--超前滞后矫正控制器设计《计算机控制》课程设计报告题目: 超前滞后矫正控制器设计姓名:学号: 10级自动化2013年12月2日《计算机控制》课程设计任务书学号班级学生指导教师题目超前滞后矫正控制器设计设计时间2013年 11 月 25 日至 2013 年12 月 2 日共 1 周设计要求设计任务:(按照所选题目内容填写)13.超前滞后校正设计设单位反馈系统的开环传递函数为100()(0.11)(0.011)G ss s s=++,采用模拟设计法设计数字控制器,使校正后的系统满足:速度误差系数不小于100,相角裕度不小于40度,截止角频率不小于20。
方案设计:1.完成控制系统的分析、设计;2.选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;3.编程实现单片机上的控制算法。
报告内容:1.控制系统仿真和设计步骤,应包含性能曲线、采样周期的选择、数字控制器的脉冲传递函数和差分方程;2.元器件选型,电路设计,以及绘制的Protel原理图;3.软件流程图,以及含有详细注释的源程序;4.设计工作总结及心得体会;5.列出所查阅的参考资料。
指导教师签字:系(教研室)主任签字:213年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 )101010101010P 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 KdB dB=,剪切频率为:030.1/c rad s ω=, 截止频率为031.6/g rad sω=(3)未校正系统的阶跃响应曲线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.33Ts=,并且取得10β=112110.33/rad s T T ωβ===, 13T s =则滞后校正的控制器为10.331()31c s Gs 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 KdB dB=,剪切频率为:08.73/c rad s ω=, 截止频率为026.5/g rad s ω=系统仍需要进行超前校正 (3)确定超前校正的参数在图中过(c ω,0dB )作-20dB/dec 线,与原先的Bode 相交,交点的角频率为:3313/rad s T ω==, 30.3Ts=443130/rad s T T βω===,40.03Ts =超前矫正控制器的传递函数为:20.31()0.031c s Gs s +=+(4)超前滞后校正同时作用时系统的Bode 图:-150-100-50050100M a g n i t u d e (d B )10101010101010P 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 KdB dB=,剪切频率为:024.4/c rad s ω=, 截止频率为062.1/g rad s ω=校正后的系统性能已经满足了性能指标要求。
(5)画出校正后系统的阶跃响应曲线0.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 )101010101010-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 KdB dB=,剪切频率为:024.4/c rad s ω=, 截止频率为041.3/g rad s ω=离散化的控制器仍旧满足性能指标的要求,设计合理。
(6)离散系统的阶跃响应曲线:0.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 VU* =-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硬件电路图V c c20Iout111lsbDI07Iout212DI16DI25Rfb 9DI34DI416Vref8DI515DI614msbDI713ILE 19WR218C S 1WR12Xfer17U3DAC0832IN-026msb2-1212-220IN-1272-3192-418IN-2282-582-615IN-312-714lsb2-817IN-42EOC7IN-53ADD-A 25IN-64ADD-B 24ADD-C 23IN-75ALE22ref(-)16ENABLE 9START 6ref(+)12CLOCK 10U1ADC0809542312U4A CA139GNDGNDVCCEA/VP 31X119X218RESET 9R D 17WR 16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P 30TXD 11RXD 10U28051A8A7ST A6A5A4CLOCKA3A2EOCA1A8OE A7A6A5A4ST A3OE A2EOC A1NetLabel28D1D2D3D4D5D6D7D8D1D2D3D4D5D6D7D8GNDGNDVCCGNDintputou tp utR 1R 2S1SW -PBC 1VCCGNDY12MHzC 2C 3GNDALE VCCQ12Q25Q37Q410Q512Q615D13D24D36D411D513D614CLK 9MR 1U?74LS174GNDALEVCCCLOCK3.用单片机实现控制算法 3.1流程图开始初始化开定时器N计时时间到10msY启动A/D转换N转换结束Y读AD计算u(k)D/A转换等待下次中断(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)首先用自动控制原理的知识,设计出满足要求的超前滞后校正控制器。