7 votos

Cómo diseñar controladores "correctamente"?

Puede sonar como el "camino fácil" para preguntar esto aquí, pero esta pregunta (junto con un par más que he publicado, que fueron más específicos) es el resultado de años de investigación sobre el tema - encendido y apagado como es la que menos se utiliza (y débiles) área de experiencia, pero aún así, decir que he visto muchos videos PDF y postes. La mayoría de ellos son demasiado específicas en sus ejemplos, o es demasiado vaga.

Contexto

He afinado un par de controladores PI hasta ahora el uso en línea de los métodos manuales, pero ahora que estoy luchando con un PID uno está claro que necesito para sumergirse de nuevo en el correspondiente análisis. Después de todo, si me necesitan para el diseño de otro tipo de compensador (decir la fase de plomo o lo que sea, incluso un controlador multivariable), no habrá ningún "método mágico" para salvar el día.

Pregunta

Me gustaría saber cuál de los diferentes métodos para sintonizar un controlador suponiendo que la función de transferencia de la planta es conocida, y en los detalles de cómo lidiar con los siguientes requisitos:

  1. El tiempo de asentamiento
  2. De fase y de ganancia de los márgenes de
  3. Sobreimpulso (si no depende de la fase de margen)
  4. Constante de error de estado
  5. Max controlador de esfuerzo
  6. Idealmente, max ondulación debido a los disturbios, pero esto es particularmente difícil parece

La investigación

Las herramientas que he visto son:

  1. Root locus. Entiendo que el efecto de cada raíz, dependiendo de su ubicación (exponenciales complejas de ser oscilatorio etc.), pero no entiendo cómo los ceros y los polos interactúan para generar la respuesta. El hecho de que la gente ignora ceros para la estabilidad que me confunde aún más.
  2. Nyquist. La estabilidad de los criterios son muy desconocidos en su relación con el mundo real, y no he visto que se utiliza para otra cosa.
  3. Bode. Muy familiarizado con él, debido a la electrónica, aunque el concepto de margen de fase es todavía un poco vaga en comparación con el margen de ganancia (no se puede "sentir").
  4. Respuesta al escalón. El más fácil de entender, aunque no suficiente.

Me gusta mucho este canal de Youtube, pero todavía es un poco vaga después de ver todos los vídeos. Y nunca vi todos los coeficientes de un PID sintonizado analíticamente - yo realmente esperaba que este hilo tenía la respuesta pero no lo hizo.

Ejemplo de aplicación

Propongo para el diseño paso a paso de un controlador PID (todos los 3 coeffs) por una sencilla planta, decir: $$G(s)=\frac{1}{1+\tau_1 s}\frac{1}{1+\tau_2 s}$$ Donde $$\tau_1=650s$$ $$\tau_2=4500s$$ De modo que el tiempo de asentamiento < 5h, márgenes > 14dB y > 30°, s-s error (y el efecto dominó, si se estudia) < 0.01%, controlador de esfuerzo < 1. Este es un sistema que se inspira en lo que necesito para controlar (muy simplificado), he tomado los valores numéricos a partir de ahí.

Hasta donde yo sé, esta sería la primera vez que uno consigue a través de un PID completo de diseño en línea, que es muy beneficioso para cualquier persona con las mismas dudas que yo. La pregunta que probablemente pueden ser respondidas sin este paso por paso, pero sería mucho más claro con el ejemplo.

4voto

Luke Puplett Puntos 358

Bien, Usted le está haciendo bastante complicado pregunta y trataré de responder lo mejor que puedo teniendo en cuenta mis antecedentes. Soy estudiante de último año de Ingeniería Eléctrica y se han centrado en los sistemas de control. No lo sé todo pero te puedo decir que mi experiencia con el intento de responder a esta misma pregunta en mis estudios.
TL;DR: no sé cómo una ecuación o método de tomar la planta y limitaciones y la generación de un controlador PID. Sin embargo, no creo que las herramientas que usted ha mencionado, también ayudará mucho y te explico lo que yo haría dada su situación.

Donde usted está:
La investigación que ha hecho hasta ahora parece ser la norma para un curso de introducción a los controles en el nivel de licenciatura. Estos métodos de diseño de controladores se agrupan y se llama "Clásica de Control". Estos métodos fueron utilizados predominantemente pre-guerra fría y tienen la ventaja de requerir muy poco de computación y muy poco análisis matemático. Si bien es útil, que limitan severamente el número de controladores que puede crear. Por ejemplo, la raíz, el locus de la parcela muestra las líneas donde los polos y los ceros se puede mover si se cambia la ganancia, sino que se limitan a estas líneas. Yo no soy un experto en estos métodos (porque yo rara vez uso de ellas) así que no se puede elaborar en cuando usar y cuando no. Por lo que he escuchado, estos métodos todavía se utiliza con bastante profusión hasta hace poco debido a que son más rápidos que los métodos más avanzados y de trabajar bien por simples problemas de control. Estos son su isla desierta métodos de control - fácil de implementar y puede ser hecho a mano, que las hace perfectas para un estudiante de la clase donde usted quiere tener un montón de material a prueba a los estudiantes.

"Correctamente":
Opción 1
De manera adecuada el diseño de un controlador es duro, porque hay trade-offs en el diseño, tales como la velocidad y la estabilidad. Supongo que te refieres a que usted puede tomar las restricciones que se enumeran a un controlador que cumpla con ellos.
Cualquiera de los métodos mencionados anteriormente podrían ser utilizados para crear un controlador y probado en una simulación o analítico para determinar las características de respuesta pero que no es necesariamente fácil y la manera de mejorar el rendimiento podría no ser intuitivo (estoy mirando a ti Nyquist parcelas).

Cómo iba a hacerlo:
Soy un estudiante y así tener acceso a la educación de la versión de Matlab. Si alguien me pidió el diseño de un controlador, como su ejemplo, me gustaría fuego de Matlab y utilice el siguiente código.

EDU>> s=tf('s');
EDU>> sys=1/((1+650*s)*(1+4500*s))
pidtool(sys)

y el resultado, el hermoso cuadro de abajo que muestra todos los parámetros que necesita con deslizadores que me permiten ajustar las características.

PI controller meeting specifications listed in example above.

También hay opciones para mostrar el controlador de esfuerzo y las gráficas de bode del sistema. Me tomó cerca de 15 min para ajustarlo a cumplir con sus especificaciones, pero sólo porque sus especificaciones son bastante agresivos. (Me estafaron para permitir el control de esfuerzo de ir a 1.01 durante algún tiempo para detener el sobregiro).
O usted podría simular el sistema con el controlador PID añadido en y ajustar los parámetros de la simulación en lugar de en línea.

Opción 2
Ahora, si yo fuera a necesitar más avanzados de control, uno con múltiples entradas y salidas, o con un orden superior controlador que me gustaría utilizar lo que se denomina Espacio de Estado o"la Moderna Teoría de Control", que creo que ocurrió en la guerra fría, cuando empezamos a traducir ruso matemáticas papeles. Yo le aconsejo que tome una mirada en ella porque permite más opciones y si yo tuviera que diseñar un controlador analíticamente, esto es lo que yo usaría. A diferencia de los métodos Clásicos, se ha algoritmos para la colocación de los polos de una función en los lugares precisos permitiendo que la mayoría de las limitaciones que se han mencionado a calcularse directamente.
Dicho esto, los algoritmos utilizados para calcular estos valores son aún bastante difícil. matlab tiene el lugar , la función que crea un aumento de la matriz que puede ser combinado con la matriz de entrada a la fuerza de la respuesta deseada transitoria y el tiempo de asentamiento de las respuestas. Esto no obstante, mencionar controlador de esfuerzo, lo cual limitaría la agresividad con la que ha colocado sus polos. Un buen ejemplo de un orden similar sistema se encuentra en el siguiente sitio web que tiene muchos ejemplos y demostraciones de cómo utilizar la clásica y el espacio de estado de métodos de diseño. Su realmente una buena página web con explicaciones y muchos ejemplos diferentes si usted puede conseguir más allá del hecho de que se utilice matlab para todas las matemáticas.
http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed&section=ControlStateSpace

algunas lecturas adicionales sobre la localización de polos http://www.phoneoximeter.org/uploads/media/EECE460_PolePlacement.pdf (que menciona explícitamente el control PID)
http://nptel.ac.in/courses/101108047/module9/Lecture%2021.pdf
http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-30-feedback-control-systems-fall-2010/lecture-notes/MIT16_30F10_lec12.pdf

Recomendación:

1.) Si usted va a ser el diseño de sistemas de control profesionalmente, yo voy a decir lo que mis profesores me dijo. Usted necesidad de matlab. No podría ser de otro software por ahí que puede hacer cosas similares, pero matlab tiene un conjunto completo de herramientas en su sistema de control de la caja de herramientas y un buen número de tutoriales están flotando sobre su el mejor y usted no tiene que preocuparse acerca de las matemáticas.

2.) Si esto es algo que es menos importante, a continuación, tal vez encontrar a alguien que puede hacer el diseño para usted rápidamente en matlab o probar un paquete de freeware. Sé scilab tiene un cierto control de las cajas de herramientas que pueden ser vale la pena considerar.

3.) El diseño a mano es difícil. Especialmente con el número de restricciones que tienen. Me gustaría utilizar el poste de colocación para analizar el tiempo de asentamiento y exceso de requisitos. Estado estacionario de error es casi siempre vuelve a cero. Me gustaría determinar la fase y de ganancia de los márgenes después de los hechos y la esperanza de que no fuera muy pequeño. Para el controlador de esfuerzo, he visto un montón de ejemplos de problemas de control óptimo tratando de minimizar el esfuerzo de control, normalmente mediante un Cuadrático Lineal controlador, pero esto es más de matemáticas. El Dr. Radhakant Padhi las diapositivas tienen algunas buenas reglas generales para la localización de polos, pero que no son garantías.

3voto

docscience Puntos 347

Primero estoy de acuerdo con hkBattousai que tu pregunta es muy amplia, teniendo en cuenta todos los detalles de tu post, pero trataremos de responder de acuerdo a sus titulado pregunta - Cómo diseñar correctamente los sistemas de control. Esto, lamentablemente, no ser una respuesta completa, pero espero que al menos te da una idea. Mientras que algunos sistemas pueden ser fácilmente controlado mediante el uso de un compensador PID, puede que otros no, por lo que el profesional de ingeniero de control se enfoque el problema de una manera más sistemática.

En primer lugar usted necesita para definir los requisitos de rendimiento - ¿qué es lo que desea el control, la rapidez y la precisión que usted desea que el control, y cuánto margen de que está dispuesto a aceptar en la estabilidad.

En segundo lugar usted necesita entender la física del sistema que usted está tratando de controlar y expresar la física como ecuaciones matemáticas. Esto puede ser posible por el hecho de saber cómo el sistema está construido o puede requerir medidas de decir con un analizador de señal dinámica. Esto le dará a su modelo. Puede que desee asumir un modelo lineal que puede ser expresada como una ecuación diferencial o un conjunto de ecuaciones diferenciales. Tendrás que decidir qué variables en el sistema que usted está tratando de controlar (salidas) y determinar si se puede facilitar su medición con algún tipo de sensor. También es necesario averiguar cuáles son sus entradas y si se requiere un actuador o de la interfaz, para aplicar las señales de control.

El modelo lineal se puede expresar como una de LaPlace de la función de transferencia(s) o como lineal en el espacio de estado del sistema. El uso de una herramienta como Matlab Sistemas de Control de la caja de herramientas (o papel y lápiz si quieres hacer todas las matemáticas a ti mismo) de importar el modelo y utilizar una de las herramientas descritas anteriormente (Bode, Root Locus, etc.). Personalmente me gustaría comenzar con Root Locus, sino también trazar el circuito abierto y cerrado de transferencia de funciones, así como la respuesta al escalón. El root locus herramienta que permite sintetizar un controlador en la parte superior de su modelo de la planta mediante la adición de polos y ceros, y arrastrando. Y como arrastrarlos se puede observar su ganancia y márgenes de fase del circuito abierto de Bode de las parcelas, el ancho de banda de lazo cerrado y modos de bucle cerrado de Bode, y el tiempo de subida, el sobregiro y el asentamiento de la respuesta al escalón.

Una vez que esté satisfecho con el diseño y usted haya cumplido con sus requisitos, es posible que desee tomar el modelo y el controlador en una herramienta de simulación. Si hay falta de linealidad en su sistema, tales como la saturación por ejemplo, usted puede agregar dentro de la simulación y comprobar que el control de todavía funciona. En el caso de la saturación puede que necesite aumentar sus lineal compensador con algún tipo de anti-windup de control. Cuando usted cree tener una solución a su hora de moverse sobre el hardware y verificar el diseño de la prueba.

Algunas herramientas de simulación como Simulink o VisSim permitir la migración de la simulación conceptual para un hardware en el lazo de simulación. De lo contrario, tendrás que construir o código de su controlador y facilitar los sensores, actuadores e interfaces para cerrar el bucle.

Hay un montón de otras cosas a considerar, tales como la sensibilidad al ruido, las perturbaciones y el rechazo, la robustez de la planta de perturbaciones, etc. También el controlador de solución tendrá que ser reducido a analógico (op-amp), discreto (controlado por ordenador) o incluso de elementos mecánicos. Así que usted puede necesitar para decidir cosas como las tasas de muestreo, que si no seleccionados adecuadamente puede conducir a la inestabilidad o degradar el rendimiento esperado.

hkBattousai recomienda un libro de texto, pero os animo a inscribirse en un programa de la universidad si usted está seriamente interesado. Buena Suerte!

2voto

chbu Puntos 475

En primer lugar, TODOS los sistemas son no lineales. Algunos pueden ser modelados con bastante precisión como sistemas lineales, lineales y teoría de control puede ser aplicado a los no-lineal de los sistemas (de lo contrario lineal de la teoría de control sería bastante inútil). Cuando relativamente de alto rendimiento se requiere, por lo general algún tipo de ganancia de programación es necesario. Diferentes tipos de ganancia de los programadores de existir, y algunos son muy teóricos. A menudo, sin embargo, lo más práctico (y comprobable... importante para los ingenieros de SW) son seccionalmente lineales programadores (por ejemplo, seleccione un relativamente región lineal de la operación, el diseño de un controlador lineal para operar en esa región, vaya a la siguiente, etc., ad infinitum). Como Andrew afirmó, controlador de saturación debe ser dirigida a evitar el viento.

Segundo, el modelo basado en controladores son sólo tan buena como sus modelos, y el modelado requiere el conocimiento de un dominio. Incluso entonces, algunos ajustes casi siempre va a ser necesaria para eliminar los errores de modelado. Cualquier moderadamente complejo sistema (a menos que usted es nuevo a) puede tomar un bastante mucho tiempo para modelar con precisión. El nivel de exactitud del modelo se necesita depende de qué nivel de rendimiento de las necesidades de su aplicación (es decir, se Puede tratar a la planta como un simple integrador, o usted necesita para tomar la 2 ª y 3 ª efectos del orden en cuenta?). El actuador/unidad también debe ser modelada si su tiempo de respuesta es en cualquier lugar cerca de su planta. El mismo se aplica a la retroalimentación del sensor. En los sistemas de alto rendimiento, esto es a menudo la parte más costosa de todo el controlador. Algunas empresas no quieren gastar el tiempo y dinero en el modelado del sistema. Esto está bien para los sistemas más sencillos. Sin embargo, para sistemas complejos diseñados por gente que no pensar acerca de la capacidad de Control (capital 'C' - ver "la Moderna Teoría de Control" por Brogan), la falta de un delantero modelo del diseño del controlador enormemente difícil.

La ingeniería de Control es altamente interdisciplinario, dependiendo de la aplicación. Simplemente "la compra de un libro de texto" en los controles le ayudará a empezar, pero el diseño del controlador es a menudo mucho más fácil de lo que la comprensión de la planta y el desarrollo de un modelo decente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X