温度PID控制,跳动0.1度,该改动那个参数?

[复制链接]
5631|12
 楼主| 7120223 发表于 2011-3-26 16:04 | 显示全部楼层 |阅读模式
100W,加热水,水流动的。设置温度40度。稳定后数值大多数显示在40度上,但有时候会有39.9度出现 ,该改动那个参数呢?Kp,Kd,还是Ki?
有个奇怪问题,传感器是检测加热体的,没有直接检测水。这里误差先不提。比如常温下传感器(包裹很严实)显示40度,我在水里用别的温度表测得是41度(稳定住了)。但是我开空调后变成了40.5度(稳定住了),这是为什么呢?此时传感器还是显示40度。其他条件未变,只是改变了空气温度,水温竟然变化了,不理解错在那里?
zjp8683463 发表于 2011-3-26 17:14 | 显示全部楼层
本帖最后由 zjp8683463 于 2011-3-26 17:23 编辑

你反馈的测量位置有问题.应该使用多个传感器采集多个位置的温度.
你控制的只是加热器附近的恒温,而不是整个系统的温度
好比市中心温度和郊区温度差别不是一点点,虽然都是在一个城市.
39.9度说明存在静差,PID控制中有I的话(没有积分限制),KI的大小只是调节的速度快慢,而最后都能达到目标值,所以我觉得是加热器或传感器的分辨率问题
我觉得做控制先要有一个良好的结构,然后是准确的测量,最后才是算法和参数调节
stycx 发表于 2011-3-26 17:27 | 显示全部楼层
有39.9度出现 也许的正常的  你的ad是多少位的?
McuPlayer 发表于 2011-3-26 18:36 | 显示全部楼层
楼主可翻看下大学的自动化教材,反馈控制本来就是“有差控制”

为了让这个误差别老跳,一个简单的办法是对显示的数据进行数字滤波
zjp8683463 发表于 2011-3-26 18:52 | 显示全部楼层
如果只是偶尔出现39.9度,过一下就调回40,那么是正常的.
正如4楼说的
 楼主| 7120223 发表于 2011-3-26 19:43 | 显示全部楼层
本帖最后由 7120223 于 2011-3-26 19:50 编辑

用的是数字芯片  13位分比率 用的是float,分比率还是可以的
滤波我做了值还是挺稳的 有时候 十来秒 39.9度 有时候 要一两分钟左右
mmax 发表于 2011-3-27 00:46 | 显示全部楼层
你用什么传感器测的温度?
gcxrbq 发表于 2011-3-27 09:03 | 显示全部楼层
楼主做的不错了。
 楼主| 7120223 发表于 2011-3-27 10:55 | 显示全部楼层
用的是LM95071
SHUJIEWS 发表于 2011-3-27 13:46 | 显示全部楼层
PID的参数是一个整体,不能说改某一个参数,就能达到目的
stycx 发表于 2011-3-28 15:04 | 显示全部楼层
电源电压   2.4V 至 5.5V
电源电流 工作电流 280 µA (典型值)
  断开电流 6 µA (典型值)
温度精度 0°C 至 70°C ±1°C (最大)
  -40°C 至 150°C ±2°C (最大)
温度分辨率   0.03125 °C


楼主是直接用读出值进行控制计算吗
 楼主| 7120223 发表于 2011-3-28 17:00 | 显示全部楼层
恩 是的 ,不过之前 软件平滑下,显示是小数点一位,计算是后面几位都带上了
yuyetufu 发表于 2011-3-30 09:24 | 显示全部楼层
差0.1度,已经很好了。微微地减小KI试试。
室温改变,导致水温变化,不知道你用的是什么传感器。会不会是热电偶一类的,而冷端检测不是太准?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

105

主题

389

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部