大林算法控制系统设计_第1页
大林算法控制系统设计_第2页
大林算法控制系统设计_第3页
大林算法控制系统设计_第4页
大林算法控制系统设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、扬州大学能源与动力工程学院课程设计报告题目:大林算法控制系统设计课 程:计算机控制技术课程设计专业:电气工程及其自动化班 级:姓 名:学 号:第一部分任务书计算机控制技术课程设计任务书、课题名称大林算法控制系统设计二、课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节, 它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重 要的意义。计算机控制技术是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地 位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件

2、电路设计等 方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整 体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事 计算机控制系统的理论设计和系统的调试工作打下基础。三、课程设计内容设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制 系统。1 .硬件电路设计:89C51最小系统加上模入电路 (用ADC0809等)和模出电路(用TLC7528和运放等); 由运放实现的被控对象。2 .控制算法:大林控制算法。3 .软件设计:主程序、中断程序、A/D转换程序、滤波程序

3、、大林算法控制程序、D/A输出程序等。四、课程设计要求1 .模入电路能接受双极性电压输入(-5V+5V ),模出电路能输出双极性电压(-5V+5V )。2 .模入电路用两个通道分别采集被控对象的输出和给定信号3 .每个同学选择不同的被控对象:G(s)GG(s)G(s)5= 0.5se , (s 1)(0.8s 1)8. 1se (0.8s 1)(0.4s 1)5e 1.5s, (s 1)(0.2s 1)51se (0.8s 1)(0.3s 1)G(s)G(s)G(s)G(s)10 a 1.5se(s 1)(0.4s 1)8八 0.5se(0.4s 1)(0.5s 1)8 e 2s (0.8s

4、1)(0.2s 1)52se (0.8s 1)(0.2s 1)4 .对象的纯延迟环节e s用软件通过数组单元移位实现。5 .定时中断间隔选取 50ms,采样周期T要求既是采样中断间隔的整数倍,又满足 T (0.2 1)1 1 ,6.闭环系统时间常数 T按的被控对象最大时间常数选择。2 3有关的设计资料可参考计算机控制实验指导书的相关内容。五、课程设计实验结果1 .控制系统能正确运行。2 .有振铃和消除振铃的系统阶跃输出和控制器。六、进度安排序号内容天数1布置任务,熟悉课题要求0.52总体方案确定,硬件电路设计1.53熟悉实验箱及 C语言开发环境,研读范例程序,14控制算法设计15软件编程,调试

5、16实验17总结,撰写课程设计报告1七、课程设计报告内容:总结设计过程,写出设计报告,设计报告具体内容要求如下:1 .课程设计的目和设计的任务。2 .课程设计的要求。3 .控制系统总框图及系统工作原理。4 .控制系统的硬件电路连接图(含被控对象),电路的原理。5 .软件设计流程图及其说明。6 .电路设计,软件编程、调试中遇到的问题及分析解决方法。7 .实验结果及其分析。8 .体会。第二部分课 程 设 计 报 告1 课程简介 .71.1 程设计目的71.2 程设计内容71.3 程设计要求 72 方案设计82.1 控制系统整体方案82.2 控制系统闭环工作原理 83大林算法硬件电路设计 81.1

6、A/D采样电路81.2 D/A 输出电路 .101.3 给定对象硬件电路设计 111.4 总硬件图114控制算法设计111.5 控制算法的原理121.6 计算机实现的计算机推导公式 121.7 采样周期135 软件编程设计135.1 主程序与中断流程图 135.2 部分控制程序代码 146 实验结果与分析177 小结与体会17参考文献181、课题简介1.1 课题目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环 节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质 具有很重要的意义。计算机控制技术是一门理论性、实用性

7、和实践性都很强的课程,课程设计环节应占有更加重要 的地位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电 路设计等方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用, 使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编 程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。1.2 课题内容设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈 控制系统。1 .硬件电路设计:89C51最小系统加上模入电路(用 ADC0809等)和模出电路(用

8、 TLC7528和运 放等);由运放实现的被控对象。2 .控制算法:大林控制算法。3 .软件设计:主程序、中断程序、A/D转换程序、大林算法控制程序、D/A输出程序等。1.3课题要求1 .模入电路能接受双极性电压输入(-5V+5V ),模出电路能输出双极性电压(-5V+5V )。2 .模入电路用两个通道分别采集被控对象的输出和给定信号 _805s3 .选择被控又腭L:G( s) e , T(0.4s 1)( 0.5s 1)4 .对象的纯延迟环节e s用软件通过数组单元移位实现。5 .定时中断间隔选取 50ms,采样周期T要求既是采样中断间隔的整数倍,又满足 T (0.2 1)_11 ,6 .闭

9、环系统时间常数 T按的被控对象最大时间常数选择。2 32 .大林算法控制系统方案设计2.1 控制系统总体介绍r(t)图2.1-1大林算法设计的闭环控制系统方框图大多数工业对象具有较大的纯滞后时间,可以近似用一阶或二阶惯性环节加纯滞后环节来表示,其传 递函数为K一阶对象:G(s) e s, NT ,Tis 1二阶对象:G(s)e s, NT ,(T1s 1)(T2s 1)(s)相当于一个纯滞后环节和一个惯性大林算法的设计目标是使整个闭环系统所期望的传递函数 环节相串联,即不1s(s) -e s, NT,Ts 1并希望整个闭环系统的纯滞后时间和被控对象的纯滞后时间相同。其中为闭环系统的时间常数,纯

10、滞 后时间与采样周期 T有整数倍关系,(N=1,2. . 。2.2 控制系统闭环工作原理在本次大林算法控制系统中,系统先进行A/D采样,将给定值采样值取到单片机内,之后单片机会选择另外一路通道,进行输出值即反馈值的采样。将输出值采样到单片机内后,在单片机中进行差值 E(K)计算,再通过单片机中的算法程序得到输出量U(K),再经过D/A变换器,将输出结果作用于被控对象。经被控对象的输出值又将作为反馈值被采样到单片机内。3 .大林算法控制系统硬件电路设计3.1 A/D采样电路该实3的A/D采样硬件电路如图3-1所示上图所示的是 ADC0809与8051连接的硬件电路图,其中在 ADC0809中,I

11、N-6、IN-7分别采样给定信 号和反馈信号,AD转换器的引脚 A接单片机的P1A6,用于选择采样通道。 控制计算机的定时器作为基准时 钟(初始化为50ms),在第一次启动 A/D转换时,此时P1A6=0,选择的IN-6 ,采样的是给定信号,当采样 周期到时,此时 P1A6=1 ,同时在定时器中启动 A/D转换,此时采样的是反馈信号,给定信号和反馈信号的 采样值分别存储在程序的RK和UK1中。模数单元采用 ADC0809芯片,主要包括多路模拟开关和A/D转换器两部分。其主要特点为:单电源供电、工作始终 CLOCK最高可达1200KHZ、8位分辨率、8个单端模拟输入端(IN0IN7 )、TTL电

12、 平兼容等,可以很方便地和微处理器接口。通过三端地址译码A、B、C多路开关可选通 8路模拟输入的任彳S'一路进行A/D变换。其中IN1IN5的模拟量输入允许范围:0V4.98V ,对应数字量为00HFFH , 2.5V对应80H ; IN6和IN7两路由于接了上拉电阻,所以模拟量输入允许范围:-5V+4.98V,对应数字量 00HFFH , 0V对应80H。在设计过程中使用的TD-ACC+教学系统中的 ADC0809芯片,其输出八位数据线以及CLOCK线已连到控制计算机的数据线及系统应用时钟1MCLK (1MHZ)上。其它控制线根据实验要求可另外连接( A、B、C、STR、/OE、EO

13、C、IN0IN7 ),如图 3-1 (2)所示。其中IN6和IN7可以测量-5V+5V的量,主要是因为加了外部电路。如图所示,在 IN6和IN7的实 际输入端其输入范围为05V,在外围电路中, 采用两个相同电阻分压的方式,因为给了一个 5V的电压,当输入端为-5V时,0809的实际输入端为两者相加之和的一半,为 0V,在0809采样电压的范围以内。 但将该采样值取进单片机内后,其表示范围为-128127 ,对应为05V的电压,所以我们需要在程序里0809就可以采集-5+5V的电压了。将采样值减去 128以使采样值与设定值相对应。因此加了外部电路,3.2 D/A输出电路数模转换单元采用TLC75

14、28芯片,它是8位、并行、两路、电压型输出模数转换器。其主要参数如下:转换时间100NS,满量程误差 1/2LBS,参考电压-10V+10V,供电电压+5V+15V,输入逻辑电平与TTL兼容。输入数字范围为00HFFH,80H对应于0V,输出电压为-5V+4、96V。在课程设计过程中采用的TD-ACC嗷学系统中的 TLC7528,其输入数字量得八位数据线、写线和通道选择控制线已经接至控制 计算机的总线上。片选线预留出彳f实验中连接到相应的I/O片选上,如图 3-2。图3-2 D/A输出电路该芯片TLC7528可以双极性输出,但须在单片机中将D/A的输出值加128后再交给TLC7528芯片进彳T

15、 D/A输出。3.3 给定对象硬件电路设计图3-3 给定对象硬件电路图如图3-3所示,为被控对象的硬件电路的设计图,在本次的课程设计中的被控对象传递函数:G(s)e(0.4s 1)( 0.5s 1)0.5s, T ,其中比例部分由两个运算放大器组合实现,即,第一个运算放大器的积分部分为1 500 1000 0.5,实现被控对象的第一部分,第二个运算放大器的积分部分为 2 200 1000 0.4,实现被控对象的第二部分。3.4 总硬件图nJJ-L :-XLFMU匕苦w图3-4总硬件图4 .大林算法控制系统算法设计4.1 控制算法的原理实验算法中,用脉冲传递函数近似法求得对应的闭环脉冲传递函数G

16、(s)80.5se (0.4s 1)( 0.5s 1)T,将代入,并进行 Z变换:D(z)0.5 0.250.5 0.410.5 0.51、(1 e )(1 e z )(1 e z )10.5 0.251228(Gc2z)1 e z (1 e )z1式中 g 1 (0.4e0.5/0.4 0.5e1) 0.307, 0.1C2 e0.5(10.41a5) (0.4e1 0.5e 0.5 0.4 ) 0.9338 0.1经计算D(z)03521( 1 O2865z 1 )(1 O3679z 1 ) (1 3.0415z 1 )(1 0.1353z 1 0.8647z2)'无振铃时,有 z

17、 1,贝U (c, c2z 1)1.2408,于是D(z)0.087(1 0.2865z1)(1 0.3679z 1 )(1 0.1353z 1 0.8647z 2 )对应的递推公式为u(k) 0.1353u(k 1) 0.8647u(k 2)0.087e( k) 0.6544e( k 1) 0.1054e(k 2).则程序中kk0 0.087,kk10.6544, kk2 0.1054,pp1 0.1353, pp2 0.8647, pp3 04.2 计算机实现的计算机公式推导在4、1中得到了 D(z)的最终表达式,而在本实验中,被控对象为11从而可以知道被控对象的时间常数为,增益K=8,根

18、据T按1 1最大时间常数取值,取 T =0.4so将各2 3个参数代入计算:KK0=0.077 , KK1= -0.9085, KK3=0.0017864 , PP1 = 0.3495, PP2=0.95436, PP3=0.039514。对应的递推公式:u(k)= 0.3495u(k-1)+ 0.95436u(k-2)+ 0.039514u(k-3)+0.077e(k) 0.9085e(k-1)+ 0.0017864e(k-2)由于在二阶对象中是引起振铃的极点因子,令z=1 ,于是可以得到 u(k)=0.0821u(k-1)+0.9179u(k-2)+0.0821e(k) 0.0303e(k

19、-1)+0.0019e(k-2)在程序中:KK0=0.0821 , KK1= -0.0303, KK2=0.0019 , PP0=0.0821, PP1=0.9179, PP2=0。4.3 采样周期的选择在本实验中,定时中断间隔选取50ms,采样周期T要求既是采样中断间隔的整数倍,又要满足,而由被控对象的表达式可知,所以取N=1 ,s,取 T0.5s。5 .大林算法控制系统软件编程设计5.1 主程序与中断流程图主程序流程图:图 5.1-1采样中断服务程序流程图:中断程序图 5.1-2计算定时器0初值修正因初值重装而引起的定时误差边沿触发中断开外部中断1开定时中断0 启动定时器/D/A清零变量清

20、零5.2 部分控制程序代码6 .主程序部分源码:void main(void)TMOD = 0x01;t0_h = (65536-15536)/256;t0_l = (65536-15536)%256;t0_l = t0_l+20;TH0 = t0_h;TL0 = t0_l;IT1 = 1;EX1=1;ET0=1;TR0=1;TC=1;DAC_1= 0x80;UK = UK_1 = UK_2 = UK_3 = 0;EK = EK_1 = EK_2 = EK_3 = 0;RK = RK_1 = RK_2 = RK_3 = 0;bb = 0;EA = 1;/开总中断FLG = 0;DOUT0 =

21、0;while(1);while(1)是使主程序进入死循主程序的功能主要是:对定时器的赋值、开外中断、初始各变量,其中 环,等待中断到来。2.采样中断程序的部分源码:(1)判断同步信号程序:DIN0 = 1;if(DIN0)UK = UK_1 = UK_2 = UK_3 = 0;EK = EK_1 = EK_2 = EK_3 = 0;RK = RK_1 = RK_2 = RK_3 = 0;DAC_1 = 0x80;TC = 1;(2)双通道采样:TC-;if(TC=0)if(FLG=0)RK=ADC_7-128;DOUT0 = 1;FLG = 1;TC = TK;elseFLG = 0;UK

22、= ADC_7-128;DOUT0 = 0;EK = RK-UK;/读取输入前,先输出高电平判同步信号到否/D/A输出零判采样周期到否采样当前的给定值采样当前的输出值,并计算偏差的变化量EK_1 = RK_1-UK_1;EK_2 = RK_2-UK_2;EK_3 = RK_3-UK_3;i=KK*0EK*+KK1*EK1+EK2*KK2j = PP1*UK_1 + PP2*UK_2 + PP3*UK_3;UK = G*i + j;if(UK>0)判控制量是否溢出,溢出赋极值if(UK>127)aa = 127;elseaa = (char)UK;elseif(UK<-128)

23、aa = -128;elseaa = (char)UK;/D/A输出控制量控制量递推偏差递推采样周期变量恢复DAC_1 = bb+128; bb =aa ;UK_3 = UK_2;UK_2 = UK_1;UK_1 = UK;EK_3 = EK_2;EK_2 = EK_1;EK_1 = EK;TC = TK;双通道采样原理说明:由于在主程序中,将 DOUT2置“0”,已经选择了采样通道IN6,第一次进行A/D转换时,对给定信号进行采样,并将采样值存储在RK中,同时将DOUT2置“1”,这时将A/D通道IN7选中,等待采样周期到时,则采样反馈信号,并将采样值存储在UK1中,在变量定义中,已经将 P

24、1.6定义为DOUT2 ,故改变 DOUT2值就改变了 P1.6。中断程序实现的功能:对给定信号进行采样,并将采样值存储在RK中,同时将DOUT2置 T,将A/D通道IN7选中,待采样周期到时,则采样反馈信号,并将采样值存储在UK1中,接下来便是计算偏差 E(k),计算U(k),将值通过端口 DAC_1在下一周期到来时输出;再次在该中断程序中,增加一个变量bb1,用于存储前一周期的输出值,这样使得输出量能够延迟1秒输出;最后就是通过递推公式,计算实现输出信号的不断优化。该程序实现的功能是对定时器的重新装值,同时,当采样周期到时,启动A/D ,用于对转换反馈信号进行A/D转换。6 .实验结果|T1-T2|= 458,8m£|V1-V2| = 51Z9 mv1/|T1-T2| = 2.13Hz|71-V2| = 512.8 mv葭I.r7j/J.j . _ j. _i/-1 1 1 1 1 1 11

温馨提示

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

评论

0/150

提交评论