打印

PID控制

[复制链接]
楼主: wenfengcom
手机看帖
扫描二维码
随时随地手机跟帖
81
xxmmtt| | 2008-5-4 22:13 | 只看该作者 回帖奖励 |倒序浏览

受益匪浅

留个脚印

使用特权

评论回复
82
ayb_ice| | 2009-4-9 21:45 | 只看该作者

我对这个也很感兴趣

使用特权

评论回复
83
yijianglee| | 2009-8-4 21:17 | 只看该作者
好帖,留记号!!!

使用特权

评论回复
84
itelectron| | 2009-8-5 20:33 | 只看该作者
给兄弟们传个 图形程序 自己好好体验下.

pid.rar

13.02 KB

使用特权

评论回复
85
mpuhome| | 2009-8-5 20:48 | 只看该作者
小明接到这样一个任务:有一个水缸点漏水(而且漏水的速度还不一定固定不变),要求水面高度维持在某个位置,一旦发现水面高度低于要求位置,就要往水缸里加水。

小明接到任务后就一直守在水缸旁边,时间长就觉得无聊,就跑到房里看小说了,每30分钟来检查一次水面高度。水漏得太快,每次小明来检查时,水都快漏完了,离要求的高度相差很远,小明改为每3分钟来检查一次,结果每次来水都没怎么漏,不需要加水,来得太频繁做的是无用功。几次试验后,确定每10分钟来检查一次。这个检查时间就称为采样周期

开始小明用瓢加水,水龙头离水缸有十几米的距离,经常要跑好几趟才加够水,于是小明又改为用桶加,一加就是一桶,跑的次数少了,加水的速度也快了,但好几次将缸给加溢出了,不小心弄湿了几次鞋,小明又动脑筋,我不用瓢也不用桶,老子用盆,几次下来,发现刚刚好,不用跑太多次,也不会让水溢出。这个加水工具的大小就称为比例系数

小明又发现水虽然不会加过量溢出了,有时会高过要求位置比较多,还是有打湿鞋的危险。他又想了个办法,在水缸上装一个漏斗,每次加水不直接倒进水缸,而是倒进漏斗让它慢慢加。这样溢出的问题解决了,但加水的速度又慢了,有时还赶不上漏水的速度。于是他试着变换不同大小口径的漏斗来控制加水的速度,最后终于找到了满意的漏斗。漏斗的时间就称为积分时间

小明终于喘了一口,但任务的要求突然严了,水位控制的及时性要求大大提高,一旦水位过低,必须立即将水加到要求位置,而且不能高出太多,否则不给工钱。小明又为难了!于是他又开努脑筋,终于让它想到一个办法,常放一盆备用水在旁边,一发现水位低了,不经过漏斗就是一盆水下去,这样及时性是保证了,但水位有时会高多了。他又在要求水面位置上面一点将水凿一孔,再接一根管子到下面的备用桶里这样多出的水会从上面的孔里漏出来。这个水漏出的快慢就称为微分时间

使用特权

评论回复
86
5880527| | 2009-8-6 11:17 | 只看该作者
自动控制占用了大学里好大部分课时,工作中碰到还是没法去建立什么数学模型,只能凭经验在搞,差得远就使劲追,快到目标了就慢慢靠。有些误差有很大的随机性,左右不定,书本上的PID估计难整

使用特权

评论回复
87
bonafides| | 2009-8-12 13:19 | 只看该作者
PID我的强项

使用特权

评论回复
88
bonafides| | 2009-8-12 13:50 | 只看该作者
举例温度控制:输出用固态继电器。PID周期=3秒。PIDout=计算每个3秒中输出多少时间
温度采集范围0-400度。采集精度0.1度。设定温度200度。比例分离=175度。
P=50 I=60 D=80
那么开机。温度小于175全速度加热,到175度停止加热判断温度上升的趋势。温度上升慢到
A程度那么立即启动PID程序。PID程序主要是计算每个PID周期的加热时间最终控制到设定温度
的200度+-1度。
详细了解QQ:646877318

使用特权

评论回复
89
zxs2000| | 2011-4-20 15:25 | 只看该作者
不错

使用特权

评论回复
90
conw2043| | 2011-5-2 20:24 | 只看该作者
有点晕

使用特权

评论回复
91
yezhubenyue| | 2011-9-10 16:18 | 只看该作者
学习了。。。。。。。。

使用特权

评论回复
92
today_lucky| | 2013-3-13 19:44 | 只看该作者
MARK!

使用特权

评论回复
93
tracymoon| | 2014-4-29 11:14 | 只看该作者
你好 我先跟一下 PID温度控制中 在温度比较程序中调用PID子程序后 的 输出high-time=rout/800  是根据什么来的

使用特权

评论回复
94
daosha1990| | 2015-4-11 16:04 | 只看该作者
wenfengcom 发表于 2007-10-22 14:30
IceAge再回答一下啊,dt究竟除以什么啊,是不是什么都可以除啊,因为PID三个参数可调啊  ...

您好,现在想咨询您下,您当时疑惑的PID的输出值u(t)是不是除以或乘上任意一个值a,u(t)max/a对应100%,u(t)min/a对应0即可以了?谢谢。我还是感到比较疑惑

使用特权

评论回复
95
yc_2503| | 2016-4-24 10:35 | 只看该作者
PID的输出应该是一个控制量吧,
PID的输入时一个误差值,就是输入与输出的误差。
PID的作用就是使这个误差尽可能的小。
如果是个温控系统,如果那就直接按照PID的输出控制加热还是降温。这个加热/降温就是控制量。PID直接输出的这个控制量。
但是在调速或者调流量的系统中,控制量是加速或者减速,电机是有一个速度的,你要在这个速度的基础上加速减速,控制系统的输出不可能直接用那个控制量,而要在那个输入值的基础上施加控制量。

使用特权

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

本版积分规则