pid控制中三个参数的作用

发布时间:2024-06-13  

PID控制应该算是非常古老而且应用非常广泛的控制算法了,小到热水壶温度控制,大到控制无人机的飞行姿态和飞行速度等等。在电机控制中,PID算法用得尤为常见。


位置式PID 1 计算公式 在电机控制中,我们给电机输出的是一个PWM占空比的数值。 话不多说,直接上位置式PID基本公式:d20a477c-4138-11ee-a2ef-92fbcf53809c.png    

控制流程图如下:d2306e2a-4138-11ee-a2ef-92fbcf53809c.png    

上图中的目标位置一般我们可以通过按键或者开关等方式编程实现改变目标值,测量位置就是通过 stm32 去采集编码器的数据。     目标位置和测量位置之间作差就是目前系统的偏差。送入 PID 控制器进行计算输出,然后再经过电机驱动的功率放大控制电机的转动去减小偏差, 最终达到目标位置的过程。 2 C语言实现 如何把我们以上的理论分析和控制原理图使用 C 语言写出来呢,这是一个有趣且实用的过程。位置式 PID 具体通过 C 语言实现的代码如下:

int Position_PID (int Encoder,int Target)
{
  static float Bias,Pwm,Integral_bias,Last_Bias;
  Bias=Target- Encoder; //计算偏差
  Integral_bias+=Bias; //求出偏差的积分
  //PID基本公式
  Pwm=Position_KP*Bias+Position_KI*Integral_bias+Position_KD*(Bias-Last_Bias);
  Last_Bias=Bias; //保存上一次偏差
  return Pwm; //输出
}

入口参数为编码器的位置测量值和位置控制的目标值,返回值为电机控制PWM(现在再看一下上面的控制框图是不是更加容易明白了)。 第一行是相关内部变量的定义。 第二行是求出位置偏差,由测量值减去目标值。 第三行通过累加求出偏差的积分。 第四行使用位置式 PID 控制器求出电机 PWM。 第五行保存上一次偏差,便于下次调用。 最后一行是返回。 增量式PID 1 计算公式 速度闭环控制就是根据单位时间获取的脉冲数(这里使用了 M 法测速)测量电机的速度信息,并与目标值进行比较,得到控制偏差,然后通过对偏差的比例、积分、微分进行控制,使偏差趋向于零的过程。d252a92c-4138-11ee-a2ef-92fbcf53809c.png    

在我们的速度控制闭环系统里面只使用 PI 控制,因此对 PID 控制器可简化     为以下公式:d274e046-4138-11ee-a2ef-92fbcf53809c.png    控制框图和位置式的一样的。d28b4a48-4138-11ee-a2ef-92fbcf53809c.png    

上图中的目标速度一般我们可以通过按键或者开关等方式编程实现改变目标值,测量速度前面在编码器的章节已经有说到就是通过单片机定时去采集编码器的数据并清零。     


目标速度和测量速度之间做差就是目前系统的偏差。送入 PID 控制器进行计算输出,然后再经过电机驱动的功率放大控制电机的转动去减小偏差, 最终达到目标速度的过程。 2 C语言实现 如何把我们以上的理论分析和控制原理图使用 C 语言写出来呢,这是一个有趣且实用的过程。位置式 PID 具体通过 C 语言实现的代码如下:

int Incremental_PI (int Encoder,int Target)
{
  static float Bias,Pwm,Last_bias;
  Bias=Encoder-Target; //计算偏差
  //增量式 PI 控制器
  Pwm+=Velocity_KP*(Bias-Last_bias)+Velocity_KI*Bias;
  Last_bias=Bias; //保存上一次偏差
  return Pwm; //增量输出
}

入口参数为编码器的速度测量值和速度控制的目标值,返回值为电机控制 PWM。

第一行是相关内部变量的定义。

第二行是求出速度偏差,由测量值减去目标值。 第三行使用增量 PI 控制器求出电机 PWM。

第四行保存上一次偏差,便于下次调用。

最后一行是返回。

P、I、D各个参数的作用

自动控制系统的性能指标主要有三个方面:稳定性、快速性、准确性。 稳定性:

系统在受到外作用后,若控制系统使其被控变量随时间的增长而最终与给定期望值一致,则称系统是稳定的,我们一般称为系统收敛。 如果被控量随时间的增长,越来越偏离给定值,则称系统是不稳定的,我们一般称为系统发散。稳定的系统才能完成自动控制的任务,所以,系统稳定是保证控制系统正常工作的必要条件。


一个稳定的控制系统其被控量偏离给定值的初始偏差应随时间的增长逐渐减小并趋于零。

快速性:

快速性是指系统的动态过程进行的时间长短。过程时间越短,说明系统快速性越好,过程时间持续越长,说明系统响应迟钝,难以实现快速变化的指令信号。 稳定性和快速性反映了系统在控制过程中的性能。系统在跟踪过程中,被控量偏离给定值越小,偏离的时间越短,说明系统的动态精度偏高。

准确性:

是指系统在动态过程结束后,其被控变量(或反馈量)对给定值的偏差而言,这一偏差即为稳态误差,它是衡量系统稳态精度的指标,反映了动态过程后期的性能。


在实践生产工程中,不同的控制系统对控制器效果的要求不一样。比如平衡车、倒立摆对系统的快速性要求很高,响应太慢会导致系统失控。 智能家居里面的门窗自动开合系统,对快速性要求就不高,但是对稳定性和准确性的要求就很高,所以需要严格控制系统的超调量和静差。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>