四轴PID调试心得
精准控制PID调试技巧大揭秘

精准控制PID调试技巧大揭秘PID控制器是工业自动化领域中常用的控制器之一,它通过对系统的反馈信号进行调整,使得系统能够更稳定地运行。
然而,在实际应用中,PID调试往往是一个具有挑战的任务。
本文将揭示一些精准控制PID调试的技巧,帮助读者更好地掌握这一关键技术。
一、了解PID控制器的基本原理在进行PID调试之前,首先需要了解PID控制器的基本原理。
PID 控制器由比例(P)、积分(I)和微分(D)三个部分组成。
比例控制部分根据给定值与实际值之间的误差,产生控制输出;积分控制部分用于消除系统长期稳态误差;微分控制部分则用于抑制系统的瞬态过渡过程。
二、选择合适的调试方法在进行PID调试时,有多种调试方法可供选择。
常见的方法包括经验调试法、Ziegler-Nichols方法和模糊PID调试方法等。
在选择调试方法时,需要根据具体系统的特点和需求进行合理选择,并结合实际情况进行调整。
三、确定PID参数初值确定PID参数的初值是进行PID调试的关键一步。
可以根据经验法则提供的初值,然后根据实际系统的响应进行调整。
此外,还可以使用自整定方法,通过系统的频率响应,自动计算得到合适的PID参数初值。
四、逐步调整PID参数在进行PID调试时,一次性调整三个参数往往难以得到满意的结果。
因此,建议采用逐步调整的方法。
首先,确定比例参数,通过逐渐增大比例参数的值,观察系统的响应情况;然后,确定积分参数,通过逐渐增大积分参数的值,观察系统的稳态响应情况;最后,确定微分参数,通过逐渐增大微分参数的值,观察系统的瞬态响应情况。
通过逐步调整PID参数,可以有效提高系统的稳定性和响应速度。
五、灵活运用滤波器在某些情况下,系统可能会受到噪声或干扰的影响,从而影响PID控制效果。
为了降低噪声或干扰的影响,可以灵活运用滤波器。
常用的滤波器包括一阶低通滤波器和二阶低通滤波器等。
通过合理地选择滤波器的截止频率和阶数,可以有效地提升系统的稳定性和鲁棒性。
PID调节心得(大全)

PID调节心得(大全)第一篇:PID调节心得(大全)鉴于最近一直在研究算法,所以颇有些心得体会,整理了一下,觉得比较实用的一些PID的原理,及具体的调节方案,供大家参考学习,调节这个参量的值,需要耐心和经验,但是更多的是我们得静下心来调整,希望大家加油,马上我们就要交锋了。
如有疏忽之处请大家见谅。
模拟PID调节器模拟PID调节器的微分方程和传输函数PID调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。
PID调节器各校正环节的作用1、比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。
2、积分环节:主要用于消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数TI,TI越大,积分作用越弱,反之则越强。
3、微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。
常用的控制方式1、P控制2、PI控制3、PD控制4、PID控制PID算法的两种类型1、位置型控制――2、增量型控制微分先行和输入滤波1、微分先行微分先行是把对偏差的微分改为对被控量的微分,这样,在给定值变化时,不会产生输出的大幅度变化。
而且由于被控量一般不会突变,即使给定值已发生改变,被控量也是缓慢变化的,从而不致引起微分项的突变。
微分项的输出增量为2、输入滤波输入滤波就是在计算微分项时,不是直接应用当前时刻的误差e(n),而是采用滤波值e(n),即用过去和当前四个采样时刻的误差的平均值,再通过加权求和形式近似构成微分积分项的改进一、抗积分饱和积分作用虽能消除控制系统的静差,但它也有一个副作用,即会引起积分饱和。
在偏差始终存在的情况下,造成积分过量。
当偏差方向改变后,需经过一段时间后,输出u(n)才脱离饱和区。
经验总结四轴

四轴DIY小结徐江 cnmusic@一、概述四轴可以说是机械结构最简单的飞行器了,而且自己做起来也不是很难。
维护起来成本也比一般航模要低不少,所以我就花了差不多6个月的时间摸索着做了2个来玩。
这篇文章就是一个大概的记录,希望对后来人能有些帮助。
由于不少都是自己摸索的,难免有不少错误,所以“仅供参考”!☺在这里要感谢网友feng_matrix对我的帮助,通过和他的交流让我少走了不少弯路。
二、马达、电调、桨的选则在我第一次选择马达的时候,我选择的是有刷马达。
原因很简单,不需要复杂的电调,直接用MOS管就可以驱动了,而且响应速度又快,价格又便宜。
可惜没有买到合适的有刷马达,只好用减速组配高转速马达。
这样一来成本反而高了,而且实际的测试结果是马达里面火化直冒也无法将四轴自身拉离地面。
原因就是马达转速和减速组搭配不合理,转速过快但拉力不够。
经历过失败后,决定不在冒险,于是选择了大众配置:新西达2212,1000KV外转子无刷马达,新西达30A电调(好赢兼容的程序),在解决了如何安装的问题后,终于可以将四轴自身拉离地面了。
对于桨,由于条件所限,只能在淘宝上买到GWS三叶正反桨。
我测试的结果是10英寸桨最结实,因为它最大,最重,带来的结果就是低转速。
优点就是抗撞击。
一般的9英寸桨稍微碰到一点东西就断了,而10英寸桨一点事没有。
以前担心10英寸桨可能引起响应时间过长造成四轴无法稳定,后来发现真正影响响应时间的是电调,桨的关系倒不是很大。
当然这不是说10英寸桨就是金刚不坏之躯,只是比9英寸桨要结实一些罢了。
用商品化电调还是I2C电调?我一开始的四轴采用的就是商品电调,原因很简单,自己焊I2C电调多麻烦啊,还是用买的现成的省事。
但随着后面深入做下去,发现这2种电调的差异还是很大的。
对于我开始的商品电调,由于里面自带的PID控制器。
严重影响了转速的快速反应。
这就造成了对于四轴稳定性之一的“自动悬停”基本无法做到了。
由于自动悬停的首要要求就是在这就要求马达转速在四轴有倾斜时需要加快,而到快回到平衡位置时需要降下来。
PID调节经验总结

PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩充临界比例度法等。
但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。
依据经验,一般PID参数确定的步骤如下[42]:(1) 确定比例系数Kp确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。
输入设定为系统允许输出最大值的60%~70%,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。
记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。
(2) 确定积分时间常数Ti比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。
记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。
(3) 确定微分时间常数Td微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。
如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。
(4) 系统空载、带载联调对PID参数进行微调,直到满足性能要求。
在编程时,可写成:Uo(n) = P *e(n) + I *[e(n)+e(n-1)+...+e(0)]+ D *[e(n)-e(n-1)]P-----改变P 可提高响应速度,减小静态误差,但太大会增大超调量和稳定时间。
I-----与P 的作用基本相似,但要使静态误差为0,必须使用积分。
D-----与P,I 的作用相反,主要是为了减小超调,减小稳定时间。
e(n)--------------------------本次误差e(n)+e(n-1)+...+e(0)------所有误差之和e(n)-e(n-1)------------------控制器输出与输入误差信号的微分(即误差的变化率),具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。
PID控制器的参数整定(经验总结)

PID控制器的参数整定(1)PID是比例,积分,微分的缩写.比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。
比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。
积分调节作用:是使系统消除稳态误差,提高无差度。
因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。
积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。
反之Ti大,则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。
积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。
微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。
因此,可以改善系统的动态性能。
在微分时间选择合适情况下,可以减少超调,减少调节时间。
微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。
此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。
微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。
(2) PID具体调节方法①方法一确定控制器参数数字PID控制器控制参数的选择,可按连续-时间PID参数整定方法进行。
在选择数字PID参数之前,首先应该确定控制器结构。
对允许有静差(或稳态误差)的系统,可以适当选择P或PD控制器,使稳态误差在允许的范围内。
对必须消除稳态误差的系统,应选择包含积分控制的PI或PID控制器。
一般来说,PI、PID和P控制器应用较多。
对于有滞后的对象,往往都加入微分控制。
选择参数控制器结构确定后,即可开始选择参数。
参数的选择,要根据受控对象的具体特性和对控制系统的性能要求进行。
工程上,一般要求整个闭环系统是稳定的,对给定量的变化能迅速响应并平滑跟踪,超调量小;在不同干扰作用下,能保证被控量在给定值;当环境参数发生变化时,整个系统能保持稳定,等等。
FANUC伺服第四轴调试

FANUC第四轴安装调试控制器形式:FAUNC OIMC参数设定步骤:1.开第四轴参数:1.1 NO.8130=4 (总轴数控制)由于新的OIMC控制器隐藏了9000号系统参数,第四轴系统参数已经开启,故只要开8130,18IMB还要开9944.2=0 可能还要开启NO.9943.3=11.2 开关机轴画面会出现B轴2.设定伺服马达型式参数: NO.2020( a4/4000i=273,a8/3000i=277,a12/3000i=293,)3.设定伺服初始化参数:3.1 NO.1023=43.2 NO.2000#1设0注意0i-MD系统下:14476#0 设1 1902#1 设0修改系统里面电机的地址需要将13112#1 修改后读取电机ID3.3 开关机NC自动设定伺服马达相关参数且伺服初始化参数NO.2000#1也自动设为1,( 相关伺服马达代码,参数参阅FAUNC AC SERVO MOTOR a seriesPARAMETER MANUAL)4.依次设定下表所列之参数参数参数说明设定值12#7 0:使用第四轴, 1: 不使用第四轴01005#7 解除轴控制 111005#3 0利用减速挡块进行参考点返回1与减速挡块无关,根据参数1005#7来选择快速定位到参考点或利用减速挡块进行参考点返回1006#1,#0 0,0:第四轴为直线轴0,1 0,1:第四轴为旋转轴0 1006#5 0:正向原点复归1:负向原点复归1 1008#0 0:旋转轴的循环功能无效1:旋转轴的循环功能有效1008#1 0:按距目标较近的旋转方向0 1:按指令值符号指定的方向1 1008#2 0:每一转的移动量不取整1:每一转的移动量取整1010 CNC控制轴数伺服第四轴设4 液压第四轴设3 4 1020 第四轴名称(65为A,66为B) 66 1023 各轴伺服轴号码 4 1260 旋转轴每一转的移动量360000 1420 各轴快速进给速度(F100%) 4000 1421 各轴快速进给F0速度400 1422 所有轴最大切削10000 1423 各轴手动慢速进给率360 1424 各轴手动快速进给率同参数1420 1425 各轴原点复归减速度300 1430 各轴最大切削进给率2000 1620 各轴快速进给线性或钟型加/减数时间常数(T1) 150 1621 各轴快速进给钟型加/减数时间常数(T2) 50 1622 各轴切削慢速进给加/减数时间常数60 1624 各轴手动慢速进给加/减数时间常数60 1816 参数计数器容量及检出倍率设定值100011820 各轴CMR指令倍率 21821 各轴的参考计数器容量依齿数比不同而设参考第四轴供应商资料1825 各轴位置回路增益30001826 各轴定位宽度201827 各轴切削进给定位宽度201828 各轴移动中位置偏差量极限值30001829 各轴停止中位置偏差量极限值5002021 各轴负载惯量比2562022 各轴马达旋转方向(C.W:-111,C.C.W:111)-1112023 各轴速度回授脉冲数81922024 各轴位置回授脉冲数125002084 各轴混合齿数比分子(N) 参考第四轴供应商资料2085 各轴混合齿数比分子(M) 参考第四轴供应商资料1422 VB系列设5000,其余设10000.以上参数设好后再设第四轴供应商提供的参数,1850.1851可以不设,2020按照实际马达规格而设,另外尽量按照第四轴供应商提供的参数设.注!1.1821设的不对可能造成关机后每次回原点都不准,具体设置如下:1821=360*NO.2084(N)/NO.2085(M)*1000此画面中的功能位设为1110003.参数2001-2017设的值与X轴一样4.正常情况下急停拉起来,第四轴七段数码管会显示0,若为横杠,把1005#7设0在试一下5.PLC参数设定(以C103-00为列)5.1 K0.1设1 第四轴必须先回原点才可程式启动5.2 K2.5设0 第四轴分别使用加紧信号和放松信号K2.5设1 第四轴只使用加紧信号5.3 K6.0设0 第四轴电磁阀动作时为松开或夹紧0: 松开,1: 夹紧所有参数设好后,把手轮打到第四轴看X3.3是否为1,X3.1是否为0, 不打到第四轴X3.1是否为1, X3.3是否为0,确认电磁阀动作油管是否冲油, 如果X3.3和X3.1刚好相反,换转接板62,63号线,再确认松开夹紧信号,用手轮摇第四轴,并在伺服调整画面下看(实际电流%)最大不要大于70,如果在100-200之间甚至更大,把K6.0设1, 对换转接板上面的62,63号线,摇手轮,再确认电流值,若还在100以上,要确认机械组装.伺服轴的一些查看参数3115.0=0 各轴当前位置显示各轴的伺服轴号1023设-1 使用主轴作为控制轴3115.0设1各轴的当前位置显示(0进行1不进行)1800.1设1不出现伺服报警1902.1设0如果伺服第四轴超程1320和1321都设为最大值第四轴参数设置说明2024 各轴位置回援派波数12500 2804 各轴混合齿数比之分子2085 各轴混合齿数比之分母》》备注《《1.检查单位=0.001(度/pulse)时候1.1参考计数器容量设定方法是(参数NO。
实用技巧快速调试PID控制器的方法

实用技巧快速调试PID控制器的方法PID控制器是工业自动化领域中常用的一种控制算法,它可以通过对系统反馈进行比例、积分和微分处理来实现精确的控制。
然而,在实际应用中,调试PID控制器可能会面临一些挑战,如参数调整、响应速度等。
本文将介绍一些实用的技巧,帮助您快速调试PID控制器,提高系统的稳定性和性能。
一、确定系统模型在调试PID控制器之前,首先需要了解被控对象的特性。
对于复杂系统,可以采用系统辨识的方法获得数学模型;对于简单系统,可以手动建立数学模型。
这有助于我们了解系统的传递函数、稳定性和频域特性,为后续参数调整提供依据。
二、初步参数调整初步参数调整是调试PID控制器的第一步,通过合理的参数选取可以快速获得较好的控制效果。
常用的方法有:1. 手动调整法:根据经验和直觉,分别调整比例、积分和微分系数,观察系统的响应。
逐步调整各个参数,直到系统的稳定性和性能达到满意的水平。
2. Ziegler-Nichols方法:该方法通过系统的阶跃响应曲线来确定PID参数。
具体步骤为:首先将积分和微分系数设为零,逐步增大比例系数,直到系统发生持续振荡;测量振荡的周期时间Tp和振幅Am,然后可以根据Ziegler-Nichols的公式计算出PID参数。
三、参数优化算法如果初步参数调整无法满足要求,可以使用一些自动化的参数优化算法来快速调试PID控制器。
常用的算法包括:1. 粒子群算法(PSO):该算法通过模拟粒子在搜索空间中的移动来寻找最优解。
将PID参数看作搜索空间中的一个点,根据目标函数(如系统稳定性、超调量等)来评估每个点的适应度,通过群体智能优化来获得最佳参数。
2. 遗传算法(GA):该算法通过模拟生物进化的过程来进行参数优化。
首先生成一个初始种群,利用交叉、变异等遗传操作产生新的种群,然后根据目标函数选择适应度高的个体进行下一轮进化。
通过多代进化,最终获得最优的PID参数。
四、频率域分析频率域分析是一种基于信号频率特性的调试方法,通过对控制系统施加不同频率的信号,分析系统的幅频特性和相频特性,从而调整PID参数。
PID调节经验

Kp: 比例系数----- 比例带(比例度)P:输入偏差信号变化的相对值与输出信号变化的相对值之比的百分数表示(比例系数的倒数)T:采样时间Ti: 积分时间Td: 微分时间温度T: P=20~60%,Ti=180~600s,Td=3-180s压力P: P=30~70%,Ti=24~180s,液位L: P=20~80%,Ti=60~300s,流量L: P=40~100%,Ti=6~60s。
(1)一般来说,在整定中,观察到曲线震荡很频繁,需把比例带增大以减少震荡;当曲线最大偏差大且趋于非周期过程时,需把比例带减少(2)当曲线波动较大时,应增大积分时间;曲线偏离给定值后,长时间回不来,则需减小积分时间,以加快消除余差。
(3)如果曲线震荡的厉害,需把微分作用减到最小,或暂时不加微分;曲线最大偏差大而衰减慢,需把微分时间加长而加大作用(4)比例带过小,积分时间过小或微分时间过大,都会产生周期性的激烈震荡。
积分时间过小,震荡周期较长;比例带过小,震荡周期较短;微分时间过大,震荡周期最短(5)比例带过大或积分时间过长,都会使过渡过程变化缓慢。
比例带过大,曲线如不规则的波浪较大的偏离给定值。
积分时间过长,曲线会通过非周期的不正常途径,慢慢回复到给定值。
注意:当积分时间过长或微分时间过大,超出允许的范围时,不管如果改变比例带,都是无法补救的1. PID调试步骤没有一种控制算法比PID调节规律更有效、更方便的了。
现在一些时髦点的调节器基本源自PID。
甚至可以这样说:PID调节器是其它控制调节算法的吗。
为什么PID应用如此广泛、又长久不衰?因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。
调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。
由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在这里还应注意一点,当P太小时,四轴在很大倾斜的地方,在重力与P的作用下也会震荡,这种震荡不是等幅的,对称的,震荡波谷明显要比波峰绝对值大而且距离0度会很远。这种情况要加以区分。
我把P从0.2到0.8开始尝试,找到一个适合的点,最后我定为0.5。在这个过程中一开始我一直想通过P来消除静差,但是我发现我把P加到很大,已经震荡的很剧烈了,四轴的震荡中心都不是在0度位置。所以我只能选择先选好P,D最后加入I来解决这个问题。
调试方法还是先调平衡杆,如图:
刚开始调X的时候我以为跟十字的差不多,于是我只是简单的把原有PID参数按照新的程序里面的PWM值域缩放了一下倍数,但是发现不行,PID完全没有起作用。
具体表现为四轴开机后直往一边倒到底。只好重新开始调。
还是P=1,I=0,D=0开始,这组参数我发现,开机后四轴往一边倒,但是没有倒下就起不来了。在倒到一个很大的角度,大概70度左右,电机力量像是突然加大,四轴起来,反向,接着倒向另外一边。进入失控的大幅震荡。
别忘了以上调试过程中每次都需要给予平衡一个干扰,看看参数在外界干扰情况下做的如何,会不会产生超调震荡,会不会长时间才能稳定。以上就是我第一台四轴的PID调试。
下面我讲讲我在调第二个X四轴过程中遇到的问题。
第二架四轴是我做了用来参加爱板网的ARM-STM32校园比赛的,因为第一架属于学校了财产留在学校了,手里没有。第二架的配置采用的是飞越的650碳纤机架,电调用的是好赢的奔腾40A,电机同样是新西达2212 1000kV。其实这个机架和电调配这个电机是大才小用了,但是我的预算实在不够了就只好买了个水一点的电机,等以后在升级。这次我才用X型四轴,主要是挂了云台。PID的设计与之前讲的一样,就不多说了直接说调试中遇到的问题。
}
// pid->deriv = (pid->error - pid->prevError) / IMU_UPDATE_DT;//微分应该可用陀螺仪角速度代替
pid->deriv = -gyro;
if(fabs(pid->error)>Piddeadband)//pid死区
{
pid->outP = pid->kp * pid->error;//方便独立观察
{
output=lastoutput;
}
pid->prevError = pid->error;//更新前一次偏差
lastoutput=output;
return output;
}
我这么做的原因是因为,如果使用传统的D的形式,在我快速打舵时会产生输入的设定值变化频繁且幅度较大,四轴飞行器会迅速回到新的期望点,说白了就是非常灵活,四轴回复很猛,也许造成系统的振荡,对PID参数要求较高。如果用角速度代替的话,那怕你打舵非常快,四轴会较平稳的回到新位置,运动较柔和。对于我这种操作菜鸟来说无疑后面一种会更合适,所以我选择了D=kd*Gyro的方式。
实现代码如下
float pidUpdate(pidsuite* pid, const float measured,float expect,floatgyro)
{
float output;
static float lastoutput=0;
pid->desired=expect;//获取期望角度
pid->error = pid->desired - measured;//偏差:期望-测量值
pid->outI = pid->ki * pid->integ;
pid->outD = pid->kd * pid->deriv;
output = (pid->kp * pid->error) +
(pid->ki * pid->integ) +
(pid->kd * pid->deriv);
}
else
采用位置式PID控制,位置式PID公式如下
PID的基本意义我在次就不作阐述了,我只讲我的设计,我以姿态角作为被控制对象,所以
e(k) = 期望-测量 = 给定值-测量姿态角
对于微分项D,我做了一点改变,标准PID的微分项D=kd*(e(k)-e(k-1)),我在实践过程中因为角度的微分就是角速度,而陀螺仪可以直接测出角速度,所以我没有将微分项作为偏差的差而是直接用D=kd*Gyro
pid->integ += pid->error * IMU_UPDATE_DT;//偏差积分
if (pid->integ > pid->iLimit)//作积分限制
{
pid->integ = pid->iLimit;
}
else if (pid->integ < -pid->iLimit)
{
pid->integ = -pid->iLimit;
从头来调P,这次我观察到新现象。我把四轴稍微倾向一边几度,比如说左边,当P小时,启动电机松手后,四轴向左倒,如果P大了,四轴回向右倒。前者是补偿不足,后者是补偿过度。在这个两个P值得区间就有我们要找的P,合适的P就是能在平衡位置挣扎左右晃几下的值。此时我的P=3.0但是光靠P四轴还是站不住,只能在平衡位置坚持个1,2s。所以得加入D,尝试D=1,2,3时没什么明显的效果只能观察到起初的短时平衡跟稳定了点。D=10时可明显观察到平衡的时间跟长了,但还是会倒。当D=20,可明显观察到四轴可以基本平衡了,但还是有有小幅震荡,一但有干扰还是不能很快恢复稳定了,D=30时四轴已经开始比之前大的等幅震荡了,此时说明D大了。在这种情况下说明P还是给小了。我把D定在25,再开始调节P,把P加大。增强恢复力。后免得的调节过程中我就是感觉我就觉得,P会产生一种震荡A,这种A震荡是会发散的,频率较低。D也会产生一种震荡B,B是等幅的,频率较高的。然后P会抑制震荡B,但会激发A,D会抑制震荡A,但会激发B。后面的调节参数就是要调好P后再调D,定好D再调节P,两个参数互相扶持的趋近一个最佳点。当然机体表现出的等幅震荡时也不一定是D大了,P不合适同样也会产生此种情况。还有调节参数时不要一味只加不减。当我P=4,D=50时我就是将P往回减了点才取得了更好的效果。最后离开平衡杆时P=3.5,D=50。这次没有静差,所以没有I项。
PID调试心得
本人不是自动化出身,也没有受过专业训练,都是自己摸索,在这里浅述一下自己的PID参数整定心得。所言之物皆由实践及自己的理解得出,如有不当之处还请指正。
首先例举第一个例子,我调的第一台四轴飞行器,十字型四轴飞行器,讲下配置:
网上一百多的650机架,好赢20A电调,新西达2212 1000kV,1045的桨,2200mah电池。
我先调一个轴的平衡再调另外一个轴,最后调YAW轴。
A:开始只调P,将I,D置0。由于不知道PID的大致范围我就随便给了一组值
:P=1,I=0,D=0观察现象。一开电机四轴就开始剧烈左右摇摆,很明显P给大了。然后P从小了往上加。从P=0.1开始试。调试的时候我就发现了一个现象就是我的四轴往一边歪,离平衡的0度差了那么一个角度A,P=0.1时A较大,除非油门推到很大否则四周根本起不来,这是P说明给小了,我再将P=0.2这时四轴状况无明显改善。于是我直接将P加大一点P=0.8,P=0.8时已经可以看出在等幅震荡了,但是不是在0度的平衡位置,也是偏离的一个角度B,此时B较小了。之后我再加大P到1四轴震荡又变大了,但是到震荡中心到零度的静差还是存在。由于此时I=0,所以我决定不管这个静差,先把P的临界震荡点找到。P=0.8时可以观察到比较明显的等幅震荡了,P=0.2时四轴又嫌的无力,所以P应该在0.2~0.8之间。临界震荡点就是P从为震荡到,刚开始震荡的点。
本人曾在大二,大三参加过第六,第七届飞思卡尔智能车比赛,之后在考研过后在飞思卡尔智能车为我打下的良好基础下开始制作四轴飞行器。在年中到现在陆续调试了两架四轴,一架十字,一架X。其中四轴的平衡是很重要的一环,其中涉及到的PID整定,因为听闻今年摄像头也要站起来了,个人认为PID整定过程都有可以互相借鉴之处,顾在此一贴,也顺便为我的ARM-ST校园比赛求支持。
我观察到的是P无论怎么给,我的四轴都倒向一边然后开始进入发散的震荡,唯一的区别就是P小一开始倒下的角度大,P越大一开始倒下得角度越小,进入震荡的越快。此种情况与前一个四轴的情况截然不同。
当我潜入困境时,以为名叫螃蟹的网友帮助了我。他告诉我定P要定在把手放开,开始震荡,只要左右晃二三次就达到大晃动幅度,大晃动幅度大概是45度左右。定下这个P值后然后加入D,而且D有可能比P大。在这个基础上我又开始了调试。
PID控制器我大概就是这么实现的,下面讲讲我在调试过程中具体遇到的问题。首先我将四轴固定在单轴平衡平台上,让飞行器完成单轴平衡,主要观察姿态角的(1)稳定性,能否平衡在期望角度;(2)响应性,当操纵命令改变时,四轴能否即时的响应期望的变化;(3)操纵性,由操纵员感受四轴的姿态是否已与操纵,会不会产生响应过冲。
因为一开始就倒,所以是P太小。于是我开始加大P,但是当我把P加到很大时,四轴还是一开始往一边倒,然后电机力量增大,四轴翻倒向另外一边,开始发散性的震荡。此时我觉得开始P比较小的时候是P不足,电机的惯性的作用下开始震荡。到后来是P太大了,直接进入震荡。我始终没有观察到一个等幅震荡或者说接近小幅震荡的点。无论P大P小我的四轴都会进入失控的发散震荡。换而言之这个X四轴光靠P根本进入不不了一个比较稳定的状态或者接近稳定的状态。连相对稳定的等幅震荡都观察不到就直接进入发散的震荡。此时我开始困惑了。这个情况跟十字的很不一样。我没有明显观察到网上流传最通俗的调节PID说法的那种情况,即:逐渐加大P直到开始发生等幅震荡,然后P不变,加入D抑制震荡。。。