简单说一下PID算法的含义:对四轴而言,PID算法是用来计算马达的动力大小,来抵消误差的。 1. P直接和误差关联,比如四轴倾斜X度,P的调控效果=P*X个单位的力量。PID算法中,P是最主要最基本的参数。 2. I则和误差的积分有关。举个例子,如果写一个P控,控制一个电炉加热到400度,当前温度是室温,那刚开始误差=(设定温度-当前温度)很大,电炉就哗哗的加热上去了,但是到了390度,误差才10度了,加热功率变小了,可是呢,由于这个电炉会散热,结果单纯用P控,温度怎么也上不到400度。这时,I控就可以帮助适当调大一些功率,直到正好400度。那怎么实现的呢,用误差积分乘以I,如果老是温度不到400度,误差的积分就会越来越大,I调控的效果=I*误差的积分,也就越来越大。 3.D和误差纠正的速度有关,D和P相比,就像汽车避震里的油压阻尼和弹簧,汽车弹簧碰到一个减速带,就会受压,反弹,此时如果没有阻尼,车子就会不停的上下振动。而油压阻尼则防止弹簧不停振动。因此D值越大,意味着阻尼越大,四轴不容易因为P而振动,但P的效果就会变差。D调控的效果=D*误差的微分。 4. 把三个数值的调控效果加起来,就是总的调控效果 再谈一下PID调试的要点: 1. P太小,结果是四轴的错误姿态没法纠正,P太大结果是四轴高速抖动,两者间的数据都可以用。 2. 对于一个很标准的四轴,那请把I值设成大于零的最小值。如果不是,I太小结果是四轴的错误姿态没法及时纠正,如果太大,四轴则会进入严重的低速振动。 3.D值能大就大,因为D大一些,P也能大一些,总体更稳定。但传感器会因为抖动产生有害数据,D太大会把有害数据放大,造成四轴莫名的抖动。 |
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |