implementación del controlador PID digital

3

Estoy intentando implementar un controlador PID en el dominio z. Lo que he hecho hasta ahora es encontrar algunos valores de \ $ K_p \ $, \ $ K_i \ $ y \ $ K_d \ $ que funcionan en el dominio de tiempo. He encontrado información sobre cómo traducir estos valores en z-domain , pero cuando ejecuto el Nueva simulación con el controlador digital PID, ya no parece funcionar.

Para su referencia, los valores de \ $ K_p \ $, \ $ K_i \ $ y \ $ K_d \ $ que tengo son 0.25, 0.6, 0.005, y cuando los convertí a la forma canónica (en el dominio z) Tenía \ $ a_0 = 500.25 \ $, \ $ a_1 = -1000.25 \ $ y \ $ a_2 = 500 \ $. (use \ $ T = 10 ^ {- 6} \ $. Cuando grafico estas dos cosas (usando una entrada sinusoidal), las salidas son diferentes y no puedo entender bien en qué me estoy equivocando.

EDITAR: supongo que como una pregunta más directa, ¿cómo puedo tomar los parámetros de dominio de tiempo \ $ K_p \ $, \ $ K_i \ $, y \ $ K_d \ $ y convertir eso en una ecuación de diferencia de dominio digital / z para un microcontrolador? TIA

    
pregunta suzu

2 respuestas

2

Desde que cambió su pregunta, aquí está mi segunda respuesta:

Tienes tus coeficientes \ $ K_p \ $, \ $ K_i \ $ y \ $ K_p \ $. La función de transferencia es \ $ D (z) = K_p + K_i \ frac {T} {2} \ left [\ frac {z + 1} {z-1} \ right] + K_d \ left [\ frac {z- 1} {Tz} \ right] = \ frac {a_0 + a_1 z ^ {- 1} + a_2 z ^ {- 2}} {1 + b_1 z ^ {- 1} + b_2 z ^ {- 2}} \ PS Cuando compare los dos lados de la ecuación, encontrará que puede calcular todo lo que necesita. Supongo que ya ha determinado \ $ K_p \ $, \ $ K_i \ $, \ $ K_p \ $ y \ $ T \ $ ya sea por medición o por los requisitos.

  1. Calcula los coeficientes

    • \ $ a_0 = K_p + \ frac {K_iT} {2} + \ frac {K_d} {T} \ $
    • \ $ a_1 = -K_p + \ frac {K_iT} {2} - \ frac {2K_d} {T} \ $
    • \ $ a_2 = \ frac {K_d} {T} \ $
    • \ $ b_1 = -1 \ $
    • \ $ b_2 = 0 \ $
  2. Los exponentes negativos para z básicamente significan un cambio. La salida es $$ y [n] = x [n] a_0 + x [n-1] a_1 + x [n-2] a_2 + y [n-1] $$

El índice \ $ n \ $ es el valor actual, \ $ n-1 \ $ el anterior y así sucesivamente.

    
respondido por el suha
2

Eres de un orden de magnitud. \ $ a_2 = \ frac {K_d} {T} \ rightarrow T = \ frac {K_d} {a_2} = \ frac {0.005} {500} = 10 ^ {- 5} \ $ y no (su) \ $ T = 10 ^ {- 6} \ $ por lo que sus valores deben ajustarse.

    
respondido por el suha

Lea otras preguntas en las etiquetas