Dahlin算法控制设计_第1页
Dahlin算法控制设计_第2页
Dahlin算法控制设计_第3页
Dahlin算法控制设计_第4页
Dahlin算法控制设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

《计算机控制》课程设计报告题目:Dahlin算法控制设计姓名:王明华学号:1月4日

《计算机控制》课程设计任务书学号班级103学生王明华指导教师孙明健题目Dahlin算法控制设计设计时间12月28日至年1月4日共1周设计规定设计任务:(按照所选题目内容填写)被控对象为,T=1s,,采用Dahlin算法设计消除振铃的数字控制器。方案设计:完毕控制系统的分析、设计;选择元器件,完毕电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等能够暂不涉及),使用Protel绘制原理图;编程实现单片机上的控制算法。报告内容:控制系统仿真和设计环节,应包含性能曲线、采样周期的选择、数字控制器的脉冲传递函数和差分方程;元器件选型,电路设计,以及绘制的Protel原理图;软件流程图,以及含有具体注释的源程序;设计工作总结及心得体会;列出所查阅的参考资料。指导教师签字:系(教研室)主任签字:12月28日1.设计题目名称29、Dahlin算法控制设计被控对象为,T=1s,,采用Dahlin算法设计消除振铃的数字控制器。2.课程设计的目的课程设计是一门将课堂知识应用到软硬件设计中的课程,是大学课程里不可或缺的,学习和运用好这门课程是很有必要的。《计算机控制系统》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。计算机控制系统的课程设计是一种综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上理解计算机控制系统的实际构成,掌握计算机控制系统的整体设计办法和设计环节,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。3.课程设计的实验条件(1)软件:MATLAB、keil、proteus(2)硬件:计算机、单片机4.课程设计的原理许多实际工程中(如化工及热工过程)经常碰到某些纯滞后调节系统,往往滞后时间比较长。对于这样的系统,人们较为感爱好的是规定系统没有超调量或者超调量很小,超调成为重要的设计目的。特别是含有滞后的控制系统,用普通的随动系统设计办法是不行的,并且往往PID算法的效果也欠佳。因此,在含有滞后的温度控制中引入大林算法,对解决滞后问题含有较好的效果。下列是大林算法的简朴介绍和应用到题目的解题思路。被控对象含有纯滞后环节的一阶或者二阶惯性环节,它的传递函数为:(1)(2)式中,为对象的时间常数;为对象的延迟时间。大林算法的控制目的:设计控制器,使得整个系统的闭环传递函数为带有纯滞后的一阶环节,且规定闭环系统的纯滞后时间等于被控对象的纯滞后时间,即(3)工业过程控制的调节系统,阶跃输入,往往但愿模拟和离散化后系统的阶跃响应不变,因此采用零阶保持器法:(4)系统的控制器为:(5)就是所规定的控制器,它能够由计算机程序来实现。显然,他随着被控对象的不同而不同。对象含有纯滞后的一阶惯性环节时(6)将它带入式(5)得(7)式中,为采样周期;为对象的时间常数;为闭环系统的时间常数。同理,对象含有纯滞后的二阶惯性环节时(8)将它带入式(5)得(9)式中,;。5.总体设计方案基于达林算法的采样控制系统构造框图如图所示:图1基于达林算法的采样控制系统构造框图D(z)系统的设计核心,它事实上是由计算机实现,它的输入输出均是时间上离散的数字信号信号。在实际运用中要通过A/D,D/A的转换,运用数字控制起来控制被控对象,达成盼望的性能指标。被控对象为,T=1s,,,,,则。控制目的的系统闭环传函为(10)对于题目中二阶对象,其脉冲传函为(11)校正后的闭环脉冲传函为(12)控制器的计算为(13)代入各个参数得(14)该控制器中,含有极点,靠近点。该点会引发振铃。将该振铃用替代,得消除振铃的控制器:(15)由D(z)得到差分方程:(16)然后,运用simulink对其进行仿真,得到未消除振铃和消除振铃之后的仿真成果,并对成果进行分析,并用proteus软件,进行对单片机、AD转换器和DA转换器的选用,进行电路图的搭建,对其进行硬件部分的实现。6.系统仿真6.1simulink系统仿真框图分别对未消除振铃的系统和消除振铃的系统进行仿真。(1)未消除振铃的系统仿真框图图2未消除振铃的系统仿真框图(2)消除振铃的系统仿真框图图3消除振铃的系统仿真框图6.2simulink系统仿真成果(1)未消除振铃的系统仿真成果图4未消除振铃的系统仿真成果(2)消除振铃的系统仿真成果图5消除振铃的系统仿真成果仿真成果分析:直接计算得到的控制器后,系统输出c稳定,没有超调。但是控制器输出u有大幅度的振铃现象。如图4所示。消除振铃后,系统输出c仍然稳定,控制器输出u也没有了振铃现象,如图5所示。消除振铃后,效果比较好。7.控制器的硬件实现7.1硬件电路部分7.1.1AD转换器本课设AD转换器选用的是TLC549。TLC549是TI公司生产的一种低价位、高性能的8位串行A/D转换器,它以8位开关电容逐次逼近的办法实现A/D转换,最大转换速率为4MHZ,电源为3V至6V。它能方便地采用三线串行接口方式与多个微解决器连接,构成多个便宜的测控应用系统。图6TLC549接口电路图AD转换器的电路设计:1)SCLK为外接时钟输入端,由单片机P1.3脚产生,故将接单片机的P1.3。2)CS为AD转换片选信号,低电平有效,由程序控制与单片机的P1.4脚相连。3)REF+和REF-是AD芯片的参考电压,这里分别接的+5V和地,则输入信号范畴是0~5V,对应数字信号0x00~0xFF。4)SDO是串行数据的输出口,由P3.4引脚读取。7.1.2DA转换器本课设D/A转换器选用的是TLC5615。TLC5615是含有串行接口的D/A转换器,其输出为电压型,最大输出电压是基准电压的两倍。性能优于早期的电流型转换器。只需要3根线就能完毕10位数据的传输,节省了IO口资源,易于和工业原则的微解决器或微控制器(单片机)接口。图7TLC5615C接口电路图DA转换电路设计:1)SCLK为DA转换芯片的时钟信号,又单片机的P1.1提供。故SCLK引脚将与单片机的P1.1引脚相连接。2)CS为AD转换片选信号,低电平有效,由程序控制与单片机的P1.2脚相连。3)REFIN为参考电压。本电路中由电阻分压得到,为2.5V,则DA输出电压范畴是0~5V,对应数字信号0x0000~0x03FF。4)DIN为芯片的数字输入引脚,与单片机的P1.0引脚相连。7.1.3控制器本课设控制器选用的是AT89C51。AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微解决器,51单片机是现在应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列。图8单片机最小系统单片机的最小系统如上图所示,其中涉及:(1)晶振,这里我们用的是12MHZ,又单片机的时钟周期决定;(2)复位电路;(3)电源,这里AT89C51中VCC已经在内部连到电源上了。7.2软件实现部分接下来是用C语言进行程序的编写,用keil软件的实现。首先,在keil软件中新建一种项目,注意这里用到的是AT89C51单片机,然后进行编程,实现对单片机系统的控制,和对DA转换器、AD转换器的分别控制,其中涉及中断程序、延时程序、定时器程序等。程序编写完毕,编译无误后,再生成hex文献,最后打开在proteus中画好的电路图,将写好的程序hex文献加载到单片机中,进行仿真。本部分软件实现的大致流程,以下图9、10所示,为主程序和中断子程序的流程图。图9主程序流程图图10中断子程序流程图主程序的功效重要是:对定时器的赋值、开外中断、初始各变量。中断程序实现的功效:对给定信号进行采样,待采样周期届时,则采样反馈信号,并将采样值存储,接下来便是计算偏差E(k),计算U(k)。8.课程设计心得体会通过本次课设,我对于大林算法的MATLAB仿真,proteus的硬件设计有了更多的理解。我在做仿真的时候,对于大林算法的控制器解出的D(z)计算了好几次,总是不同,然后用m文献进行了计算,得到了精确的成果,然后用simulink进行了仿真得到了图像。然后对于proteus的电路图画得不熟悉,过程中进行了许多次的百度。后来要拿出时间在硬件上下功夫,对于课程中学到的知识进行物理上的实现,将知识用到实处。9.参考文献1.《单片机原理及应用》张毅刚主编.高等教育出版社..12.2.《新概念51单片机C语言教程》郭天祥主编..11.3.《控制系统CAD——基于MATLAB语言》张晋格陈丽兰主编.机械工业出版社..08.10.程序清单(C程序)/*********************************************************************文献名:Dahlin.c*描述:Dahlin算法数字控制器*班级:103*创立人:王明华********************************************************************/#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitAD_Out=P3^4;//TLC549输出端sbitCS=P1^4;//TLC549片选信号sbitAD_In=P1^3;//TLC549输入端sbitSPI_CLK=P1^1;//TLC5615时钟信号sbitSPI_DATA=P1^0;//TLC5615数据信号sbitCS_DA=P1^2;//TLC5615片选信号intCount=0;//时间计数变量intek=0,ek1=0,ek2=0;//采样变量。ek为E(k),ek1为e(k-1),ek2为e(k-2)。intuk_out=0,uk[26]={0};//控制器输出变量。uk[i]表达u[k-i]/*********************************************************************名称:AD_Change(void)*功效:TLC549驱动程序,模拟SPI模式从AD芯片中读出8位数据*********************************************************************/ucharAD_Change(void){uchari,temp=0;AD_In=0;_nop_();_nop_();CS=0;_nop_();_nop_();_nop_();_nop_();if(AD_Out==1)temp+=1;for(i=0;i<8;i++){AD_In=1;_nop_();_nop_();AD_In=0;_nop_();_nop_();if(i!=7){temp=temp<<1;if(AD_Out==1)temp+=1;}}CS=1;returntemp;}/********************************************************************/*名称:Delay()*功效:延时,延时时间为1ms*del*输入:del*输出:无*********************************************************************/voidDelay(uintdel){uchari,j;for(i=0;i<del;i++)for(j=0;j<=148;j++);}/********************************************************************/*名称:Average()*功能:平均值滤波法,取一共十个数据,*输入:十个待解决的值*输出:得到一种的平均值*********************************************************************/uintAverage(uintbuffer[10]){uchari;inttemp=0;for(i=0;i<10;i++)//对十个采样数据求平均数{temp+=buffer[i];}temp=(uint)(((float)temp)/10+0.5);return(temp);}/********************************************************************/*名称:AD_Filter()*功能:进行AD采集10次,并进行滤波解决*输入:三十次AD采集值*输出:通过解决后的AD值*********************************************************************/uintAD_Filter(){uintDate_Buffer[10]={0},temp;uchari;for(i=0;i<10;i++){Date_Buffer[i]=AD_Change();Delay(1);//延时1毫秒采集一次。这里能够根据工作需要调节时间。}temp=Average(Date_Buffer);return(temp);}/********************************************************************/*名称:DA5615()*功能:向DA芯片中写入12位串行数据并进行数模转换。*输入:无*输出:无*********************************************************************/voidDA5615(uintda){uchari;da<<=6;CS_DA=0;SPI_CLK=0;for(i=0;i<12;i++){SPI_DATA=(bit)(da&0x8000);SPI_CLK=1;da<<=1;SPI_CLK=0;}CS_DA=1;SPI_CLK=0;for(i=0;i<12;i++);}/***************************************

温馨提示

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

评论

0/150

提交评论