Disposición 2 de notas del algoritmo de control PID: análisis del principio del algoritmo PID, modelado matemático

Gracias a los dioses de Internet por proporcionar diversos materiales de aprendizaje.

1. Propósito e idea básica del algoritmo de control.

1.1 Finalidad del control

El propósito fundamental del control es hacer que el valor del estado actual del objeto de control sea el mismo que el valor establecido por el usuario (lo más cercano posible).

1.2 Idea básica

Tanto el valor establecido por el usuario SV como el valor actual PV del objeto controlado se envían simultáneamente a la lógica del algoritmo de control compuesta por un modelo de circuito de hardware específico o un software de algoritmo específico, y se utilizan diferentes algoritmos de control para analizar, juzgar y procesar SV y PV. , para generar la señal de control OUT que debería emitirse en el momento, y la señal de control se aplica al objeto de control a través del actuador, para producir el efecto de control esperado.

2. Algoritmo de control de uso común: control de bits

2.1 Algoritmo de control de dos posiciones

Características:

a. La salida del algoritmo de control de dos posiciones tiene sólo dos estados: alto y bajo.

b) El órgano ejecutivo hace que el objeto de control no funcione a plena capacidad o deje de funcionar. Cuando PV es inferior a SV, funcionará a plena capacidad, y cuando PV es mayor o igual a SV, dejará de funcionar por completo. Si el objeto de control es un calentador de 1000 W, funcionará a plena potencia de 1000 W cuando la temperatura sea inferior a 1000 W y dejará de funcionar cuando la temperatura alcance.

c. Debido a factores como factores ambientales o el retraso en la transmisión del sistema de control o la inercia del propio objeto de control, el efecto de control es a menudo que el PV tiene una gran fluctuación en el SV.

D. Cuando PV está cerca del punto crítico de SV, la señal de salida de control OUT a menudo cambia entre H y L con frecuencia, lo que resulta en cambios frecuentes del punto de salida del actuador, lo que es propenso a interferencias y acorta la vida útil del actuador. .

2.2 Algoritmo de control de dos posiciones con histéresis

Características:

a. Tome más o menos 10% de SV como los límites superior e inferior del ajuste de histéresis, la salida L cuando sea mayor que el límite superior y la salida H cuando sea menor que el límite inferior;

b.Evitar la acción frecuente del algoritmo general de control de dos posiciones en el punto crítico;

C. Debido a que el objeto de control tiene solo dos estados de operación total o no operación, todavía existen deficiencias en el algoritmo de control general de dos posiciones: PV siempre fluctúa alrededor de SV.

2.3 Algoritmo de control de tres posiciones

Características: Sobre la base del control de dos posiciones, la potencia del objeto de control se divide en tres situaciones (es decir, tres posiciones) de potencia cero (deja de funcionar), media potencia y potencia total.

Cuando el valor actual es inferior al valor establecido en un cierto porcentaje (generalmente %10), OUT1 y OUT2 desempeñan un papel de control al mismo tiempo y el objeto controlado funciona a plena potencia.

Cuando el valor actual está dentro de más o menos el 10% del valor establecido, OUT1 actúa solo y funciona en un estado de media potencia.

Cuando el valor actual alcanza o excede el valor establecido, tanto OUT1 como OUT2 dejan de emitir y el objeto de control deja de funcionar.

En comparación con el algoritmo de control general de dos posiciones, el algoritmo de control de tres posiciones simplemente analiza el valor del estado actual del objeto de control y genera diferentes señales de control de acuerdo con los diferentes valores del estado actual. Puede controlar mejor la salida.

Las principales características del control de bits:

@ 1. El algoritmo de control solo se enfoca en controlar la diferencia entre el valor del estado actual (PV) y el valor establecido --- emite una señal de control si hay una diferencia entre los dos, y no emitirá una señal de control si la hay. no hay diferencia entre los dos.

@ 2. El estado de la señal de salida del algoritmo de control de tipo bit es único y solo se emiten dos estados alto y bajo. Estos dos estados corresponden al funcionamiento o no funcionamiento del objeto de control, si es un Sistema de control de temperatura, es el calentador el que calienta o no.

@ 3. Debido al retraso del propio sistema de control o a la inercia del propio objeto de control, el algoritmo de control posicional solo puede hacer que el valor del estado actual del objeto de control fluctúe alrededor del valor establecido y no puede realizar un buen seguimiento alrededor del valor establecido. o incluso igual.

3. Algoritmo de control PID

3.1 Idea básica del algoritmo de control PID

El algoritmo PID es un algoritmo de control predictivo, su idea central es:

@ 1. El algoritmo PID no solo considera el valor de estado actual (estado actual) del objeto de control, sino que también considera el valor de estado (estado histórico) del objeto de control en el último período de tiempo y el cambio de valor de estado (esperado) En el período más reciente, estos tres aspectos son comunes para determinar la señal de control de salida actual:

@ 2. El resultado de la operación del algoritmo de control PID es un número, que se utiliza para controlar el objeto controlado para que funcione en varios estados de trabajo (como varias potencias de calentadores, varias aperturas de válvulas, etc.) y la salida general. La forma esPWM, que básicamente cumple con el propósito de emitir señales de control a pedido y cambiar la salida en cualquier momento según la situación.

3.2 Análisis del algoritmo PID

Suponga un determinado sistema de control: el valor establecido por el usuario es SV (es decir, se espera que el valor de estado del objeto controlado se mantenga cerca de SV a través del algoritmo de control PID).

3.2.1 Análisis de ítems proporcionales (ítem P)

@ 1. Desde que el sistema se pone en funcionamiento, el algoritmo de control toma muestras del valor de estado del objeto de control a intervalos regulares. Por lo tanto, se puede obtener la secuencia de datos formada por el valor de estado del objeto controlado en cada punto de tiempo de muestreo desde el inicio:

X1, X2, X3, X4, .... Xk-2, Xk-1, Xk

X1: el primer valor de muestreo desde el encendido

Xk: el valor de muestreo actual (el último valor de muestreo)

@ 2. Extraiga tres aspectos de información de esta secuencia de valores muestreados:

<1> La diferencia entre el valor muestreado actual Xk y el valor establecido por el usuario SV: Ek

Ek = SV – Xk

AnálisisEk:

Ek>0: Indica que el valor del estado actual no cumple con el estándar

Ek=0: Indica que el estado de control actual simplemente cumple con los requisitos

Ek>0: Indica que el valor del estado actual ha excedido el estándar

Conclusión: Ek refleja el grado de desviación entre el valor actual del objeto de control y el valor establecido, y la señal de salida OUT se puede ajustar de acuerdo con el tamaño de Ek: el grado de desviación es grande, OUT aumenta y el grado de la desviación es pequeña, OUT disminuye. Es decir, la intensidad de la señal de salida es proporcional a la magnitud de la desviación actual, por lo que el algoritmo que da el valor actual de la señal de control OUT de acuerdo con la magnitud de Ek se llama control proporcional (proporción). El modelo matemático se puede expresar como:

SALIDA=(Kp*I) + Salida0

Kp: Generalmente se denomina coeficiente proporcional, que puede entenderse como un amplificador (o atenuador) en el hardware. La selección adecuada de Kp amplificará o reducirá el valor de error actual Ek de acuerdo con una cierta ganancia, para mejorar el valor correspondiente. Velocidad del algoritmo de control.

Out0: Es una constante, el propósito es asegurar que la señal de salida no sea 0 cuando Ek sea 0, y evitar que la señal de salida del controlador OUT sea 0 cuando el valor actual sea igual al valor establecido, para que el sistema esté en un estado incontrolado y fuera de control.

3.2.2 Análisis integral del ítem (I ítem)

@ 1. Reste cada valor de muestreo desde que se puso en funcionamiento del valor establecido y podrá obtener los datos de la secuencia de desviación en cada momento de muestreo desde el inicio:

E1,E2,E3......Ek-2,Ek-1,Ek

ilustrar:

E1: La desviación entre el primer punto de muestreo y el valor establecido al iniciar

E1 = SV - X1;

E2 = SV - X2;

......

Ek – 2 = SV – Ek – 2;

Ek – 1 = SV – Ek – 1;

Ek: la desviación entre el valor muestreado actual y el valor establecido

Ek=SV-Xk

Analice la secuencia de errores desde el arranque:

Cada valor de desviación puede tener tres valores posibles: >0, <0, =0, porque el algoritmo de control ha emitido continuamente señales de control para controlar el objeto controlado desde el inicio hasta el presente, lo que a veces resulta en exceder el estándar (Ex< 0), a veces no alcanza el estándar (Ex>0), a veces simplemente cumple con el requisito (Ex=0); si estos valores de desviación se acumulan y calculan algebraicamente, entonces obtenemos

Sk, a saber:

Sk=E1+E2+E3+......+Ek-2+Ek-1+Ek

Análisis Sk:

Sk>0: la mayoría de las veces en el pasado no cumplía con el estándar

Sk=0: En el pasado, el efecto de control era ideal

Sk<0: superado la mayor parte del tiempo en el pasado

Conclusión 1:

Mediante el análisis de Sk, se puede evaluar de manera integral el efecto de control pasado del algoritmo de control. Refleja que la señal de control emitida por el algoritmo de control de la manera original conduce al resultado de control actual, por lo que este valor debe usarse para modificar la señal de control actual OUT que se emitirá para garantizar que el objeto de control llegue al usuario lo antes posible. como sea posible en un corto período de tiempo en el futuro valor establecido.

Conclusión 2:

Sk es en realidad la suma de errores en cada momento del pasado, que es similar a la operación integral definida en matemáticas, por lo que el algoritmo para ajustar la señal de salida de acuerdo con Sk se denomina algoritmo integral (integral). Entonces el modelo matemático de control integral es:

ISALIDA=Kp*(1/Ti *∫Exdt) + Salida0

Kp es una constante, su propósito es similar al de un amplificador de hardware, que se utiliza para amplificar o atenuar Sk;

Out0 es una constante, para garantizar que el sistema tenga un valor de salida cuando el valor de desviación integral histórica sea 0, para evitar la pérdida de control;

Ti es la constante de tiempo integral. Cuanto mayor es el valor, menor es la salida. Se puede entender que el valor de error que ha existido durante mucho tiempo en la historia ha afectado la señal de salida actual. Cuanto menor sea el valor, más fuerte será la salida OUT, se puede entender que la integración solo considera el error del período más reciente.

En la práctica, si el sistema ha estado funcionando durante mucho tiempo, esos primeros valores de desviación de muestreo pueden ignorar su impacto en el control actual, por lo que se debe seleccionar un valor de Ti razonable de acuerdo con la situación real para obtener un buen efecto de control.

3.2.3 Análisis integral del ítem (ítem D)

@ 1. La diferencia entre las dos últimas desviaciones Dk

Dk=I-I-1

ilustrar:

Ek: sesgo actual

Ek-1: Basado en el valor de desviación actual en el momento de muestreo anterior (es decir, el último valor de desviación)

Análisis Dk:

Dk>0: Indica que el error desde el último momento de muestreo hasta el momento actual tiene tendencia a aumentar

Dk=0: Indica que el error desde el momento anterior al momento actual es estable

Dk<0: Muestra que el error del momento anterior al momento actual tiene una tendencia decreciente

Conclusión 1: Dk puede explicar la tendencia de cambio del estado del objeto controlado durante el período desde el último muestreo hasta el muestreo actual. Es probable que esta tendencia de cambio continúe hasta el siguiente punto de tiempo de muestreo hasta cierto punto, por lo que puede ser basándose en esta tendencia de cambio (el valor de Dk) ajusta la señal de salida OUT para lograr el propósito de control temprano.

@2.Dk tiene la forma de una operación diferencial matemática, que refleja la tendencia de cambio y la cantidad de cambio del objeto de control durante un período de tiempo, por lo que el algoritmo que utiliza Dk para ajustar la señal de salida del controlador se llama algoritmo diferencial . Se puede expresar matemáticamente como:

DOUT=Kp*(Td(de/dt))+Salida0

Kp: es una constante, que puede entenderse como un amplificador o atenuador en el hardware, que se utiliza para ajustar la ganancia de la señal de salida OUT;

Out0: es una constante para garantizar que OUT tenga un valor de control estable cuando Dk es 0, para evitar la pérdida de control.

Td: constante de tiempo diferencial (como el coeficiente de autoinductancia del inductor en el hardware). Cuanto mayor es Td, mayor es el valor de SALIDA, lo que tiene un fuerte impacto en la señal de salida.

4. Análisis de las ventajas y desventajas de los tres algoritmos de proporcional, integral y diferencial.

POUT=(Kp*Ek) + Out0 ------ algoritmo proporcional

IOUT=Kp*(1/Ti *∫Exdt) + Out0 ------algoritmo integral

DOUT=Kp*(Td(de/dt))+Out0 ------ algoritmo diferencial

Algoritmo proporcional: solo considera el error actual del objeto de control, emite la señal de control si hay un error en el momento y no emitirá la señal de control si no hay ningún error en el momento, es decir, solo cuando la desviación haya terminado. Ya ocurrió, el algoritmo proporcional tomará medidas para ajustarlo, por lo que el algoritmo proporcional separado es imposible controlar el valor de estado del objeto de control en el valor establecido, y siempre fluctuará hacia arriba y hacia abajo del valor establecido; pero el control proporcional es sensible y el error se reflejará en la salida inmediatamente.

Algoritmo integral: considerando la situación de error histórica del objeto controlado, la situación de error pasada ha participado en el control de salida actual, pero cuando el sistema aún no ha alcanzado el objetivo, estos errores históricos a menudo interfieren con el control actual (es decir, arrastrar las piernas), el uso inadecuado arruinará la salida actual. Pero después de que el sistema entra en un estado estable, especialmente cuando no hay desviación entre el valor actual y el valor establecido, el algoritmo integral puede generar una señal de control relativamente estable de acuerdo con el valor de desviación pasado para evitar la desviación del objetivo y desempeñar un papel preventivo. efecto.

Algoritmo diferencial: simplemente considere la tasa de cambio reciente. Cuando la desviación del sistema tiende a un cierto valor fijo, la tasa de cambio del error es 0. El algoritmo diferencial no emite la señal de control para ajustar la desviación de alineación, por lo que el algoritmo diferencial no se puede utilizar solo, solo le importa la tasa de cambio de la desviación, independientemente de si existe una desviación (la desviación no es necesariamente 0 cuando la tasa de cambio de la desviación es 0). Sin embargo, el algoritmo diferencial puede obtener la tendencia de cambio reciente del objeto de control y puede ayudar a la señal de salida a suprimir el cambio del objeto de control lo antes posible. Se puede entender que cuando haya un cambio drástico, la señal de salida se ajustará en gran medida para suprimirlo, a fin de evitar un gran cambio en el objeto de control.

Los tres algoritmos anteriores se combinan para generar una cantidad de control actual para controlar el objeto de control, y sus ventajas y desventajas se complementan entre sí para formar un algoritmo PID clásico.

4. Modelo matemático del algoritmo PID.

SALIDA=PALIDA+ISALIDA+DALIDA

Ahora mismo:

SALIDA= SALIDA=((Kp*Ek) +Salida0)+(Kp*(1/Ti *∫Exdt)+Salida0)+(Kp*(Td(de/dt))+Salida0)

Organice la fórmula para obtener: Fusionar el Out0 de cada elemento en OUT0

SALIDA=Kp(Ek+(1/Ti *∫Exdt)+(Td(de/dt)))+SALIDA0

5. Aplicación del algoritmo PID en dispositivos integrados

5.1 Aplicación del algoritmo PID en microcomputadora de un solo chip

Cuando se aplica el algoritmo PID en una microcomputadora de un solo chip, los términos integral y diferencial se pueden aproximar:

Para el ítem integral, se puede cambiar a:

               norte

     Yo =1/Ti∑Ek*T

               k=0

Es decir, en lugar de la integral, se utiliza la suma algebraica de los valores de desviación de los puntos de muestreo en el último período de tiempo.

T es el período de muestreo, también llamado período de control, y el cálculo del PID se realiza cada T período de tiempo.

Para el término diferencial, se puede reescribir como:

D=Td*((Ek-Ek-1)/T)

Ek: desviación actual, última desviación Ek-1

5.2 Modelo matemático del algoritmo PID posicional

De esto se puede obtener la expresión del algoritmo PID en el microcontrolador:

SALIDA=Kp*(Ek+(1/Ti *∫Exdt)+(Td(de/dt)))+SALIDA0 -->

                             norte

SALIDA=Kp*(I+1/Ti∑I*T+(Td*((I-I-1)/T)))+SALIDA0

                            k=0

Ampliado aún más:

                                     norte

SALIDA=(Kp*I)+(Kp*1/Ti∑I*T)+(Kp*Td*((I-I-1)/T))+SALIDA0

                                     k=0

Orden Ki=Kp*(T/Ti)

Kd=(Kp*(Td/T))

Por lo tanto:

                           norte

SALIDA=Kp*I + Ki∑I+ Kd*(I-I-1) + SALA0

                          k=0

La fórmula de cálculo se puede realizar cómodamente utilizando el lenguaje C u otros lenguajes durante la programación. OUT es el resultado de este cálculo. Utilice OUT para impulsar el actuador y generar la señal de control correspondiente. Por ejemplo, el control de temperatura puede controlar el ancho de PWM y la válvula solenoide puede cambiar la corriente de la bobina del solenoide para cambiar la apertura de la válvula El ángulo de conducción del silicio controlado, etc.;

El resultado (valor de SALIDA) calculado por este algoritmo PID indica la cantidad de control que debe generar el controlador actual, por lo que se llama posición PID (genera directamente el valor de estado que debe alcanzar el actuador)

5.3 Algoritmo PID incremental

El algoritmo PID posicional requiere una gran cantidad de cálculos y consume recursos del procesador. En algunos sistemas de control, el actuador en sí no tiene función de memoria. Por ejemplo, si el tubo mos está encendido depende completamente del voltaje de la puerta, si el tiristor está encendido depende de la señal de disparo, si el relé está encendido depende de la corriente de la bobina, etc., siempre que la señal de control se pierda, el actuador se detenga y se debe utilizar PID posicional en estas aplicaciones.

También está el hecho de que el propio actuador tiene una función de memoria, como un motor paso a paso. Si la señal de control se pierde en el tiempo, porque su propia estructura mecánica permanecerá en la posición original, etc., en estos sistemas de control, No es necesario que el algoritmo PID genere el valor real que se debe lograr esta vez Posición, solo es necesario explicar cuánta corrección se debe hacer a la señal de salida en función de la última vez (puede ser positiva o negativa), este es el algoritmo PID incremental.

El PID incremental calcula el valor de ajuste que debe estar en la señal de control actual, si el valor calculado es positivo, la señal de salida será mejorada, y si el valor calculado es responsable de debilitar la señal de salida.

Modelo matemático del algoritmo PID incremental:

Si OUTk-1 representa la última señal de control de salida, entonces el valor de salida actual debe ser OUTk y la relación entre los dos es:

SALIDAk=SALIDAk-1+△SALIDA

△OUT es el valor incremental que debe generarse;

La fórmula anterior se obtiene además:

△SALIDA=SALIDAk-SALIDAk-1

La salida del algoritmo posicional esta vez:

norte

SALIDA=Kp*I + Ki∑I+ Kd*(I-I-1) + SALIDA0 -----1式

k=0

La última salida del algoritmo posicional:

n-1

SALIDA=Kp*I-1 + Ki∑I+ Kd*(I-1-I-2) + SALIDA0 -----2式

k=0

La fórmula 1 anterior menos la fórmula 2 puede obtener el incremento de dos tiempos adyacentes:

Como se mencionó anteriormente:

Ki=Kp*(T/Ti)

Kd=(Kp*(Td/T))

△SALIDA=SALIDAk-SALIDAk-1=Kp(Ek-Ek-1)+((Kp*T)/Ti)Ek+(Kp*Td)/T*(Ek-2Ek-1+Ek-2)

Ek: desviación actual

Ek-1: última desviación

Ek-2: Última desviación

Kp: ajuste de ganancia del algoritmo

Ti: tiempo de integración

Td: Constante de tiempo derivada

T: período de muestreo

en conclusión:

El cálculo del PID incremental solo necesita las tres últimas desviaciones (esta desviación, la última desviación y la última desviación), y no requiere que el procesador almacene una gran cantidad de valores de desviación históricos, y la cantidad de cálculo es relativamente pequeña. que es fácil de implementar.

5.4 Comprensión de Ti y Td

En el algoritmo de control PID, la señal de salida de corriente está formada por la acción conjunta de la dirección proporcional, el término integral y el término diferencial. Cuando la salida de la dirección proporcional no es 0, si la contribución del término integral a la salida de operación y la contribución de la operación de dirección proporcional a la salida es cuando es la misma (tanto positiva como negativa). El término integral equivale a repetir el tiempo en que entra en vigor la dirección proporcional, y este tiempo puede entenderse como el tiempo integral.

Cuando la dirección proporcional no es 0, si el resultado calculado del término diferencial es el mismo que la contribución de la dirección proporcional a la producción en un período de tiempo (es decir, tanto positivo como negativo), el término diferencial es equivalente a repetir la dirección proporcional en un período de tiempo, el papel de este tiempo puede entenderse como el tiempo diferencial.

En aplicaciones prácticas, Kp, Ti y Td deben combinarse para garantizar que la contribución de los tres a la salida esté equilibrada, de modo que el objeto de control esté cerca del valor establecido.

6. ¿Cómo se puede simplificar el algoritmo PID en dispositivos integrados?

La expresión del algoritmo PID en el microcontrolador:

SALIDA=Kp*(Ek+(1/Ti *∫Exdt)+(Td(de/dt)))+SALIDA0 -->

                             norte

SALIDA=Kp*(I+1/Ti∑I*T+(Td*((I-I-1)/T)))+SALIDA0

                            k=0

Ampliado aún más:

                                     norte

SALIDA=(Kp*I)+(Kp*1/Ti∑I*T)+(Kp*Td*((I-I-1)/T))+SALIDA0

                                    k=0

Orden Ki=Kp*(T/Ti)

Kd=(Kp*(Td/T))

Por lo tanto:

                           norte

SALIDA=Kp*I + Ki∑I+ Kd*(I-I-1) + SALA0

                          k=0

En el desarrollo real del proyecto, OUT0 se puede eliminar para simplificar la relación y obtener

                           norte

SALIDA=Kp*Ek + Ki∑Ek+ Kd*(Ek-Ek-1)

                          k=0

Solo necesita ajustar los tres parámetros Kp, Ki y Kd. Estos tres elementos son los coeficientes del elemento P, los coeficientes del elemento I y los coeficientes del elemento D que generalmente entendemos.

Supongo que te gusta

Origin blog.csdn.net/qq_27568125/article/details/115376713
Recomendado
Clasificación