Estoy intentando implementar un algoritmo PID en un microcontrolador que controla un actuador con un límite físico duro. En MATLAB, no hay ninguna consecuencia de los grandes rebasamientos / golpes de saturación a alta velocidad: el gráfico se aplana. Sin embargo, en la aplicación, golpear la saturación muy rápido eventualmente romperá el actuador. Me gustaría desacelerar antes de que esto suceda para que el actuador no alcance el máximo con toda su fuerza. Ir críticamente o sobrecargado evitará este problema, pero para valores de referencia que son menos que la saturación, puedo aceptar el sobrepasamiento (máximo 10%) por motivos de velocidad siempre que los picos nunca crucen este límite. En otras palabras, si mi valor de referencia cambia al 50%, una respuesta no es adecuada, pero si mi valor de referencia llega a uno de los dos extremos, debe ser amortiguado de manera crítica para que no me choque con nada mecánicamente.
La implementación de esto parece bastante simple: crear funciones de ganancia como una función del valor de referencia e interpolar linealmente entre los conjuntos de valores precomputados según sea necesario. Pero tengo que preguntar, ¿está cambiando dinámicamente la amortiguación o es algo que realmente se usa en los sistemas de control? ¿Es este un enfoque ingenuo?