首先分析法简历系统微分控制的一般步骤如下:
最典型的控制方式有三种:开环控制系统,闭环控制系统,复合控制系统
开环:不带反馈装置的控制系统,系统的输入控制量不受输出影响
闭环:输出量直接或者间接地反馈到输入端
开环控制系统的优点是结构比较简单,成本较低。
缺点是不能自动修正被控量的偏离,控制精度低,抗干扰能力差,而且对系统参数的变化比较敏感
P和D提高响应速度,I减低响应速度
P和I降低系统的稳定性,D增加稳定性
P和I提高稳态精度,在这方面D不起作用
P有什么用:
使系统向期望值靠近,逐渐趋近于期望值
为什么要用D:
只有P控制的时候,系统一直在期望值的附近震荡,非常不稳定,D的作用相当于阻力,单位时间内,速度变化量越大,阻力越大
对P的震荡后结果的作用:始终阻止实际结果远离目标值
作用:减小系统的超调量,消除震荡,让整个系统停下来,从而达到期望值。
为什么要用I:
有外力的时候,P与外力(与P作用相反的力)抵消,D很快也会趋近于0,但是还这个时候系统并没有达到期望(值),只要有误差,它就起作用,它的作用是消除系统的静态误差(提醒系统还没到平衡(期望)位置)
那么我们在实际操作过程中到底该怎么一步一步的调PID呢:
1.将p和i和d设置为全局变量,然后调试时候用debug会事半功倍
2.一般先把i和d设为0
3.慢慢调p,如果发现怎么调都调不好可以尝试p给个负值试试
4.首先,先给个很小的p值,然后给个稍微大一点的p值,例如1和200(根据情况而定),看看控制的对象有没有明显的效果,表现为p小的时候,力气很小可以用手轻易掰动他,p大的时候能感受到明显的阻力
5.如果第四步能感受到,那么第五步就是从小到大给p,你会发现控制对象力气越来越大,当到达一定的值时,会发现控制对象开始抖动,这个很正常,因为p太大,pid震荡幅度越来越大,超调了
6,记录产生震荡的p的值为p1,然后往回调,直到停止震荡,记录此时震荡的p值位p2
7.最后根据实际情况,p的值应该在80%p2到90%p2之间
8.p调稳定之后,开始加d,一般情况下在第7步时,只有p,i和d为0,假如控制对象是电机,空载情况下只要一个p就足够了,如果这个电机需要带动一定重量的物体旋转,会发现只有p会发生如下情况:用力拨动整个结构,会感受到电机给的力越来越大,继续拨动,直到电机旋转90度,这个时候力已经很大了,此时放开,让他从90度归位到原来位置,会发现他并不会马上停在0度,而是会跑到-10度左右然后弹回来,一直震荡,慢慢靠近0
9.如果出现8的情况,这时候慢慢加d,先检验d有没有作用,和4的p一样,先给个小的d再给个稍微大的d,d太大会震荡,一般1和20差不多,如果发现用8的方法拨动机械,发现机械不会到-10,到-5就往回弹了(大概一个数字,可能直接就到0度也可能),说明d有效果
10.发现9有效果的话,和p一样,慢慢调大,重复8的步骤一直去拨动电机,看他反弹的情况,如果发现d太大已经导致电机抖动了了,就不要再加大了,看看这个效果你满不满意,用在这个项目够不够用,一般到这里是够了
11.如果10的效果还不满意,用户需要的是迅速从90度反应到0度,那么可以考虑适当减少p,p减少了,d可以稍微往上抬,就不会像10那样电机抖动了
12:一般只有少数类似飞控那一类的控制才需要用到积分i,笔者还未用到i的控制,一直以来基本pd控制就可以很稳定