PID算法在流量控制中的应用

PID算法在流量控制中的应用

目录

增量式或位置式

目录

增量式或位置式

PID控制周期

T1 时间

T2 约4ms

PID C代码

最近有小伙伴向我提问关于PID的问题:通过比例阀控制水流速度(流量),

使用增量式还是位置式 PID?

他的比例法驱动频率是500Hz那么PID的控制周期应该选多少?

增量式或位置式

借用知乎网友的一个回答:

通过带有调节阀的管路向水箱注水,控制输出u为阀门开度,如果控制目标是注水速度(流量),则采用增量控制,达到目标流量后阀门会保持;如果控制目标是水位,则采用位置式,达到目标水位后阀门会基本处于零位(积分作用下会保持一定开度)。

可以看出,当控制输出u,和控制目标是一一对应关系(一定阀门开度对应一定流量)时,采用增量式;当控制输出u,影响的是控制目标的速度(水位变化的速度,即流量)时,采用位置控制。

又比如,通过油门控制车速,也是增量控制,根据期望速度加减油门,速度到了保持住。

我们这里控制水恒流量,应该选用增量式。

PID控制周期

周期 = T1(比例阀变化 -> 物理压力变化量) + T2(压力电压变化量 -> ADC量化时间 )

T1 时间

这样具体要根据实际情况改变了,可以先按照100ms去调试。

T2 约4ms

可以查阅数据手册

压力传感器:

估算为2ms

MCU

算上软件滤波,ADC量化时间估算为2ms

咱们这里先采用100ms~200ms的PID控制周期去调PID参数。

PID C代码

/*This file has been prepared for Doxygen automatic documentation generation.*/

/*! \file *********************************************************************

*

* \brief Header file for pid.c.

*

* - File: pid.h

* - Compiler: IAR EWAAVR 4.11A

* - Supported devices: All AVR devices can be used.

* - AppNote: AVR221 - Discrete PID controller

*

* \author Atmel Corporation: http://www.atmel.com \n

* Support email: avr@atmel.com

*

* $Name$

* $Revision: 456 $

* $RCSfile$

* $Date: 2006-02-16 12:46:13 +0100 (to, 16 feb 2006) $

*****************************************************************************/

相关推荐