PID 控制电机来调整液压,但是PID 如何实现达到压力前提前减速
如题, PID 的公式就是 设定值和当前值的差值 乘以P ,但是这样的话 ,不超过设定值 是永远不会减速的超过一点也是缓慢减速
但是这样肯定就会超调了
如何让还没有到目标值就提前减速, 实现类似S型加减速的效果
大家有没有思路可以借鉴一下 “PID 的公式就是 设定值和当前值的差值 乘以P ”,你当ID是摆设? xy3dg12 发表于 2023-3-29 11:04
“PID 的公式就是 设定值和当前值的差值 乘以P ”,你当ID是摆设?
(引用自2楼)
哈哈关键是增量式 PID里的 ID 也只记录 前两个周期的 差值 效果并不明显也 ackyee 发表于 2023-3-29 11:07
哈哈关键是增量式 PID里的 ID 也只记录 前两个周期的 差值 效果并不明显也 ...
(引用自3楼)
不能光看当前这一步吧,PID本身就是个累计的过程 误差接近0的时候, 电机转速就接近0了,这是P控制. 到点还不减速的控制不知道是啥... EMC菜鸟 发表于 2023-3-29 11:12
不能光看当前这一步吧,PID本身就是个累计的过程
(引用自4楼)
我现在的扫描频率定义成 200hz了 , 然后增量式PID当前和上一步 加上上步的 结合的方式好像 并不理想不知道是不是我参数没优化好 本帖最后由 ackyee 于 2023-3-29 11:18 编辑
albert_w 发表于 2023-3-29 11:15
误差接近0的时候, 电机转速就接近0了,这是P控制. 到点还不减速的控制不知道是啥... ...
(引用自5楼)
不对呀增量式PID 误差接近0的时候 ,是增量接近0了
也就是增加量变成零了
输出量等于前一个输出量+增加量
当增量成0的时候,实际输出速度 反而是最大速度 ,当当前值大于设定值后,增量才是负的, 然后再进行减速
难道我的PID 公式是错了 ackyee 发表于 2023-3-29 11:07
哈哈关键是增量式 PID里的 ID 也只记录 前两个周期的 差值 效果并不明显也 ...
(引用自3楼)
我理解,增量式和位置式只是储存积分的位置不同。增量式是存在执行机构,位置式是存在PID算法里,本质是一样的。 ackyee 发表于 2023-3-29 11:07
哈哈关键是增量式 PID里的 ID 也只记录 前两个周期的 差值 效果并不明显也 ...
(引用自3楼)
ID 只计算两个周期的??!
那还要这PID何用??!! xy3dg12 发表于 2023-3-29 11:18
我理解,增量式和位置式只是储存积分的位置不同。增量式是存在执行机构,位置式是存在PID算法里,本质是 ...
(引用自8楼)
对的, 两种PID本质没啥区别, 只是描述的对象不一样. 一个描述控制输出, 一个描述输出的变化 本帖最后由 ackyee 于 2023-3-29 11:26 编辑
wochai 发表于 2023-3-29 11:20
ID 只计算两个周期的??!
那还要这PID何用??!!
(引用自9楼)
增量式PID 的伪C 算法 不就是 当前误差*p 前一个误差还有再前一个误差的运算么 多大的液压,加个储压罐就好。控制就很简单 霸气侧漏 发表于 2023-3-29 11:26
多大的液压,加个储压罐就好。控制就很简单
(引用自12楼)
{:lol:} 我再研究研究 我怀疑我的算法不太对
albert_w 发表于 2023-3-29 11:20
对的, 两种PID本质没啥区别, 只是描述的对象不一样. 一个描述控制输出, 一个描述输出的变化 ...
(引用自10楼)
我下午再查查别人的增量式PID 的写法 ,我有点怀疑 一直调试的PID太过精简了 反而步好 什么设备啊液体压力变化通常不快把 对积分项做些限制,不要让它在快到目标的时候还在暴走 cne53102 发表于 2023-3-29 13:27
对积分项做些限制,不要让它在快到目标的时候还在暴走
(引用自16楼)
我好像PID 公式错掉了,我在找更多文献在看{:dizzy:} 其中的D就是根据当前的变化趋势,预测多久会达到预期。提前减速 当输出在100%时,仅P起使用,当到目标值附近时,P减少,I慢慢累加,越接近目标值,P越小,I越来越大,最终I主导输出,P=0 PID的公式还没搞明白,就开始用,不对才怪。 明显您对PID的理解以及正在使用的PID公式是错的,哈哈。顺带说说,网路上很多所谓PID的例程本身就是错漏百出的,而且一本正经的胡说
本帖最后由 ackyee 于 2023-3-29 23:41 编辑
amigenius 发表于 2023-3-29 19:22
明显您对PID的理解以及正在使用的PID公式是错的,哈哈。顺带说说,网路上很多所谓PID的例程本身就是错漏百 ...
(引用自21楼)
是的 我原先的公式就是按照网上增量式PID 做的,好多网站上都用那个公式
今天查了更多的资料 发现原先用的公式是错的颠覆我三观了
我用的错的那个公式估计你也看到过了 差不多就是 P*E0-I*E1+D*E2喷血,现在再看这个公式 真的错得离谱
今天看到另外一种公式 感觉比较权威一些
P*(E0-E1)+I*E1+D*(E0-2E1+E2)好像是这样 Stm32Motor 发表于 2023-3-29 18:12
PID的公式还没搞明白,就开始用,不对才怪。
(引用自20楼)
我也喷血了,关键错的那个公式 好多网站上都用那个 了解下液压伺服的控制 下一本自动控制理论看看,以后玩的复杂了,再看现代控制理论
页:
[1]