搜索
bottom↓
楼主: fsmcu

温控PID参数调节实验过程

  [复制链接]

出0入0汤圆

发表于 2008-7-22 14:30:43 | 显示全部楼层
楼主,增量式的参数整定按上面方法也可行吗?

出0入0汤圆

发表于 2008-7-6 01:05:26 | 显示全部楼层
对于这种我这种 不懂 自动控制的人
还是看的不明白

主要是思路 没有看的很清楚,过程挺清楚的。看到你得到了一个个的图,一个个的结果
但是没有明白 你为什么要做这些试验,做这些试验得到的参数与 理论_公式中的 参数到底是个什么关系

我想 程序应该不复杂。

出0入0汤圆

发表于 2008-7-4 14:59:11 | 显示全部楼层
jihao

出0入0汤圆

发表于 2008-7-3 11:30:52 | 显示全部楼层
好贴,正要研究下PID算法,收藏之

出0入0汤圆

发表于 2008-7-2 18:07:51 | 显示全部楼层
临界增益KC=9.2     你能看明白这个参数是怎么来的么?看明白了,下面的就好明白了

出0入0汤圆

发表于 2008-7-2 14:49:59 | 显示全部楼层
chuchu3030你好,看来是高手了,能帮一下吗?

》》》》》》》》》》

出0入0汤圆

发表于 2008-7-2 14:29:31 | 显示全部楼层
呵呵,在线自整定,其实,这个帖子里头就已经说明了一点点了,如果,你们再结合一下别的资料,就会搞明白自整定的算法了,多看两遍这个帖子,再找一下别的资料辅助一下,相信各位会成功的

出0入0汤圆

发表于 2008-7-1 23:46:20 | 显示全部楼层
先顶了

出0入0汤圆

发表于 2008-6-23 12:55:00 | 显示全部楼层
学习了,谢谢

出0入0汤圆

发表于 2008-6-23 12:01:47 | 显示全部楼层
好帖 正在学习中

出0入0汤圆

发表于 2008-6-23 08:19:53 | 显示全部楼层
【117楼】 Edesigner
积分:661
派别:
等级:------
来自:
        pid控制最高境界是在线自整定。在pid运行的过程中自动修正p,i,d参数。我一直在找这种资料,找未找到。找到后放上来。
 ---------------------------------------------------------------------------------------------------------------

估计够呛,就是找到也可能是一大堆的公式,专家级的才能看懂。

出0入0汤圆

发表于 2008-6-23 00:40:47 | 显示全部楼层
pid控制最高境界是在线自整定。在pid运行的过程中自动修正p,i,d参数。我一直在找这种资料,找未找到。找到后放上来。

出0入0汤圆

发表于 2008-6-20 12:11:54 | 显示全部楼层
楼主在努力一下,Ziegler-Nichols公式对于临界Ku有专用公式求取,可否做成自动求取Ku,这样适应性会更强,同样希望能共享出来。

出0入0汤圆

发表于 2008-6-20 11:03:51 | 显示全部楼层
这是一篇很有技术含量的帖子.对加不加COOL,不要太在意.对于高手来讲,关键点一点就通.如果连这点悟性都没有的话,是不合适搞技术的.我是看不惯动不动要程序的做法。
对于新手来讲,这个帖子看看热闹就行了,连编程都不太熟,搞这些对于技术提升,意义不大.
从跟帖上看,好几位网员讲得很对.特别是64#LOVEMCU 和93#gx_huang .这说明他们以前对该项目有过研究.一般讲,对于温控这类大滞后系统,用单纯的PID控制,是不太合适的.楼主要是不信的话,可以试一试可变负载。在多大范围内,才能保证不会超调?
建议楼主用模糊控制方法或模糊PID控制方法,结合以上几位提的回帖内容再试试.

出0入0汤圆

发表于 2008-6-19 23:14:12 | 显示全部楼层
这帖子确实很有内涵,受益匪浅。非常感谢LZ无私奉献的精神!

出0入0汤圆

发表于 2008-6-19 17:52:06 | 显示全部楼层
说实话,这是我看的次数最多的一个贴子,后来干脆打印出来了:)

个人不负责的认为:这个贴子可能能抵上OURAVR上有些30个酷贴的内涵。

真的希望LZ(好久不见芳踪)或其它工控高手在自整定上也来这么一篇。

出0入0汤圆

发表于 2008-6-19 17:32:36 | 显示全部楼层
to 阿莫:
小小建议,在“网站建设与建议”区开个置顶贴(详细说明置COOL标准),想申请置COOL或建议置COOL的意见都去那里发表,那样阿莫就不用到处找COOL贴了,网友也不用为COOL贴不COOL伤心了;
相对的,对于多次乱申请,或多次乱建议的ID,以致增大阿莫工作量和淹没他人申请意见的,可以考虑暂停ID几天处理 :)

出0入8汤圆

发表于 2008-6-19 10:18:21 | 显示全部楼层
这个才是真正的裤贴,收藏。

出0入4汤圆

发表于 2008-6-19 09:18:14 | 显示全部楼层
这个贴子这样子最好,加了“酷”反而不好看了。

内容是第一位的,cool 不 cool 倒不是那么重要。

出0入147汤圆

发表于 2008-6-18 19:41:06 | 显示全部楼层
这贴绝对应该置酷.这比很多的源码+电路图酷帖的好多了~~~!

出0入0汤圆

发表于 2008-6-18 16:42:34 | 显示全部楼层
好贴!!!

另外纠正一点:
楼主在40楼的理解有偏差,可控硅控制市电一般有两种方式:调压法(控制导通角)和调功_法(控制通断电时间比)

调功_法(控制通断电时间比)就是楼主40楼的图片示例,控制周期为多个半波时间;

调压法(控制导通角)则是控制每一个半波的导通时间(0-180),控制周期为一个半波时间,即10ms;
由于可控硅只能在过零点关断,所以一般做法是:
1.单片机检测到过零点,
2.定时器延时一段时间后给出一个脉冲,使可控硅导通,
3.之后维持低电平,则220V过零时,可控硅自动关断,
4.重复第1步。


可控硅控制导通角 (原文件名:未命名.JPG)

出0入0汤圆

发表于 2008-6-18 10:52:13 | 显示全部楼层
好贴啊,经典好贴!!!我顶

---------------------------------------------------------------------------
【35楼】 fsmcu
积分:89
派别:
等级:------
来自:
        谢谢大家来捧场!,咦,分析的这么努力,还没有穿上裤子啊,哈哈!
这个星期有时间再来理论结合实践分析一下:PID参数自整定方法
--------------------------------------------------------------------------- 

好长时间不见LZ出现,期待有高人再这样通俗的来一篇自整定的文章。

出0入0汤圆

发表于 2008-6-3 17:36:49 | 显示全部楼层
好帖。学习了。

出0入0汤圆

发表于 2008-6-3 17:00:51 | 显示全部楼层
好帖子,先收藏了

出0入228汤圆

发表于 2008-6-3 01:25:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-5-22 01:40:36 | 显示全部楼层
经典一贴!谢谢!
头像被屏蔽

出0入0汤圆

发表于 2008-5-22 01:13:40 | 显示全部楼层
标记

出0入0汤圆

发表于 2008-5-21 23:10:38 | 显示全部楼层
楼主再接再厉啊,2斤重的铁块,温度滞后是比较小的,使用一些简单的PID算法应该就可以达到目的
但是对于一些大惯性滞后系统,上升时间和超调让人很头痛,比如锅炉的汽包压力PID控制,PID输出增加鼓风和引凤机转速后,汽包压力经常要7,8分钟后才会略有增加,对于大的锅炉,这个时间还要增加,我试了很多种参数组合,都难以达到理想的效果。当用气量突然增加导致汽包压力下降时,PID很难快速响应
楼主的图表、分析做的很踏实

出0入0汤圆

发表于 2008-5-21 22:50:20 | 显示全部楼层
模糊PID,就是查表的

出0入0汤圆

发表于 2008-5-21 22:29:30 | 显示全部楼层
初学者,不知道如何查表法来实现pid.

出0入0汤圆

发表于 2008-5-21 22:26:06 | 显示全部楼层
哈哈 ,发现一个有经验的人了,他就是----------93楼的

出0入0汤圆

发表于 2008-5-21 22:12:31 | 显示全部楼层
看了这个帖子,强!
终于发现自己的数学都忘光了,只会做实验不会整理数据了。
楼主,能否做以下实验:
1、把输出周期加大到20秒左右,适合继电器工作
2、把铁块改为铝块,或者减少铁块重量
3、加大加热功率,从200W改为500W或者更大
4、在铁块上泼一些冷水,看是否会振荡
5、当室温在25度时,要求控制温度在30-35度,此时加热输出也许只要0.5%,看能否稳定住
6、当铁块的形状比较长时,加热丝和传感器距离比较远,滞后比较大时,会振荡吗?

请楼主不要怪我提这么多问题,这些问题都是我在实际中遇到的,不解决这些问题,就无法商用!

出0入0汤圆

发表于 2008-5-21 13:48:29 | 显示全部楼层
我也正在调PID控制
再请教一下楼主,你的输出量是0-500变化量,是如何让PID实现的?我通过PID算出来是值怎么有正负的整数?

出0入0汤圆

发表于 2008-5-1 11:30:48 | 显示全部楼层
授人以鱼不如授人以渔

出0入0汤圆

发表于 2008-5-1 08:23:45 | 显示全部楼层
谢谢楼上的,我收了

出10入0汤圆

发表于 2008-4-30 08:20:33 | 显示全部楼层
好贴!整理收藏!
点击此处下载 ourdev_262563.pdf(文件大小:707K) (原文件名:对于温度控制系统参数的整定过程及方法.pdf)

出0入0汤圆

发表于 2008-4-29 22:32:06 | 显示全部楼层
好东东 mark

出0入0汤圆

发表于 2008-4-29 21:07:29 | 显示全部楼层
.

出0入0汤圆

发表于 2008-4-29 19:13:11 | 显示全部楼层
mark ! thanks !

出0入0汤圆

发表于 2008-4-29 15:59:13 | 显示全部楼层
PID控制 好帖子,很实用

留个记号

出0入0汤圆

发表于 2008-4-29 00:57:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-4-28 23:59:40 | 显示全部楼层
好东东 再顶一次

出0入0汤圆

发表于 2008-4-28 23:12:13 | 显示全部楼层
我也想做一下,问一下硬件部分的光耦和可控硅怎么连的,有没有相关资料啊?它们的型号是什么样的?

出0入0汤圆

发表于 2008-4-23 18:31:17 | 显示全部楼层
收益不小,不顶不行啊!!!

出0入0汤圆

发表于 2008-4-22 13:18:51 | 显示全部楼层
顶成 COOL

出0入0汤圆

发表于 2008-4-22 13:06:26 | 显示全部楼层
好帖!!
收藏~~~~~~~~~

出0入0汤圆

发表于 2008-4-22 12:18:46 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2008-4-21 23:11:58 | 显示全部楼层
ok

出0入0汤圆

发表于 2008-4-21 23:05:06 | 显示全部楼层
做个记号

出0入0汤圆

发表于 2008-4-1 15:20:57 | 显示全部楼层
思路才是最重要的,谢谢楼主

出0入0汤圆

发表于 2008-4-1 15:04:27 | 显示全部楼层
mark!

出0入0汤圆

发表于 2008-3-19 08:57:18 | 显示全部楼层
楼上的过冲太大了点吧。P和I的系数还可以再调调。

出0入0汤圆

发表于 2008-3-18 18:34:46 | 显示全部楼层
控制在140度的图片:
1

出0入0汤圆

发表于 2008-3-18 18:31:31 | 显示全部楼层
PID算法分位置式PID、增量式PID、积分分离式PID
曾经用51控制温度的程序(增量式):
          ei=sv-20*pv;
      q0=K*(ei-ex);
             if(Ti==0)
          q1=0;
          else
          q1=K*0.001*Ts*ei/Ti;
          q2=1000*K*Td*(ei-2*ex+ey)/Ts;
      ey=ex;
      ex=ei;
      op=op+q0+q1+q2;   
          if(op>4.5)
          {op=4.5;}
          if(op<1)
          {op=1;}

出0入0汤圆

发表于 2008-3-18 17:06:43 | 显示全部楼层
期待,现在PID算法很重要!不知那位高手能来个全面的讲解!

出0入0汤圆

发表于 2008-3-18 15:34:00 | 显示全部楼层
好东西收藏了

出0入0汤圆

发表于 2008-3-18 10:27:55 | 显示全部楼层
up!

出0入46汤圆

发表于 2008-3-17 14:18:57 | 显示全部楼层
好东西!

出0入0汤圆

发表于 2008-3-17 13:38:28 | 显示全部楼层
关于温度传感器部分还想说两句。大部分sensor的阻值与温度的关系都不是线性的,可以根据具体的要求采用不同的方法来解决。当要求精度比较高时,可以采用查表(这个是最麻烦的)或者分段插值的方法;当要求精度不是很高时,可以将关系曲线分成简单的几段,分别采用近似的线性或者对数关系来处理。
   下图是我用到的几款sensor的阻值与温度的关系曲线:
  1

出0入0汤圆

发表于 2008-3-17 13:17:29 | 显示全部楼层
好,就一个字!

出0入0汤圆

发表于 2008-3-17 13:12:16 | 显示全部楼层
楼上的朋友,发个资料给你参考一下。
  
   点击此处打开ourdev_232355.pdf(文件大小:264K)

出0入0汤圆

发表于 2008-3-17 12:20:12 | 显示全部楼层
想找PID自整定方面的资料,关注中

出0入0汤圆

发表于 2008-3-17 09:34:12 | 显示全部楼层
PID的调节方法其实很简单,只是要花点时间而已.控制的效果如何,主要取决于选用的sensor和ADC芯片.秀一下偶做的一个项目,温度的精度可以做到0.1摄氏度以内,从常温加热到75摄氏度的时间在3分钟之内(这个时间参数很重要的).

   1

出0入0汤圆

发表于 2008-3-17 00:34:54 | 显示全部楼层
好东西,顶楼主。

出0入0汤圆

发表于 2008-3-16 23:10:25 | 显示全部楼层
好东东,收藏了

出0入0汤圆

发表于 2008-3-16 22:45:58 | 显示全部楼层
关注!

出0入0汤圆

 楼主| 发表于 2008-3-16 22:23:34 | 显示全部楼层
回55楼:
main()主程序里是每5秒运行一次 PID_Cal()

出0入0汤圆

发表于 2008-3-16 21:46:50 | 显示全部楼层
老实说用8位来做浮点运算还真不爽,不过C不像以前用汇编来写了,都有库函数,也没什么关系

出0入0汤圆

发表于 2008-3-16 21:35:16 | 显示全部楼层
我也接了个这个项目啊,刚开始起步,楼主好厉害啊,有空交流

出0入0汤圆

发表于 2008-3-16 19:41:32 | 显示全部楼层
楼主,想讨教一下, PID_Cal()里的T为5秒,那么在main()主程序里是否每5秒运行一次 PID_Cal()?

出0入0汤圆

发表于 2008-3-15 21:37:15 | 显示全部楼层

出0入0汤圆

 楼主| 发表于 2008-3-15 21:18:54 | 显示全部楼层
PID的源代码在网上基本都是公开的,既然大家都希望看一看,我还是贴出来吧,估计看了也很失望,因为我的也是网上的代码一模一样的,既然数学模型已经建立,程序只是把这个模型用语言把他表达出来而已,其实很多人PID实验不成功,就是没有仔细去分析参数的调节过程,我是想通过上面的实验过程来给大家一个思路去如何调节这几个参数,而不是在网上到处搜索源程序,然后抱怨下载的PID源程序都不能满足自己的调节要求。
经过实验发现:位置式整定的参数不能直接用在增量式上面,会出现超调的时间居多,无法稳定在目标值上

//PID计算
UINT16 PID_Cal(void)
{
        float xdata pterm,iterm,dterm;

        //把当前的温度和设定的目标温度定义好
        ppid->pv = SystemRealTemprature;
        ppid->sp = SystemSetTemprature;

        //根据实验得出:Kp=5.98 T=5 Td=27 Ti=112.5

        //PID数学模型
        //u(t) = kp * e(t) + ki * [e(1) + e(2) + ....+ e(t)] + kd * [e(t) - e(t-1)]
       
        ppid->errk = (float)(ppid->sp - ppid->pv);

        pterm = ppid->kp * ppid->errk;

        ppid->sum += ppid->errk;               
        iterm = ppid->ki * ppid->sum;
       
        dterm = ppid->kd * (ppid->errk - ppid->errk_1);

        ppid->Last_Out = pterm + iterm + dterm;

        ppid->errk_2 = ppid->errk_1;
        ppid->errk_1 = ppid->errk;

        if(ppid->Last_Out > SampleT)
                ppid->Last_Out = SampleT;
        else if(ppid->Last_Out < 0)
                ppid->Last_Out = 0;

        printf("%d   p=%d   i=%d   d=%d   ",SystemRealTemprature, (int)pterm, (int)iterm, (int)dterm);
        printf("H=%d\n", (UINT16)ppid->Last_Out);

        return        (UINT16)ppid->Last_Out;
}

出0入0汤圆

发表于 2008-3-15 11:30:06 | 显示全部楼层
谢谢楼主给我们这么精彩的分析,但我还想问个问题,在位置式中整定的参数是否能用于全量式?

出0入0汤圆

发表于 2008-3-15 10:56:20 | 显示全部楼层
波形图做的很漂亮

出0入0汤圆

发表于 2008-3-15 09:24:44 | 显示全部楼层
留一份纪念

出0入0汤圆

发表于 2008-3-15 09:17:46 | 显示全部楼层
pid理解好了 很有用  

很多场合pi或pid足够用了

出0入0汤圆

发表于 2008-3-15 07:57:28 | 显示全部楼层
PID用C51实现的代码在网上找找是一大堆!但是就是没有见到AVR的,对于高手来说简单,但对于和我一样半路出身,只会AVR的兄弟来说确实是一个高难度的东西,原理是懂一点,但是应用到实践中就不会了。从本贴里加深了对PID的理解,谢谢楼主。
期待楼主发布源码 + 电路,这样会有更多的人受益。

出0入0汤圆

发表于 2008-3-15 00:18:13 | 显示全部楼层
源码+电路+分析,就更酷了。

出0入0汤圆

发表于 2008-3-13 09:54:24 | 显示全部楼层
期待楼主发布源码

出0入0汤圆

发表于 2008-3-12 09:53:46 | 显示全部楼层
PID用C51实现的代码在网上找找,一大堆!

出10入10汤圆

发表于 2008-3-12 09:42:20 | 显示全部楼层
楼主很强,能否做成pdf文件。

出0入0汤圆

发表于 2008-3-12 09:08:23 | 显示全部楼层
阿莫,不要太小气了,应该要给条裤子了

出10入120汤圆

发表于 2008-3-12 00:54:29 | 显示全部楼层
呵呵,估计阿莫也是一个认死理的人 :-)

出0入0汤圆

发表于 2008-3-11 22:43:09 | 显示全部楼层
这个帖子绝对可以换条裤子了。鱼和渔的关系想必大家都知道吧。

出0入0汤圆

 楼主| 发表于 2008-3-11 18:10:46 | 显示全部楼层
我的硬件系统是51单片机通过光耦触发可控硅来实现给电热丝供电,并且检测交流电过零,控制导通周期,至于上面看到的数据解析图片,是单片机通过串口将时时温度数据传递给PC,然后保存起来用EXCEL软件分析,温度走势,看PID的控温效果,等一下我将实验图片上传。下面是控制解析图,不知道表达清楚不?
1

出0入0汤圆

发表于 2008-3-11 14:04:22 | 显示全部楼层
这样的帖子不需要完整代码的。重要的是控制算法和试验思路。

楼主已经_文字说明了电路连接关系,也已经说了,是在5S中得到500次过零中断,输出的控制结果是【这500次过零中,可控硅需要完全导通多少次】,用的是控制导通周期个数,而不是调导通角。

提问,
1. 应该需要平均分配导通的周期。比如结果是只需要导通50次,那么应该1次开9次关,比50次开450次关要好吧?

2.  用K型热电偶采集温度,采用MAX6675做温度转换,可以到0。25度的精度
===>记忆中,K型热电偶的精度不会高过1度的,应该是“MAX6675可以提供0.25度的分辨率”,
精度可以校正,分辨率就只能要原始传感器及其电路的处理了。比如热敏电阻精度不高,但是可以提供0.1度的分辨率。
另外,不知道现在的热电偶的重复性如何,因为用于体温计的热敏电阻重复性是足够好的。

3.  控制可控硅,需要跟大家解释一下你的安全措施,比如跟PC的串口是怎么隔离的,,,,或者你是采用光耦隔离触发可控硅?

出0入0汤圆

发表于 2008-3-11 13:32:49 | 显示全部楼层
感觉不错,支持,个人认为这些不一定非要代码,电路的.

出0入0汤圆

发表于 2008-3-11 10:25:15 | 显示全部楼层
pid的难度在于把理论怎么用于实际问题上,自动控制我也学过了,但是只能理论,实践不知道怎么下手。

出0入0汤圆

发表于 2008-3-11 10:23:00 | 显示全部楼层
没代码 没电路 只是结果分析 不可能给酷的

出0入0汤圆

 楼主| 发表于 2008-3-11 09:30:28 | 显示全部楼层
谢谢大家来捧场!,咦,分析的这么努力,还没有穿上裤子啊,哈哈!
这个星期有时间再来理论结合实践分析一下:PID参数自整定方法

出0入0汤圆

发表于 2008-3-10 23:17:53 | 显示全部楼层
优秀的概念分析,可怜我一个控制专业的人,概念还没有你这么清晰.

出0入0汤圆

发表于 2008-3-10 11:52:44 | 显示全部楼层
好  不错

出0入0汤圆

发表于 2008-3-10 11:47:30 | 显示全部楼层
好  不错

出0入0汤圆

发表于 2008-3-10 08:06:26 | 显示全部楼层
标记!

出10入120汤圆

发表于 2008-3-10 08:03:16 | 显示全部楼层
强烈要求版主置本帖“酷”

好帖的概念绝不是仅仅有电路图以及程序。

出0入0汤圆

发表于 2008-3-10 01:19:13 | 显示全部楼层
标记。

出0入0汤圆

发表于 2008-3-10 00:40:54 | 显示全部楼层
学习pid....在做控温方面的

出0入0汤圆

发表于 2008-3-10 00:34:08 | 显示全部楼层
留意

出0入0汤圆

发表于 2008-3-9 21:25:00 | 显示全部楼层
不错,支持,正想学习pid....多交流啊

出0入0汤圆

发表于 2008-3-9 20:59:36 | 显示全部楼层
我以前给别人做过一个烤烟房温度控制系统,使用的就只有比例系数KP,积分和微分都没有使用.控制精度基本可以用.请问楼主积分,微分部分怎么处理的,能否共享一下具体PID算法的代码.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 12:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表