打印

PID温度控制?

[复制链接]
5587|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
7120223|  楼主 | 2009-12-2 15:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 7120223 于 2009-12-3 16:36 编辑

我是用PT100来做的温度控制器,加热器件为康铜丝加热一个环形铝盘,大概两斤重40度。本来是用继电器控制的,现在看了PID控制方式,感到很疑惑,第一次接触,PID按照我现在理解是和PWM一样输出的占空比,那这样的话用继电器就不行了,是不是只能用三极管或别的器件,能否还是用继电器,不理解支出PID控制方式是5S只能输出2s加热3s不加热?还是向脉冲式的一样 本来36V加热,现在通过占空比来导通使其变成24V或别的电压值来加热的?

【例5—1】设有一温度控制系统,温度测量范围是0~600℃,温度采用PID控制,控制指标为450±2℃。已知比例系数Kp=4 ,积分时间T1=60s ,微分时间Td=5s ,采样周期T=5s 。当测量值c(n)=448 ,c(n-1)=449 ,c(n-2)=442 时,计算增量输出△u(n) ?若 ,计算第n次阀位输出u(n) ?
解:将题中给出的参数代入有关公式计算得
K1=Kp*T/T1=4*5/60=1/3,              Kd=Kp*Td/T=4*15/5=12,
由题知,给定值 ,将题中给出的测量值代入公式(5-1-4)计算得
e(n)=r-c(n)=450-448=2,
e(n-1)=r-c(n-1)=450-449=1,
e(n-2)=r-c(n-2)=450-452=2;
代入公式计算得 代入公式(5-1-19)计算得
△u(n)=4*(2-1)+1/3*2+12*[2-2*1+(-2)]=19
u(n)=u(n-1)+△u(n)=1860+(-19)=1841                 这是最终结果
参考公式为:△u(n)= u(n)-u(n-1)
                             =Kp[e(n)- e(n-1)]+ Kp*T/T1*e(n)+ Kp*Td/T*[e(n)- 2e(n-1)+e(n-2)]
这道题目最终结果是什么意思?果-19和1841各表示什么意思?请举个实例说明好不

相关帖子

沙发
原野之狼| | 2009-12-2 15:40 | 只看该作者
PID算法算出来的值是经过归一化处理的数据 范围为0%~100% 分辨率看算法是怎么处理的 我一般使用0.1% 太高的分辨率也没有多大意义 有可能后面的负载无法分辨这个分辨率
这个归一化的结果就是PID的输出了 至于如何去控制相应的设备 那就得看你通过何种方式来操作了
对于温度控制系统
如果是直流加热 那么可以采用占空比的方式来控制 控制频率不高的话就使用继电器 频率高的话就得采用开关器件了
如果是交流加热 控制频率不高的话也可以采用继电器 频率高的话就采用移相调功

使用特权

评论回复
板凳
chunyang| | 2009-12-2 21:07 | 只看该作者
PID控制算法和PWM之见没有必然的联系,作为执行驱动方法之一,PWM可用,但其并非PID算法的组成部份,PID本身的输出是线性数值,PWM则可以理解成一种AD方法。采用PWM输出时当然不能用继电器,即使动作频率不高也不行,触点寿命有限,继电器的动作时间也过长,系统容易发生振荡,应该用功率半导体开关,交流负载的话还可以用可控硅,但这时不能用PWM信号做驱动。

使用特权

评论回复
地板
原野之狼| | 2009-12-2 21:32 | 只看该作者
原来用过一般的继电器 也用过固态继电器 周期10秒左右

使用特权

评论回复
5
7120223|  楼主 | 2009-12-3 08:23 | 只看该作者
3楼,PID本身的输出是线性数值?是线性的???
2楼,0.1%是什么意思呢。比如如你所说继电器10S,那么范围0%~100%,是不是在0%是继电器不输出,100%时继电器为周期10s一直在加热,可以这么理解的么

使用特权

评论回复
6
zjp8683463| | 2009-12-3 10:21 | 只看该作者
建议lz先去复习下控制理论。
再根据实际情况画出控制框图。
这样什么是PID控制就一目了然了。

使用特权

评论回复
7
HWM| | 2009-12-3 10:33 | 只看该作者
PID也就是一句话:

根据
当前——P,
历史——I,
预测——D
的线性组合
来控制目标系统。

至于如何控制,可以是连续执行量,也可以是离散化(极端情况二值化)量。

使用特权

评论回复
8
zjp8683463| | 2009-12-3 11:03 | 只看该作者
如果你也能画出类似下面的控制框图,那么你对控制系统就有一定认识了

使用特权

评论回复
9
7120223|  楼主 | 2009-12-3 12:35 | 只看该作者
理论正在看,只是初次接触,好多不理解的地方,请不吝指教

使用特权

评论回复
10
7120223|  楼主 | 2009-12-3 16:33 | 只看该作者
【例5—1】设有一温度控制系统,温度测量范围是0~600℃,温度采用PID控制,控制指标为450±2℃。已知比例系数Kp=4 ,积分时间T1=60s ,微分时间Td=5s ,采样周期T=5s 。当测量值c(n)=448 ,c(n-1)=449 ,c(n-2)=442 时,计算增量输出△u(n) ?若 ,计算第n次阀位输出u(n) ?
解:将题中给出的参数代入有关公式计算得
K1=Kp*T/T1=4*5/60=1/3,              Kd=Kp*Td/T=4*15/5=12,
由题知,给定值 ,将题中给出的测量值代入公式(5-1-4)计算得
e(n)=r-c(n)=450-448=2,
e(n-1)=r-c(n-1)=450-449=1,
e(n-2)=r-c(n-2)=450-452=2;
代入公式计算得 代入公式(5-1-19)计算得
△u(n)=4*(2-1)+1/3*2+12*[2-2*1+(-2)]=19
u(n)=u(n-1)+△u(n)=1860+(-19)=1841                 这是最终结果
参考公式为:△u(n)= u(n)-u(n-1)
                             =Kp[e(n)- e(n-1)]+ Kp*T/T1*e(n)+ Kp*Td/T*[e(n)- 2e(n-1)+e(n-2)]
这道题目最终结果是什么意思?结果-19和1841各表示什么意思?

使用特权

评论回复
11
xinge3721| | 2009-12-4 17:20 | 只看该作者
19楼
△u(n)=4*(2-1)+1/3*2+12*[2-2*1+(-2)]=-19
-19表示现在的输出比上次减少了19,
1841表示现在的输出为1841,
具体意义就是乘以一个系数可以转换为占空比或其他的东西,从而控制被控对象。
明白了吧?

使用特权

评论回复
12
gx_huang| | 2009-12-5 11:04 | 只看该作者
假如计算的输出范围是0-10000,
则计算结果是1000表示:
输出10%的功率就可以了。
如果是继电器输出,如果输出周期是20S,则每20S输出2S就可以了。

使用特权

评论回复
13
angleslm622| | 2013-3-7 17:06 | 只看该作者
我现在也在用加热盘对东西加热,需要对加热盘进行温度的PDI控制!实在不知道PDI 怎么用  有木有好的书籍推荐 或者好的例程

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

105

主题

389

帖子

0

粉丝