作者kingzero (一起迷路)
看板Mechanical
标题Re: [学术] 问题 PID 各各参数代表什麽意思
时间Tue Jan 27 11:51:57 2015
谢谢你的资讯,用处很大.
我的问题刚刚解掉了!!
我补充一下实际上面可能会遇到的问题.
PID的控制会设定控制变数的上下限
例如:
if(UpdatedPeriod >= MAXPERIOD)
{
PTPER = MAXPERIOD;
}
else if(UpdatedPeriod <= MINPERIOD)
{
PTPER = MINPERIOD;
}
但是下次取入的控制项目 UpdatedPeriod不是最後的
举例来说
MAXPERIOD 是900 ,
MINPERIOD是 100
UpdatedPeriod 这次是1000
PTPER是900
但是下次PID的计算值 UpdatedPeriod 是1099
PTPER还是900
这样子看起来没有问题.
但是有没有可能 UpdatedPeriod会超过可以使用用的范围
UpdatedPeriod 超过之後 UpdatedPeriod会变成从0开始计算
所以虽然实际的情况是 你应该把PTPER控制在 900
会後确会在某一个周期之後PTPER变成
100
※ 引述《rant (...)》之铭言:
: ※ 引述《kingzero (一起迷路)》之铭言:
: : 我是EE计算机 的
: : 以前没有碰过PID控制器,看到相关的资料也觉得很简单.
: : 但是自己做的时候就觉得问题重重了.老是达不到想到要的要求.
: : P.I.D各各参数所代表的意义是什麽?
: : 我试过了传统的硬调方式 把P由0慢慢加到系统有点不稳
: : 再慢慢把I往上加
: : 最後再加D
: : 但是P.I.D各决定什麽?
: : 版上有大大可以解说一下吗?
: 仅回答P、I、D 的意义,基础名词就不解释了。
: P是等比例补偿控制,误差越大就补偿愈多。举例来说,你控制一台汽车,
: 目标车速100,当你车速只有95,那你油门该踩多一点,补点油,把速度加上去;
: 当你车速只有90,那你油门要踩更多,才能加速更多,
: 当你车速只有80,那你最好大脚踩下去。
: 这种『误差愈大,补偿愈多』的控制,就是P控制
: P控制根据你每一个当下误差大小,计算补偿量。
: 设定P值的大小,就是设定补偿比例。P值大表示补偿量多,也表示容易过度反应。
: 开车比较缓和的人,需要加速时,他油门也是慢慢加
: 减速时,就油门放开,轻轻踩煞车 这就是P值设定小
: 相对的 有些人急性子 加速就大脚踩下去 超速再紧急煞车
: 这就是P值设定大
: 文中提到,你P值设定到系统有点不稳了,代表你P值设定过大。
: 试想,假设你车速98,误差没有很大,却猛踩油门,
: 接着车速一瞬间冲到102,你又激烈煞车,以致车速瞬间掉到100以下
: 又回到重新加速的状况,如此往复循环。
: 这样激烈的设定并不是一个好的设定
: Ziegler & Nichols 参数调整法则 是把 P值设定在震荡值的一半。
: 其目的就是要减少震荡
: 即使开车过程中,你努力把车速控制在100公里附近,
: 但当你这样加速、减速、加速、减速 开了一段时间之後,
: 误差就慢慢累积出来了。
: I 控制器就是补偿累积误差
: 他不是根据『当下』的误差多少来设定补偿。
: 而是过去一段时间,你累积了多少误差来设定补偿。
: 举例说,你目标是控制时速100公里,但过去一阵子的平均时速是98,
: 那也许你就要考虑把多踩一点油门,
: 至於你要踩到101,102,还是103,就看经验决定。
: 如果要补多一点,I就设定大一点(或是时间常数短一点)
: 反之亦然。
: D 控制关注的是误差的变化趋势,这不好解释。
: 假设你车子稳稳地开在路上,突然车速往下掉
: (可能是没油,可能是电路出问题),你下意识就是踩油门。
: 你是根据『车速下掉』这个概念补油门,
: 而不是『目前车速差多少』来决定补油门。
: 或者,你从0加速到100,当你车速不到80,你可以尽情的踩油门
: 当车速到80时的时候,你已经接近目标了,就把油门放开一些,
: 到90时,油门再放开一些,
: 甚至当你车速到达95公里时,你可能还会预先煞车,
: 避免最後速度超过100。
: 这就是D控制。
: PID可以做到大部分的控制,但是单单一个PID控制器很难做到精密的控制。
: 你应该思考,你是否真的需要PID控制,
: 就一般控制而言,P或PI就可以达到很好的控制效果。
: 如果你需要响应快,又需要精密控制,那你可能需要两组参数。
: 另外,PID控制不理想,有时不是参数设定的问题。
: 致动器与负载是否匹配也是重点。
: 如果致动器不够力,参数调再大,也推不动。
--
我一个
学长,昨天晚上和6岁的
小外甥逛夜市,偶遇他
前女友和
她现男友。
前女友大方笑着介绍道:「这是
我老公,你们认识一下吧」。
学长有那麽点小尴尬,心想那女人怎麽那麽不识抬举。
重点来了,他
小外甥突然大吼道:「
爸爸,我要吃好多鱼哦!」
然後跑去对
前女友说:「
妈妈你也来夜市了啊,不是说好星期一来才看我吗?」
结果旁边
那个男的一巴掌打在他
前女友脸上,头也不回的走了!
作者:notepad67 (我一个机灵就饿醒了)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 113.196.54.12
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Mechanical/M.1422330720.A.236.html
1F:→ rant: 如果发生这样 应该是要更改设计吧 01/27 13:09
我的CPU只有16bit阿.只有40Mhz
※ 编辑: kingzero (113.196.54.12), 01/27/2015 13:38:06
2F:→ yuleen123: 你要确保 UpdatedPeriod 不会 overflow 01/27 20:27
4F:→ yuleen123: 运算之前要先检查有没有 overflow 的可能 01/27 20:43
5F:→ peng978: 错了 应该是限制UpdatedPeriod 最後在输出PTPER 01/28 00:18