1、最少拍控制系统设计能源与动力工程学院课程设计报告题 目: 最少拍控制系统设计 课 程: 计算机控制技术课程设计 专 业: 班 级: 姓 名: 学 号: 计算机控制技术课程设计任务书一、 课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。计算机控制技术是一门实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过课程设计,加深对
2、学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的整定工作打下基础。二、 课程设计内容设计以89C51单片机、ADC、DAC等电路和运放电路组成的被控对象构成的单闭环反馈控制系统。1. 硬件电路设计:89C51最小系统加上模入电路ADC0809和模出电路DAC0832;由运放构成的被控对象。2. 控制算法:最少拍控制、PID。3. 软件设计:主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、最少拍控制程序等。三、 课程设计要求1. 模入电路能接受双
3、极性电压输入(-5V+5V),模出电路能输出双极性电压(-5V+5V)。2. 被控对象每个同学选择不同:3. 设计无纹波最少拍控制器。被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。4. 定时中断间隔可在10-50ms中选取,采样周期取采样中断间隔的整数倍,可取1000-2000ms,由实验结果确定。5. 滤波方法可选择平均值法,中值法等。四、 课程设计实验结果1. 控制系统能正确运行。2. 按设计信号下的系统输出响应。 3. 其他典型输入信号下的系统输出响应。五、 进度安排序号内容天数1布置任务,查阅资料0.52总体方案确定,硬件电路设计1.53熟悉实验箱及C语言
4、开发环境,研读范例程序,14控制算法设计15软件编程,调试16实验17总结,撰写课程设计报告1六、 课程设计报告内容:总结设计过程,写出设计报告,设计报告具体内容要求如下:1课程设计的目和设计的任务。2课程设计的要求。3控制系统总框图及系统工作原理。4控制系统的硬件电路连接图(含被控对象),电路的原理。 5软件设计流程图及其说明。6电路设计,软件编程、调试中遇到的问题及分析解决方法。7实验结果及其分析。8体会。七、 参考文献(列出你所利用的参考文献。格式参见下。)1 于海生主编,微型计算机控制技术,北京:清华大学出版社,19992 张艳兵等编著,计算机控制技术,北京:国防工业出版社,20083
5、 张毅刚主编,单片机原理及应用,北京:高等教育出版社,20044 陈涛编著,单片机应用及C51程序设计,北京:机械工业出版社,20085 楼然苗, 李光飞编著, 单片机课程设计指导, 北京: 北京航空航天大学出版社, 2007 6 控制、电子技术类杂志、报刊第 二 部 分课程设计报告1课题简介1.1 课程设计内容51.2课程设计要求52方案设计 2.1 设计步骤 52.2 控制系统总框图及系统工作原理63硬件电路设计 3.1 被控对象设计 83.2 硬件电路连接图 94控制算法设计 105软件编程设计 5.1 流程图 115.2 程序设计 126实验结果与分析 147心得体会 141 课题简介
6、 (宋体4号加粗)1.1 课程设计内容设计以89C51单片机、ADC、DAC等电路和运放电路组成的被控对象构成的单闭环反馈控制系统。1. 硬件电路设计:89C51最小系统加上模入电路ADC0809和模出电路TLC7528;由运放构成的被控对象。2. 控制算法:最少拍控制。3. 软件设计:主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、最少拍控制程序等。 1.2课程设计要求1. 模入电路能接受双极性电压输入(-5V+5V),模出电路能输出双极性电压(-5V+5V)。2. 被控对象3. 设计无纹波最少拍控制器。被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制
7、器。4. 定时中断间隔可在10-50ms中选取,采样周期取采样中断间隔的整数倍,可取1000-2000ms,由实验结果确定。5. 滤波方法可选择平均值法,中值法等。2 方案设计2.1 设计步骤先进行硬件设计,根据Gz改造被控对象 进行最少拍控制算法计算读范例程序,画出流程图,进行修改调试实验结果2.2控制系统总框图及系统工作原理最小拍双通道采样的闭环系统框图如上所示,在该系统中对给定值r(t)进行D/A转换采样,得到离散化的r(z),并且对输出值c(t)也进行D/A转换,得到c(z),然后计算有e(k)=c(k)-r(z)。D(z)为计算机控制系统的脉冲传递函数,U(z)为输出的控制量,然后经
8、过A/D转换后得到模拟控制量U(t)对包含零阶保持器的被控量进行控值进而达到要求的最小拍控制的目的。误差E=R-C经运放运算得到,并由模数转换器采集。最少拍控制算法由软件程序和单片机实现。输出U经数模转换器和零阶保持器转换成模拟信号送至被控对象。被控对象由两只运放及阻容元件构成。 3 硬件电路设计3.1 被控对象由运放及阻容元件搭建,电路图如下: 3.2硬件电路原理图 4 控制算法设计4.1 被控对象含有一个积分环节,采用单位速度输入信号,q=2D=0,q=2,v=1,w=1,j=1 m=w+d=1n=v-j+q=2 4.2 5 软件编程设计5.1 流程图5.2 程序#include #inc
9、lude #include /*宏定义*/#define uchar unsigned char#define uint unsigned int#define ADC_7 XBYTE0x0600 /定义模数转换IO地址#define DAC_1 XBYTE0x0640 /定义D/A第一路的IO地址/*全局变量定义*/sbit str = P17; /定义A/D启动信号sbit DIN0 = P10; /声明同步信号uint data time; /声明变量,用于定时uchar data t0_h,t0_l; /用于存储定时器0的初值char TK = 5; /声明采样周期变量,/采样周期TK
10、*10mschar TC; /TK的变量float kp =1.8; /比例系数uint ti =80; /积分系数char td = 2; /微分系数char IBAND = 120; /积分分离值char EK; /当前采样的偏差值char EK_1; /上一次采样的偏差值char AEK; /偏差的变化量char UK; /当前时刻的D/A输出char AEK_1;char BEK;char CEK;float ZEK;/*主函数*/void main(void) TMOD = 0x01; time = 10; /定时10ms t0_h = (65536 - 1000 * time) /
11、 256; /计算定时器0初值 t0_l = (65536 - 1000 * time) % 256; t0_l = t0_l + 70; /修正因初值重装而引起的定时误差 TH0 = t0_h; TL0 = t0_l; IT1 = 1; /边沿触发中断 EX1 = 1; /开外部中断1 ET0 = 1; /开定时中断0 TR0 = 1; /启动定时器 TC = 1; DAC_1= 0x80; /D/A清零 EK = EK_1 = 0; /变量清零 AEK =BEK=AEK_1=CEK= UK = 0; ZEK = 0; str = 1; EA = 1; /开总中断 while(1);/*函数
12、名:INT1功能 :1号外部中断服务程序 参数 :无* 返回值:无 * */void int1() interrupt 2 using 2 float P,D,I,TEMP,TEMP1; DIN0 = 1; /读取输入前,先输出高电平 if(DIN0) /判同步信号到否 EK = EK_1 = 0; /变量清零 UK = AEK = BEK=CEK=AEK_1=0; ZEK = 0; DAC_1 = 0x80; /D/A输出零 TC=1; else TC-; /判采样周期到否 if(TC = 0) EK = ADC_7 - 128; /采样当前的偏差值,并计算偏差的变化量 AEK = EK - EK_1; BEK =(EK+EK_1)/2; CEK =AEK-AEK_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1