位置式Pid和增量式Pid的定义及应用

PID算法是一个典型的闭环控制系统。P、I、D,比例、积分、微分。
开环:输入量对输出量没有反馈作用;
闭环:输入量对输出量有反馈作用。
  1. 位置式Pid
位置式Pid就是位置闭环控制,位置闭环控制就是根据编码器的脉冲累加,测量电机的位置信息,并与目标值进行比较得到一个控制偏差,然后我们对偏差进行比例积分、微分的控制,使偏差趋近于0的一个过程。
这是一个位置式pid的在stm32里的一个代码框架:
定义一个pid的函数,入口参数是编码器的位置测量值v和位置控制的目标值v1,返回值是一个pwm波。
我们通过位置式pid得到的返回值应该是一个具体的绝对的数值--pwm。
最后要把pwm赋值给相应的函数,例如电机驱动等。
  1. 增量式Pid
增量式pid就是速度闭环控制,速度闭环控制是根据单位时间获取的脉冲数,测量电机的速度信息,并于目标值进行比较,得到了偏差。然后同样通过对偏差的比例、积分、微分进行控制,使偏差趋近于0的一个过程。
注意这里的pwm有一个加号,这里的pwm输出的是一个 增量;与位置式pid不同的是,位置式pid通过公式得到的pwm就是一个具体的数值,比如要得到速度是30,那位置式pid得到的pwm值可能就是3000,但增量式pid不一样,因为若原本的pwm值是2700,想要速度达到30,那此时的pwm值只有300。pwm值是一个增量,这就是增量式pid。
这个是32里的一个代码框架
他的入口参数是编码器的速度测量值v和速度控制的目标值v1
  1. 增量式pid和位置式pid的区别
简单来说就是公式不同。
其实所谓的增量式Pid就是我们的控制器的输出只是控制量的增量,是 得塔pwm。
什么时候用增量式pid:当执行机构需要的控制量是增量,而不是一个绝对的数值
当我们需要绝对的数值时,就可以用位置式pid进行控制。
4 . pid算法的应用
  1. 增量式pid的应用:速度环

增量式pid就是输入一个实际值和目标值,经过pid算法后会得到一个增量,最后增量以pwm的形式作用于实际值。

例如:如果目标值>实际值,那么算出来的输出量,即增量out>0,增量反馈给实际量,实际量会增大,就会更加靠近目标值;相反,如果目标值<实际值,那么算出来的输出量,即增量out<0,增量反馈给实际量,实际量会减小,就会更加靠近目标值;
要测得当前速度值是通过编码器来实现的,众所周知,编码器是测脉冲数的。
目标值是自己设定的值,实际值是编码器反映的值。运用定时器,每隔相同时间去采集一次编码器在此段时间内积累的脉冲数,脉冲数的大小就是电机实际速度的反映。 速度由脉冲数来转化。
  1. 增量式pid(速度环)控制电机的应用:快准稳!

速度环:速度反馈给速度,来达到我们想要的效果。

舵机一般用PD控制,电机一般用PI就够了。

(1)速响应:快速到达设定的目标值,减小惯性的作用。

(2)速度控制(准、稳):带负载速度也不改变

(3)代码讲解:变量、公式、限幅

每10ms读取一次编码器的值的原因:因为pid的原理是不断减小设定值当前值的差距,所以我们需要定时器在一个很短的频率内获取当前值,然后代入pid公式内与目标值做计算,让当前值越来越接近目标值。

  1. 位置式pid的应用:位置环

位置式pid就是输入一个实际值和目标值,经过pid算法后会得到一个准确的值,以pwm的形式作为实际值,让实际值去靠近目标值的过程。

位置环顾名思义就是控制位置,控制位置首先要测得当前的位置,测得这个位置的方式,也是通过编码器来实现。众所周知,编码器是测脉冲数的。 速度由脉冲数来转化。但是我们这里不用转化,因为测的不是速度,这里的脉冲数我们直接拿来用,但是并不是直接拿来用,因为我们要测的是累计的脉冲数。
例如:转一圈是100个脉冲,那要转3圈则是300个脉冲,可是每转一圈记录的脉冲数都会清零,所以我们要累加才能达到我们指定的效果。
串级pid:用指定的速度去达到指定的圈数就叫串级pid。串级也就是串联。
例如一个速度pid算法加上一个位置pid算法,这就叫双闭环。

一般做循迹小车用速度速度环就够了。

  • 39
    点赞
  • 286
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦克斯同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值