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

下载本文档

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

文档简介

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

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

3、序、大林算法控制程序、D/A输出程序等。四、课程设计要求1. 模入电路能接受双极性电压输入(-5V+5V),模出电路能输出双极性电压(-5V+5V )。2. 模入电路用两个通道分别采集被控对象的输出和给定信号。3. 每个同学选择不同的被控对象:4. 对象的纯延迟环节e s用软件通过数组单元移位实现。5. 定时中断间隔选取 50ms,采样周期T要求既是采样中断间隔的整数倍,又满足 T (0.2 1)。1 16. 闭环系统时间常数 T按 -的被控对象最大时间常数选择。23有关的设计资料可参考计算机控制实验指导书的相关内容。五、课程设计实验结果1. 控制系统能正确运行。2. 有振铃和消除振铃的系统阶

4、跃输出和控制器。六、进度安排序号内容天数1布置任务,熟悉课题要求0.52总体方案确定,硬件电路设计1.53熟悉实验箱及 C语言开发环境,研读范例程序,14控制算法设计15软件编程,调试16实验17总结,撰写课程设计报告1七、课程设计报告内容:总结设计过程,写出设计报告,设计报告具体内容要求如下:1课程设计的目和设计的任务。2 课程设计的要求。3 控制系统总框图及系统工作原理。4 控制系统的硬件电路连接图(含被控对象),电路的原理。5 软件设计流程图及其说明。6电路设计,软件编程、调试中遇到的问题及分析解决方法。7 实验结果及其分析。8体会。第二部分设 计 报 告目录1课程简介 .71.1 程设

5、计目的 71. 2 程设计内容 71.3 程设计要求 72 方案设计 82.1 控制系统整体方案 82.2 控制系统闭环工作原理 83大林算法硬件电路设计 83.1A/D 采样电路 83.2 D/A输出电路 3.3 给定对象硬件电路设计 113.4 总硬件图 114 控制算法设计 114.1 控制算法的原理 124.2计算机实现的计算机推导公式 124.3采样周期 135 软件编程设计 135.1 主程序与中断流程图 135.2 部分控制程序代码 146 实验结果与分析 177 小结与体会 17参考文献 181、课题简介1.1 课题目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环

6、节,是综合性较强的实践教学环 节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质 具有很重要的意义。计算机控制技术是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要 的地位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电 路设计等方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编 程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。1.2课题内容设计以89C51单片机

7、和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈 控制系统。1. 硬件电路设计:89C51最小系统加上模入电路(用 ADC0809等)和模出电路(用 TLC7528和运 放等);由运放实现的被控对象。2. 控制算法:大林控制算法。3. 软件设计:主程序、中断程序、A/D转换程序、大林算法控制程序、D/A输出程序等。1.3课题要求1. 模入电路能接受双极性电压输入(-5V+5V),模出电路能输出双极性电压(-5V+5V)。2. 模入电路用两个通道分别采集被控对象的输出和给定信号。3. 选择被控对象:G(S)8e 0.5s,T(0.4s 1)( 0.5s 1)4. 对象的纯延

8、迟环节e s用软件通过数组单元移位实现。5. 定时中断间隔选取50ms,采样周期T要求既是采样中断间隔的整数倍,又满足 T (0.2 1)。1 16. 闭环系统时间常数 T按 丄 的被控对象最大时间常数选择。232. 大林算法控制系统方案设计2.1控制系统总体介绍图2.1-1大林算法设计的闭环控制系统方框图大多数工业对象具有较大的纯滞后时间,可以近似用一阶或二阶惯性环节加纯滞后环节来表示,其传 递函数为一阶对象:G(s)K e s, NT ,T 1s 1二阶对象:Ks5G(s)e s,NT ,(s 1)(T2s 1)(s)相当于一个纯滞后环节和一个惯性大林算法的设计目标是使整个闭环系统所期望的

9、传递函数 环节相串联,即(S)NT ,1 e Tts 1并希望整个闭环系统的纯滞后时间和被控对象的纯滞后时间相同。其中为闭环系统的时间常数,纯滞后时间与采样周期 T有整数倍关系,(N=1,2 .)2.2控制系统闭环工作原理在本次大林算法控制系统中,系统先进行A/D采样,将给定值采样值取到单片机内,之后单片机会选择另外一路通道,进行输出值即反馈值的采样。将输出值采样到单片机内后,在单片机中进行差值E(K)计算,再通过单片机中的算法程序得到输出量U(K),再经过D/A变换器,将输出结果作用于被控对象。经被控对象的输出值又将作为反馈值被采样到单片机内。3. 大林算法控制系统硬件电路设计3.1 A/D

10、采样电路该实验的A/D采样硬件电路如图3-1所示图3-1 A/D采样硬件电路图上图所示的是 ADC0809与8051连接的硬件电路图,其中在 ADC0809中,IN-6、IN-7分别采样给定信 号和反馈信号,AD转换器的引脚 A接单片机的P1W,用于选择采样通道。 控制计算机的定时器作为基准时钟(初始化为50ms),在第一次启动 A/D转换时,此时P1A6=0,选择的IN-6,采样的是给定信号,当采样 周期到时,此时 P1A6=1,同时在定时器中启动 A/D转换,此时采样的是反馈信号,给定信号和反馈信号的 采样值分别存储在程序的RK和UK1中。模数单元采用 ADC0809芯片,主要包括多路模拟

11、开关和A/D转换器两部分。其主要特点为:单电源供电、工作始终CLOCK最高可达1200KHZ、8位分辨率、8个单端模拟输入端(IN0IN7 )、TTL电平兼容等,可以很方便地和微处理器接口。通过三端地址译码A、B、C多路开关可选通 8路模拟输入的任何一路进行A/D变换。其中IN1IN5的模拟量输入允许范围:0V4.98V,对应数字量为 00HFFH,2.5V对应80H ; IN6和IN7两路由于接了上拉电阻,所以模拟量输入允许范围:-5V+4.98V,对应数字量 00HFFH,0V对应80H。在设计过程中使用的TD-ACC+教学系统中的 ADC0809芯片,其输出八位数据线以及CLOCK线已连

12、到控制计算机的数据线及系统应用时钟1MCLK ( 1MH Z)上。其它控制线根据实验要求可另外连接( A、B、C、STR、/OE、EOC、IN0IN7),如图 3-1 ( 2)所示。其中IN6和IN7可以测量-5V+5V的量,主要是因为加了外部电路。如图所示,在IN6和IN7的实际输入端其输入范围为05V,在外围电路中, 采用两个相同电阻分压的方式,因为给了一个 5V的电压,当输入端为-5V时,0809的实际输入端为两者相加之和的一半,为0V,在0809采样电压的范围以内。但将该采样值取进单片机内后,其表示范围为-128127,对应为05V的电压,所以我们需要在程序里将采样值减去 128以使采

13、样值与设定值相对应。因此加了外部电路,0809就可以采集-5+5V的电压了。3.2 D/A输出电路数模转换单元采用TLC7528芯片,它是8位、并行、两路、电压型输出模数转换器。其主要参数如下:转换时间 100NS,满量程误差 1/2LBS,参考电压-10V+10V,供电电压+5V+15V,输入逻辑电平与 TTL兼容。输入数字范围为 00HFFH,80H对应于0V,输出电压为-5V+4、96V。在课程设计过程中采用的TD-ACC+教学系统中的 TLC7528,其输入数字量得八位数据线、写线和通道选择控制线已经接至控制 计算机的总线上。片选线预留出待实验中连接到相应的I/O片选上,如图 3-2。

14、图3-2 D/A输出电路该芯片TLC7528可以双极性输出,但须在单片机中将D/A的输出值加128后再交给TLC7528芯片进行D/A输出。3.3给定对象硬件电路设计 图3-3 给定对象硬件电路图如图3-3所示,为被控对象的硬件电路的设计图,在本次的课程设计中的被控对象传递函数:G(s)80.5se(0.4s 1)( 0.5s 1)T,其中比例部分由两个运算放大器组合实现,即,第一个运算放大器的积分部分为1 500 1000 0.5,实现被控对象的第一部分,第二个运算放大器的积分部分为 2 200 10000.4,实现被控对象的第二部分。3.4总硬件图图3-4总硬件图4. 大林算法控制系统算法

15、设计4.1控制算法的原理算法中,用脉冲传递函数近似法求得对应的闭环脉冲传递函数:(0.4s1)( 0.5s 1)将代入,并进行Z变换:D(z)0.5 0.25(1 e -)(118( GC2Z)10.5 0.41、ez )(10.5 0.251ez (1式中c111 (0 4e05040.10.5e 1 )0.307经计算D(z)0.3521(11 10.2865z )(1 0.3679z )(1 3.0415z 1)(10.1353z 10.8647z 2),无振铃时,有z1,贝U( G C2Z1) 1.2408 ,曰Ts0.5s e0.5 0.5e ze 2)z1)2疋 D(z)欠 0.3

16、679Z1)(1 0.1353z 10.8647Z2)0.087(10.2865z则程序中对应的递推公式为kk0 0.087,kk10.6544, kk2 0.1054,4.2计算机实现的计算机公式推导在4、1中得到了 D(z)的最终表达式,而在本实验中,被控对象为最大时间常数取值,取T =0.4s。将各1 1从而可以知道被控对象的时间常数为,增益K=8,根据T按23个参数代入计算:KK0=0.077 , KK1= 0.9085, KK3=0.0017864 , PP1 = 0.3495, PP2=0.95436, PP3=0.039514。 对应的递推公式:u(k)= 0.3495u(k-1

17、)+ 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-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要求既是采样中断间隔的整数倍,又要满足,而

18、由被控对象的表达式可知,所以取 N=1 ,s,取 T0.5s。5. 大林算法控制系统软件编程设计5.1 主程序与中断流程图 主程序流程图: 采样中断服务程序流程图:图 5.1-1图 5.1-25.2 部分控制程序代码1. 主程序部分源码: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

19、 = 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 = 0;while(1);/计算定时器0 初值/修正因初值重装而引起的定时误差/边沿触发中断/开外部中断1/开定时中断0/启动定时器/D/A 清零/变量清零/开总中断主程序的功能主要是:对定时器的赋值、开外中断、初始各变量,其中while(1) 是使主程序进入死循环,等待中断到来。2. 采样中断程序的部分源码: (1)判断同步信号程序: DIN0 = 1;if(DIN0)/ 读取输入前,先输出高电平/判

20、同步信号到否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 = ADC_7-128; DOUT0 = 0;/D/A 输出零/判采样周期到否/采样当前的给定值/采样当前的输出值,并计算偏差的变化量EK = RK-UK;EK_1 = RK_1-UK_1;EK_2 =

21、 RK_2-UK_2;EK_3 = RK_3-UK_3; i=KK*0EK*+KK1*EK_1+EK_2*KK2 j = 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)aa = -128;elseaa = (char)UK;DAC_1= bb+128;/D/A 输出控制量bb =aaJUK_3 =UK_2;/控制量递推UK_2 =UK_1;UK_1 =UK;EK_3 =EK_2;/偏差递

22、推EK_2 =EK_1;EK_1 =EK;TC = TK;/采样周期变量恢复双通道采样原理说明:由于在主程序中,将 DOUT2 置“ 0”,已经选择了采样通道 IN6 ,第一次进行 A/D 转换时,对给定信号进行采样,并将采样值存储在 RK 中,同时将 DOUT2 置“ 1”,这时将 A/D 通道 IN7 选 中,等待采样周期到时,则采样反馈信号,并将采样值存储在 UK1 中,在变量定义中,已经将 P1.6 定义为 DOUT2 ,故改变 DOUT2 值就改变了 P1.6。中断程序实现的功能:对给定信号进行采样,并将采样值存储在 RK 中,同时将 DOUT2 置“ 1”,将 A/D 通道 IN7 选中,待采样周期到时,则采样反馈信号,并将采样值存储在 UK1 中,接下来便是计算偏差 E(k) , 计算U(k),将值通过端口 DAC_1在下一周期到来时输出;再次在该中断程序中,增加一个变量bbl,用于存储前一周期的输出值,这样使得输出量能够延迟 1 秒输出;最后就是通过递推公式,计算实现输出信号的不 断优化。该程序实现的功能是对定时器的重新装值,同时,当采样周期到时,启动A/D ,用于对转换反馈信号进行 A/D 转换。6

温馨提示

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

评论

0/150

提交评论