ackyee 发表于 2023-3-29 11:00:17

PID 控制电机来调整液压,但是PID 如何实现达到压力前提前减速

如题, PID 的公式就是   设定值和当前值的差值   乘以P ,但是这样的话 ,不超过设定值 是永远不会减速的

超过一点也是缓慢减速   


但是这样肯定就会超调了


如何让还没有到目标值就提前减速,    实现类似S型加减速的效果


大家有没有思路可以借鉴一下

xy3dg12 发表于 2023-3-29 11:04:56

“PID 的公式就是   设定值和当前值的差值   乘以P ”,你当ID是摆设?

ackyee 发表于 2023-3-29 11:07:47

xy3dg12 发表于 2023-3-29 11:04
“PID 的公式就是   设定值和当前值的差值   乘以P ”,你当ID是摆设?
(引用自2楼)

哈哈关键是增量式 PID里的 ID   也只记录 前两个周期的   差值    效果并不明显也

EMC菜鸟 发表于 2023-3-29 11:12:58

ackyee 发表于 2023-3-29 11:07
哈哈关键是增量式 PID里的 ID   也只记录 前两个周期的   差值    效果并不明显也 ...
(引用自3楼)

不能光看当前这一步吧,PID本身就是个累计的过程

albert_w 发表于 2023-3-29 11:15:33

误差接近0的时候, 电机转速就接近0了,这是P控制. 到点还不减速的控制不知道是啥...

ackyee 发表于 2023-3-29 11:16:54

EMC菜鸟 发表于 2023-3-29 11:12
不能光看当前这一步吧,PID本身就是个累计的过程
(引用自4楼)

我现在的扫描频率定义成 200hz了 , 然后增量式PID当前和上一步 加上上步的    结合的方式好像 并不理想不知道是不是我参数没优化好

ackyee 发表于 2023-3-29 11:17:45

本帖最后由 ackyee 于 2023-3-29 11:18 编辑

albert_w 发表于 2023-3-29 11:15
误差接近0的时候, 电机转速就接近0了,这是P控制. 到点还不减速的控制不知道是啥... ...
(引用自5楼)

不对呀增量式PID    误差接近0的时候   ,是增量接近0了

也就是增加量变成零了   

输出量等于前一个输出量+增加量

当增量成0的时候,实际输出速度 反而是最大速度   ,当当前值大于设定值后,增量才是负的,    然后再进行减速

难道我的PID 公式是错了

xy3dg12 发表于 2023-3-29 11:18:59

ackyee 发表于 2023-3-29 11:07
哈哈关键是增量式 PID里的 ID   也只记录 前两个周期的   差值    效果并不明显也 ...
(引用自3楼)

我理解,增量式和位置式只是储存积分的位置不同。增量式是存在执行机构,位置式是存在PID算法里,本质是一样的。

wochai 发表于 2023-3-29 11:20:06

ackyee 发表于 2023-3-29 11:07
哈哈关键是增量式 PID里的 ID   也只记录 前两个周期的   差值    效果并不明显也 ...
(引用自3楼)

ID 只计算两个周期的??!
那还要这PID何用??!!

albert_w 发表于 2023-3-29 11:20:37

xy3dg12 发表于 2023-3-29 11:18
我理解,增量式和位置式只是储存积分的位置不同。增量式是存在执行机构,位置式是存在PID算法里,本质是 ...
(引用自8楼)

对的, 两种PID本质没啥区别, 只是描述的对象不一样. 一个描述控制输出, 一个描述输出的变化

ackyee 发表于 2023-3-29 11:24:00

本帖最后由 ackyee 于 2023-3-29 11:26 编辑

wochai 发表于 2023-3-29 11:20
ID 只计算两个周期的??!
那还要这PID何用??!!
(引用自9楼)

增量式PID 的伪C 算法 不就是 当前误差*p         前一个误差还有再前一个误差的运算么

霸气侧漏 发表于 2023-3-29 11:26:38

多大的液压,加个储压罐就好。控制就很简单

ackyee 发表于 2023-3-29 11:27:09

霸气侧漏 发表于 2023-3-29 11:26
多大的液压,加个储压罐就好。控制就很简单
(引用自12楼)

{:lol:} 我再研究研究   我怀疑我的算法不太对

ackyee 发表于 2023-3-29 11:27:38

albert_w 发表于 2023-3-29 11:20
对的, 两种PID本质没啥区别, 只是描述的对象不一样. 一个描述控制输出, 一个描述输出的变化 ...
(引用自10楼)

我下午再查查别人的增量式PID 的写法 ,我有点怀疑 一直调试的PID太过精简了 反而步好

霸气侧漏 发表于 2023-3-29 11:28:34

什么设备啊液体压力变化通常不快把

cne53102 发表于 2023-3-29 13:27:26

对积分项做些限制,不要让它在快到目标的时候还在暴走

ackyee 发表于 2023-3-29 13:33:13

cne53102 发表于 2023-3-29 13:27
对积分项做些限制,不要让它在快到目标的时候还在暴走
(引用自16楼)

我好像PID 公式错掉了,我在找更多文献在看{:dizzy:}

孤独飞行 发表于 2023-3-29 13:50:53

其中的D就是根据当前的变化趋势,预测多久会达到预期。提前减速

yuyu87 发表于 2023-3-29 14:02:15

当输出在100%时,仅P起使用,当到目标值附近时,P减少,I慢慢累加,越接近目标值,P越小,I越来越大,最终I主导输出,P=0

Stm32Motor 发表于 2023-3-29 18:12:07

PID的公式还没搞明白,就开始用,不对才怪。

amigenius 发表于 2023-3-29 19:22:27

明显您对PID的理解以及正在使用的PID公式是错的,哈哈。顺带说说,网路上很多所谓PID的例程本身就是错漏百出的,而且一本正经的胡说

ackyee 发表于 2023-3-29 23:39:47

本帖最后由 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)好像是这样

ackyee 发表于 2023-3-29 23:42:11

Stm32Motor 发表于 2023-3-29 18:12
PID的公式还没搞明白,就开始用,不对才怪。
(引用自20楼)

我也喷血了,关键错的那个公式 好多网站上都用那个

carefree1986 发表于 2023-3-30 07:58:21

了解下液压伺服的控制

sbusr 发表于 2023-3-30 08:49:41

下一本自动控制理论看看,以后玩的复杂了,再看现代控制理论
页: [1]
查看完整版本: PID 控制电机来调整液压,但是PID 如何实现达到压力前提前减速