计算机控制课程设计---带死区PID控制
计算机控制技术课程设计报告---基于PID算法的模拟温度闭环控制系统课程设计报告

计算机控制技术课程设计报告---基于PID算法的模拟温度闭环控制系统课程设计报告一、控制对象:1.2.1 被控对象本次设计为软件仿真,通过PID算法控制系统在单位阶跃信号u(t)的激励下产生的零状态响应。
传递函数表达式为:(z)0.383(1?0.386??1)(1?0.586??1)?(?)== 1.2.2 设计要求要求系统能够快速响应,并且可以迅速达到期望的输出值。
本次设计选用PID控制算法,PID控制器由比例控制单元P、积分控制单元I和微分控制单元D组成。
其输入e t 与输出u(t)的关系为1??? ? u t =?? e t + ? ? ?? +?? +?0 ?0式中,??为比例系数;??为积分时间常数;??为微分时间常数。
二、控制要求分析:设定目标温度,使温度呈单位阶跃形式在目标温度处趋于震荡稳定。
使系统能够在任意设定的目标温度下,从现有温度达到目标温度,并趋于稳定状态。
三、可行性分析:参考国内外的技术资料,可以通过计算机仿真技术实现该模拟温度闭环控制系统;利用C语言实现基于PID算法的模拟温度闭环控制系统。
四、总体设计:4.1控制系统组成控制系统框图如图1所示。
图1 控制系统框图4.2工作原理:在图1 所示系统中,D(z)为该系统的被控对象,零状态下,输入为单位阶跃信号R的输出u t 反馈给输入。
在参数给定值R的情况下,给定值R与反馈值比较得到偏差e t =R?u t ,经过PID 调节器运算产生相应的控制量,PID 调节器的输出作为被控对象的输入信号,是输入的数值稳定在给定值R。
4.3模拟PID控制算法原理:在模拟系统中PID算法的表达式为:式中,P(t)为调节器输出信号,e(t)为调节器偏差信号,它等于测量值与给定值之差;Kp为调节器的比例系数,1/T1为调节器的积分时间, Td为调节器的微分时间。
在计算机控制系统中,必须对上式进行离散化使其成为数字式的差分方程。
将积分式和微分项近似用求和及增量式表示。
《计算机控制技术》课程设计--数字pid控制器

《计算机控制技术》课程设计--数字pid控制器华北水利水电大学路亚斌,201009532《计算机控制技术》课程设计姓名: 路亚斌学号: 201009532指导老师: 徐俊红王亭岭时间:2013年12月23日——2014年1 月3日《计算机控制技术》课程设计华北水利水电大学路亚斌,201009532目录第一章《计算机课程设计》任务书................................................................ 错误~未定义书签。
1.1 题目二:数字PID控制器设计 ............................................................... 错误~未定义书签。
1.1.1设计位置式PID控制器和增量式PID控制器 ............................. 错误~未定义书签。
1.1.2模拟PID控制器设计 ...................................................................... 错误~未定义书签。
1.2 题目三:控制系统的状态空间设计...................................................................... . (1)1.2.1 确定状态反馈阵K ...................................................................... . (1)1.2.2 确定一个全维状态观测器L........................................................... 错误~未定义书签。
第二章位置式PID控制器设计 ..................................................................... .. 错误~未定义书签。
(完整版)PID控制详解

PID控制原理和特点工程实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。
PID 控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制主要技术之一.当被控对象结构和参数不能完全掌握,或不到精确数学模型时,控制理论其它技术难以采用时,系统控制器结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便.即当我们不完全了解一个系统和被控对象﹐或不能有效测量手段来获系统参数时,最适合用PID控制技术。
PID控制,实际中也有PI和PD控制.PID控制器就是系统误差,利用比例、积分、微分计算出控制量进行控制。
1、比例控制(P):比例控制是最常用的控制手段之一,比方说我们控制一个加热器的恒温100度,当开始加热时,离目标温度相差比较远,这时我们通常会加大加热,使温度快速上升,当温度超过100度时,我们则关闭输出,通常我们会使用这样一个函数e(t) = SP – y(t)-u(t) = e(t)*PSP——设定值e(t)——误差值y(t)——反馈值u(t)——输出值P——比例系数滞后性不是很大的控制对象使用比例控制方式就可以满足控制要求,但很多被控对象中因为有滞后性。
也就是如果设定温度是200度,当采用比例方式控制时,如果P选择比较大,则会出现当温度达到200度输出为0后,温度仍然会止不住的向上爬升,比方说升至230度,当温度超过200度太多后又开始回落,尽管这时输出开始出力加热,但温度仍然会向下跌落一定的温度才会止跌回升,比方说降至170度,最后整个系统会稳定在一定的范围内进行振荡。
如果这个振荡的幅度是允许的比方说家用电器的控制,那则可以选用比例控制2、比例积分控制(PI):积分的存在是针对比例控制要不就是有差值要不就是振荡的这种特点提出的改进,它常与比例一块进行控制,也就是PI控制。
其公式有很多种,但大多差别不大,标准公式如下:u(t) = Kp*e(t) + Ki∑e(t) +u0u(t)—-输出Kp--比例放大系数Ki——积分放大系数e(t)——误差u0——控制量基准值(基础偏差)大家可以看到积分项是一个历史误差的累积值,如果光用比例控制时,我们知道要不就是达不到设定值要不就是振荡,在使用了积分项后就可以解决达不到设定值的静态误差问题,比方说一个控制中使用了PI控制后,如果存在静态误差,输出始终达不到设定值,这时积分项的误差累积值会越来越大,这个累积值乘上Ki 后会在输出的比重中越占越多,使输出u(t)越来越大,最终达到消除静态误差的目的PI两个结合使用的情况下,我们的调整方式如下:1、先将I值设为0,将P值放至比较大,当出现稳定振荡时,我们再减小P值直到P值不振荡或者振荡很小为止(术语叫临界振荡状态),在有些情况下,我们还可以在些P值的基础上再加大一点。
计算机控制技术课程设计

前 言在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID 控制,又称PID 调节。
PID 控制器问世至今已有近70年历史,它 以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID 控制技术最为方便。
即当我们不完全了解一个系统和被控对象,或 不能通过有效的测量手段来获得系统参数时,最适合用PID 控制技术。
PID 控制,实际中也有PI 和PD 控制。
PID 控制器就是根据系统的误差,利用比例、 积分、微分计算出控制量进行控制的。
1、比例(P )控制比例控制是一种最简单的控制方式。
其控制器的输出与输入误差信号成比例关系。
当仅有比例控制时系统输出存在稳态误差(Steady-state error )。
2、积分(I )控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。
对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的 或简称有差系统(System with Steady-state Error )。
为了消除稳态误差,在控制器中必须引入“积分项”。
积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。
这样,即便误差很小,积 分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。
因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳 态误差。
3、微分(D )控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。
自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。
其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用, 其变化总是落后于误差的变化。
解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。
计控课设报告—PID

1.手自动及无扰切换本设计中,通过扫描计算机按键来控制自动状态与手动状态的切换及量值的增减。
这里的手动,实际上是由计算机实现的“软手动”1)自动状态当扫描到按键“A”时,系统切换为自动状态,由PID控制器计算偏差输出控制量。
自动状态下,可通过“U”“D”两个按键分别实现设定值sp的加和减。
由于算法本身对控制量有保持作用,可实现自动至手动的无扰切换。
2)手动状态当扫描到按键“M”时,系统切换为手动状态,此时PID控制器不工作,由手操器直接改变控制量的加减,输出给对象。
手动状态下,可通过“U”“D”两个按键分别实现控制量u2的加和减。
要实现手动的自动的无扰切换,需要使u(k)=0,即应使e(k-1), e(k-2)和u(k-1)=0等历史状态清零,同时使切换时偏差e(k)=0。
故在手动状态下,让主调的sp跟踪pv,同时让副调的输入量u1跟踪反馈量x1,此时切换可实现无扰。
2.PID参数整定根据对象特性,,初始PID参数为Ti=n*T,Td=(1/3~1/8)Ti。
设初始PID参数为:PID1: Kp1=0.8, Ti1=10.0, Td1=3.3, Tf=6.0PID2: Kp2=0.5, Ti2=1.0, Td1=0.3, Tf=1.0发现前期控制量太小,控制作用太弱,后期控制量大,使超调量较大。
故适当增大微分作用,减小积分作用,使系统受到阶跃扰动时,前期快速动作,同时可以减少超调量。
最终参数为:3.纯迟延模块传入参数:输入值、迟延时间、采样时间迟延周期数等于迟延时间除以采样时间。
将输入值存入一个队列,每个周期将历史值右移,固定周期后输出。
此时输出值是数周期前的输入值,从而达到纯迟延的效果。
4.理想PID算法5.实际PID 算法6.理想PID与实际PID的区别其实就是实际PID加了一个低通滤波器,在阶跃响应最开始时,保证微分有效作用下,减小微分作用带来的冲击,使输出不越限,以保护实际生产过程中的执行机构。
《计算机控制技术》课程设计--数字pid控制器

《计算机控制技术》课程设计--数字pid控制器《计算机控制技术》课程设计姓名,学号,指导老师,时间,——2014年1 月3日《计算机控制技术》课程设计目录第一章《计算机课程设计》任务书................................................................ 错误~未定义书签。
1.1 题目二:数字PID控制器设计 .............................................................. 错误~未定义书签。
1.1.1设计位置式PID控制器和增量式PID控制器 ............................ 错误~未定义书签。
1.1.2模拟PID控制器设计 .................................................................... 错误~未定义书签。
1.2 题目三:控制系统的状态空间设计 ..................................................................... (1)1.2.1 确定状态反馈阵K ...................................................................... .. (1)1.2.2 确定一个全维状态观测器L ........................................................ 错误~未定义书签。
第二章位置式PID控制器设计 ..................................................................... .. 错误~未定义书签。
2.1 位置式PID控制器算法 ..................................................................... ..... 错误~未定义书签。
计算机控制课程设计报告
计算机控制课程设计报告课程名称:计算机控制技术设计题目:PID控制算的matlab仿真研究专业:自动化班级:学号:学生姓名:——————以下由指导教师填写——————分项成绩:出勤成品答辩及考核总成绩:总分成绩指导教师(签名):PID控制算法的MATLAB仿真研究一、课程设计目的和要求 1.目的1)通过本课程设计进一步巩固PID 算法基本理论以及数字控制器实现的认识和掌握,归纳和总结PID 控制算法在实际运用中的一些特性;2) 熟悉MATLAB 语言及其在控制系统设计中的应用,提高学生对控制系统程序设计的能力。
2.要求通过查阅资料,了解PID 算法研究现状和研究领域,充分理解设计内容,对PID 算法的基本原理与运用进行归纳和总结,并独立完成设计实验和总结报告。
二、课程设计的基本内容及步骤 1. 任务的提出在本课设计中采用带纯滞后的一阶惯性环节作为系统的被控对象模型,传递函数为()1d sf Ke G s T sτ-=+,其中各参数分别为:30K =, 630f T =,60d τ=。
本次课程设计使用PID 控制算法,PID 控制是将偏差的比例(Proportional )、积分(Integral )和微分(Differential )三者通过线性组合构成控制量。
PID 控制是应用最广泛的一种控制规律。
在实际应用中,PID 调节器的实现分模拟和数字两种方法。
模拟法就是利用硬件电路实现PID 调节规律。
数字法就是对经典的模拟PID 进行了数字模拟,用数字调节器来代替模拟调节器。
在采样周期较小时,数字模拟PID 控制算法是一种较理想的控制算法。
数字PID 控制在智能检测与控制系统中是一种普遍采用的控制方法。
PID 控制器是一种线性控制器,其控制算法的模拟表达式是:⎥⎦⎤⎢⎣⎡++=⎰dt t de T dt t e Ti t e K t u DP )()(1)()( (1) 式中:U(t)——调节器的输出信号; e(t) ——调节器的偏差信号; KP ——调节器的比例系数;Ti ——调节器的积分时间; TD ——调节器的微分时间;在计算机控制系统中,使用的是数字PID 控制器,数字PID 控制算法通常又分为位置式PID 控制算法和增量式PID 控制算法。
PID控制
•图3-6 PID调节器对阶跃响应特性曲线
e(t) t
0
y∞
KP KD e(t) 0
KP e(t)
KP K1 e(t) t
图3-6 PID调节器调节特性曲线
PID调节规律的特点
PID调节器在阶跃信号作用下,首先是比例, 微分调节,使其调节作用加强,然后再进行 积分调节,最后消除静差为止。
PID调节器无论从静差,还是动态特性的角度 看,调节品质均得到了改善,应用最为广泛。
• 2)对于一阶惯性与纯滞后环节串联的对 象,负荷变化不大,要求控制精度较高, 可采用比例积分控制,例如,用于压力, 流量,液位的控制。
• 3)对于纯滞后时间较大,负荷变化也较 大,控制性能要求高的场合,可采用比 例积分微分控制,如:用于过热蒸汽温 度控制,PH值控制。
• 4)当对象为高阶(二阶以上)惯性环节 又有纯滞后特性,负荷变化较大,控制 性能要求也高时,应采用串级控制,前 馈—反馈,前馈—串级或纯滞后补偿控 制。例如:用于原料气出口温度的串级 控制。
(1)采样周期应比对象的时间常数小得 多,否则采样信息无法反映瞬间变化过 程。采样频率应大于信号变化的频率。 按香农采样定理,为了不失真地复现信 号的变化,采样频率至少应为有用信号 最高频率的2倍,实际常选用4—10倍。
(2)采样周期的选择应注意系统主要干扰的 频谱,特别是工业电网的干扰。一般希望它 们有整倍数的关系,这对抑制在测量中出现 的干扰和进行计算机数字滤波大为有益。
中一种重要的控制方法。 2、PID控制实现的方式 模拟方式:用电子电路调节器,在调节器中,将被
测信号与给定值比较,然后把比较出的差值经PID电路 运算后送到执行机构,改变给进量,达到调节之目的。
数字方式:用计算机进行PID运算,将计算结果转 换成模拟量,输出去控制执行机构。
计算机控制技术课件:第8章 数字PID算法的改进
通过低通滤波器后,微分部分的输出
U d ( s) 1 1 U d ( s) K pTd sE ( s ) Tf s 1 Tf s 1
U d ( s ) T f s U d ( s ) K pTd sE ( s )
u p ( k ) K p e( k ) K p
T k ui ( k ) K p e( k ) K i ( k 1) Ti j 0
ud ( k ) K p Td [e( k ) e( k 1)] K d e( k ) e( k 1) T
从中得出微分部分的输出序列为:
Байду номын сангаас
u( k ) Kp{e( k )
T T e( k ) d [e( k ) e( k 1)]} Ti T
8.2 PID控制算法的改进(21)
当使用不完全微分PID算式时,由标准数字PID调节器的输出 1 t de( t ) u( t ) K p [e( t ) 0 e( t )dt Td ] Ti dt 得微分部分的输出
8.2 PID控制算法的改进(2)
带死区的PID控制结构如图8-6所示。
r(k ) + e(k) - e0
-
e(k)
e0
T
PID
u(k)
执行机构
G(s)
y(k )
图8-6 带死区的PID控制
当 e( k ) e0 时, e(k ) e(k ) 当 e(k )≤ e时, e(k ) 0 0 死区 e 是一个可调的参数。其具体数值可根据实际控制对
计算机控制技术PID
计算机控制技术论文——关于数字PID控制的分析摘要:通过本学期计算机控制技术的学习,我了解了计算机控制系统的概念、特点、分类及发展趋势,并且初步掌握了计算机控制系统离散化、模拟化设计的一般方法,对于一些复杂的计算机控制系统的设计方法只是简单了解,现就计算机控制系统中有关数字PID控制器的设计的内容分析一下,其中包括数字PID的引入背景、具体概念与控制作用、控制器表达式、控制算法、参数整定参数调节及一些现实意义。
在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID 控制,又称PID调节。
PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。
PID控制,实际中也有PI和PD控制。
PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。
关键词:数字PID、比例、积分、微分、控制器参考书目:《计算机控制技术》引言:PID控制器(按闭环系统误差的比例、积分和微分进行控制的调节器)自20世纪30年代末期出现以来,在工业控制领域得到了很大的发展和广泛的应用。
它的结构简单,参数易于调整,在长期应用中已积累了丰富的经验。
特别是在工业过程控制中,由于被控制对象的精确的数学模型难以建立,系统的参数经常发生变化,运用控制理论分析综合不仅要耗费很大代价,而且难以得到预期的控制效果。
在应用计算机实现控制的系统中,PID很容易通过编制计算机语言实现。
由于软件系统的灵活性,PID算法可以得到修正和完善,从而使数字PID具有很大的灵活性和适用性。
在实际工业控制中,大多数被控对象通常都有贮能元件存在,这就造成系统对输入作用的响应有一定的惯性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于带死区PID温度控制系统实训报告1.实习内容及其要求本次实习主要是通过温度的设定值和反馈值,计算其偏差,并使用基本PID、或不完全微分PID或微分先行PID或死区PID或积分分离PID或积分限幅PID 控制算法输出控制信号,整定PID参数,使被控的温度达到设定值。
具体实训内容包括AC6611过程卡的接线和测试、数据采集程序设计、PID算法程序设计、控制输出程序设计、人机界面程序设计、PID参数整定、实训报告。
通过本次实训,让学生了解计算机控制系统的基本组成,提出计算机控制系统的设计思路,初步学会计算机控制系统软硬件设计及调试的方法,具备技术实现能力;基本上能够处理实践过程中出现的问题并提出解决办法,进一步提高学生的计算机应用水平。
要求学生能完成一个基本PID或不完全微分PID或微分先行PID或死区PID或积分分离PID或积分限幅PID单回路温度控制系统的设计和调试过程。
2.AC6611多功能过程通道卡2.1 功能特点与技术指标AC6611是一款廉价通用A/D、D/A板和I/O卡,AD工作在查询方式,采用PCI总线支持即插即用、无需地址跳线。
AC6611具有16路单端模拟输入、1路12位D/A和32路开关量(16路输入及16路输出)。
A/D转换器:120KHZ,12位A/D,ADS7816,a/d内部采样保持器工作方式:软件查询方式16位单输入:输入阻抗:1M欧姆连接器:DB25孔式输入连接器A/D最大通过率:70KHZ1)模拟量输出(D/A)1路12位DA,分辨率12位,精度:0.2%。
电压输出,最大输出电流:5mA。
输出零点误差小于±10mA。
输出范围:10V、±10V,跳线器选择。
输出简历时间小于:50uS。
输出插座:DB25(孔)连接器。
2)模拟量输入(A/D)A/D转换器:120KHZ,12位A/D,ADS7816,A/D内置采样保持器。
工作方式:软件查询。
16路单端输入,输入阻抗:1MΩ最大输入耐压电压:<+12V/-5.5V,瞬时输入耐压:-25V- +30V 连接器:DB25孔式输入连接器。
A/D最大通过率:70KHZ,输入通道建立时间<8uS。
双极性输入范围:-5V—+5V,单极性输入范围:5V、10V。
3)开关量输入/输出16路开关量输入(2个8位),16路开关量输出(2个8位)TTL电平(兼容3V逻辑)开关量输出复位后喂输出为低电平“0”。
输出高电压>2.5V,低电压>0.5V,最大输出电流:8mA输入电流<0.1mA 输入高电压门限>2V,低电压<0.8V输入耐压:高电平最大耐压:8V,低电平:-0.4V连接器:40脚扁平电缆插座。
4)其它符合PCI V2.1标准,供电:+5V、+12V、-12V。
AC6611占用64个I/O选通空间工作温度:0—70℃,尺寸:12(W)X 9(H)(厘米)2.2 应用方法和步骤1)关闭计算机的电源;2)将AC6611板卡插入PCI槽中(实物图如下:);3)打开计算机电源,启动Windows 2000/XP ;4)Windows 2000/XP 将会显示找到新硬件,可按找到新硬件向导进行下一步;5)选择搜索设备的最新驱动程序;6)选择驱动所在目录,进行安装(\ac6611\driver\);7)按找到新硬件向导的提示进行下一步(端子连接图如下:);8)Windows 2000/XP 将显示完成添加/删除硬件向导,单击完成即可完成安装过程。
在完成上述操作后,打开AC6611的静态测试程序,在通道选择处选择你所需要的输入量程及起始通道和停止通道,输入选择处选择0到10伏的电压,输出选择处也选择0到10伏电压。
起操作界面如下:在静态测试完成后,就可以编程对AC6611进行测试,其步骤如下:1)加载DLL;2)调用AC6611_CreateDevice();3)调用AC6611_AD();4)调用AC6611_DA();5)调用AC6611_DI();6)调用AC6611_DO();7)AC6611_CloseDeivce()。
3.方案设计根据加热器的过程特性和控制装置的情况,采用带死区单回路温度控制系统,系统框图如下:3.1加热器的过程特性加热器的工作原理是把一个匝数较多的初级线圈和一个匝数较少的次级线圈装在同一个铁芯上。
输入与输出的电压比等于线圈匝数之比,同时能量保持不变。
因此,次级线圈在低电压的条件下产生大电流。
我们这次做的死区PID温度控制系统中,使用的加热器其加热上限是100℃。
在加热器加热的过程中,通过死区PID算法的控制,使其温度稳步地逼近设定值,并在允许的偏差范围内有较小的波动。
其在工作的时候是通过外在的控制器给予它一个模拟的信号,来驱动加热器工作,在此同时它也会向控制器反馈它此时的温度状态。
3.2加热器温度控制系统的实现方案对于加热器温度控制系统,在硬件上我们采用的是AC6611板卡、AC157和一个用于实训的加热器。
在软件上我们采用的标准的PID控制算法对其进行的控制输出。
从而有机的把软硬件整合成为一个整体,构成一个比较简易的加热器温度控制系统。
3.3 AC6611和加热器接线图设计AC6611是通过AC157和加热器相连接的,在加热器的输出和地之间还需要接一个500Ω的电阻,实际中,我们是将两个1K的电阻串接起来,将4到20毫安的电流转换成2到10伏的电压。
其具体的实物接线图和模块图如下:模块图实物图3.4 控制程序的方案设计和模块划分控制程序组成框图如下图所示,数据采集模块将AC6611采集到的数值经过处理后送到PID控制算法模块。
由于PID控制算大是递归算法,所以AC6611采集到得数据和PID算法模块本身的计算结果都将送入到PID算法模块中,通过计算产生的结果通过数据输出模块本身的计算结果都将送入到PID控制算法模块中,经过计算产生得结果通过数据输出模块转换后送到AC6611的模拟量输出端:控制程序的方案设计主要分为界面设计、数据采集处理程序的设计、实时控制程序设计。
界面设计包括趋势曲线,设定值,过程量,控制量的显示以及死区设定的显示等。
数据采集和处理和处理程序设计包括AC6611数据采集程序、D/A输出程序、标度换算、数字滤波等相应的程序设计。
实时控制程序包括PID算法、输出等程序的设计。
1)在趋势曲线的显示时,我们分别用红、蓝、绿三种颜色的线条显示SP、PV和MV的相应实时值,其值来自PID的算法程序的输出。
2)在编辑栏中我们可以修改死区PID控制算法的相应的参数P、I、D及死区的至等。
当修改完成后,我们可以点击确认按钮,将修改后的参数送入到算法程序中去。
数据采集齐全后可点击退出,结束运算。
4.数据采集与输出程序设计4.1 AC6611数据采集与温度换算程序加热器的温度的变化范围是0到100℃,AC6611只用到了其一半的量程,也就是说其代码只用了0到2047。
其具体的数据采集和温度的换算程序如下:unsigned long ad_data;unsigned long da;AC6611_AD(hDevice, 5, &ad_data);adv=ad_data*10/4095.0;PV=(adv-2)*100/(10.0-2.0);Edit4->Text=FloatToStrF(PV,0,4,4);En=SP-PV;if(fabs(En)<=PID_DB) En=0;DeltaUn=q0*En+q1*En1+q2*En2;Un=Un1+DeltaUn;if( Un>100.0) Un=100.0;if(Un<0) Un=0;Un1=Un;En2=En1;En1=En;da=(unsigned short int)(Un*4095.0/100.0);AC6611_DA(hDevice,da);4.2 数字滤波算法及程序设计由于本程序没有数字滤波算法,固此部分空缺。
4.3控制量与D/A代码换算及输出程序此带死区的PID温度控制系统程序中无此输出程序。
5.PID控制算法程序设计一般PID控制算法根据偏差的比例(P),积分(I),微分(D)进行控制(简称PID控制),是控制系统中应用最广泛的一种控制规律。
实际运行的是经验和理论的分析都表明,这种控制规律对许多工业控制时,都能得到满意的结果,不过用计算机实现PID控制,不是简单的把模拟PID控制规律数字话,而是进一步与计算机的逻辑判断功能结合,使得PID控制规律数字话,而是进一步与计算机的逻辑判断功能结合,使得PID控制更加灵活,更能满足生产过程提出的要求。
带死区的PID控制算法:在计算机控制系统中,某些系统为了避免控制过于频繁,以消除由于频繁动作引起的震荡,又是采用所谓带有死区的PID控制系统,相应的算法有死区是一个可调参数,其具体数值可根据实际控制对象有实验确定。
它的值太小使得调节过于频繁,达不到稳定被调节的对象的目的:如果它的值取得太大这系统产生很大之后;当他的值去成0的时候就相当于常规PID控制算法。
该系统实际是一个非线性控制系统。
即当偏差绝对值小于的时候,p(K)=0;当偏差绝对值大于,p(K)=e(K),输出以PID运算结果输出。
5.1温度设定曲线的程序实现在进行温度设定曲线的绘制时,我们需要将温度的设定曲线和程序中的采样程序结合起来才能够体现出程序的实时性,具体的程序如下:Image1->Picture->LoadFromFile("qushi.bmp");Image1-> Canvas->Pen->Width = 1;Image1-> Canvas->Pen->Color = clRed;Image1->Canvas->MoveTo(0,300);for(int i=0;i<480;i++) Image1->Canvas->LineTo(i,300-sptrend[i]);Image1-> Canvas->Pen->Color = clBlue;Image1->Canvas->MoveTo(0,300);for(int i=0;i<480;i++) Image1->Canvas->LineTo(i,300-pvtrend[i]);Image1-> Canvas->Pen->Color = clGreen;Image1->Canvas->MoveTo(0,300);for(int i=0;i<480;i++) Image1->Canvas->LineTo(i,300-mvtrend[i]);//Edit1->Text=FloatToStrF(SP,0,4,4);Edit2->Text=FloatToStrF(PV,0,4,4);Edit3->Text=FloatToStrF(Un,0,4,4);5.2死区PID算法adv=ad_data*10/4095.0;PV=(adv-2)*100/(10.0-2.0);Edit4->Text=FloatToStrF(PV,0,4,4);En=SP-PV;if(fabs(En)<=PID_DB) En=0;DeltaUn=q0*En+q1*En1+q2*En2;Un=Un1+DeltaUn;5.3 PID控制算法的程序设计在此加热器温度控制系统我们所采算法是带死区的PID控制算法,程序设计如下(附流程图):adv=ad_data*10/4095.0;PV=(adv-2)*100/(10.0-2.0);Edit4->Text=FloatToStrF(PV,0,4,4);En=SP-PV;if(fabs(En)<=PID_DB) En=0;DeltaUn=q0*En+q1*En1+q2*En2;Un=Un1+DeltaUn;if( Un>100.0) Un=100.0;if(Un<0) Un=0;Un1=Un;En2=En1;En1=En;da=(unsigned short int)(Un*4095.0/100.0);AC6611_DA(hDevice,da);6.控制程序的调试6.1主要调试的内容本次程序编写完毕后,为了验证系统的稳定性和可靠性,此时运行该程序,必须要经过反复的操作和验证后的系统才是一个稳定可靠的系统。