He calculado la función de transferencia de mi sistema para aplicarle un PID. Con MATLAB y la herramienta PID Tuner obtuve los parámetros Kp
, Ki
y Kd
de mi controlador PID. Por ejemplo, en mi caso son 0.175, 371.22 y 0 respectivamente.
Ahora, necesito usar estos valores en mi DSP pero el algoritmo PID usa el formato fraccionario Q15 para todo. Sé cómo debo escalar los valores de entrada y salida de mi PID:
-
Si el valor de entrada máximo es
x
, divídalo porx
si va de-x
ax
, o haga(x/2)-1
si va de0
ax
y luego convertir a Q15 fraccional -
Para el valor de salida, solo escálelo a sus necesidades
¿Pero cómo convierto mis parámetros PID Kp
, Ki
y Kd
a Q15 correctamente? Si les aplico algún factor como lo hago para los valores de entrada y salida, en realidad estoy cambiando la respuesta del bucle, ¿cómo se hace esto? Creo que esto debería ser algo bastante común cuando se diseñan PID digitales.