Vous êtes sur la page 1sur 34

UNIVERSIDAD AUTNOMA DE BAJA CALIFORNIA

FAC. DE CS. QUMICAS E INGENIERA INGENIERA EN ELECTRNICA

PROCESAMIENTO DIGITAL DE SEALES IDENTIFICACIN Y CONTROL DE UN PNDULO INVERTIDO EN TIEMPO REAL GONZLEZ COTA JUAN CARLOS HIPLITO SOLS JOSU JUREZ LEY ISRAEL MEDINA SOTO OHANA PARDINI ARVIZU OSCAR ISAAC VSQUEZ CERVANTES LUZ ANGELINA ASESORES: M.C LAURA JIMNEZ BERISTAIN M.C. JOS JAIME ESQUEDA ELIZONDO TIJUANA B.C. A 9 DE DICIEMBRE DE 2005

Pndulo Invertido

Control Digital

CONTENIDO

I. Etapas de Potencia Diagramas a bloques Circuitos II. Encoders De mstil De posicin III. Simulink PWM Controlador Inversin de direccin IV. Identificacin del sistema Paramtrica No paramtrica V. Resultados de la identificacin del sistema con limit switch Paramtrica No paramtrica Funcin ident de matlab VI. Resultados de la identificacin del sistema sin limit switch No paramtrica Paramtrica Funcin ident de matlab

Pndulo Invertido

Control Digital

ETAPAS DE POTENCIA Diagrama A Bloques 1ra Etapa Interruptores de lmite con compuerta AND

Inversor

Simulink

Optoacoplador

Flip-Flop

Puente H

Motor

La primera etapa para la realizacin del pndulo tenamos nuestro componente principal que era el puente H el cual se encargara de mover el motor que sostena el encoder con el mstil, a este le llegaban 2 seales: 1. PWM con la cual se manipulaba la velocidad del motor, esta seal provena de la computadora y pasaba por un opto acoplador para evitar algn dao al DAQ. 2. El sentido del giro, este se determinaba con 2 interruptores de lmite situado uno en cada extremo del rea de desplazamiento, cada interruptor se conecto a una compuerta AND, posteriormente un lado se enviaba como dato al flip flop y el otro servia como reset para el flip flop, el dato que sala del flip flor tipo D se enviaba al inversor y luego al se enviaban al puente H para determinar el giro. En los diagramas se explicara claramente la lgica del circuito.

Pndulo Invertido

Control Digital

2da Etapa

Simulink

Optoacoplador

Inversor

Puente H

Motor

En esta etapa se eliminaron los interruptores de limite ya que por medio de simulink y el error del sistema se decida el giro del motor. Al eliminar los interruptores se elimino el flip flop y la compuerta AND. Los dems componentes quedaron igual solamente que de la computadora se enviaba la seal del sentido directamente al inversor. Etapa Bsica De Potencia

Pndulo Invertido

Control Digital

En esta etapa la cual es la base del desarrollo del pndulo invertido se tienen 3 componentes: 1. Puente H (L298N) el cual se manipula con voltajes lgicos se necesita polarizar con sus 5v y tierra, tiene su entrada de enable en la cual se le conecta la seal del pwm con el cual determinamos la velocidad de los motores, tambien cuenta con 2 entradas con las cuales se le indica el sentido del giro las cuales estn conectadas al inversor. Cuenta con 2 pines en los cuales se conecta el voltaje al cual se manipulara el motor soportando una corriente de 2A. Ms datos y especificaciones de conexiones se pueden ver en los anexos y hojas de especificaciones. 2. Optoacoplador tiene su polarizacin para un funcionamiento correcto y este recibe la seal del pwm proveniente de simulink, se utiliza para la proteccin de los sistemas, para as separar las tierras anlogas de las digitales. Posteriormente se conecta a una compuerta inversora solo para asegurar una salida de 1 0 en la seal. Etapa De Reconocimiento Con Interruptores De Lmite

En esta etapa se tiene la etapa bsica de potencia pero se le agregan 3 componentes:

Pndulo Invertido

Control Digital

1. Interruptores de limite con compuerta AND, los interruptores estn conectados como circuito cerrado un extremo a tierra y el otro a una entrada de la compuerta and la cual esta conectada con una resistencia a vcc esto para lograr un 1 lgico al momento de que el motor llegue a un limite. 2. Posteriormente la seal de la compuerta and de un interruptor se envia al flip flop D y el otro interruptor se enva al inversor esto para hacer que cuando el motor llegue a un interruptor se quede un 1 en el flip flop y al cambiar de giro y el motor llegar a tocar el otro interruptor se produzca un reset en el flip flop y de esta manera estar realizando una secuencia de 1 y 0 y as estar cambiando el giro. 3. La seal de salida del flip flop se enva a la compuerta inversora esto es para que con una seal de entrada se produzcan dos de salidas una negada a lo que esta entrando y esta misma negada se enva de nuevo a un inversor para que salga la original y as con una sola seal de giro enviar 2 hacia el puente H ya que este necesita que le lleguen 2 seales para saber hacia donde girar. De esta manera tendremos una secuencia de 1,0 y 0,1. Etapa Controlado Por Medio De Simulink

Este diagrama pertenece a la 2da etapa vista en el diagrama a bloques. Como se dijo anteriormente se elimina el flip flop con su compuerta inversora. Y basndonos en el diagrama anterior del reconocimiento del sistema solo se cambia el pin 13 de la compuerta inversora al cual previamente le llegaba la seal del flip flop D por la seal que proviene de simulink. Todo lo dems sigue funcionando de la misma forma. ENCODERS

Pndulo Invertido

Control Digital

Encoder De Mastil

El principio de funcionamiento de un encoder absoluto es muy sencillo, un disco rotatorio, con zonas transparentes y opacas, interrumpe un haz luminoso adquirido por unos fotorreceptores; por lo tanto, ellos transforman los impulsos luminosos en impulsos elctricos que se tratan y transmiten por la parte electrnica en salida la cual nos entrega resultados en valores digitales que por lo general se encuentran codificados en Gray o binario, el utilizado para este proyecto se encuentra en Gray. Si tomamos en cuenta que el principio de trabajo y funcionamiento de un encoder de 8 bits es el mismo para casi todo tipo de ellos, podemos empezara a trabajar con este en base solo a las terminales de salida de la menos significativa a la mas basndonos en la tabla de las terminales y los colores de estas que se presenta a continuacin.

Cabe resaltar que estos colores que se representan en la tabla son los dados por el fabricante, pero con motivo de la aplicacin del mismo para el pndulo invertido se adaptaron nuevos cables de mayor distancia para que el pndulo funcionara de una manera ms libre, a continuacin se menciona el circuito usado para convertir el cdigo gray a voltaje anlogo. Primeramente se tuvo que implementar un circuito para convertir de cdigo gray a binario, este circuito es un simple arreglo de compuertas X-OR, despus de realizar esta conversin se implemento el DAC para que nos convierta a voltaje.

Pndulo Invertido

Control Digital

Este circuito nos arroja una conversin de un mximo de 9.17V, de los 10V con que es alimentado, esto debido a la saturacin en el operacional, este es un ligero problema para la aplicacin de el pndulo invertido puesto que solo nos da un rango de accin de 0-340 grados, dejndonos 20 grados en saturacin, este problema se intento solucionar dejando la parte en saturacin hacia abajo y mediante software. El nivel de conversin por cada grado nos arroja una medicin de 0.02697 V aproximadamente. Diagrama A Bloques Del Sistema

Tabla de Conexin Colores Caf Caf/blanco Naranja Naranja/blanco Verde Azul Verde/blanco Azul/blanco Blanco Negro Salida Naranja Dgitos 1 2 3 4 5 6 7 8 vcc gnd (conexion a la PC)

Pndulo Invertido

Control Digital

Diagrama Del Circuito

Pndulo Invertido

Control Digital

Encoder De Posicin El posicionamiento se logra haciendo uso de un encoder. Esto es un pequeo disco acoplado en el eje del motor, donde contamos con 100 ranuras. Cada una de ellas nos da un pulso, haciendo el conteo de estos pulsos podemos identificar la posicin de la base.

Este encoder fue puesto con la finalidad de ubicar a nuestro carrito del pndulo dentro del rango de operacin en la base. Para lograr poner el encoder en la parte posterior del motor se tuvo que adaptar puesto que el ancho de la varilla del motor no concordaba con la entrada en el encoder.

HEDS-9000 El encoder usado es el HEDS-9000 de HP, bsicamente lo que hace es medir la velocidad de el motor y su sentido de giro, para esto el encoder cuenta con dos canales de salida con los cuales se puede realizar la medicin de estos parmetros. Diagrama Interno Del Encoder

Pndulo Invertido

Control Digital

Formas De Onda De Salida

Como salida cuenta con dos canales con los cuales se obtiene el sentido de giro, cuando el canal A se encuentra desfasado respecto al B entonces el motor se encuentra girando hacia la derecha, y cuando ocurre lo contrario el sentido es opuesto. En cuanto a la velocidad esta se determina de acuerdo al numero de pulsos en el motor, a mas velocidad mas pulsos.

Conexines del Encoder

Circuito De Potencia

Pndulo Invertido

Control Digital

Conexiones Del Cable Gris De Datos Color de cable Verde Azul Caf Naranja Verde/Blanco Nmero de tarjeta 22 53 64 65 21

Funcin PWM Tierra digital Tierra anloga Lectura encoder de mstil Direccin del motor

SIMULINK

Pndulo Invertido

Control Digital

Para poder disear el controlador necesario en el proyecto del pndulo invertido, fue necesario trabajar con diversas etapas inclusive a nivel programacin, y es la etapa en la que se ha trabajado con ms detalle, ya que no ha sido sencillo disearla debido a diversas variantes que han surgido conforme el desarrollo del proyecto. Simulink te ofrece una muy buena herramienta para trabajar y pulir los detalles que han surgido. Para poder controlar el sistema de traslado del pndulo invertido fue necesario trabajar sobre el motor de base, el cual carga el peso tanto del mstil como del indicador de posicin (encoder). Se us un PWM para generar diferentes velocidades de respuesta en el motor y de esta forma tener la posibilidad de acelerar repentinamente o en su defecto desacelerar el pndulo, buscando as conseguir la vertical. Sin embargo los problemas no terminan ah, puesto que una vez obtenido el PWM capaz de regular la velocidad de traslado del motor era necesario conocer la posicin del mstil y la posicin del motor. Adems de ciertos detalles referentes a los lmites de carrera que fueran deseados, esto para evitar que el motor de traslado se golpeara con la base, provocando de esta manera desajustes o en algunos casos dao, tambin se debe tomar en consideracin que an no se aborda lo que sera en si el controlador. Nosotros decidimos controlar todo en su mayora desde Simulink ya que implicaba menos alambrado y por ende una posible reduccin de errores. Por Etapas: PWM La idea del PWM es relativamente interesante, se requiere una seal base que se repita de forma infinita (dientes de sierra en este caso), al haber cruces por cero, el ancho de pulso de la seal vara, dependiendo totalmente de la seal de error (lejana del mstil y la vertical). En este caso, Simulink no posee un bloque que genere un ciclo FOR o cualquier otro tipo de ciclo, lo cual nos pone en un predicamento, sin embargo se cuenta con generadores de funciones, que a su vez pueden emular este tipo de funcin (ciclos), eso aunado a un escaln genera una seal montada en CD, lo cual asegura una seal 100% positiva, a la cual se le puede agregar la informacin necesaria proveniente de un sensor externo para variar el ancho de pulso, hasta aqu, se cubren los primeros 5 bloques de la figura 1. Paso siguiente, se compara el valor de referencia el cual ser una analoga al cruce por cero y ya con este valor se obtiene un cero lgico o en su defecto un uno lgico, paso despus del cual se amplifica para tener un valor de 5 volts a la salida del sistema, como siempre no todo es tan sencillo cuando se habla de generar interfaces entre modelos reales y simulados, y esta vez no fue diferente debido a la diferencia entre los tipos de datos manejados, fue ms sencillo manejar un mismo tipo de dato durante todo el proceso, sin embargo, al final del proceso fue necesario emplear dos convertidores de tipo de dato asegurando de sta manera que a la salida siempre tuviramos el tipo de dato obligatorio por el sistema para funcionar.

Pndulo Invertido

Control Digital

Signal Generator

>= 4.5 Add1 Add2 Compare To Constant

5 Gain

uint8

double

1 SALIDA PWM

Data Type ConversionData Type Conversion1

1 Step ENTRADA PID

|u| Abs

Fig. 1 Controlador Para poder tomar datos en tiempo real, fue necesario emplear un retenedor de orden cero para adecuar la seal, es decir almacenarla en un buffer y que no se perdiera totalmente, ya que las velocidades de captura de la tarjeta nos limitaban en lo que a frecuencias se refiere. Una vez tratado ste problema, el enfoque fue generar un porcentaje de error en base a un punto de referencia y el dato capturado del sensor, en este caso el comportamiento de sensor lo tom el encoder sobre el cual fue montado el mstil, ya que ste da un valor en voltaje especfico para cada cantidad de grados, una vez hecho esto y obtenido el valor del error, se alimenta a tres bloques, primero al bloque del controlador por medio del cual se espera controlar y anticipar el movimiento del pndulo, el sentido de movimiento del motor como segundo bloque y el PWM como tercer bloque, ste ltimo ya fue explicado en el prrafo anterior, el sentido de movimiento se explicar en el siguiente bloque. El controlador, es la parte ms importante del sistema de Simulilnk, aunque visto desde la perspectiva del cdigo no es mucho, cmo llegar a ese controlador es lo interesante, existen dos formas de disear el controlador, la primera es ajustando las ganancias por medio de prueba y error de forma tal que quede lo ms cercano posible al resultado deseado, y la segunda es en base a mediciones tomadas de las pruebas de peso y carrera y comportamiento del pndulo, obtener la planta del sistema, este ltimo mtodo es el que se estuvo trabajando al final pero por cuestiones de tiempo no fue posible completar al 100 %, es por eso que para fines prcticos se emple el mtodo experimental mediante el ajuste de ganancias. Por medio del cual se lleg al modelo y ganancias empleadas en la figura 2, la cual tiene marcadas las entradas y salidas del bloque.

Pndulo Invertido

Control Digital

1 2 COMPARACION/ENCODER 99 Proportional s+1 Sum s Integral Sum1 pid encoder 55 Zero-Order Hold To Workspace1 D du/dt Derivative T o Workspace 3 GRAF PID 1 SALIDA DEL PID

4 SEAL DE ERROR 2 ENTRADA DEL ENCODER 5 SALIDA DEL ENCODER error To Workspace2

Fig. 2 Inversin De Direccin En este bloque se comparan niveles de voltaje provenientes del encoder, para tener un punto de referencia con respecto al cual mover el motor e indicar un sentido de movimiento, obedece los mismo seguimientos de los bloques de comparacin anteriores, si la comparacin se cumple la salida es uno, caso en el cual lo amplificamos para que genere 5 volts a la salida y por ende un uno lgico o un cero lgico, mismo que a su vez mueve al motor a la derecha o a la izquierda respectivamente.

giro To Workspace2 1 ENTRADA DEL ERROR <= 0 XOR Compare To Constant2 Logical Operator Convert Data T ype Conversion5 5 Gain2 uint8 double 1 CAMBIO DE DIRECC. Data Type Conversion1 Data Type Conversion4

2 ENT RADA DEL ENCODER

<= 3 Compare T o Constant3

OR Logical Operator1

>= 7.3 Compare T o Constant4

Fig. 3

Pndulo Invertido

Control Digital

Por ltimo, en lo que respecta al cdigo preliminar empleado en el proyecto, sta es la presentacin del programa de manera general.
PWM_Modif icado PID SALIDA DEL PID ENTRADA PID SALIDA PWM

Analog Output Analog Output


National Instruments PCI-6024E [auto]

4.93 Setpoint

COMPARACION/ENCODER GRAF PID SEAL DE ERROR ENTRADA DEL ENCODER SALIDA DEL ENCODER ENTRADA DEL ERROR CAMBIO DE DIRECC. ENTRADA DEL ENCODER

Scope
INVERSION DE DIRECCION

Analog Input Analog Input


National Instruments PCI-6024E [auto]

Analog Output Analog Output1


National Instruments PCI-6024E [auto]

Pndulo Invertido

Control Digital

IDENTIFICACIN DEL SISTEMA Un sistema es todo proceso que transforma entradas (causas) en salidas (efectos) y un ejemplo de esto es un programa de computo, donde la entrada son los datos a procesar y la salida son los resultados producto del procesamiento. Estos sistemas tienen asociada una funcin de transferencia y para obtener esta funcin de transferencia utilizamos dos mtodos que a continuacin se mencionan. Identificacin De Sistemas Paramtrica

El procedimiento de identificacin es el siguiente: 1. Capturar muestras de entrada y salida, mediante simulink (analog input, to workspace). 2. Alinear los datos. Graficamos los datos obtenidos y observamos el desplazamiento o defasamiento de los datos y si era necesario los corregimos mediante ciclos for en MatLab. Codigo de alineacin de datos load e2.dat; load s2.dat; load e3.dat; load s3.dat; for (c=1:1:1000-169) s2al(c)=s2(c+168); end for (c=1:1:1000-169) e2al(c)=e2(c); end for (c=1:1:1000-835) s3al(c)=s3(c+834); end for (c=1:1:1000-835) e3al(c)=e3(c); end save s2al.dat -ascii s2al.dat save e2al.dat -ascii e2al.dat save s3al.dat -ascii s3al.dat save e3al.dat -ascii e3al.dat

Pndulo Invertido

Control Digital

3. Utilizamos un programa llamada isisarma.Que fue creado mediante el modelo ARMAX para obtener la funcin de transferencia a partir de entradas y salidas alineadas. Cdigo ISISARMA load in1.dat load out1.dat entrada=in1'; salida=out1'; fm=1000; T=1/fm; N1=length(entrada); Tope=T*(N1-1); t=(0:T:Tope); n=length(t); Np=size(salida); N=Np(1,2); MT=1000;

%inicio

for r=1:6, for p=r:6, for L=1:N-p %Columna f=2; fu=1; for k=1:p, %Fila parte de entrada GAMT(k,L)=-salida(p+L-f+1); %El +1 es por correccin para MATLab f=f+1; end for k=p+1:p+r+1, GAMT(k,L)=entrada(p+L-fu+1); %El +1 es por correccin para MATLab fu=fu+1; end end GAMT; GAM=GAMT'; for te=p+1:N, xnt(te-p)= salida(te); end xn=xnt'; clear teta teta = GAMT*GAM; teta = inv(teta); teta = teta*GAMT; teta = teta*xn;

Pndulo Invertido

Control Digital

e=xn-GAM*teta; % Calcula el error, 'e' es un vector columna clear GAM GAMT xn xnt Ep=e'*e; % CAlcula la suma de los errores cuadrtico medio FPE=((p+N+r+1)/(N-p-r-1))*Ep; % donde r es el orden del modelo MA y p del AR if FPE<MT clear TETA MT=FPE; R=r; P=p; TETA=teta; end end end Den(1)=1; for m=2:P+1, Den(m)=TETA(m-1); end nu=length(TETA); for m=P+1:nu, Num(m-P)=TETA(nu-(m-P)+1); end xf=0:1:1023; xf=(fm/2)*xf/1024; [H,W]=freqz(Num,Den,512,fm); mayor=max(H); radio=abs(mayor); N2=Num/radio; D2=Den/radio; printsys(N2,D2,'z'); [H2,W2]=freqz(N2,D2,512,fm); mayor=max(H2); HLin2=freqz(N2,Den,xf,fm); maximo=max(HLin2); mag2=abs(HLin2); ParteReal=real(HLin2); ParteImag=imag(HLin2); Hfase=atan2(ParteImag,ParteReal)*180/pi; Hfase=Hfase-180;

Pndulo Invertido

Control Digital

figure subplot(211);plot(xf,mag2); xlabel('(Hz)');ylabel('Amp');title('Respuesta de Amplitud del sistema identificado(escala lineal)'); axis([0 4000 0 1]); grid on, subplot(212); plot (xf,Hfase); xlabel('(Hz)'); ylabel('Grados');title('Respuesta de la fase del sistema identificado(escala lineal)'); grid on Este cdigo fue la mejor opcin, ya que nos mostraba la funcin de transferencia directamente. Identificacin No Parametrica de Sistemas

El procedimiento de identificacin es el siguiente: 1. Capturar muestras de entrada y salida, mediante simulink (analog input, to workspace). 2. Alinear los datos. Graficamos los datos obtenidos y observamos el desplazamiento o defasamiento de los datos y si era necesario los corregimos mediante ciclos for en MatLab. 3. Realizamos la correlacin cruzada y auto correlacin para M=32, y agregamos 2000 ceros a las correlaciones. 4. Calcular el espectro y auto espectro con la TRF. 5. Obtener las magnitudes de los espectros y dividir el espectro entre el auto espectro. 6. Obtener las graficas de Bode. A continuacin se muestra el cdigo con todos los pasos mencionados. load e1al.dat; load e2al.dat; load e3al.dat; load s1al.dat; load s2al.dat; load s3al.dat; N1=length(e1al); N2=length(e2al); N3=length(e3al);

Pndulo Invertido

Control Digital

%%%%%%%%%%%%%%%%%CORRELACION PARA 32 MUESTRAS%%%% %_________________autocorrelacion__________________________% n=1; m=0; for m=0:1:31; C=0; for n=1:1:N1-m R=e1al(n)*e1al(n+m); C=C+R; Rx1=(C/(N1-m)); Rxx1(m+1)=Rx1; end for n=1:1:N2-m R=e2al(n)*e2al(n+m); C=C+R; Rx2=(C/(N2-m)); Rxx2(m+1)=Rx2; end for n=1:1:N3-m R=e3al(n)*e3al(n+m); C=C+R; Rx3=(C/(N3-m)); Rxx3(m+1)=Rx3; end end %_________________correlacion cruzada______________________% n=1; m=0; for m=0:1:31; C=0; for n=1:1:N1-m R=e1al(n)*s1al(n+m); C=C+R; Ry1=(C/(N1-m)); Rxy1(m+1)=Ry1; end for n=1:1:N2-m R=e2al(n)*s2al(n+m); C=C+R; Ry2=(C/(N2-m)); Rxy2(m+1)=Ry2; end for n=1:1:N3-m R=e3al(n)*s3al(n+m); C=C+R; Ry3=(C/(N3-m));

Pndulo Invertido

Control Digital

Rxy3(m+1)=Ry3; end end %%%%%%%%%%%%%%LLENAR CON CEROS%%%%%%%%%%%%%%% for (cont=1:1:1968) Rxx1(cont+32)=0; Rxx2(cont+32)=0; Rxx3(cont+32)=0; Rxy1(cont+32)=0; Rxy2(cont+32)=0; Rxy3(cont+32)=0; end %%%%%%%%%%%%%%%%ESPECTROS%%%%%%%%%%%%%%%%%%%% Sxx1=fft(Rxx1); Sxy1=fft(Rxy1); Sxx2=fft(Rxx2); Sxy2=fft(Rxy2); Sxx3=fft(Rxx3); Sxy3=fft(Rxy3); for (c=1:1:2000) Hf2(c)=abs(Sxy2(c))/abs(Sxx2(c)); end Fase2=atan(Hf2); Grados2=(180*Fase2)/pi; for (c=1:1:2000) Hf1(c)=abs(Sxy1(c))/abs(Sxx1(c)); end Fase1=atan(Hf1); Grados1=(180*Fase1)/pi; for (c=1:1:2000) Hf3(c)=abs(Sxy3(c))/abs(Sxx3(c)); end Fase3=atan(Hf3); Grados3=(180*Fase3))/pi; %%%%%%%%%%%%%%%

Pndulo Invertido

Control Digital

RESULTADOS DE LA IDENTIFICACIN DEL SISTEMA Utilizando datos de entrada y salida muestreados cuando el sistema tena interruptores de lmite.(limit switches) Identificacin No Paramtrica

Se capturaron tres pares de datos de entrada y salida el 02 de nov 05. Despus de alinearlos y aplicar la correlacin y FFT, se obtuvieron las siguientes grficas. Aqu nicamente utilizaremos el primer par de datos capturados. A estas muestras se les agreg 2000 ceros y se utiliz el algoritmo de la correlacin empleando la frmula vista en clase para m=32: A estos datos no se les agreg ceros y se utiliz la funcin xcorr de matlab:

Pndulo Invertido

Control Digital

Utilizamos la funcin spa de matlab para hacer el anlisis espectral y obtuvimos la grfica de Bode empleando los mismos datos anteriores:

Identificacin Paramtrica

Introduciendo los datos de entrada y salida al programa en matlab isisarma se obtuvo la funcin de transferencia. Funcin de transferencia con los primeros datos obtenidos y que se alinearon e1al y s1al (estos datos son distintos a los anteriores y fueron los primeros capturados cuando tena limit switches el sistema) num/den = -0.29624 z^3 + 0.30172 z^2 + 0.28183 z - 0.22793 ---------------------------------------------------------------0.17201 z^4 - 0.10398 z^3 - 0.030587 z^2 - 0.011965 z - 0.015266

Pndulo Invertido

Control Digital

Utilizando La Funcin ident De Matlab

En matlab existe una funcin llamada ident que permite hacer la identificacin de un sistema. Es una interfaz grfica que identifica un sistema en forma automtica y rpida. Primero es necesario crear un objeto del tipo iddata que contendr los datos de entrada y salida. >> obj_iddata = iddata(salida21105, entrada21105); Para abrir la interfaz grfica debemos escribir ident en matlab. >> ident

Al abrirse debemos dar clic en import para importar los datos de entrada y salida

Pndulo Invertido

Control Digital

Enseguida escogemos IDDATA object:

Y luego tecleamos el nombre de la variable con el que nombramos al objeto iddata que contiene las entradas y salidas.

Pndulo Invertido

Control Digital

Enseguida se da clic en Quick Start para que comience a trazar las grficas ms comunes:

Entrada y salida:

Pndulo Invertido

Control Digital

Respuesta al escaln con el modelo arx:

Respuesta a la frecuencia:

Diagrama de polos y ceros:

Pndulo Invertido

Control Digital

Polos y ceros con el modelo armax:

Comparacion de spa, armax, resp a impulso y resp a frecuencia azul= resp a impulso verde=spa rojo=arx cian=modelo en espacio de estados

UTILIZANDO DATOS DE ENTRADA Y SALIDA MUESTREADOS

Pndulo Invertido

Control Digital

CUANDO AL SISTEMA SE LE DESACTIVARON LOS LIMIT SWITCHES Datos de entrada: Datos de salida: in1.dat , in2.dat, in3.dat out1.dat, out2.dat, out3.dat

Identificacin No Paramtrica

Primero fue importante verificar si los datos estaban alineados para ello se graficaron los datos y se observ la desviacin que haba entre los datos de entrada y los de salida. Verficiacion de datos. Saber si estan alineados in1 out1

in2 out2

in3 out3

Pndulo Invertido

Control Digital

En este caso no se observa que los datos estn desalineados, es decir, se observa que existen datos de salida en el instante en que existen datos de entrada, lo da lugar a que no existe un retraso en la respuesta. Enseguida de obtuvieron las correlaciones y FFT de los datos agregando 2000 ceros y para m = 32. Identificacin Paramtrica

Para hacer la identificacin paramtrica, introdujimos los datos de entrada y salida alineados a un programa hecho en matlab llamado isisarma y se obtuvieron las siguientes funciones de transferencia:

Funciones de transferencia con in and out In3 out 3 num/den = 0.0032241 z^3 0.0042571 z^2 + 0.0043673 z 0.0025686 ------------------------------------------------------0.1394 z^3 0.08923 z^2 0.032821 z 0.017242 in2 out2 num/den = -0.003204 z^3 + 0.0025038 z^2 0.001417 z 0.0012915 ------------------------------------------------------

Pndulo Invertido

Control Digital

0.070092 z^3 0.046455 z^2 0.016197 z 0.0072018 in1 out1 num/den = -0.0016347 z^3 + 0.00071593 z^2 0.0011358 z 0.00097027 ---------------------------------------------------------0.052657 z^3 0.042072 z^2 0.0074445 z 0.002981 in and out in3 out3:

in2 out2

Pndulo Invertido

Control Digital

in1 out1

Utilizando La Funcin ident De Matlab:

Pndulo Invertido

Control Digital

REFERENCIAS [1] Juan Garca Lpez Procesamiento Digital de Seales. Libro en revisin por el CICIPN, 1999. [2] Jos Jaime Esqueda Elizondo, Juan Garca Lpez, Identificacin no paramtrica de sistemas lineales e invariantes con el tiempo, CONATEC-1999 [3] http://www.iitk.ac.in/eclub/Circuit/l298.htm [4] Tesis: "Identificacin de sistemas lineales e invariantes usando un procesador digital de seales" Autor: Jos Jaime Esqueda Elizondo. Pginas: 25-40, 62-79, 86-87, 113-114. [5] Data sheets