首页 > 编程知识 正文

pid怎么调节能稳定,pid调节各个环节的含义

时间:2023-05-04 04:36:25 阅读:149976 作者:845

这是AQ的PID相关资料。 追加了《机械控制工程基础》的内容。

什么是PID

PID包括比例p、积分I、微分d控制器。

使用PID控制器需要以下六个基本要素:

Error(偏差):你的期望值与实际值之差。 例如,假设室内温度为10度,打开空调后温度只有9度,那么这一次就是偏差。

比例项P:使输出量和输入量成比例。 错误越大,输出越大,错误越小,输出越小。 p项决定实际值达到期望值的速度。以下来自 《机械控制工程基础》

积分项I:积分项涉及过去时间内的偏差积分(偏差累计)。 如果error继续增加,积分项会导致较大的输出;如果error继续减少,积分项会变为较小的输出。 积分项用于消除稳态误差。

微分项D:微分项与偏差的变化速度相关。 d项的不足之处在于放大噪声信号。

Limits:限制上述控制器的输出。 例如,电机电压范围为4V~12V时,如果不进行限制,PID控制器的输出值过大会导致电机损坏。

系统:除非只做模拟,否则当然需要系统。

PID调节效果图:

如何调整PID参数? PID的调节更像是艺术而不是科学。 观察系统,运用你的直觉和逻辑。 这里有7个调节PID的黄金规则:

1 .清除所有参数,增加p值直到输出在最短时间内达到期望值。

2 .等待的美女系统开始振动,也就是说你的p值变大了。 请减小p值直到振动消失。 调整p后,你的系统的实际值可能比你的期望值稍大或小。 可以看作是稳态误差。 请不要担心。 要修复它,请执行以下操作:

3 .慢慢增加I值,直到误差消失。 注意: I的值通常相对较小,通常为千分之一。 它还取决于更新PID的频率。 等待的美女在室外,I项对室外误差(有风的情况下)非常有效。

4 .当系统在你的输出下开始振动时,请尝试慢慢减小I值。

5 .如果你的系统是低动态系统,你的调节就到此为止。 但是,在多轴飞机这样的高动态系统中,必须调节d项。 如果感觉系统对误差的反应迟缓,应该慢慢提高D值。

6 .如果系统开始出现高频振动,这意味着过度的d值放大了噪声。 此时,需要适当减小d值。 如果系统有较大的噪声,建议将d值保留为0。

7 .最后请注意你的Limits值。

姿态调节警告: PID值调节不当,可能会导致电机输出值超过额定值,导致飞机坠落,请小心调节。

AQ是一个相对复杂的系统,利用了多个PID周期。 一些PID环可能是独立的,也可能是嵌套的。 AQ有两个基本的独立PID,一个是姿态PID,另一个是导航PID。

注意: AQ的默认PID参数适用于普通机架。 通常只需微调,但如果机架结构、重量分布和大小不同,则需要调整PID。 在任何情况下,调节PID时,最好增大或减小当前值的20%~30%,不能太大。

姿势调节与yaw pitch roll相关。 姿势PID由两个嵌套的PID构成,即速度PID和角度PID。

速度PID (内圈)的目的是控制陀螺信号的变化速度,将角度速度的变化保持在0 rad/s。 角速度的变化率(角速度的导数,也就是角加速度吗)为0时,意味着该变化是一定的。 速率PID的目的是使陀螺信号保持稳定。 例如,如果陀螺仪不倾斜,AQ就非常稳定。 请注意,这并不意味着陀螺仪的输出值为0,它可以是任何值,但应该随时间变化而稳定。 Tilt rate PID控制pitch roll的稳定性,yaw rate PID控制yaw的稳定性。 由于陀螺仪是一种灵敏的器件,多轴飞行器是常规的毛皮虾系统,tilt rate D值通常很大,以补偿它们的振动。

Rate PID控制器之所以只有d个条目有值,是因为Rate PID的期望值设置为零,系统变化相当快。

为了能迅速应对变化,rate PID环以400HZ的频率工作。 陀螺仪信号是直接使用的,没有进行数字滤波或修改。 这意味着系统可以快速响应(R/C信号和其他命令可以快速响应)。 为了避免由于d值较大而放大噪声信号,ARM Cortex-M4 MCU为陀螺信号提供了巨大的过采样频率262.4KHZ。 yaw rate PID是典型的PID控制器,调节yaw的方向。 因为振动对yaw的影响不是很大,所以yaw的d值相对较小(与rate PID相比),为了锁定正确的航向,也需要设定适当的p和I值。

速率PID限制

姿态rate PID产生期望的PWM宽度(单位为微秒),以控制电动机并稳定系统。 PM IM DM限制各PID项目的输出,防止电机烧毁,OM是整个PID控制器的最大输出。

F项

r> F项是用来平滑D项的。虽然我们有相对较大的D值,但实际上在每一时间小步中(1/400Hz = 2.5 us),它并不会让电机全部输出D项所生成的输出。F项的作用就是控制在每一时间步中D项应输出的值。以上图为例,F项的值为0.25,则意味着每一时间步中D项只输出其全部的25%。

姿态角度PID

角度PID(外环)控制着AQ在yaw pitch roll各轴上旋转的角度(单位是度)。这个PID环运行频率是200HZ,同样的,tilt angel PID的D值也是一个巨大的值,但yaw angel的D值则为0。角度环的设定值(角度)可能来于RC的输入或导航PID控制器的值或几种值的结合。同样的,其输出是PWM脉冲的长度(以微秒计),在每个时间步中,角度PID环的输出精确的加在内环速率PID的输出中,且和油门值一起都发送给了电机。外环PID总是力求让系统保持在一个设定的角度上,内环PID总是力求系统在旋转速率上保持一个0的变化(但不意味着旋转速率为0)。有时这两个PID互相合作,有时又互相排斥。

最大倾斜和转动

AQ的设计目的是稳定飞行,而非杂技飞行。所以为了保证稳定飞行,角度倾斜是受限的。默认的最大倾斜角度是37度左右,这两个参数控制了pitch和roll的倾斜度:

CTRL_FACT_PITC 0.05f // user pitch 因子 CTRL_FACT_ROLL 0.05f // user roll 因子

这两个乘数因子会乘上pitch和roll通道的值。如果你的遥控器输出范围是-750~750,那你的最大倾斜度是正负37.5度。
当然,我们预留了倾斜的空间,但小心提高你的乘数因子。理论上可以达到近90度的。对于任意轴上任何超过45度的倾角,你最好放弃PID控制,并基于四元数进行。

导航PID调节

导航PID是控制你的飞行器垂直方向和水平方向的移动的。这两个PID是独立的,但运行频率都是在200HZ。
水平导航PID
有两个水平方向上的导航PID互相关联的。一个控制着水平上的速度—navigation speed rate;一个控制着距离目标的距离—navigation distance rate。你会发现这两个PID都没有D项,那是因为我们处理的是相以较慢的变化信号,所以这实际上是个PI控制器。

导航距离PI设定期望的距离(单位是m)并计算出当前位置到目标位置的距离。这个PI输出一个水平方向上的速度指令(m/s)并进入到导航速度PI里面。进去后,计算出当前速度与期望速度的误差,并最终输出一个倾斜的角度(单位是度)。
以上图为例,距离上每1m的误差将会输出一个0.5m/s的速度,这个期望速度进入速度PI里后,每1m/s的误差在P项上将会输出6度的倾斜,在I项上输出1/200度的倾斜。但注意里面的PI限制。
导航速度PI的PM IM OM单位都是度,PM应用在导航时狂风里,IM应用在稳定的风里,OM则限制了整个。
导航高度PID

The same concepts applied early are utilized here. In the above settings (screen), every one meter error in altitude will result in a 0.25 m/s vertical velocity. The maximum speed is 2 m/s.
The vertical velocity is entered into the navigation altitude speed PI, which gives 200 microseconds of throttle PWM for each m/s input.
Another 1.2 microseconds is added to the output every 1/200′s of a second it takes to reach the target, i.e., each one second away from the target will add 240 microseconds to the output.
The maximum allowed PWM width, is 150 microseconds for P term and 600 microseconds for I term.
The maximum allowed PWM width from the whole PI, however, is 600 microseconds of throttle response.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。