PID调节(理论)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

AQ的PID相关资料,我添加了些《机械控制工程基础》中的内容。

什么是PID

这里写图片描述
PID包括比例P,积分I,微分D控制器。
使用PID控制器,你需要以下6个基本元素:
Error(偏差):你的期望值与实际值的差值。比如你想要让室内温度变为10度,但开了空调后,温度只有9度,那1度就是偏差。
比例项P:让输出量与输入量成正比。Error越大,output越大,error越小,output越小。P项决定了实际值达到期望值的快慢。以下来自《机械控制工程基础》
这里写图片描述
这里写图片描述
这里写图片描述
积分项I:积分项是与过往时间内的偏差积分(偏差累计)相关的。如果error一直在增加,积分项将会导致较大的输出;如果error一直在减小,积分项就会导致较小的输出。积分项是用来消除稳态误差的。
这里写图片描述
这里写图片描述
微分项D: 微分项是与偏差的变化速度相关的。D项不足之处是会放大噪声信号。
这里写图片描述
这里写图片描述
Limits:限制上述控制器的输出。例如,如果电机电压范围在4V~12V间,如果不限制的话,PID控制器输出的值太大则会损坏电机。
系统:你当然需要一个系统,除非你只做模拟。
PID调节效果图:
这里写图片描述

如何调节PID参数?

PID的调节更像是一门艺术而非科学。观察系统,运用你的直觉和逻辑,这里有给PID调节的7条黄金规则:

  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项
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互相合作,有时又互相排斥。

最大倾斜和转动

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

加我V获取:vip1024c (备注嵌入式)**

如果你需要这些资料,可以戳这里获取

  • 22
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值