搜索
bottom↓
回复: 31

我的四轴不管怎么调PID摆动的幅度都是越来越大 求解啊

[复制链接]

出0入0汤圆

发表于 2016-6-18 13:45:17 | 显示全部楼层 |阅读模式
我用的是十字的飞行方式,采样的是单环PID,不管我怎么调P都是摆动越来大。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入442汤圆

发表于 2016-6-18 14:25:53 来自手机 | 显示全部楼层
阻尼系数过小了吧。

出0入0汤圆

发表于 2016-6-18 15:42:31 | 显示全部楼层
调 Kp 的时候先把 Ki 和 Kd 设置为 0。
然后如果振荡的话就调低 Kp.
应该可以搞到一个最大的 Kp。
应该可以找到一个 Kp 是大概差不多的,
但是有固定的误差偏移。引入 Ki 就可以消除
那个固定的偏移。

出0入0汤圆

 楼主| 发表于 2016-6-18 17:09:58 | 显示全部楼层
helislayer 发表于 2016-6-18 15:42
调 Kp 的时候先把 Ki 和 Kd 设置为 0。
然后如果振荡的话就调低 Kp.
应该可以搞到一个最大的 Kp。

你调PID的时候有没有出现这种情况

出0入4汤圆

发表于 2016-6-18 18:11:43 来自手机 | 显示全部楼层
如果把P调小,还越摆越大,那就检查你的姿态部分是否有延迟。

出0入0汤圆

发表于 2016-6-18 20:01:12 | 显示全部楼层
oner 发表于 2016-6-18 18:11
如果把P调小,还越摆越大,那就检查你的姿态部分是否有延迟。

延迟减少 Kp 应该是有帮助的。

哈,还有一个比较愚昧的问题,楼主检查一下
是不是反馈的信号给反了变成正反馈了。

出0入0汤圆

发表于 2016-6-18 20:02:37 | 显示全部楼层
1558582190 发表于 2016-6-18 17:09
你调PID的时候有没有出现这种情况


我也没有调过很多 PID, 提醒你检查一下反馈方向。

出0入0汤圆

 楼主| 发表于 2016-6-18 21:10:15 | 显示全部楼层
helislayer 发表于 2016-6-18 20:02
我也没有调过很多 PID, 提醒你检查一下反馈方向。

反馈方向是负反馈,我现在直接先调I,再调P,现在能抑制摆动了

出0入0汤圆

 楼主| 发表于 2016-6-18 21:12:39 | 显示全部楼层
oner 发表于 2016-6-18 18:11
如果把P调小,还越摆越大,那就检查你的姿态部分是否有延迟。

我的姿态更新频率是100Hz, 我觉得可能是电调和电机的问题

出0入0汤圆

发表于 2016-6-19 01:15:28 | 显示全部楼层
1558582190 发表于 2016-6-18 21:10
反馈方向是负反馈,我现在直接先调I,再调P,现在能抑制摆动了

为什么不先关闭 I 和 D 来调 P 呢?能抑制摆动最好。

先不要假定是电机和电调问题,如果你没有调过 pid
这个摆动很正常。

出0入0汤圆

发表于 2016-6-19 11:06:19 | 显示全部楼层
1558582190 发表于 2016-6-18 21:10
反馈方向是负反馈,我现在直接先调I,再调P,现在能抑制摆动了

    四轴这个东西,角速度环是关键,  原因很简单,  如果只有角度环的话,当角度有偏差出现时,   控制器控制电机产生转速差, 然后由于转速差使机身产生一个往平衡位置转动的角速度。
那么问题来了,在只有P或者PI的角度环控制器中, 机身从偏差位置转动到平衡位置这个过程中,控制器的输出都是正的, 也就是机身转动的角速度一直都在加速,
当机身达到平衡位置时,虽然控制器的输出为0了,但是那个转动的角速度仍然存在, 所以势必会转过平衡位置往另一边运动,然后控制器再输出反向的角度差减速,如此以往。
所以说,只有角度环的控制器理论上不可能能保持机身平稳,虽然加D有些效果, 但是也不如直接加角速度环效果好。

出0入0汤圆

发表于 2016-6-19 13:21:07 | 显示全部楼层
阻尼系数过小

出105入79汤圆

发表于 2016-6-19 15:38:14 | 显示全部楼层
单环pid不好调,建议控制频率200hz,电机是调速器还是pwm直接驱动?

出0入4汤圆

发表于 2016-6-19 17:50:33 | 显示全部楼层
1558582190 发表于 2016-6-18 21:10
反馈方向是负反馈,我现在直接先调I,再调P,现在能抑制摆动了

不清楚你的调法的依据。
说说我的调法,或许你可以参考一二。
我之前做的小四轴,十字型,单级PID的调试方法是:
姿态检测没滞后是前提,烤机模式下,
PID先调Kp,从小加大,会发现Kp过小时推尽油门,四轴也没啥变化,给个干扰,不会摆动;
Kp过大时,会出现等幅摆动,无法停止;
调到一个刚好出现摆动的Kp值,再加Kd,如果Kd反馈极性不对,会加速四轴摆动旋转,如果极性正确,从小到大加Kd,会发现四轴摆动减弱,阻尼加强,再调至完全不摆动;
此时,因为我在烤机模式下,没对陀螺仪做校正,四轴会偏一定角度,加入Ki值可以抵消这偏差,跟你的积分限制值和后面有没做归一化处理有关系。限制值大,Ki可能比较小。Ki作用和Kp类似,如果你发现能抵消偏差,但是又开始摆动,可以减弱Kp值。

码字真麻烦,以上是我的十字型小四轴单级PID调试的经验,FYI,good luck,baby。

出0入0汤圆

发表于 2016-6-20 22:12:17 来自手机 | 显示全部楼层
减小p或者增加d

出0入0汤圆

 楼主| 发表于 2016-6-21 19:52:14 | 显示全部楼层
oner 发表于 2016-6-19 17:50
不清楚你的调法的依据。
说说我的调法,或许你可以参考一二。
我之前做的小四轴,十字型,单级PID的调试 ...

按照你说的去调现在只有很小的摆动 非常感谢

出0入0汤圆

 楼主| 发表于 2016-6-21 19:53:45 | 显示全部楼层
qwe2231695 发表于 2016-6-19 15:38
单环pid不好调,建议控制频率200hz,电机是调速器还是pwm直接驱动?

PWM的   但是频率是50Hz

出0入0汤圆

 楼主| 发表于 2016-6-21 20:06:17 | 显示全部楼层
zouyf12 发表于 2016-6-19 11:06
四轴这个东西,角速度环是关键,  原因很简单,  如果只有角度环的话,当角度有偏差出现时,   控制 ...

一个PID的参数就调到我吐血,再加一个我怕我会放弃

出105入79汤圆

发表于 2016-6-22 22:20:17 | 显示全部楼层
50hz执行频率?是否有调速器?

出0入0汤圆

 楼主| 发表于 2016-6-23 21:40:22 | 显示全部楼层
qwe2231695 发表于 2016-6-22 22:20
50hz执行频率?是否有调速器?

用新西达的电调,他的是20ms一个周期, 正脉冲信号最大宽度1ms最小0.5ms

出105入79汤圆

发表于 2016-6-24 00:17:20 | 显示全部楼层
1558582190 发表于 2016-6-23 21:40
用新西达的电调,他的是20ms一个周期, 正脉冲信号最大宽度1ms最小0.5ms

这种开环的调速器做出来的飞机不会很好的,只能做比较缓慢的动作,换100hz以上的调速器会有一点改善,自己写200hz闭环bldc能达到最好效果

出0入0汤圆

 楼主| 发表于 2016-6-24 10:39:37 | 显示全部楼层
qwe2231695 发表于 2016-6-24 00:17
这种开环的调速器做出来的飞机不会很好的,只能做比较缓慢的动作,换100hz以上的调速器会有一点改善,自 ...

我也觉得电机响应慢

出0入0汤圆

发表于 2016-6-24 23:18:46 | 显示全部楼层
楼主怎么得到这种曲线的?这个数据取什么情况下的数据?是角度吗?是在飞起来稳定之后的角度吗?
以前一直想通过曲线调PID,后来不了了之了。

出0入85汤圆

发表于 2016-6-25 07:26:02 来自手机 | 显示全部楼层
为什么你们调 pid不用matlab仿真一把,参数不能完全靠试。

出0入0汤圆

 楼主| 发表于 2016-6-25 15:58:37 | 显示全部楼层
CK345 发表于 2016-6-25 07:26
为什么你们调 pid不用matlab仿真一把,参数不能完全靠试。

不会用MATLAB

出0入0汤圆

发表于 2016-6-25 19:23:27 来自手机 | 显示全部楼层
1558582190 发表于 2016-6-25 15:58
不会用MATLAB

楼主的图是如何得来的?

出0入0汤圆

发表于 2016-6-26 08:25:03 | 显示全部楼层
1558582190 发表于 2016-6-21 20:06
一个PID的参数就调到我吐血,再加一个我怕我会放弃

       以我有限的经验告诉你,你用串级的话,真正要调的是角速度环的PID,当你把角速度环调好以后, 角度环基本上就是随便估一个P或者再加点I就OK了。
另外,再以我有限的经验告诉你, 搞四轴还是先用开源的程序来上手,先能飞起来,也给自己增加信心,后续再摸清它的原理进而模仿、改进它, 因为,所谓你自己的程序,很多地方无非就是把别人已经写好的东西用自己的话复述一遍,而且很多时候还会“复述”错,
比如帖子里说的,你说你现在输出给电调PWM频率为50Hz,而实际上普通电调的输入的PWM频率是可以达到400Hz的(2ms H  0.5ms L), 这个差异很可能就是能飞与不能飞的区别。
就这一个你自己给自己挖的坑,就够你爬的了。

出0入0汤圆

 楼主| 发表于 2016-6-26 15:32:47 | 显示全部楼层
zouyf12 发表于 2016-6-26 08:25
以我有限的经验告诉你,你用串级的话,真正要调的是角速度环的PID,当你把角速度环调好以后, 角 ...

谢谢前辈指点,我也觉得是这个的电调的原因,  因为我调的最好的时候在水平位置上还是有小幅度的摆动

出0入0汤圆

 楼主| 发表于 2016-6-26 15:33:30 | 显示全部楼层
soos 发表于 2016-6-25 19:23
楼主的图是如何得来的?

Excel表格制图

出0入0汤圆

发表于 2016-8-16 14:32:07 | 显示全部楼层
helislayer 发表于 2016-6-18 15:42
调 Kp 的时候先把 Ki 和 Kd 设置为 0。
然后如果振荡的话就调低 Kp.
应该可以搞到一个最大的 Kp。

请问单调Kp怎么才能确定Kp这个值是最好的,我在调的时候加入Kp好像越大越震荡,因为Kp控制恢复力。

出0入0汤圆

发表于 2016-8-16 14:35:09 | 显示全部楼层
oner 发表于 2016-6-18 18:11
如果把P调小,还越摆越大,那就检查你的姿态部分是否有延迟。

先给一个固定的速度,在此之上叠加PID输出,置调P,无论怎么调震荡好像都会越来越大,请问这种情况怎么解决?

出0入0汤圆

发表于 2016-8-16 14:45:27 | 显示全部楼层
destiny、 发表于 2016-8-16 14:32
请问单调Kp怎么才能确定Kp这个值是最好的,我在调的时候加入Kp好像越大越震荡,因为Kp控制恢复力。 ...

目标是不震荡的最大 Kp 是一个不错的起点。
Kp 有震荡就不合适了,说明 Kp 太大,调小点。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 04:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表