ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:602.06KB ,
资源ID:21145557      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21145557.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于死区PID的温度控制设计毕业设计论文Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于死区PID的温度控制设计毕业设计论文Word格式文档下载.docx

1、通过温度或转速的设定值和反馈值,计算其偏差,并使用PID控制算法输出控制信号,整定PID参数,改进PID算法,使被控的温度达到设定值。具体实训内容包括PCI-1711过程卡的接线和测试、数据采集程序设计、PID算法程序设计、控制输出程序设计、人机界面程序设计、PID参数整定、实训报告。3)本次实训的要求:完成一个温度单回路控制系统的设计和调试过程。2 PCI1711多功能过程通道卡2.1 功能特点与技术指标2.1.1 功能特点PCI-1711U和PCI-1711UL属于功能强大的低成本多功能PCI总线卡,PCI-1711U带有2个模拟量输出,PCI-1711UL则不带此输出。PCI-1711/

2、1711L 完全符合PCI规格Rev2.1标准,支持即插即用。PCI-1711/1711L提供16路数字输入和16路数字输出,使客户可以最大灵活的根据自己的需要来应用。PCI-1711/1711L有1个可编程计数器,可用于A/D转换时的定时触发。计数器芯片为82C54兼容的芯片,它包含了三个16位的10MHz时钟的计数器。其中有一个计数器作为事件计数器,用来对输入通道的事件进行计数。另外两个计数器级联成1个32位定时器,用于A/D转换时的定时触发。PCI-1711/1711L卡上提供了FIFO(先入先出)存储器,可储存1K A/D采样值。用户可以起用或禁用FIFO缓冲器中断请求功能。当启用FI

3、FO中断请求功能时,用户可以进一步指定中断请求发生在1个采样产生时还是在FIFO半满时。该特性提供了连续高速的数据传输及Windows下更可靠的性能。PCI-1711/1711L有一个自动通道/增益扫描电路。在采样时,这个电路可以自己完成对多路选通开关的控制。用户可以根据每个通道不同的输入电压类型来进行相应的输入范围设定。所选择的增益值将储存在SRAM中。这种设计保证了为达到高性能数据采集所需的多通道和高速采样,同时可以灵活的输入类型和进行范围的设定。2.1.2技术指标1)模拟量输入输入方式:双极输入模拟量输入范围(V):10,5,2.5,1.25,0.625通道:16路单端 分辨率:12位

4、采样速率:100kS/s2)模拟量输出12位3)数字输入/输出数字输入通道:16 数字输出通道:3)其他定时器/计数器的分辨率:16位 最高输入频率:10MHz 2.2 应用方法和步骤第一步:关掉计算机,将您的板卡插入到计算机后面空闲的PCI插槽中(注意:在您手持板卡之前触摸一下计算机的金属机箱壳以免手上的静电损坏板卡。)第二步:检查板卡是否安装正确,可以通过右击“我的电脑”,点击“属性”,弹出“系统属性”框;选中“硬件”页面,点击“设备管理器”;将弹出画面,按图提示进行安装。 第三步:从开始菜单/程序/Advantech Device Driver V2.1/ AdvantechDevice

5、 Manager,打开Advantech Device Manager,如下图:图1 研华程序运行界面 第四步:开始测试板卡。在图1的界面中点击“Test”,弹出图2。在图2中可以进行模拟量输入、输出,数字量输入、输出等功能的测试,来确定板卡是否能正常工作图2 板卡测试界面3 方案设计3.1 加热器的过程特性加热器的工作原理是把一个具有较多匝数的初级线圈和一个具有较少匝数的次级线圈安装在同一个铁芯上。输入与输出的电压比等于线圈匝数之比,同时能量保持不变。因此,次级线圈在低电压的条件下产生大电流。此次实训中,要求使用的加热器的温度范围为0100,对应的输出电流为4mA20mA,使用220V电源供

6、电。在加热器加热的过程中,利用PID算法对加热器进行温度控制,使其温度稳步地逼近设定值,并在允许的偏差范围内有较小的波动。其在工作的时候是通过外在的控制器给予它一个模拟的信号,通过转换变为电压信号来驱动加热器工作,在此同时它也会向控制器反馈它此时的温度状态,与设定温度相比较,用以达到实时控制调节,修正偏差的目的。图3 加热器的基本组成结构3.2 加热器温度控制系统的实现方案对于加热器温度控制系统,在硬件上我们采用的是研华生产的PCI1711U板卡、计算机和一个用于实训的加热器。在软件上我们采用的c+Builder进行带死区的PID控制算法的编写,以此来对加热器进行的控制输出。从而有机的把软硬件

7、整合成为一个整体,构成一个比较简易的加热器温度控制系统。3.3 PCI1711和加热器接线图设计PCI1711U是直接与加热器相连接的,模拟量的输入端接加热器的输出端,数字量的输出端接加热器的输入端,并且在加热器的输出和地之间还需要接一个500的电阻。实际中,我们是将两个300的电阻并联再和一个300电阻串接起来得到的近似值,将4mA20mA的电流转换成2V10V的电压。其具体的实物接线图和模块图如图4所示:图4 实物接线图与模块图3.4 控制程序的方案设计和模块划分整个控制程序分为数据采集模块、PID控制算法模块、数据输出模块。数据采集模块通过PCI1711来进行数值的采集,数值采集后再经过

8、处理送到PID控制算法模块,经过计算产生得结果通过数据输出模块转换后送到PCI1711的模拟量输出端,然后送入加热器,对其进行温度的控制。控制程序组成框图如图5所示:图5 控制程序组成框图控制程序的方案设计主要分为界面设计、数据采集处理程序的设计、实时控制程序设计。界面设计包括趋势曲线,设定值,过程量,控制量的柱形图显示以及死区设定的显示等。数据采集和处理和处理程序设计包括PCI1711数据采集程序、D/A输出程序、标度换算等相应的程序设计。实时控制程序包括PID算法、输出等程序的设计。1)在趋势曲线的显示时,我们分别用红、蓝、绿三种颜色的线条显示SP、PV和MV的相应实时值,其值来自PID的

9、算法程序的输出。2)在编辑栏中我们可以修改死区PID控制算法的相应的参数P、I、D及死区的值等。当修改完成后,我们可以点击确认按钮,程序运行。点击退出,PID算法程序结束。4 数据采集与输出程序设计4.1 PCI1711数据采集与温度换算程序加热器的温度的变化范围是0100,输出电流为4mA20mA,经过电阻转换为2V10V的电压。其具体的数据采集和温度的换算程序如下:float adv=DAQAI1-RealInput(0); PV_temp599=100.0*(adv-2)/(10-2); /电压到温度 PV=PV_temp599; Edit_PV-Text=FloatToStrF(PV,

10、2,1,1); En=SP-PV; if(fabs(En)100) Un=100; if(UnPicture-LoadFromFile(qushi.bmp); Canvas-Pen-Width = 1;Color = clRed;Canvas-MoveTo(0,300);for(int i=0;iLineTo(i,300-sptrendi);Color = clBlue;LineTo(i,300-pvtrendi);Color = clGreen;LineTo(i,300-mvtrendi);/Edit1-Text=FloatToStrF(SP,0,4,4);Edit2-Text=FloatT

11、oStrF(PV,0,4,4);Edit3-Text=FloatToStrF(Un,0,4,4);5.2 死区PID算法 与基本PID相比,死区PID需要设置死区的数值,通过判断偏差与死区的大小来决定程序的下一步运行。具体程序如下: En=SP-PV;fabs(PID_DB) En=0 /死区控制; En2=En1;5.3 PID控制算法的程序设计此次加热器温度的控制采用死区PID算法进行控制,其算法流程图如图7所示:图7 死区PID算法流程图6 控制程序的调试6.1 主要调试内容程序编写完成以后,为了验证系统的稳定性、可靠性和快速性,需要对程序进行运行,要经过反复的操作和验证后的才能得到一个

12、稳定可靠的系统。在系统的调试中,我们调试的主要内容包括:硬件调试、各个部分子程序的调试、PID参数的整定调试等。6.2 调试方法1)硬件:在进行硬件调试的时候,为考虑到硬件的多方面情况,我们可以让硬件在极限条件进行工作,即在极限条件下检验其性能是否稳定,其个方面的指标是否有较大的波动,以验证其性能的优劣。2)程序:在操作界面上对开发的系统进行各种各样的试探性操作,改变PID参数和死区范围,观察程序是否存在没有考虑到的漏洞,以对其进行修改和调试。3)PID参数的整定:在参数整定过程中PID参数的整定以及死区范围的设定非常重要,也是整个系统调试的核心内容。其参数整定的方法是根据被控过程的特性来确定

13、PID控制器的比例系数、积分时间和微分时间的大小以及死区的范围。在此次实训中,主要应用PID控制器参数的工程整定方法,其中主要包括临界比例法、反应曲线法和衰减法。但是不管事哪种参数整定的方法,都必须在实际的系统中进行相应的调试、修改和完善,才能够找到控制的最佳参数。6.3 调试步骤和方法在进行PID参数的整定过程中,我们将以P=10、I=20、D=0.1,死区设置为2为一个参照的基本参数,来说明在整定的过程中P、I、D三个参数对控制器性能的影响。在此过程中,每次的整定都只将改变其中的一个参数,其他的参数不变,这样才能保证我们能够清晰的从整定实时趋势曲线的输出直观的判断出各个参数在控制器中的实时

14、位置,从而更加深刻的理解PID控制器。7 PID参数的整定7.1 整定方法通过查看课本及相关资料,PID各参数的主要整定方法如下:1)首先只整定比例部分。将比例部分由小变大,并观察相应的系统相应曲线,直到得到反应快,超调量小的响应曲线。如果系统没有静差或静差以小到允许范围内,并且响应曲线以属满意,那么只须用比例控制器即可。2)如果在比例调节的基础上还存在较大的系统静差,则加入积分环节。整定时首先置积分时间一较大值,并将比例系数略缩小一点,然后减小积分时间,使在保持系统良好动态性能的情况下,静差得以消除。在此过程中,可以根据响应曲线的好坏不断调整比例系数和积分时间,以期待得到满意的控制过程和整定

15、参数。3)若使用比例积分控制消除了静差,但动态过程反复调整仍不满意,则可加入微分环节,构成比例积分微分控制器。在整定微分时间时,可以先将微分时间置为零。在第二步的基础上,增大微分时间,同时相应的改变比例系数和积分时间,逐步凑试,以获得满意的调试结果和控制参数。在计算机控制系统中,为了避免某些系统动作过于频繁引起的震荡,引入死区。死区是一个可调参数,其具体数值可以根据实际控制的对象确定。7.2 整定结果及分析图8 死区PID算法输出曲线通过以上对单一参数的调节,死区PID算法输出曲线如图8所示。从图中我们可以发现在PID控制器中:比例控制能迅速反应误差,从而减小误差,但比例控制不能消除稳态误差,

16、比例系数的增大会导致系统的不稳定;积分控制的作用是,只要系统存在误差,积分控制作用就不断的积累,输出控制量以消除误差,因而只要有足够长的时间,积分控制将能完全消除误差,积分作用太强会使系统超调加大,甚至使系统出现震荡;微分控制可以减小超调量,克服震荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。而死区范围的设置,也避免了系统中频繁的操作,引起更大的震荡,使得整个系统趋于更加稳定的运行状态。但在设置死区是应注意,如果死区太小,调节会过于频繁,无法使被控对象稳定;死区过大,容易是系统产生较大的滞后;死区为零时,为基本PID调节。8 技术小结本次实训,我们运

17、用C+Builder软件并基于PCI1711板卡设计了加热器的温度控制系统。本温度控制运用死区PID算法,在进行了PID参数的整定后各项指标基本上能够满足实训的要求。在数字PID控制器中采样周期越小,其控制效果就越接近于连续PID的控制效果。在参数整定时,没有完全按照参数试凑法进行参数整定,而是根据以往的实验和各参数的功能进行的凑试。因此在最后得到的参数和曲线并不是最优的PID控制。通过对死区的设定,可以发现,合适的设置死区,可以避免系统过于频繁的动作,可以减小系统的振荡。但死区过大或者过小将会严重影响系统的稳定性以及引起系统较大的振荡或者滞后。通过本次实训,进一步了解了各参数在系统的动态过程

18、中的作用:当比例系数过大时会引起系统的不稳定;当比例系数太小时,又会使系统动作过于迟缓。积分控制可以消除稳态误差,提高系统控制的精度,但是当积分时间太大时,积分的作用过于微弱,以至于不能够完全的消除系统的稳态误差。然而微分作用可以改善系统的动态性能,但是当微分时间偏大或是偏小,都会导致系统的超调增大,从而使得系统的调节时间比较长。所以在PID参数整定的过程中一定要,严格的遵循参数整定的方法,以便达到高效率、高精度的控制,才能完成本次控制系统的设计。参考文献1 于海生,等.微型计算机技术M.北京:清华大学出版社,1999.2 于海生,等.计算机控制技术M.北京:机械工业出版社,2007.3 张宽

19、达.c+Builuder6编程实例精解M.北京:机械工业出版社,1998.4 王锦标.计算机控制系统M.北京:清华大学出版社,2004.附录:死区PID控制程序#include #pragma hdrstop#include PID1.h/-#pragma package(smart_init)#pragma link DAQAILib_OCXDAQAOLib_OCX#pragma resource *.dfmTForm1 *Form1;float SP_temp600;float MV_temp600;float PV_temp600;float P=100.0,I=9999.9,D=0.0

20、,T=1.0;float SP,PV,MV;float En=0.0,En1=0.0,En2=0.0;float q0,q1,q2;float DeltaUn=0.0,Un=0.0;float PID_DB=0.0;_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner)void _fastcall TForm1:FormCreate(TObject *Sender) DAQAI1-Hide(); DAQAO1-OpenDevice();FormClose(TObject *Sender, TCloseAction &Action)CloseDevice(); Application-Terminate();Button_ExitClick(TObject *Sender)Timer1Timer(TObject *Sender) /-反馈信号采集- float adv=DAQAI1- PV_temp599=100.0/8*(adv-2);/PV显示 /-算法开始-fabs(PID_DB) /死区控制 En=0; En1=En; q0=(100.0/P)*(T/I+D/T+1); q1=(-100.0/P)*(2*D/T+1); q2=(100.0/P)*(D/T); Un=Un+Delta

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1