使用Matlab理解PID

目录

  • 前言
  • 一、P、I、D三个参数的意义
    • 1、P的控制作用
    • 2、I的控制作用
    • 3、D的控制作用
    • 4、总结
  • 二、PID调参


前言

笔者初学PID算法,有错误欢迎指出,也欢迎大家和我讨论有关问题。

一、P、I、D三个参数的意义

1、P的控制作用

下面的图设置的参数为

	稳定值为 1
	Kp = 1:10
	Ki = 0 
	Kd = 0

使用Matlab理解PID_第1张图片

从下到上,Kp的值逐渐增加,系统的响应速度越来越快,但是Kp太大会导致超调现象,且稳定值接近设定值。

2、I的控制作用

下面的图设置的参数为

	稳定值为 1
	Kp = 1
	Ki = 0:4
	Kd = 0

使用Matlab理解PID_第2张图片
从下到上,Ki的值逐渐增加,系统的响应速度越来越快,同时振荡现象越来越强,稳定值能够达到设定值。

3、D的控制作用

下面的图设置的参数为

	稳定值为 1
	Kp = 1
	Ki = 0
	Kd = 0:8

使用Matlab理解PID_第3张图片
从下到上,Kd的值逐渐增加,系统的响应速度越来越快,没有振荡现象,稳定值小于设定值。

4、总结

我们先把P、I、D三个参数的功能总结一下:

P : 提高响应速度,逼近设定值,有超调现象
I : 提高响应速度,达到设定值,有振荡现象
D : 提高响应速度,无振荡现象

综上,三个参数应该扬长避短的统一使用,因此Kd主要用来减少系统振荡,Ki主要用来让系统达到设定值,Kp让系统有一个比较好的初始状态(高响应速度,接近设定值,振荡不算严重)。

所以一般而言,PID调节顺序为:先调好Kp的值(给个高起点),然后再调整Ki(逼近设定值),最后调整Kd(减少振荡)。

二、PID调参

(未完待续)

你可能感兴趣的:(matlab,控制器,pid)