UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA MECÁNICA ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA Curso: MT- 235 Control Clásico Laboratorio Bode, Nyquist y PID A. Objetivo • • • Modelar sistemas lineales invariantes en el tiempo (LIT) Utilizar los diferentes comandos que proporciona MATLAB para realizar simulaciones de sistemas de control. Utilizar herramientas computacionales provistas por MATLAB para la conexión, conversión de modelos LIT B. Fundamentos Teóricos Ver referencias bibliográficas. C. Materiales y Equipos Los materiales y equipos a usarse en la experiencia de laboratorio son: • Una computadora • Programa MATLAB D. Procedimiento Construir el diagrama de Bode en MATLAB Los diagramas de Bode indican el margen de ganancia, el margen de fase, la ganancia en continuo, el ancho de banda y otros parámetros de interés. Para construir un diagrama de Bode y que se dibuje, es posible emplear la orden bode(num,den). Tanto en una orden como en otra num y den representan dos vectores de igual dimensión con los coeficientes de la ecuación polinómica de numerador y denominador de la función de transferencia del sistema en lazo abierto. Los coeficientes del polinomio num están operados con la ganancia K. Para construir el diagrama de Bode también se emplea la orden [mag, fase, w]=bode(num,den,wu). Ésta genera el diagrama de bode y devuelve la respuesta en frecuencias del sistema en las matrices de magnitud, fase y frecuencia, w. Esta orden no dibuja gráficamente el diagrama sobre la pantalla. Las matrices de magnitud y fase contienen la amplitud o módulo y los ángulos de fase de la respuesta en frecuencia del sistema evaluado en los puntos de frecuencia indicados en la wu que el usuario pasa como parámetro. El ángulo de fase se devuelve en grados, no obstante, la magnitud es necesario convertirla a decibelios en algunas versiones de MATLAB mediante la expresión magdB=20*log 10(mag). Si se desea especificar el rango de magnitud para que se encuentre, entre dos valores específicos, por ejemplo -45dB y 45dB es posible introducir líneas no visibles en -45dB y +45dB con el siguiente ejemplo: dBmax=45*ones(1,100); dBmin=-45*ones(1,100); Después, se pueden dibujar con la orden: semilogx(w,magdB,’o’,w,magdB,’-‘,w,dBmax,’--i’,w,dBmin,’:i’) donde el número de puntos de dBmax y dBmin deben coincidir con el número de puntos de la frecuencia w. El resultado será una curva de magnitud magdB con las marcas ‘o’ como elemento de pincel. El parámetro ‘i’ de la expresión hace que ciertas líneas no se dibujen o lo hagan con una tinta invisible. Si la expresión se modifica por semilogx(w,magdB,’o’,w,magdB,’-‘,w,dBmax,’-’,w,dBmin,’:’) entonces las líneas de +45dB y -45dB se harán visibles en la pantalla. Los rangos para la magnitud, normalmente, son múltiplos de 5dB, 10dB, 20dB o 50dB, aunque existen excepciones. Si se desea especificar el rango de ángulo de fase, se procede de modo similar a como se hizo para la magnitud. Por ejemplo para que se encuentre, entre dos valores específicos, tales como -145º y 115º es posible introducir líneas no visibles en esos límites con el siguiente ejemplo: fmax=115*ones(1,100); fmin=-145*ones(1,100); Después, se pueden dibujar con la orden semilogx(w,fase,’o’,w,fase,’-‘,w,fmax,’--i’,w,fmin,’:i’) donde el número de puntos de fmax y fmin deben coincidir con el número de puntos de la frecuencia w. El resultado será una curva de fase fase con las marcas ‘o’ como elemento de píncel. El parámetro ‘i’ de la expresión hace que ciertas líneas no se dibujen o lo hagan con una tinta invisible. Si la expresión se modifica como se ha hecho antes entonces las líneas de +115º y -145º se harán visibles en la pantalla. Los rangos para la fase, normalmente, son múltiplos de 5º, 10º, 50º o 100º, aunque también existen excepciones como para el caso de las magnitudes. Si se quiere dibujar el diagrama de Bode construido con la orden [mag, fase, w]=bode(num,den,wu), es necesario añadir después la orden logspace. Ésta, además permite especificar el rango de frecuencias que se quieren mostrar. La sintaxis de dicha expresión puede ser de dos tipos: logspace(d1,d2) o logspace(d1,d2,n). La primera expresión genera un vector de 50 puntos espaciados logarítmicamente por igual entre las décadas 10d1 y 10d2. La segunda de las expresiones genera n puntos espaciados logarítmicamente por igual entre las décadas 10d1 y 10d2. Por ejemplo, para generar 100 puntos entre una frecuencia de 1 rad/seg y otra frecuencia de 1000 rad/s, se introducirá la orden logspace(0,3,100). Esta función nos permite obtener la respuesta en frecuencia de Bode para modelos LTI. Entre las formas más comunes de utilizar esta función se encuentran: • • • • bode(sys): dibuja el grafico de Bode del modelo LTI sys (creado con tf o zpk). El rango de frecuencia y el número de puntos que tomar ´ a para graficar los elige en forma automática. bode(sys,w): utiliza el el vector w de frecuencias propuesto para calcular el Bode. Dado que el vector w debe estar en escala logarítmica, existe en MATLAB la función logspace que genera un vector de frecuencias en forma logarítmica. bode(sys1,sys2,...,w): dibuja el grafico de Bode de varios modelos LTI en una sola figura. El parámetro w es opcional, también se puede especificar color, tipo de línea y marcadores como se los utiliza con el comando plot. [mag,fase]=bode(sys,w) o [mag,fase,w]=bode(sys): devuelve la magnitud y la fase en grados. Este comando no dibuja en pantalla, mag(:,:,k) y fase(:,:,k) determina la respuesta en w(k). Para obtener magnitudes en dB, debemos calcular magdb=20*log10(mag). Ejemplo: Dada la siguiente transferencia, queremos obtener el grafico de Bode Para ello ejecutemos los siguientes comandos desde el workspace: G=zpk([],[0 -5 -50],2500); bode(G); Función Nyquist Esta función nos permite obtener la respuesta en frecuencia de Nyquist para modelos LTI. Entre las formas más comunes de utilizar esta función se encuentran: • nyquist(sys): dibuja el grafico de Nyquist de sys que es un modelo LTI creado con los comandos tf o zpk. El rango de frecuencia y el número de puntos que utilizar ´ a para graficar son elegidos en forma automática. Las distintas alternativas para este comando son la misma que para la función bode, excepto el último de los ítems que se reemplaza por: • [Re,Im]=nyquist(sys,w) o [Re,Im,w]=nyquist(sys): devuelve la parte real e imaginaria de la respuesta en frecuencia, a lo largo de w. La respuesta a la frecuencia w(k) esta dada por Re(:,:,k)*Im(:,:,k) [re,im,w,sdre,sdim] = nyquist(sys) también devuelve las desviaciones estándar de re y im para el sistema identificado sys. • Ejemplo: Dado el sistema cuya función transferencia viene dada por Obtener el diagrama de Nyquist. Para ello ingresamos los siguientes comandos G=zpk([],[-1 -1],1); nyquist(G) y obtuvimos la Figura PID Cree un controlador PID en forma paralela, conviértalo en un controlador PID de forma paralela. Sintaxis • C = pid(Kp,Ki,Kd,Tf) crea un controlador PID de tiempo continuo con proporcional, integral, y ganancias de derivados Kp, Kiy Kdy de primer orden del filtro derivado constante de tiempo Tf: Esta representación está en forma paralela . Si todos Kp, Ki, Kd, y Tfson reales, entonces la resultante Ces un pidobjeto de controlador. Si uno o más de estos coeficientes es ajustable ( realpo genmat), entonces Ces un genssobjeto de modelo de espacio de estado generalizado ajustable ( ). • C = pid(Kp,Ki,Kd,Tf,Ts) crea un controlador PID de tiempo discreto con tiempo de muestreo Ts. El controlador es: IF ( z ) y DF ( z ) son las fórmulas de integradores discretos para el filtro integrador y derivado. Por defecto, Para elegir diferentes fórmulas de integradores discretos, use las propiedades IFormulay DFormula. (Consulte Propiedades para obtener más información sobre IFormulay DFormula). Si DFormula= 'ForwardEuler'(el valor predeterminado) y Tf ≠ 0, entonces Tsy Tfdebe satisfacer Tf > Ts/2. Este requisito asegura un polo de filtro derivado estable. • C = pid(sys) convierte el sistema dinámico sysen un pidobjeto controlador de forma paralela . • C = pid(Kp) crea un controlador proporcional de tiempo continuo (P) con Ki = 0, Kd = 0 y Tf = 0. • C = pid(Kp,Ki) crea un controlador proporcional e integral (PI) con Kd = 0 y Tf = 0. • C = pid(Kp,Ki,Kd) crea un controlador proporcional, integral y derivado (PID) con Tf = 0. • C = pid(...,Name,Value) crea un controlador o convierte un sistema dinámico en un pidobjeto controlador con opciones adicionales especificadas por uno o más Name,Valueargumentos de par. • C = pid crea un controlador P con Kp= 1. Kp Ki Kd Tf Ganancia proporcional. Kp puede ser: • Un valor real y finito. • Matriz de valores reales y finitos. • Un parámetro ajustable ( realp) o una matriz generalizada ( genmat). • Una superficie sintonizable para la sintonización de ganancia con tunableSurface. Cuando Kp = 0, el controlador no tiene acción proporcional. Predeterminado: 1 Ganancia integral. Ki puede ser: • Un valor real y finito. • Matriz de valores reales y finitos. • Un parámetro ajustable ( realp) o una matriz generalizada ( genmat). • Una superficie sintonizable para la sintonización de ganancia con tunableSurface. Cuando Ki = 0, el controlador no tiene acción integral. Predeterminado: 0 Ganancia derivada. Kd puede ser: • Un valor real y finito. • Matriz de valores reales y finitos. • Un parámetro ajustable ( realp) o una matriz generalizada ( genmat). • Una superficie sintonizable para la sintonización de ganancia con tunableSurface. Cuando Kd = 0, el controlador no tiene acción derivada. Predeterminado: 0 Constante de tiempo del filtro derivado de primer orden. Tf puede ser: • Un valor real, finito y no negativo. • Matriz de valores reales, finitos y no negativos. • Un parámetro ajustable ( realp) o una matriz generalizada ( genmat). • Una superficie sintonizable para la sintonización de ganancia con tunableSurface. Cuando Tf = 0, el controlador no tiene ningún filtro sobre la acción derivada. Predeterminado: 0 programada, creada programada, creada programada, creada programada, creada Ts sys Tiempo de muestra. Para crear un pidcontrolador de tiempo discreto , proporcione un valor real positivo ( Ts > 0). pidno es compatible con el controlador de tiempo discreto con tiempo de muestra no especificado ( Ts = -1). Ts debe ser un valor escalar. En una matriz de pid controladores, cada controlador debe tener el mismo Ts. Predeterminado: 0 (tiempo continuo) Sistema dinámico SISO para convertir a pid forma paralela . Sys debe representar un controlador PID válido que se pueda escribir en forma paralela con Tf ≥ 0. sys también puede ser una matriz de sistemas dinámicos SISO. Argumentos de entrada E. Problemas 1) Dado el esquema de la figura, realiza un script en MATLAB que calcule el diagrama de Bode en los siguientes casos. 2) Dado el siguiente sistema: Dibuja el diagrama de Bode con MATLAB y después analiza la información que se obtiene de él sin llevar a cabo cálculos numéricos. Se pide: a) Indica los valores de las frecuencias de corte del diagrama de Bode asintótico, a partir de la función de transferencia G(s) normalizada del sistema. b) A la vista del diagrama de Bode calculado por Matlab, determina el valor inicial y final del diagrama de amplitudes y del diagrama de fases. c) A la vista del diagrama de Bode calculado por Matlab, determina la frecuencia de resonancia del sistema y calcular el valor en magnitud para una década superior y para una octava inferior d) ¿Entre que dos valores de frecuencia se observa principalmente el efecto del cero sobre la respuesta en frecuencia del sistema? e) Calcula el margen de fase y el margen de ganancia del sistema. A partir de los resultados obtenidos, determina la estabilidad del sistema en bucle cerrado. 3) Se la siguiente Función de transferencia Se pide: a) Las funciones de transferencia con K=1, K=1.75, K=2.25, K=3.25, son G1, G2, G3 y G4 respectivamente. b) Obtener las gráficas de Bode (magnitudes y fase) de G1, G2, G3 y G4. c) Obtenga de las gráficas de Bode el Margen de Fase MF, el Margen de Ganancia MG, la frecuencia de transición de ganancia ππππ y la frecuencia de transición de fase ππππ . d) ¿Cuál es el factor por el que hay que multiplicar la F.T. G4 para que el sistema tenga un MF= 50° e) Determine la ganancia crítica πΎπΎππ de la F.T. G4. f) Obtenga las funciones de transferencia de lazo cerrado de G1, G2, G3 y G4 estas serían G5, G6, G7 y G8, respectivamente. (feedback(tf(G),1) 4) g) Obtenga las gráficas de Bode (magnitud y fase) de G5, G6, G7 y G8, estas gráficas serian Bode de lazo cerrado de G1, G2, G3 y G4. h) Determine las gráficas de lazo cerrado, la magnitud de resonancia y la frecuencia de resonancia G5, G6, G7 y G8. i) Obtenga la gráfica de Nyquist G1, G2 G3 y G4. j) Obtenga la gráfica de Nichols G1, G2 G3 y G4. La función de transferencia de lazo abierto de un sistema de control es: Se desea que el sistema de lazo cerrado cumpla con las siguientes especificaciones: • Un coeficiente de estático de error de velocidad πΎπΎππ = 30 π π π π π π −1 • Un margen de fase MF = 50° Se pide: a) Determine el valor de ganancia (K) para que se satisfaga el coeficiente estático de error. b) Grafique Bode del sistema sin compensación y obtenga el Margen de fase y el Margen de ganancia con sus respectivas frecuencia. Estos son las características originales del sistema, ππππππππππππ margen de fase original ππππ frecuencia de transición de ganancia original y ππππππππππππ margen de ganancia original, ππππ frecuencia de transición de fase original. c) Si las características de (MF) no satisfacen las especificaciones, entonces, calcule la cantidad de fase de adelanto requerido que debe de entregar el compensador en adelanto. d) Siendo n el numero de compensadores en adelanto, (se inicia con un compensador), πππππΈπΈπΈπΈπΈπΈ e sel margen de fase especificado, ∅π΄π΄π΄π΄π΄π΄π΄π΄ son los grados adicionales que hay que agregar para compensar la caída de ángulo debido al corrimiento de frecuencia (la cantidad de angulo adicional es arbitraria). Considere el ángulo ∅ππ no debe de ser mayor a 65° (ángulo máximo que proporciona un compensador. e) De la cantidad de fase requerida, calcule ∝ π¦π¦ ππ ∗ 10ππππππ ∝ 1 − π π π π π π ∅ππ ∝= 1 + π π π π π π ∅ππ f) De la gráfica de Bode determine la frecuencia donde la magnitud es ππ ∗ 10ππππππ ∝ , esta es la nueva frecuencia de transición ππππ 5) Sea la siguiente respuesta frecuencial “aproximada” de un sistema de fase mínima críticamente amortiguado. Se pide: a) Determinar la función de transferencia del sistema a partir de la respuesta frecuencial aproximada. b) Calcular los márgenes de fase y de ganancia si se pretendiera realimentar al sistema mediante un controlador proporcional con ganancia unitaria. c) A partir de la función de transferencia obtenida en el apartado 1, diseñar un PD que cumpla con las siguientes especificaciones en bucle cerrado: - Error en régimen permanente ante escalón aproximadamente igual al 1%. - Frecuencia de corte aproximadamente igual a 2 rad/s Utilizando el diseño realizado, calcular el margen de fase resultante. d) A partir de la función de transferencia obtenida en el apartado (a), diseñar un PD que cumpla con las siguientes especificaciones en bucle cerrado: - Error en régimen permanente ante escalón aproximadamente igual al 1%. - Margen de fase aproximadamente igual a 52º. Utilizando el diseño realizado, estimar el tiempo de subida resultante. e) Indicar de manera aproximada las características principales de las respuestas temporales en bucle cerrado ante escalón de los apartados anteriores. f) Partiendo de cualquiera de los PD anteriores, diseñar un PID de manera que se mantengan aproximadamente iguales las características del transitorio, y cumpliendo la relación ππππ = 10ππππ . ¿Cuál será el error en régimen permanente ante rampa obtenido? g) Indicar, en caso de ser posible, cómo modificar los parámetros del PID anterior para reducir el error en régimen permanente a la mitad, manteniendo las propiedades transitorias (tiempo de subida, sobreoscilación, …) de la respuesta temporal. h) Idem para duplicar el error en régimen permanente ante rampa. i) Como es sabido, siempre existen diferencias entre el sistema real y el identificado. Supóngase que existen variaciones del 10% tanto en la ganancia como en las constantes de tiempo de los polos, así como la aparición de una dinámica de alta frecuencia por cada polo del sistema identificado con frecuencia diez veces superior al mismo. Con estos datos, estudiar en simulación la validez de los diseños realizados anteriormente y justificar los resultados obtenidos. 6) Compensador Tacometrico. Considerar el sistema de la figura, con compensador tacométrico π»π»1 y un regulador de tipo PD π»π»2 . Se pide ajustar los parámetros para conseguir πΎπΎπ£π£ = 6π π −1 7) F. Informe Presentar un informe conteniendo los siguientes puntos: - Carátula (de la Facultad de Ingeniería Mecánica) Fundamentos teóricos Descripción y explicación de los resultados experimentales. Aspectos resaltantes del desarrollo de la experiencia. Conclusiones Sugerencias y recomendaciones.