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 porxsi va de-xax, o haga(x/2)-1si va de0axy 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.