You are on page 1of 65

MANUAL DE PRCTICAS Regulacin Automtica 2 ITI Electrnica Curso 2008/09

Ins Tejado Balsera Blas M. Vinagre Jara Pilar Merchn Garca rea Ingeniera de Sistemas y Automtica Escuela de Ingenieras Industriales

ndice

NDICE
1. OBJETIVO 2. DESCRIPCIN DEL SISTEMA 2.1 Descripcin del servomotor 2.2 Modelado matemtico del servomotor 2.3 Descripcin de la tarjeta de adquisicin de datos 3. DESARROLLO DE LA PRCTICA Parte I: Introduccin a MATLAB Parte II: Control de velocidad del servo Parte III: Control de posicin del servo 4. TEMPORALIZACIN ANEXO I: MANUAL DE MATLAB 1. GENERALIDADES 2. AYUDA EN LNEA 3. VECTORES 4. MATRICES 5. POLINOMIOS 6. OPERACIONES RELACIONALES Y LGICAS 7. CONTROLES DE FLUJO 8. ARCHIVOS SCRIPT 9. FUNCIONES EN ARCHIVOS M 10. ANLISIS DE DATOS 11. GRFICOS 2-D 12. GRFICOS 3-D 13. SIMULINK 14. TOOLBOX DE CONTROL 15. TOOLBOX DE ADQUISICIN DE DATOS ANEXO II: TARJETA NI USB-6009 1. SOFTWARE DE VERIFICACIN 2. HOJA DE CARACTERSTICAS 1 1 1 2 6 7 7 9 14 18 19 20 23 24 26 28 30 31 32 33 34 35 39 40 47 53 55 56 59

Regulacin Automtica. Curso 2008/09

Manual de prcticas

1. OBJETIVO Se pretende realizar el control de velocidad y de posicin del servomotor de la Figura 1 con Simulink (MATLAB), usando para ello una tarjeta de adquisicin de datos de National Instruments. El sistema a controlar es la unidad 33-002 Servo Fundamentals Trainer, que es unidad didctica orientada a la introduccin de los principios de los servomecanismos analgicos y, por extensin, a los sistemas de control realimentados.

Figura 1: Servomotor a controlar

2. DESCRIPCIN DEL SISTEMA 2.1 Descripcin del servomotor El servomotor consta de una fuente de alimentacin, una unidad mecnica y una unidad analgica, representadas en la Figura 2, conectadas mediante un cable de cinta de 34 canales. A continuacin se va a describir brevemente el funcionamiento de cada una de ellas:
Unidad Mecnica (33-100)

Figura 2: Unidades mecnica y analgica que constituyen el servomotor

La unidad mecnica contiene un amplificador de potencia para excitar al motor de la entrada analgica o conmutada. El motor mueve el eje de salida por medio de una correa de reduccin 32:1. El eje del motor tambin lleva un disco de freno magntico y un transductor de
Regulacin Automtica. Curso 2008/09 1

Manual de prcticas

velocidad analgico (tacogenerador), representado de forma sencilla en la Figura 3. De las pistas del disco de freno se obtiene un tren de pulsos bifases para velocidad digital y captacin de la direccin.

Figura 3: Esquema bsico de la unidad mecnica del servomotor Feedback

La unidad analgica se conecta a la unidad anterior por medio de un cable de cinta de 34 canales que lleva todas las alimentaciones y seales del sistema. Esta unidad permite obtener las seales de velocidad y de posicin del servo necesarias para realizar su control. El servo cuenta con un freno que puede efectuar diversas acciones de frenado sobre l: no actuar, accin de frenado intermedio y mxima accin de frenado. Para su identificacin se debe considerar una de estas tres posiciones del freno, siendo la ms comn la primera de las mencionadas. Otra cuestin importante a tener en cuenta a la hora de la excitacin y obtencin de la respuesta del sistema controlado es que el servo, como la mayora de los motores, tiene una zona muerta. Debido a ella, para voltajes de referencia menores de 2 V, el sistema no responde de la forma esperada; por tanto, para el control se usarn seales de referencia de 2.5 V en adelante. 2.2 Modelado matemtico del servomotor La parte mecnica de un servomotor de corriente continua controlado por armadura, es decir, controlado mediante la tensin que se aplica al rotor (armadura), est formada por el circuito que se muestra en la Figura 4.

Figura 4: Circuito de la parte mecnica del servo

Regulacin Automtica. Curso 2008/09

Manual de prcticas

donde: If: la corriente de campo, que se considera constante. Ra: la resistencia del rotor. La: la inductancia del rotor, que ser despreciada ms adelante. ea: la tensin aplicada al circuito del rotor. eb: la fuerza contraelectromotriz inducida (Lenz). : el ngulo girado por el eje motor. J: el momento de inercia total reducido al eje del motor. F: la friccin viscosa total reducida al eje motor. T: el par motor. ia: la corriente del circuito del rotor. Ef: la tensin aplicada al circuito del estator. A continuacin se presenta el desarrollo fsico-matemtico del circuito anterior con el objeto de calcular la funcin de transferencia del servo de posicin, es decir:

( s ) Ea ( s )
Para ello, se consideran las siguientes ecuaciones, teniendo en cuenta que la corriente If es constante (que simplifica la ecuacin del par motor, ya que nicamente va a depender de la corriente en el rotor). A) T = kia, donde k es una constante de proporcionalidad y , el flujo. Pero como = kfIf, la expresin del par motor queda, agrupando constantes, como:

T = k ia
B) La ecuacin del circuito del rotor para la tensin aplicada, ea:

(1)

ea = ia Ra + La
C) La ecuacin mecnica:

dia + eb dt

(2)

d 2 d T = k ia = J 2 + F dt dt
donde J es el momento de inercia y F representa la friccin viscosa.

(3)

Si se presenta el problema de una caja reductora cuya relacin de transmisin es i, se debe calcular el momento de inercia equivalente, Jeq. Considrese la relacin de transmisin de la Figura 5:

Regulacin Automtica. Curso 2008/09

Manual de prcticas

Figura 5: Relacin de transmisin de una caja reductora

Dadas las prdidas por rozamiento, las potencias perdidas por el mismo se pueden expresar como el par torsor de rozamiento en cada eje por su velocidad angular (P= T), con lo que: Par torsor de rozamiento: T1 = F11 y T2 = F22 Potencia en el eje del motor: P1 = F111 = F112 Potencia en el eje de carga: P2 = F222 = F222 Teniendo en cuenta que la relacin de transmisin i = 2/1, la potencia total perdida por rozamiento es: P = P1+ P2 = F112+ F222 = F112+ F2i212 Como P = Feq12, donde Feq es el rozamiento viscoso equivalente, igualando estas dos expresiones se tiene que: Feq = F1 + F2 i2 (4) Para hallar el momento de inercia equivalente, Jeq, el criterio que se usa es el de la energa cintica total que deber ser igual considerando un Jeq en el eje del motor que sumando las energas cinticas reales en el eje del motor y en el eje de carga. Por tanto: Energa cintica en el eje del motor: Ec1 = J112 Energa cintica en el eje del de carga: Ec2 = J222 Energa cintica total en ambos ejes: Ectotal = Ec1 + Ec2 Ectotal = Ec1 + Ec2 = J112 + J222 Como Ectotal = Jeq12, igualando estas dos expresiones y teniendo en cuenta de nuevo la relacin de transmisin i, se tiene que: Jeq12 = J112 + J2i222 Jeq = J1 + J2i2 (5)

Las ecuaciones (2), (3), (4) y (5) resuelven el problema. Al combinarlas, considerando por sencillez J = Jeq y F = Feq, se obtiene:

Regulacin Automtica. Curso 2008/09

Manual de prcticas

Ea ( s ) = I a ( s ) Ra + La s I a ( s ) + Eb ( s ) k I a ( s ) = J s 2 ( s ) + F s ( s ) Eb ( s ) = kb s ( s )

(6)

Operando con las ecuaciones (6) y despreciando la inductancia en el circuito del rotor, La, se obtiene la funcin de transferencia del servomotor elctrico de corriente continua, en lazo abierto, para la posicin ():

Km ( s ) = ,donde : Ea ( s ) ( m s + 1 )s Km = m = k Ra F + k kb Ra J Ra F + k kb

(7)

Teniendo en cuenta que la velocidad se obtiene derivando la posicin, la funcin de transferencia del servo para la velocidad angular () es la siguiente:

( s )
Ea ( s )
siendo Km y m los mismos que en la expresin (7).

Km ms + 1

(8)

En la Figura 6 se representa el circuito completo del servomecanismo de posicin (por supuesto angular) realizado a partir de la realimentacin del servomotor elctrico de corriente continua. El mismo constituye un sistema de lazo cerrado donde el sistema a controlar o planta es dicho motor.

Figura 6: Diagrama completo del servo de posicin

Regulacin Automtica. Curso 2008/09

Manual de prcticas

2.3 Descripcin de la tarjeta de adquisicin de datos La tarjeta NI USB 6009 (Figura 7) tiene como caractersticas principales las siguientes:

Entradas analgicas: 8 canales (0-7) de 14 bits de resolucin de hasta 5V. Salidas analgicas: 2 canales (0-1) de 12 bits de resolucin de hasta 5V. 12 E/S digitales tipo TTL/CMOS. Mxima velocidad de muestreo: 48 ks/s. Contador de 32 bits, a 5 MHz. Tarjeta de tipo USB. Incorpora un software de National Instruments para la verificacin de la tarjeta, la generacin y lectura de seales.

Figura 7: Tarjeta de adquisicin de datos NI USB 6009

El esquema general de conexin considerando la tarjeta de adquisicin de datos es el que se muestra en la Figura 8.

Figura 8: Esquema de la conexin del servo con el PC a travs de la tarjeta de adquisicin de datos

Regulacin Automtica. Curso 2008/09

Manual de prcticas

3. DESARROLLO DE LA PRCTICA Este trabajo de prcticas puede dividirse en dos partes: el control de velocidad y de posicin del servo, en el que se van a aplicar los conocimientos adquiridos en la asignatura en el diseo de un controlador para una planta de primer (servo de velocidad) y de segundo orden (servo de posicin). Para ello, inicialmente se har una breve introduccin al programa que se va a usar: MATLAB. A continuacin se indican los pasos a realizar para el desarrollo del mismo: PARTE I: INTRODUCCIN A MATLAB 1) OPERACIONES CON VECTORES Definir un vector v1 de 50 elementos cuyos valores estn espaciados uniformemente. Los valores deben ir de 1 a 100. Definir un vector v2 cuyos valores vayan de 1 a 100 y estn espaciados 2 unidades. Comparar los elementos 7, 15 y 45 de los vectores v1 y v2 para ver si coinciden. 2) OPERACIONES CON MATRICES

3 1 Definir la matriz A = 9 6

4 2 3 5 . 9 7 8 0 Extraer en el vector u1 la segunda fila de A. Convertir u1 en un vector columna. 3 5 Extraer la submatriz B = 9 7 . 8 0 3) OPERACIONES CON POLINOMIOS
Desarrollo en fracciones simples:

MATLAB tiene una orden para obtener el desarrollo en fracciones simples de una funcin de transferencia o del cociente de dos polinomios, dados de la forma:
B( s ) num b0 s n + b1s n1 + ... + bn , = = n A( s ) den s + a1s n1 + ... + an donde algunos ai y bi pueden ser cero.
Regulacin Automtica. Curso 2008/09 7

(9)

Manual de prcticas

El comando residue determina los residuos (r), los polos (p) y los trminos directos (k) de un desarrollo en fracciones simples del cociente de dos polinomios B(s) y A(s). Su sintaxis es: [r, p, k]= residue(num,den) El desarrollo en fracciones simples se obtiene mediante: B( s) r (1) r (2) r ( n) = + + ... + + k (s) A( s ) s p(1) s p(2) s p ( n)

Realizar el desarrollo en fracciones simples de las siguientes funciones de transferencia:


B( s ) 2 s 3 + 5s 2 + 3s + 6 = A( s ) s 3 + 6 s 2 + 11s + 6

(10) (11)

B( s) s 2 + 2s + 3 s 2 + 2s + 3 = = 3 A( s ) ( s + 1) 3 s + 3s 2 + 3s + 1

Determinacin de los ceros y los polos de un sistema:

MATLAB tiene una funcin para obtener los ceros (z), los polos (p) y la ganancia (k) de una funcin de transferencia dada de la forma B( s ) num b0 s n + b1s n1 + ... + bn , = = n A( s ) den s + a1s n1 + ... + an donde algunos ai y bi pueden ser cero. El comando es tf2zp, que tiene como sintaxis: [z, p, k]= tf2zp(num,den) Hallar los polos, los ceros y la ganancia de los sistemas definidos por las siguientes funciones de transferencia: B( s) 4 s 2 + 16 s + 12 = 4 A( s ) s + 12s 3 + 44 s 2 + 48s + 6 B( s ) s 4 8s 2 + 16 = 6 A( s ) 8s 96 s 4 + 384s 2 512 (13) (14) (12)

4) OPERACIONES CON FUNCIONES Y ARCHIVOS SCRIPT


Escribir una funcin que dibuje el seno o el coseno de una variable al cuadrado en un intervalo de 10 segundos. La funcin debe tener 3 argumentos de entrada: 1. Funcin, para el indicar si se va a representar el seno o el coseno, 2. Valor_inicio, para indicar a partir de qu valor de la salida se empieza a representar la grfica. 3. Color, que indique el color de la lnea con la que debe representarse.
Regulacin Automtica. Curso 2008/09 8

Manual de prcticas

En el ttulo de la grfica que se genere debe aparecer la funcin correspondiente que se est representando. Escribir un script que divida la pantalla en cuatro grficas y represente en la primera grfica el seno de una variable, t, t [0,10], en la segunda el coseno de t, en la tercera el seno+coseno y en la cuarta el seno-coseno. En todos los casos hay que etiquetar los ejes de las grficas: eje X tiempo (s), eje Y seno(t) (o lo que corresponda en cada caso).

PARTE II: CONTROL DE VELOCIDAD DEL SERVO 1) IDENTIFICACIN DEL SERVO DE VELOCIDAD
La funcin de transferencia de un servomotor de corriente continua controlado por armadura, si la inductancia de la armadura es despreciable, se corresponde con la funcin de transferencia de un sistema de primer orden (8):

G( s ) =

( s )
Ea ( s )

Km ms + 1

(15)

En esta parte de la prctica se trata de hallar los valores de los parmetros caractersticos del servo, m y Km, a partir de la respuesta temporal del mismo a una entrada escaln en lazo abierto. En el caso de un sistema de primer orden, su constante de tiempo es igual al tiempo que tarda la salida del sistema en alcanzar el 63% de su valor final (vase la Figura 9). Por su parte, la constante de amplificacin Km es la relacin entre el valor final que alcanza la salida del sistema y la amplitud del escaln.

Figura 9: Respuesta al escaln de un sistema de primer orden para su identificacin

Regulacin Automtica. Curso 2008/09

Manual de prcticas

Por tanto, el procedimiento ser el siguiente: Implementar en Simulink el diagrama para la identificacin del servo en lazo abierto (Figura 10). Para ello, generar una seal escaln desde Simulink e introducir un bloque de entrada de la tarjeta para leer la velocidad del servo (ver esquema de la Figura 11).

Figura 10: Diagrama de bloques para la identificacin del servo de velocidad (anlisis temporal en lazo abierto)

Figura 11: Diagrama de Simulink para la identificacin del servo de velocidad

Realizar las siguientes conexiones:

o Salida analgica de la tarjeta con la entrada del servo. o Salida de velocidad del servo con la entrada analgica de la tarjeta de adquisicin para medirla en MATLAB, tal y como se muestra en la Figura 12.

Figura 12: Conexiones para identificar la funcin de transferencia del servo de velocidad

Regulacin Automtica. Curso 2008/09

10

Manual de prcticas

Medir sobre la curva de salida la ganancia esttica y la constante de tiempo del servo y hallar su funcin de transferencia para diferentes valores del escaln de entrada: 3, 3.5 y 4 V. A partir de estos resultados, obtener la funcin de transferencia del servo de velocidad. Comprobar y comparar los resultados mediante simulacin.

2) ANLISIS DE LA RESPUESTA EN FRECUENCIA DEL SERVO DE VELOCIDAD


Si un sistema de primer orden, con funcin de transferencia (15), es excitado por una entrada senoidal de amplitud Ae y de frecuencia ,

e( t ) = Ae sent

(16)

entonces su respuesta es otra seal senoidal de la misma frecuencia, , de una amplitud Ay y retrasada respecto a la entrada un ngulo de desfase (que depende de la frecuencia de la entrada). Por tanto, la salida viene dada por la expresin (17). En la Figura 13 se representan la entrada y la salida del sistema.

y( t ) = Ay sen( t + )

(17)

Figura 13: Desfase entre seales senoidales para el anlisis en frecuencia del servo

Desde el punto de vista de la frecuencia, y con objeto de representar el diagrama de Bode, la magnitud y la fase de la seal de salida del sistema pueden determinarse como:

Magnitud( dB ) = 20 log10

Ay Ae

(18)

( ) =

360 t T

(19)

siendo T el periodo de la seal senoidal de entrada.

Regulacin Automtica. Curso 2008/09

11

Manual de prcticas

Por su parte, para obtener el diagrama de Nyquist, dado que cada frecuencia se corresponde con un punto del mismo, se cumple que:

Re =

Ay Ae

cos

(20)

Im =

Ay Ae

s en

(21)

donde Re e Im son la parte real e imaginaria, respectivamente, para cada punto del diagrama. Hacer el diagrama de Simulink para el anlisis en frecuencia del servo (Figura 14).

Figura 14: Diagrama de bloques para el anlisis frecuencial del servo de velocidad

Medir la respuesta del circuito a una entrada senoidal de amplitud 4 V y de frecuencia los siguientes valores: 0.01p, 0.1p, 0.2p, p, 5p, 10p y 50p, siendo p la frecuencia del polo del sistema. Determinar para cada frecuencia la magnitud y la fase del sistema aplicando las expresiones (18) y (19) y rellenar la siguiente tabla:

(rad/s)

Ay/Ae

t (s)

Magnitud (dB)

()

Dibujar el diagrama de Bode correspondiente: la magnitud y la fase frente a la frecuencia, en grficos diferentes. NOTA: poner el eje de frecuencias en escala logartmica usando el comando semilogx en lugar de plot. Determinar la funcin de transferencia del servo de velocidad a partir del diagrama de Bode y compararla con la obtenida en la primera parte de la prctica. Dar una estimacin del ancho de banda.

Regulacin Automtica. Curso 2008/09

12

Manual de prcticas

Dibujar el diagrama de Nyquist considerando las expresiones (20) y (21) a partir de la tabla siguiente:

(rad/s)

Ay/Ae

(rad)

Re

Im

NOTA: al usar las funciones sin y cos, el ngulo debe estar en radianes. Representar los diagramas de Bode y Nyquist del servo de velocidad en MATLAB a partir de las funciones bode y nyquist y comparar con los resultados experimentales. Para ello, dibujar cada uno de ellos en la misma grfica.

3) ANLISIS DE LOS EFECTOS DE LA REALIMENTACIN EN EL SERVO DE VELOCIDAD En esta parte de la prctica se trata de analizar los efectos de la realimentacin sobre perturbaciones externas o ruido, tanto en el tiempo como en la frecuencia (vase la Figura 15). Si se introduce la perturbacin (w) y se analiza el sistema en lazo abierto, la salida del mismo debida slo a la accin de la perturbacin es:

( s ) ruido ,w = Kw
Sin embargo, con la realimentacin esta accin se convierte en:

(22)

( s ) ruido,w =

G( s ) w 1 + KG( s )

(23)

siendo G(s) la funcin de transferencia del servo de velocidad (expresin (15)). Por tanto, a medida que se aumente la ganancia K, menor ser el efecto de dicha perturbacin.

Figura 15: Diagrama de bloques del sistema de velocidad realimentado con perturbacin

Hacer el diagrama de Simulink que se corresponda con el de la Figura 15, generando la perturbacin como un ruido aleatorio de media 0 y desviacin tpica 3 (librera Sources, bloque Random Number).

Regulacin Automtica. Curso 2008/09

13

Manual de prcticas

Figura 16: Bloques de Simulink para generar la perturbacin del sistema

Variar K e indicar cmo afecta en la respuesta temporal y en frecuencia del sistema. Simular el esquema de la Figura 15 con MATLAB y comparar los resultados de simulacin con los experimentales obtenidos.

4) CONTROL DEL SERVO DE VELOCIDAD


Una vez identificado el servo de velocidad, hay que disear, segn las especificaciones que se indiquen en su momento, e implementar en Simulink: Un compensador atraso/adelanto. Un regulador PID. El esquema de control es el que se representa en la Figura 17.

Figura 17: Esquema de control del servo de velocidad

Comparar los resultados experimentales obtenidos con los de simulacin en cada uno de los casos.

PARTE III: CONTROL DE POSICIN DEL SERVO


En esta parte del trabajo de prcticas se trata de repetir el procedimiento anterior para el servo de posicin. Para ello, hay que tener en cuenta lo siguiente:

1) IDENTIFICACIN DEL SERVO DE POSICIN


La funcin de transferencia de un servomotor de corriente continua para la posicin es la funcin de transferencia de un sistema de segundo orden (expresin (7)):

Regulacin Automtica. Curso 2008/09

14

Manual de prcticas

Km m Km 1 Km ( s ) = = = 2 Ea ( s ) m s + 1 s m s + s s 2 + 1 s

(24)

Por tanto, de nuevo se trata de hallar los valores de los parmetros caractersticos del servo, m y Km, a partir de la respuesta temporal del mismo a una entrada escaln. Dado que el sistema tiene un polo en el origen, no se puede analizar en lazo abierto (al ser inestable), por lo que se har la identificacin en lazo cerrado. As, hay que considerar la funcin de transferencia del sistema de segundo orden patrn (en lazo cerrado):

n 2 Y( s ) H( s ) = = X ( s ) s 2 + 2n s + n 2

(25)

La respuesta temporal del servo de posicin es subamortiguada, es decir, tiene la forma representada en la Figura 18.

Figura 18: Respuesta al escaln de un sistema de segundo orden para su identificacin

A partir de la misma, se pueden determinar los parmetros caractersticos: la constante de amplificacin Km, tal y como ocurra para la identificacin del servo de velocidad, es la relacin entre el valor final que alcanza la salida, Y0, y la amplitud del escaln; por su parte, el coeficiente de amortiguamiento, , y la pulsacin natural, n, se obtienen de la respuesta temporal mostrada a partir de las expresiones (26) y (27).

ln ( M P )

2 + ( ln ( M P ) )

(26)
2

Regulacin Automtica. Curso 2008/09

15

Manual de prcticas

n =

tP 1 2

(27)

siendo MP y tP el sobreimpulso (en tanto por 1) y el tiempo de pico, respectivamente. Por tanto, el desarrollo de esta parte de la prctica ser el siguiente: Usar el mismo fichero de Simulink que para el caso de la identificacin del servo de velocidad. Realizar las siguientes conexiones:

o Salida analgica de la tarjeta con la entrada del servo. o Salida de posicin del servo con la entradas analgica de la tarjeta de adquisicin para medirla en MATLAB, tal y como se muestra en la Figura 19.

Figura 19: Conexiones para identificar la funcin de transferencia del servo de posicin

Medir sobre la curva de salida la ganancia esttica, Km, el coeficiente de amortiguamiento, , y la pulsacin natural, n, y hallar la funcin de transferencia para el servo de posicin para diferentes valores del escaln de entrada: 3, 3.5, 4 V. Comprobar que tiene una forma aproximada a la expresin (24). Comprobar los resultados mediante simulacin.

Regulacin Automtica. Curso 2008/09

16

Manual de prcticas

2) ANLISIS DE LA RESPUESTA EN FRECUENCIA DEL SERVO DE POSICIN


Implementar el diagrama de Simulink que se corresponda con la Figura 20.

Figura 20: Diagrama de bloques para el anlisis frecuencial del servo de posicin

Medir la respuesta del circuito a una entrada senoidal de frecuencia variable y dibujar el diagrama de Bode correspondiente, de la misma manera que para el servo de velocidad. Determinar la funcin de transferencia del servo de posicin a partir del diagrama de Bode y compararla con la obtenida en el primer apartado. Dar una estimacin del ancho de banda. Dibujar el diagrama de Nyquist. Representar los diagramas de Bode y Nyquist en MATLAB con las funciones bode y nyquist y compararlos con los obtenidos experimentalmente, dibujndolos en las mismas grficas.

3) ANLISIS DE LOS EFECTOS DE LA REALIMENTACIN EN EL SERVO DE POSICIN


Repetir el mismo proceso de anlisis de los efectos de la realimentacin para el servo de posicin (diagrama de la Figura 21).

Figura 21: Diagrama de bloques del sistema de posicin realimentado con perturbacin

4) CONTROL DEL SERVO DE POSICIN


Al igual que para la velocidad, una vez identificado el servo de posicin, hay que disear, segn las especificaciones que se indiquen en su momento, e implementar en Simulink:

Regulacin Automtica. Curso 2008/09

17

Manual de prcticas

Un compensador atraso/adelanto. Un regulador PID. El esquema de control es el que se representa en la Figura 22.

Figura 22: Esquema de control del servo de posicin

Comparar los resultados experimentales con los de simulacin obtenidos y comentarlos.

4. TEMPORALIZACIN
A continuacin se indica la temporalizacin aproximada del trabajo de prcticas para la orientacin del alumno: Introduccin a MATLAB (6 horas, 3 sesiones). Parte I: Control del servo de velocidad (12 horas, 6 sesiones). Identificacin del sistema 2 horas. Anlisis frecuencial 3 horas. Anlisis del efecto de la realimentacin 3 horas. Diseo de los controladores 4 horas. Parte II: Control del servo de posicin (12 horas, 6 sesiones). Identificacin del sistema 2 horas. Anlisis frecuencial 3 horas. Anlisis del efecto de la realimentacin 3 horas. Diseo del controlador 4 horas.

Regulacin Automtica. Curso 2008/09

18

ANEXO I: MANUAL DE MATLAB

Anexo I: Manual de MATLAB

1. GENERALIDADES
1.1 Introduccin
MATLAB es un entorno de computacin y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados clculos matemticos y la visualizacin grfica de los mismos. MATLAB dispone tambin de un amplio abanico de programas de apoyo especializados, denominados Toolboxes, que extienden significativamente el nmero de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la actualidad prcticamente casi todas las reas principales en el mundo de la ingeniera y la simulacin. El nombre MATLAB viene de Matrix Laboratory (laboratorio matricial). Su ventana principal tiene el aspecto mostrado en la Figura A.1.

Figura A.1: Ventana principal de MATLAB

1.2 Acerca de las variables


Los clculos que no se asignan a una variable en concreto se asignan a la variable de respuesta por defecto que es ans (del ingls, answer).

Regulacin Automtica. Curso 2008/09

20

Anexo I: Manual de MATLAB

Sin embargo, si el clculo se asigna a una variable, el resultado queda guardado en ella. Para conocer el valor de una variable, basta teclear su nombre. Si se aade un punto y coma (;) al final de la instruccin, MATLAB no muestra la respuesta pero no por ello deja de realizarse el clculo. Los nombres de las variables son sensibles a las maysculas y pueden contener hasta 19 caracteres. Deben comenzar con una letra. MATLAB tiene definidas algunas variables especiales: VARIABLE VALOR ans Nombre por defecto de la variable usada para los resultados. pi Razn de una circunferencia a su dimetro. eps Nmero ms pequeo tal que, cuando se le suma 1, crea un nmero en coma flotante en el ordenador mayor que 1. inf Infinito. NaN Magnitud no numrica.

iyj i = j = 1 . El nmero real positivo ms pequeo que es utilizable. realmin realmax El nmero real positivo ms grande que es utilizable. Mediante la orden clear podemos borrar las variables en el espacio de trabajo. 1.3 Otras caractersticas bsicas
Los comentarios se escriben despus del signo de tanto por ciento (%). Podemos colocar rdenes mltiples en una lnea si se separan por comas o puntos y comas. Para recordar rdenes previas, usamos las teclas de cursor del teclado. Para interrumpir MATLAB en cualquier momento: Ctrl-C. Escribiendo la orden quit termina MATLAB.

1.4 Matemtica sencilla


MATLAB no tiene en cuenta los espacios. Si la sentencia es demasiado larga para que quepa en una lnea, una elipsis consistente en tres puntos (...) seguido por Enter indica que la sentencia contina en la lnea siguiente. MATLAB ofrece las siguientes operaciones bsicas: OPERACION SIMBOLO Suma +

Regulacin Automtica. Curso 2008/09

21

Anexo I: Manual de MATLAB

Resta Multiplicacin Divisin Potencia

* / ^

Las operaciones se evalan por orden de prioridad: primero las potencias, despus las multiplicaciones y divisiones y, finalmente, las sumas y restas. Las operaciones de igual prioridad se evalan de izquierda a derecha. Otras funciones habituales de calculadora que se encuentran incluidas en MATLAB son las funciones trigonomtricas: sin, cos, tan, acos, asin, atan; al igual que los logaritmos: log, log10; la funcin exponencial: exp; y las funciones hiperblicas: sinh, cosh, etc. Para usar cualquiera de estas funciones se debe colocar el argumento entre parntesis.

1.5 Cmo almacenar y recuperar datos


MATLAB puede guardar y cargar datos de los archivos del ordenador. En el men File, la opcin Save Workspace as... guarda todas las variables actuales; y Load Workspace... carga variables de un espacio de trabajo guardado previamente.

Regulacin Automtica. Curso 2008/09

22

Anexo I: Manual de MATLAB

2. AYUDA EN LNEA
MATLAB proporciona asistencia a travs de sus capacidades de ayuda en lnea. Estas capacidades estn disponibles en tres formas: mediante las rdenes help, lookfor y la ayuda por mens.

2.1 La orden help


Escribiendo help <comando> visualiza la ayuda acerca de ese tema, si existe. Tambin proporciona asistencia escribiendo simplemente help.

2.2 La orden lookfor


Proporciona ayuda buscando a travs de todas las primeras lneas de las ayudas a temas de MATLAB y devolviendo aquellos que contienen una palabra clave que hay que especificar. Lo ms importante es que la palabra clave no necesita ser una orden de MATLAB.

2.3 Ayuda conducida por mens


Esta ayuda est disponible seleccionando Table of Contents... o Index... del men Help tal y como se muestra en la Figura A.2.

Figura A.2: Ventana principal de la ayuda de MATLAB

Regulacin Automtica. Curso 2008/09

23

Anexo I: Manual de MATLAB

3. VECTORES
3.1 Vectores simples
Para crear un vector en MATLAB comenzamos con un corchete de apertura, introducimos los valores deseados separados por espacios (o por comas) y cerramos el vector con un corchete de cierre. Variable=[(lista de nmeros separados por espacios o comas)]

3.2 Direccionamiento de vectores


Los elementos individuales de un vector se acceden utilizando subndices; as, x(1) es el primer elemento del vector x. Para acceder a un bloque de elementos a la vez, se usa la notacin de dos puntos; as, x(1:5) nos da los elementos del primero al quinto del vector de elementos. Si introducimos un nmero entre el primero y el segundo, tambin separado por dos puntos (:), entonces se mostrarn los elementos del primero al ltimo indicado, incrementados o decrementados el nmero que aparece en el centro; as, si ponemos x(2:2:7), obtenemos el segundo, cuarto y sexto elemento del vector. Otra forma de obtener un conjunto concreto de elementos del vector es indicando entre corchetes las posiciones de los elementos que queremos obtener; ponemos parntesis fuera de los corchetes.

3.3 Construccin de vectores


Existen dos formas de introducir vectores espaciados uniformemente: a) Mediante la notacin dos puntos. El rango est definido por el valor inicial, incremento (opcional) y valor final separados por el operador :. Si el incremento no est se asume por defecto igual a 1. b) Mediante la funcin linspace: linspace(primer_exponente,ltimo_exponente,nmero_de_valores) Las dos formas anteriores crean vectores donde los elementos individuales estn espaciados linealmente entre s. Para espaciado logartmico: logspace(primer_exponente,ltimo_exponente,nmero_de_valores)

Regulacin Automtica. Curso 2008/09

24

Anexo I: Manual de MATLAB

3.4 Matemticas de vectores


Las operaciones matemticas sencillas entre escalares y vectores siguen una interpretacin natural, es decir, se aplica la operacin a todos los elementos del vector. Cuando dos vectores tienen la misma longitud y orientacin, la suma, resta, multiplicacin y divisin se aplican sobre la base de elemento-a-elemento. Para multiplicar dos vectores elemento a elemento, se escribe .*, ya que si ponemos slo *, sera multiplicacin matricial. Lo mismo para la divisin de vectores (./) y la potencia de un vector (.^).

3.5 Consideraciones sobre vectores


Separar los elementos por espacios o comas especifica elementos en distintas columnas (vector fila) vase Ej1-. Separar elementos por puntos y comas especifica elementos en filas diferentes (vector columna) vase Ej2-.

Usando el operador transpuesta (') de MATLAB, podemos pasar de vector fila a vector columna, y viceversa. Adems de los puntos y comas, pulsando la tecla Return cuando se est introduciendo una matriz, tambin se le indica a MATLAB que comience una nueva fila. Una matriz puede tener mltiples filas, pero cada fila debe tener el mismo nmero de columnas.

Regulacin Automtica. Curso 2008/09

25

Anexo I: Manual de MATLAB

4. MATRICES
4.1 Caractersticas principales
Para crear una matriz y guardarla en una variable de manera que se pueda hacer referencia a ella ms tarde, basta con escribir los elementos de cada fila separados por comas o por espacios y separar una fila de otra con punto y coma: A = [1 1 2; 3 5 8; 13 21 34] En MATLAB, la multiplicacin matricial se denota con la notacin asterisco *.

inv(A) calcula la inversa de la matriz A. A.' es la transpuesta de la matriz A. La transpuesta compleja conjugada de la matriz A se escribe como A'. d=eig(A) devuelve los valores propios asociados con la matriz cuadrada A como un vector columna. [V,D]=eig(A) devuelve los vectores propios en la matriz V y los valores propios como los elementos diagonales en la matriz D. rank(A) devuelve el rango de la matriz A. cond(A) devuelve el nmero de condicin de la matriz A. norm(A) calcula la norma de la matriz A. poly(A) encuentra el polinomio caracterstico asociado con la matriz cuadrada A. polyvalm(v,A) evala el polinomio caracterstico v usando la matriz cuadrada A.

4.2 Manipulacin matricial


Los elementos matriciales se direccionan en el formato fila, columna: A(filas,columnas). Los valores internos a una matriz se acceden identificando los subndices de los elementos deseados. Utilizar el smbolo dos puntos como la designacin de filas o columnas implica, respectivamente, todas las filas o columnas; por ejemplo, A(:,1) representa todas las filas en la columna uno. Fijar las filas o columnas de una matriz igual a la matriz vaca [ ] elimina estas filas o columnas. Usar slo los dos puntos, por ejemplo, A(:), reagrupa una matriz en un vector columna, colocando las filas una a continuacin de otra. La funcin find devuelve los subndices o ndices donde una expresin relacional es verdadera.

Regulacin Automtica. Curso 2008/09

26

Anexo I: Manual de MATLAB

La funcin size devuelve el nmero de filas y de columnas de una matriz. La funcin length devuelve la longitud de un vector o la mxima dimensin de una matriz. Otras caractersticas sobre la manipulacin matricial son:

flipud(A) intercambia una matriz de arriba abajo. fliplr(A) intercambia una matriz de izquierda a derecha. rot90(A) gira una matriz en direccin contraria a las agujas del reloj. reshape(A,m,n) devuelve una matriz mxn cuyos elementos se toman por columnas de A. A debe contener mxn elementos. diag(v) crea una matriz diagonal, con el vector v sobre la diagonal. diag(A) extrae la diagonal de la matriz A como un vector columna.

4.2 Matrices especiales


zeros(n) Matriz de ceros (nxn). ones(n,m) Matriz de unos (nxm). rand(n,m) Matriz (nxm) de nmeros aleatorios distribuidos uniformemente entre cero y uno. randn(n,m) Matriz (nxm) de nmeros aleatorios distribuidos normalmente con media cero y varianza unidad. eye(n,m) Matriz identidad (nxm).

Regulacin Automtica. Curso 2008/09

27

Anexo I: Manual de MATLAB

5. POLINOMIOS
5.1 Races
Un polinomio se representa por un vector fila con sus coeficientes en orden descendente; se deben incluir los trminos con coeficientes nulos. Las races de un polinomio se encuentran utilizando la funcin roots(p). MATLAB adopta el convenio de que los polinomios son vectores fila y las races son vectores columna. Ej: 4s2- 4

5.2 Otras caractersticas


MATLAB ofrece muchas capacidades para la manipulacin de polinomios: conv(a,b) multiplica los dos polinomios a y b. deconv(c,b) divide el polinomio b entre c. polyder(p) calcula la derivada del polinomio p. polyval(p,x) evala el polinomio p en todos los valores de x. tf(n,d) crea la funcin de transferencia con numerador n y denominador d, donde n y d son polinomios.

Regulacin Automtica. Curso 2008/09

28

Anexo I: Manual de MATLAB

residue(n,d) calcula el desarrollo en fracciones simples del cociente de n a d, donde n y d son polinomios. polyder(n,d) calcula la derivada del cociente de n a d, donde n y d son polinomios.

Regulacin Automtica. Curso 2008/09

29

Anexo I: Manual de MATLAB

6. OPERACIONES RELACIONALES Y LGICAS


Como entradas a todas las expresiones relacionales y lgicas, MATLAB considera que cualquier nmero distinto de cero es verdadero, y es falso si es igual a cero. La salida produce 1 si es verdadero, y 0 si es falso.

6.1 Operaciones relacionales ERADOR DESCRIPCION Menor que < <= Menor que o igual a > Mayor que >= Mayor que o igual a == Igual a ~= Distinto de
La salida de las operaciones lgicas se puede utilizar tambin en operaciones matemticas.

6.2 Operadores lgicos


Los operadores lgicos proporcionan un medio de combinar o negar expresiones relacionales. OPERADOR DESCRIPCION AND & | OR ~ NOT Adems de los operadores relacionales y lgicos bsicos anteriores, MATLAB proporciona una serie de funciones relacionales y lgicas adicionales que incluyen: FUNCION DESCRIPCION xor(x,y) Operacin OR exclusiva. Devuelve unos donde o x o y es distinto de cero (verdadero). Devuelve ceros donde ambos x e y son ceros (falso) o ambos son distinto de cero (verdadero). any(x) Devuelve uno si algn elemento en un vector x es no nulo. Devuelve uno para cada columna en una matriz x que tiene elementos no nulos. all(x) Devuelve uno si todos los elementos en un vector x son no nulos. Devuelve uno para cada columna en una matriz x que tiene todos los elementos no nulos. isnan(x) Devuelve unos en magnitudes no numricas (NaN) en x. isinf(x) Devuelve unos en magnitudes infinitas (inf) en x. finite(x) Devuelve unos en valores finitos en x.

Regulacin Automtica. Curso 2008/09

30

Anexo I: Manual de MATLAB

7. CONTROLES DE FLUJO

Regulacin Automtica. Curso 2008/09

31

Anexo I: Manual de MATLAB

8. ARCHIVOS SCRIPT
MATLAB permite colocar rdenes en un simple archivo de texto y, a continuacin, decirle que lo abra y evale las rdenes exactamente como si hubiesen sido escritas desde la lnea de orden de MATLAB. Estos archivos se llaman archivos script o archivos-M, y su nombre finaliza con la extensin 'm'. Para crear un archivo-M escogemos New del men File y seleccionamos M-file. Una vez guardado este archivo-M en el disco, MATLAB ejecutar las rdenes en dicho archivo simplemente escribiendo su nombre (sin extensin) en la lnea de comandos. Las rdenes dentro del archivo-M tienen acceso a todas las variables en el espacio de trabajo de MATLAB, y todas las variables creadas en el archivo-M pasan al espacio de trabajo.

8.1 rdenes de gestin de archivos N DESCRIPCION Devuelve un listado de todos los archivos-M en el directorio actual. what dir Lista todos los archivos en el directorio o carpeta actual. ls Lo mismo que dir. type test Visualiza el archivo-M test.m en la ventana de comandos. delete test Suprime el archivo-M test.m. cd path Cambia al directorio o carpeta dada por path. chdir path Lo mismo que cd path. cd Muestra el directorio de trabajo actual. chdir Lo mismo que cd. pwd Lo mismo que cd. which test Visualiza el camino del directorio de test.m.

Regulacin Automtica. Curso 2008/09

32

Anexo I: Manual de MATLAB

9. FUNCIONES EN ARCHIVOS M
Un archivo-M de funcin es similar a un archivo script. El nombre de la funcin y el nombre del archivo deben ser idnticos. Todas las variables dentro de una funcin se aslan del espacio de trabajo de MATLAB. Las nicas conexiones entre las variables dentro de una funcin y el espacio de trabajo de MATLAB son las variables de entrada y salida. Cuando una funcin tiene ms de una variable de salida, stas se encierran entre corchetes. El nmero de variables de entrada pasadas a una funcin est disponible dentro de la funcin en la variable nargin. El nmero de variables de salida solicitadas cuando una funcin se llama, est disponible dentro de la funcin en la variable nargout.

Regulacin Automtica. Curso 2008/09

33

Anexo I: Manual de MATLAB

10. ANLISIS DE DATOS


MATLAB ejecuta anlisis estadstico sobre conjuntos de datos. Los conjuntos de datos se almacenan en matrices orientadas por columnas. Incluye las siguientes funciones estadsticas: FUNCION corrcoef(x) Coeficientes de correlacin. cov(x) Matriz de covarianza. cumprod(x) Producto acumulativo de columnas. cumsum(x) Suma acumulativa de columnas. diff(x) Calcula las diferencias entre elementos. hist(x) Histograma o diagrama de barras. mean(x) Valor medio de columnas. median(x) Valor de la mediana de columnas. prod(x) Producto de elementos en columnas. rand(x) Nmeros aleatorios distribuidos uniformemente. randn(x) Nmeros aleatorios distribuidos normalmente. sort(x) Ordenar columnas en orden ascendente. std(x) Desviacin estndar de columnas. sum(x) Suma de elementos en cada columna.

Regulacin Automtica. Curso 2008/09

34

Anexo I: Manual de MATLAB

11. GRFICOS 2-D


Para graficar cualquier funcin en general utilizaremos el comando plot:

plot(vector): dibuja un grfico donde el eje de abscisas ser la posicin del elemento del vector y la ordenada el valor que tiene el vector en dicha posicin. plot(t,y): ahora el eje de abscisas corresponder al vector t y el eje de ordenada, al y. 11.1 Estilo de lneas, marcadores y colores
Se pueden especificar los colores y estilos de lnea dando un argumento adicional a plot despus de cada pareja de vectores de datos. El argumento opcional adicional es una cadena de caracteres formada por uno, dos o tres caracteres de la tabla siguiente:
SIMBOLO COLOR SIMBOLO ESTILO DE LINEA

y m c r g b w k

amarillo magenta cyan rojo verde azul blanco negro

+ *

-. --

punto crculo marca-x ms estrella lnea slida lnea punteada lnea punto-raya lnea de trazos

11.2 Adicin de rejillas y etiquetas


La orden grid on aade una rejilla a la grfica actual en las marcas. La orden grid off elimina la rejilla. grid sin ningn argumento, las conmuta. Los ejes horizontal y vertical se pueden etiquetar, respectivamente, con las rdenes xlabel e ylabel. La orden title aade una lnea de texto en la parte superior de la grfica. La orden legend aade la leyenda a las diferentes grficas representadas. Podemos aadir tambin cualquier cadena de texto a cualquier localizacin especfica en la grfica con la orden: text(x,y,'string') donde (x,y) representa las coordenadas de la arista del centro izquierda de la cadena de texto en unidades tomadas de los ejes de la grfica. Tambin se puede poner una cadena de texto con el ratn: gtext('string')

Regulacin Automtica. Curso 2008/09

35

Anexo I: Manual de MATLAB

11.3 Ejes a medida RDENES DESCRIPCION

11.2 Impresin de figuras


print imprime la grfica actual en la impresora. orient cambia el modo de orientacin. Por defecto, MATLAB almacena las grficas en formato EPS (PostScript), aunque se pueden transformar o guardar en otros formatos, como .jpg, .bmp, .tif... De esta forma se podrn visualizar e imprimir desde nuestro PC con cualquier programa bsico para Windows. Para ms informacin sobre la impresin de grficas, teclea la orden help print.

Regulacin Automtica. Curso 2008/09

36

Anexo I: Manual de MATLAB

11.3 Manipulacin de datos


Se pueden aadir lneas a una grfica existente usando la orden hold. figure con ningn argumento, crea una nueva ventana de figura. Utilizando figure(n) elegimos una ventana n de figura especfica. La orden subplot(m,n,p) subdivide la ventana de la figura actual en una matriz mxn de las reas de representacin grfica y escoge como activa el rea p-sima. Podemos ampliar una regin: zoom on; el cual se desactiva con zoom off. Tambin podemos ampliar y reducir la grfica creada usando el archivo-M llamado peaks.m.

11.4 Otras caractersticas de los grficos 2-D

Regulacin Automtica. Curso 2008/09

37

Anexo I: Manual de MATLAB

12. GRFICOS 3-D


12.1 Grficos de lnea
Se extiende la orden plot de 2-D a 3-D con plot3. El formato es el mismo, excepto que los datos estn en tripletes.

12.2 Grficos de malla y de superficie


Grfico de malla [X,Y]=meshgrid(x,y) crea una matriz X cuyas filas son copias del vector x, y una matriz Y cuyas columnas son copias del vector y. Una vez dada esta orden, la grfica de malla se genera mediante: mesh(X,Y,Z). mesh acepta un argumento opcional para controlar los colores. Tambin puede tomar una matriz simple como un argumento: mesh(Z). Grfica de superficie Es como la grfica de malla, excepto que se rellenan los espacios entre lneas. Las grficas de este tipo se generan usando la funcin surf (mismos argumentos que la funcin mesh). Las grficas de contorno en 2-D y 3-D se generan usando, respectivamente, las funciones contour y contour3, mientras que la funcin pcolor transforma la altura a un conjunto de colores.

12.3 Manipulacin de grficos


La funcin view(azimut,elevacin) fija el ngulo de visin especificando el azimut y la elevacin.

view([x y z]) coloca su vista en un vector que contiene la coordenada cartesiana (x,y,z) en el espacio 3-D. El azimut y la elevacin de la vista actual se pueden obtener utilizando [az,el]=view.
La orden hidden controla la eliminacin de lneas escondidas. Si activamos hidden off veremos todas las partes a travs de la malla.

12.4 Otras caractersticas de los grficos 3-D


La funcin clabel aade etiquetas de altura a los grficos de contorno. La funcin fill3 es la versin 3-D de fill.

Regulacin Automtica. Curso 2008/09

38

Anexo I: Manual de MATLAB

12.5 Mapas de color


La interpretacin de los mapas de color de este tipo de grficas se hace a partir la tabla siguiente:

ROJO VERDE AZUL COLOR La sentencia colormap(M) instala la matriz M como el mapa de color a utilizar por la figura actual.
Se puede hacer de varias formas: Se pueden visualizar los elementos en una matriz del mapa de color mediante hot(m). Tambin mediante la funcin pcolor se puede visualizar un mapa de color. La funcin colorbar aade una barra de color vertical u horizontal (escala de color) a la ventana de figura actual mostrando las transformaciones de color para el eje actual.

Regulacin Automtica. Curso 2008/09

39

Anexo I: Manual de MATLAB

13. SIMULINK
La herramienta de simulacin SIMULINK de MATLAB, es una utilidad que permite la simulacin temporal de sistemas, que el usuario construye grficamente a partir de bloques predefinidos o definidos por l mismo. La simulacin a travs de diagramas de bloques permite una fcil comprobacin de los diseos de los sistemas de control antes de pasar a la fabricacin del primer prototipo. Para ejecutar SIMULINK, teclear el comando simulink en la ventana de comandos o haciendo clic sobre el icono que aparece en la barra de herramientas (ver Figura A.3)

Figura A.3: Icono para arrancar SIMULINK en la barra de herramientas de MATLAB

Entre otras muchas, cabe citar las siguientes ventajas de los entornos de simulacin para el estudio y diseo de los sistemas reales: De forma sencilla se pueden realizar distintas ejecuciones del lazo de control para diferentes valores de parmetros de diseo y elegir el que mejor comportamiento tenga para el problema bajo anlisis, incluso se puede acercar lo ms posible a la realidad aadiendo bloques no lineales. Permiten simular procesos muy lentos en el tiempo de forma rpida. As, por ejemplo, se puede simular un proceso que tarde en evolucionar varios minutos, en breves segundos de simulacin.

Con SIMULINK, el usuario puede crear sus modelos a partir de una librera de componentes bsicos, copindolos de una ventana a otra, estableciendo las conexiones oportunas y dando valores a sus parmetros. Su utilizacin slo requiere un ligero conocimiento sobre las caractersticas bsicas de MATLAB. A1 trabajar con SIMULINK hay que tener en cuenta las siguientes consideraciones: El anlisis del sistema, mediante simulacin, se puede efectuar desde el men de simulacin asociado a todo diseo en SIMULINK, desde la lnea de comandos o desde cualquier programa de comandos (*.m), en MATLAB.

Regulacin Automtica. Curso 2008/09

40

Anexo I: Manual de MATLAB

Durante la simulacin no es posible modificar los parmetros generales, pero s es posible efectuar cambios en los parmetros especficos de cada bloque, dotando as a SIMULINK de un entorno interactivo muy til para la realizacin de pruebas. Es decir se pueden definir parmetros dentro de los bloques y en la ventana de MATLAB se definen dichos parmetros como variables y se les asignarn valores para cada simulacin. Adicionalmente a la simulacin es posible obtener un modelo lineal del sistema frente a determinadas perturbaciones, obtener las condiciones de equilibrio del sistema a partir de distintas condiciones iniciales y utilizar toda la potencia de MATLAB para el anlisis de datos o para el anlisis y diseo del modelo lineal.

13.1 Creacin de un modelo


Al abrir SIMULINK, junto con la ventana de libreras se abre una ventana en blanco con el nombre de untitled donde se programar grficamente un nuevo sistema, tal y como se muestra en la Figura A.4 (si no aparece dicha ventana se crea desde el men file new).

Figura A.4: Ventana principal de SIMULINK

El sistema se formar tomando bloques de la ventana Simulink Library Browser (Figura A.5), arrastrndolos a la ventana de SIMULINK e interconectando sus entradas y salidas adecuadamente.

Regulacin Automtica. Curso 2008/09

41

Anexo I: Manual de MATLAB

Figura A.5: Ventana del SIMULINK Library Browser

Los bloques disponibles estn agrupados en libreras. Entre las ms utilizadas, se encuentran las siguientes:

Sources: los bloques de las distintas seales de entrada. Sinks: bloques que recogen la respuesta de los sistemas. Continuous: componentes para la programacin de sistemas continuos. Discrete: componentes para la programacin de sistemas discretos. Discontinuous: componentes para la programacin de sistemas no lineales. Signals&Subsystems: conexiones. Math Operations: incluye bloques para operaciones matemticas.

Regulacin Automtica. Curso 2008/09

42

Anexo I: Manual de MATLAB

Figura A.6: Algunas libreras de SIMULINK Library Browser

Regulacin Automtica. Curso 2008/09

43

Anexo I: Manual de MATLAB

Cada bloque situado en la ventana de trabajo aparece con su smbolo y unas marcas que representan las entradas y/o salidas del mismo; para conexionar los bloques hay que hacer clic en una de dichas marcas y sin soltar el botn del ratn arrastrar hasta otra marca o bien hasta una lnea ya dibujada. Una vez dibujado el diagrama de bloques se pueden cambiar los parmetros asociados a cada bloque haciendo doble clic dentro del bloque, se abrir una ventana (particular de cada bloque) que permite visualizar los parmetros actuales y cambiar sus valores. Cuando se ha realizado un cambio en la ventana de trabajo en la barra de ttulo de la ventana aparece: untitled* indicando que todava no se ha dado nombre al fichero (untitled) y que se han hecho cambios en el diagrama de bloques sin que se hayan salvado en disco (*).

13.2 Configuracin de la simulacin


A la ventana de configuracin de la simulacin se accede desde el men desplegable Simulation en la opcin Simulation Parameters (ver Figura A.7).

Figura A.7: Ventana para la configuracin de los parmetros de simulacin

En la pestaa que aparece al abrirse (solver) se distinguen tres partes:

Simulation time: comienzo y fin de simulacin en segundos. Solver options: mtodo de integracin, tamao del paso.

Regulacin Automtica. Curso 2008/09

44

Anexo I: Manual de MATLAB

Output options: para aumentar los puntos de la simulacin.

La simulacin comienza en el men Simulation Start o pulsando el icono en forma de tringulo de la barra de botones. Para visualizar los resultados de la simulacin los dos bloques ms utilizados son Scope y To Workspace (de la librera Sinks):

Scope: durante o tras la simulacin al hacer doble clic en este bloque se abrir una nueva ventana con las seales generadas. En su barra de herramientas existen varios iconos: los tres primeros fijan el tipo de zoom (ampliar eje x y eje y, slo eje x y slo eje y); el cuarto icono (se identifica con unos prismticos) har que aparezca en pantalla la grfica completa. El quinto guarda la configuracin de los ejes para simulaciones posteriores, y el ltimo nos permite fijar los ejes y la cantidad de datos que queremos que se representen en la grfica. To Workspace: guarda la seal en el espacio de trabajo de MATLAB, para poder trabajar con ella desde el entorno de MATLAB. Lo ms sencillo es guardarla en forma de array; para ello, elegir esa opcin en Save format (en la ventana de configuracin de este bloque, ver Figura A.9). Los valores de tiempo correspondientes a esos datos almacenados pasan al espacio de trabajo en una variable llamada tout.

Figura A.8: Bloques para la visualizacin de resultados

Figura A.9: Parmetros de configuracin del bloque To Workspace

Regulacin Automtica. Curso 2008/09

45

Anexo I: Manual de MATLAB

Por defecto se guardan. Se puede modificar esa opcin en la pestaa Workspace I/O o Data Import/Export (dependiendo de la versin de MATLAB instalada) de la ventana Simulation Parameters, tal y como se muestra en la Figura A.10. En cualquier caso, otra forma para guardar el tiempo, con el nombre que se quiera, es mediante el bloque Clock de la librera Sources (vase Figura A.11).

Figura A.10: Parmetros de configuracin de la simulacin (guardar el tiempo en tout)

Figura A.11: Otra forma de guardar el tiempo en el espacio de trabajo

Regulacin Automtica. Curso 2008/09

46

Anexo I: Manual de MATLAB

14. TOOLBOX DE CONTROL


14.1 Tratamiento mediante funciones de transferencia. Sistemas continuos
En MATLAB las funciones de transferencia se introducen dando el par de polinomios (numerador, denominador) como argumentos de la funcin tf. Una forma de convertir una funcin de transferencia dada por dos polinomios numerador y denominador, en un conjunto de factores de grado 1, correspondientes a los polos (p1, p2, p3) y ceros (c1, c2), es mediante el comando tf2zp, que devuelve un vector conteniendo los ceros de la funcin de transferencia, un vector conteniendo los polos, y un escalar correspondiente a la ganancia esttica. La funcin complementaria a sta tambin existe: zp2tf.

14.2 Dominio temporal


La respuesta ante un escaln a la entrada se puede analizar en sistemas que tengan una descripcin en forma de funcin de transferencia o una representacin en el espacio de estados, generando un vector de tiempos y usando la funcin step. No es necesario recuperar el resultado de la simulacin ante escaln que realiza step para despus representarlo con plot, sino que el propio comando, utilizado sin parmetros de salida, realiza la representacin. Es ms, la representacin grfica es interactiva, puesto que si se pincha con el botn izquierdo del ratn en algn punto de la grfica, nos dice los valores correspondientes al tiempo y al valor de la salida en ese punto (vase el ejemplo de la Figura A.12). La respuesta impulsional se puede obtener del mismo modo, usando la funcin impulse, que tiene una sintaxis similar al comando step. La respuesta del sistema a cualquier tipo de entrada tambin puede obtenerse. Para ello es necesario tener la seal de entrada en un vector, que lgicamente deber tener la misma dimensin que el vector de tiempos. A estos efectos se usa la funcin lsim.

14.3 Dominio frecuencial


La respuesta en frecuencia de los sistemas se puede obtener usando las funciones bode, nyquist y nichols, tal y como se muestra en la Figura A.13. Si no se le ponen argumentos a la izquierda, estas funciones generan las grficas por s solas. En caso contrario, vuelcan los datos en los vectores de salida oportunos.

Regulacin Automtica. Curso 2008/09

47

Anexo I: Manual de MATLAB

Figura A.12: Ejemplo de respuesta al escaln de un sistema de primer orden

A continuacin se presentan ejemplos de las tres posibles sintaxis de la funcin bode: 1.- bode(num,den): produce un grfico con la magnitud en decibelios (dB) y la fase en grados. 2.- [mag,phase,w] = bode (num,den) 3.- [mag,phase] = bode (num,den,w) En las opciones 2 y 3 la magnitud se devuelve en el vector mag y est expresada en unidades absolutas, no en dB. La fase, devuelta en el vector phase, sigue siendo en grados. La segunda forma automticamente genera los puntos de frecuencia en el vector w. En la tercera forma es el usuario el que escoge los rangos de frecuencia, y resulta muy adecuado cuando se quieren representar varias grficas conjuntamente, que habrn de compartir una misma escala frecuencial. El resultado de los dos ltimos comandos se puede representar usando funciones conocidas: subplot(211), loglog(w,mag), title(Magnitud), xlabel(rad/s); subplot(212), semilogx(w,phase), title(Fase), xlabel(rad/s);

Regulacin Automtica. Curso 2008/09

48

Anexo I: Manual de MATLAB

Figura A.13: Diagramas de Bode, Nyquist y Nichols del ejemplo de la Figura A.12

El comando nyquist tiene la misma sintaxis. Computa las partes real e imaginaria de G(j) y realiza la representacin si no se le ponen parmetros de salida. Para obtener la representacin grfica por nosotros mismos, slo hay que dibujar la parte real frente a la imaginaria. El comando nichols computa el diagrama de Nichols de un sistema a partir de la funcin de transferencia en bucle abierto. Para verlo basta dibujar la magnitud del bucle abierto en dB (en el eje de ordenadas) frente a fase del bucle abierto en grados (en eje de abcisas), o llamar a la funcin sin argumento de salida. Si se quiere en forma de baco, se puede usar el comando ngrid.

Regulacin Automtica. Curso 2008/09

49

Anexo I: Manual de MATLAB

14.4 Mrgenes de estabilidad


Como es bien sabido en la teora clsica del control, los mrgenes de estabilidad son el margen de fase y el margen de ganancia. Estos mrgenes se calculan usando el comando margin. Cuando no se le especifican parmetros de salida, se realiza la representacin del diagrama de Bode, junto con una indicacin, mediante lneas verticales de los puntos donde se mide cada uno de los mrgenes y los valores de los mismos.

14.5 Efectos de los retardos


Los retardos existen en numerosas aplicaciones de control automtico. En sistemas lineales continuos invariantes en el tiempo, el retardo viene representado por e-sT. La forma ms sencilla de manipular los retardos en MATLAB es en el dominio de la frecuencia. Ntese que ejwT = 1|-wT. Por tanto, los retardos dejan la magnitud invariable y afectan al desfase, tendiendo a inestabilizar al sistema controlado. Para propsitos de representacin mediante el comando bode, todo lo que habr que hacer es restar la fase del retardo a la de la funcin de transferencia.

14.6 Lugar de las races


El anlisis mediante el lugar de las races se puede obtener definiendo un vector de ganancias deseadas (que es el parmetro usado habitualmente para ver la evolucin de los polos en bucle cerrado). La sintaxis es:

r = rlocus (N,D,K); rlocus (N,D);


N (s) = 0 , para un vector de D( s) ganancias especificado, K. rlocus devuelve una matriz r con length(K) filas y length(den) columnas, conteniendo la localizacin de las races complejas. Cada fila de la matriz corresponde a una ganancia del vector K. El lugar de las races puede ser dibujado con plot(r,x).
En la primera forma, calcula el lugar de las races de 1 + K En la segunda forma, que es la usada habitualmente, la funcin directamente dibuja el lugar de las races. Adems, como vemos, no es imprescindible indicar un vector de ganancias. Un comando muy til como complemento a rlocus es rlocfind, cuya sintaxis general es:

[K,polos] = rlocfind (num,den)

Regulacin Automtica. Curso 2008/09

50

Anexo I: Manual de MATLAB

Antes de introducir dicho comando es necesario haber dibujado el lugar de las races. Al introducir rlocfind, se pide que se seleccione con el ratn un punto determinado del lugar, proporcionando como resultado la ganancia K en dicho punto y la localizacin de los polos correspondientes a esa ganancia. Para mejorar la precisin, puede realizarse un zoom en torno a una zona de inters en la grfica, antes de ejecutar la orden. Otra utilidad para ver la sobreoscilacin que correspondera a un par de polos complejos conjugados situados en el lugar, sera dibujar los lugares geomtricos de factor de amortiguamiento () y frecuencia natural (n) constantes, mediante el comando sgrid. Las nuevas versiones de MATLAB van ms all y ofrecen una herramienta interactiva para ir viendo en vivo las variaciones que sufre el lugar de las races, conforme se aaden, eliminan y mueven los polos y ceros de bucle abierto. A esta herramienta se accede mediante el comando rltool, cuya ventanas principales se muestran en la Figuras A.14 y A.15.

Figura A.14: Ventana principal de la herramienta rltool

Regulacin Automtica. Curso 2008/09

51

Anexo I: Manual de MATLAB

Figura A.15: Ventana para el diseo de sistemas SISO

Regulacin Automtica. Curso 2008/09

52

Anexo I: Manual de MATLAB

15. TOOLBOX DE ADQUISICIN DE DATOS


La herramienta de adquisicin de datos, Data Acquisition Toolbox (DAQ), incluye varias libreras DLLs que habilitan un interfaz entre MATLAB y un hardware especfico, como por ejemplo, hardware/tarjetas de adquisicin de datos de compaas/vendedores Advantech, Agilent Technologies, Keithley, National Instruments, tarjetas de sonido de Windows, puertos paralelos LPT1-LPT3 Esta herramienta dispone de cuatro bloques de SIMULINK, tal y como se muestra en la Figura A.16, referidos a entradas/salidas analgicas y digitales. Una vez incluidos en el fichero de SIMULINK, cada uno de estos bloques reconoce todos aquellos dispositivos hardware que estn conectados. Slo habr que seleccionar el canal que se va a utilizar y el periodo de muestreo (ver Figura A.17).

Figura A.16: Bloques de la herramienta DAQ

Regulacin Automtica. Curso 2008/09

53

Anexo I: Manual de MATLAB

Figura A.17: Bloques de la herramienta DAQ

Desde el men Start (Figura A.18), se puede acceder a una serie de herramientas adicionales de DAQ, como el osciloscopio y un generador de funciones (asociados a un hardware determinado). Tambin se puede acceder a los tutoriales o la ayuda.

Figura A.18: Acceso algunas herramientas adicionales de DAQ

Regulacin Automtica. Curso 2008/09

54

ANEXO II: TARJETA NI USB 6009

Anexo II: Tarjeta NI USB 6009

1. SOFTWARE DE VERIFICACIN
La tarjeta NI USB 6009 incorpora un software para la verificacin de sus entradas y salidas, tanto analgicas como digitales. Al ser una tarjeta tipo USB, una vez instalado su controlador en cualquier ordenador, al conectarla en el PC ste la detecta y aparece el men de la Figura A.19. A partir de este men se puede acceder a diferentes aplicaciones de National Instruments: NI LabVIEW, NI LabVIEW SignalExpress (herramienta de LabVIEW para el tratamiento y anlisis de seales), el interfaz de verificacin de la tarjeta (Test Panels), entre otras.

Figura A.19: Men que aparece al conectar la tarjeta NI USB 6009

El software Test Panels es bastante til, puesto que nos va a permitir verificar las entradas y salidas de la tarjeta que se estn usando. El aspecto de este software es el que se muestra en la Figura A.20. Como puede verse, en la parte de arriba se selecciona la pestaa correspondiente a lo que se quiere verificar: entradas analgicas, salidas analgicas, entradas/salidas digitales o contadores. En cada caso, se debe elegir el canal y ajustar los parmetros especficos, tal y como se representa en la Figura A.21.

Regulacin Automtica. Curso 2008/09

56

Anexo II: Tarjeta NI USB 6009

Figura A.20: Ventana para la prueba de las entradas y salidas analgicas de la tarjeta

Si se quiere visualizar la seal analgica que se est capturando por uno de los canales, es necesario darle al botn Start. Por su parte, para generar un voltaje de salida, una vez seleccionado el modo y el valor, se le da al botn Update.

Regulacin Automtica. Curso 2008/09

57

Anexo II: Tarjeta NI USB 6009

Figura A.21: Seleccin del canal de la entrada y salida analgica de la tarjeta

Regulacin Automtica. Curso 2008/09

58

Low-Cost, Bus-Powered Multifunction DAQ for USB 2. HOJA DE CARACTERSTICAS 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs
NI USB-6008, NI USB-6009
8 analog inputs at 12 or 14 bits, up to 48 kS/s 2 analog outputs at 12 bits, software-timed 12 TTL/CMOS digital I/O lines 32-bit, 5 MHz counter Digital triggering Bus-powered 1-year warranty

Recommended Software
LabVIEW LabVIEW SignalExpress LabWindows/CVI Measurement Studio

Other Compatible Software


C#, Visual Basic .NET ANSI C/C++

Operating Systems
Windows Vista (32- and 64-bit)/XP/2000 Mac OS X1 Linux1 Windows Mobile1 Windows CE1

Measurement Services Software (included)


NI-DAQmx driver software Measurement & Automation Explorer configuration utility LabVIEW SignalExpress LE
1You

need to download NI-DAQmx Base for these operating systems.

Product USB-6009 USB-6008


1 SE

Bus USB USB

Analog Inputs1 8 SE/4 DI 8 SE/4 DI

Input Resolution (bits) 14 12

Max Sampling Rate (kS/s) 48 10

Input Range (V) 1 to 20 1 to 20

Analog Outputs 2 2

Output Resolution (bits) 12 12

Output Rate (Hz) 150 150

Output Range (V) 0 to 5 0 to 5

Digital I/O Lines 12 12

32-Bit Counter 1 1

Trigger Digital Digital

= single ended, DI = differential

2Software-timed

Overview and Applications


With recent bandwidth improvements and new innovations from National Instruments, USB has evolved into a core bus of choice for measurement applications. The NI USB-6008 and USB-6009 are lowcost entry points to NI flagship data acquisition (DAQ) devices. With plug-and-play USB connectivity, these modules are simple enough for quick measurements but versatile enough for more complex measurement applications. The USB-6008 and USB-6009 are ideal for a number of applications where low cost, small form factor, and simplicity are essential. Examples include: Data logging quick and easy environmental or voltage data logging Academic lab use student ownership of DAQ hardware for completely interactive lab-based courses (Academic pricing available. Visit ni.com/academic for details.) OEM applications as I/O for embedded systems

Recommended Software
National Instruments measurement services software, built around NI-DAQmx driver software, includes intuitive application programming interfaces, configuration tools, I/O assistants, and other tools designed to reduce system setup, configuration, and development time. National Instruments recommends using the latest version of NI-DAQmx

driver software for application development in NI LabVIEW, LabVIEW SignalExpress, LabWindows/CVI, and Measurement Studio software. To obtain the latest version of NI-DAQmx, visit ni.com/support/daq/versions. NI measurement services software speeds up your development with features including: A guide to create fast and accurate measurements with no programming using the DAQ Assistant. Automatic code generation to create your application in LabVIEW. LabWindows/CVI; LabVIEW SignalExpress; and C#, Visual Studio .NET, ANSI C/C++, or Visual Basic using Measurement Studio. Multithreaded streaming technology for 1,000 times performance improvements. Automatic timing, triggering, and synchronization routing to make advanced applications easy. More than 3,000 free software downloads available at ni.com/zone to jump-start your project. Software configuration of all digital I/O features without hardware switches/jumpers. Single programming interface for analog input, analog output, digital I/O, and counters on hundreds of multifunction DAQ hardware devices. M Series devices are compatible with the following versions (or later) of NI application software LabVIEW, LabWindows/CVI, or Measurement Studio versions 7.x; and LabVIEW SignalExpress 2.x.

Low-Cost, Bus-Powered Multifunction DAQ for USB 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs
Every M Series data acquisition device also includes a copy of LabVIEW SignalExpress LE data-logging software, so you can quickly acquire, analyze, and present data without programming. The NI-DAQmx Base driver software is provided for use with Linux, Mac OS X, Windows Mobile, and Windows CE operating systems.

Information for Student Ownership


To supplement simulation, measurement, and automation theory courses with practical experiments, NI has developed the USB-6008 and USB-6009 student kits, which include the LabVIEW Student Edition and a ready-to-run data logger application. These kits are exclusively for students, giving them a powerful, low-cost, hands-on learning tool. Visit ni.com/academic for more details.

Recommended Accessories
The USB-6008 and USB-6009 have removable screw terminals for easy signal connectivity. For extra flexibility when handling multiple wiring configurations, NI offers the USB-600x Connectivity Kit, which includes two extra sets of screw terminals, extra labels, and a screwdriver. In addition, the USB-600x Prototyping Kit provides space for adding more circuitry to the inputs of the USB-6008 or USB-6009.

Information for OEM Customers


For information on special configurations and pricing, call (800) 813 3693 (U.S. only) or visit ni.com/oem. Go to the Ordering Information section for part numbers.

NI USB DAQ for OEMs


Shorten your time to market by integrating world-class National Instruments OEM measurement products into your embedded system design. Board-only versions of NI USB DAQ devices are available for OEM applications, with competitive quantity pricing and available software customization. The NI OEM Elite Program offers free 30-day trial kits for qualified customers. Visit ni.com/oem for more information.

Ordering Information
NI USB-60081 ........................................................................779051-01 NI USB-60091 ........................................................................779026-01 NI USB-6008 OEM ................................................................193132-02 NI USB-6009 OEM ................................................................193132-01 NI USB-6008 Student Kit1,2 ..................................................779320-22 NI USB-6009 Student Kit1,2 ..................................................779321-22 NI USB-600x Connectivity Kit ..............................................779371-01 NI USB-600x Prototyping Kit ................................................779511-01
1 Includes 2 Includes

NI-DAQmx software, LabVIEW SignalExpress LE, and a USB cable. LabVIEW Student Edition.

BUY NOW!
For complete product specifications, pricing, and accessory information, call 800 813 3693 (U.S. only) or go to ni.com/usb.

BUY ONLINE at ni.com or CALL 800 813 3693 (U.S.)

Low-Cost, Bus-Powered Multifunction DAQ for USB 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs
Output range ....................................... Output impedance............................... Output current drive............................ Power-on state.................................... Slew rate............................................. Short-circuit current............................ 0 to +5 V 50 5 mA 0V 1 V/s 50 mA

Specifications
Typical at 25 C unless otherwise noted.

Analog Input
Absolute accuracy, single-ended
Range 10 Typical at 25 C (mV) 14.7 Maximum (0 to 55 C) (mV) 138

Digital I/O
Number of channels............................ 12 total 8 (P0.<0..7>) 4 (P1.<0..3>) Direction control ................................. Each channel individually programmable as input or output Output driver type USB-6008........................................ Open-drain USB-6009........................................ Each channel individually programmable as push-pull or open-drain Compatibility ....................................... CMOS, TTL, LVTTL Internal pull-up resistor ...................... 4.7 k to +5 V Power-on state.................................... Input (high impedance) Absolute maximum voltage range...... -0.5 to +5.8 V Digital logic levels
Level Input low voltage Input high voltage Input leakage current Output low voltage (I = 8.5 mA) Output high voltage (push-pull, I = -8.5 mA) Output high voltage (open-drain, I = -0.6 mA, nominal) Output high voltage (open-drain, I = -8.5 mA, with external pull-up resistor) Min -0.3 2.0 2.0 2.0 2.0 Max 0.8 5.8 50 0.8 3.5 5.0 Units V V A V V V V

Absolute accuracy at full scale, differential1


Range 20 10 5 4 2.5 2 1.25 1 Typical at 25 C (mV) 14.7 7.73 4.28 3.59 2.56 2.21 1.70 1.53 Maximum (0 to 55 C) (mV) 138 84.8 58.4 53.1 45.1 42.5 38.9 37.5

Number of channels............................ 8 single-ended/4 differential Type of ADC ........................................ Successive approximation ADC resolution (bits)
Module USB-6008 USB-6009 Differential 12 14 Single-Ended 11 13

Maximum sampling rate (system dependent)


Module USB-6008 USB-6009 Maximum Sampling Rate (kS/s) 10 48

Input range, single-ended................... 10 V Input range, differential...................... 20, 10, 5, 4, 2.5, 2, 1.25, 1 V Maximum working voltage ................. 10 V Overvoltage protection ....................... 35 V FIFO buffer size ................................... 512 B Timing resolution ................................ 41.67 ns (24 MHz timebase) Timing accuracy .................................. 100 ppm of actual sample rate Input impedance ................................. 144 k Trigger source...................................... Software or external digital trigger System noise....................................... 5 m Vrms (10 V range)

Counter
Number of counters ............................ Resolution ........................................... Counter measurements....................... Pull-up resistor.................................... Maximum input frequency.................. Minimum high pulse width................. Minimum low pulse width.................. Input high voltage ............................... Input low voltage ................................ Power available at I/O connector +5 V output (200 mA maximum) ......... +5 V typical +4.85 V minimum +2.5 V output (1 mA maximum) .......... +2.5 V typical +2.5 V output accuracy ....................... 0.25% max Voltage reference temperature drift... 50 ppm/C max 1 32 bits Edge counting (falling edge) 4.7 k to 5 V 5 MHz 100 ns 100 ns 2.0 V 0.8 V

Analog Output
Absolute accuracy (no load) ............... 7 mV typical, 36.4 mV maximum at full scale Number of channels............................ 2 Type of DAC ........................................ Successive approximation DAC resolution.................................... 12 bits Maximum update rate ........................ 150 Hz, software-timed

1 Input

voltages may not exceed the working voltage range.

BUY ONLINE at ni.com or CALL 800 813 3693 (U.S.)

Low-Cost, Bus-Powered Multifunction DAQ for USB 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs
Physical Characteristics If you need to clean the module, wipe it with a dry towel. Dimensions (without connectors) ....... 6.35 by 8.51 by 2.31 cm (2.50 by 3.35 by 0.91 in.) Dimensions (with connectors) ............ 8.18 by 8.51 by 2.31 cm (3.22 by 3.35 by 0.91 in.) Weight (without connectors) .............. 59 g (2.1 oz) Weight (with connectors) ................... 84 g (3 oz) I/O connectors..................................... USB series B receptacle (2) 16-position (screw-terminal) plug headers Screw-terminal wiring ........................ 16 to 28 AWG Screw-terminal torque........................ 0.22 to 0.25 Nm (2.0 to 2.2 lbin.) Power Requirement USB (4.10 to 5.25 VDC)....................... 80 mA typical 500 mA maximum USB suspend....................................... 300 A typical 500 A maximum Environmental The USB-6008 and USB-6009 are intended for indoor use only. Operating environment Ambient temperature range ........... 0 to 55 C (tested in accordance with IEC-60068-2-1 and IEC-60068-2-2) Relative humidity range ................. 10 to 90%, noncondensing (tested in accordance with IEC-60068-2-56) Storage environment Ambient temperature range ........... -40 to 85 C (tested in accordance with IEC-60068-2-1 and IEC-60068-2-2) Relative humidity range ................. 5 to 90%, noncondensing (tested in accordance with IEC-60068-2-56) Maximum altitude............................... 2,000 m (at 25 C ambient temperature) Pollution degree.................................. 2

Safety and Compliance


Safety
This product is designed to meet the requirements of the following standards of safety for electrical equipment for measurement, control, and laboratory use: IEC 61010-1, EN 61010-1 UL 61010-1, CSA 61010-1 Note: For UL and other safety certifications, refer to the product label or visit ni.com/certification, search by model number or product line, and click the appropriate link in the Certification column.

Electromagnetic Compatibility
This product is designed to meet the requirements of the following standards of EMC for electrical equipment for measurement, control, and laboratory use: EN 61326 EMC requirements; Minimum Immunity EN 55011 Emissions; Group 1, Class A CE, C-Tick, ICES, and FCC Part 15 Emissions; Class A Note: For EMC compliance, operate this device according to product documentation.

CE Compliance
This product meets the essential requirements of applicable European Directives, as amended for CE marking, as follows: 2006/95/EC; Low-Voltage Directive (safety) 2004/108/EC; Electromagnetic Compatibility Directive (EMC) Note: Refer to the Declaration of Conformity (DoC) for this product for any additional regulatory compliance information. To obtain the DoC for this product, visit ni.com/certification, search by model number or product line, and click the appropriate link in the Certification column.

Waste Electrical and Electronic Equipment (WEEE)


EU Customers: At the end of their life cycle, all products must be sent to a WEEE recycling center. For more information about WEEE recycling centers and National Instruments WEEE initiatives, visit ni.com/environment/weee.htm.

BUY ONLINE at ni.com or CALL 800 813 3693 (U.S.)

NI Services and Support


IN TA
PL

SERVICE NEEDS
LO Y
V DE

NI has the services and support to meet your needs around the globe and through the application life cycle from planning and development through deployment and ongoing maintenance. We offer services and service levels to meet customer requirements in research, design, validation, and manufacturing. Visit ni.com/services.

Local Sales and Technical Support


In offices worldwide, our staff is local to the country, giving you access to engineers who speak your language. NI delivers industry-leading technical support through online knowledge bases, our applications engineers, and access to 14,000 measurement and automation professionals within NI Developer Exchange forums. Find immediate answers to your questions at ni.com/support. We also offer service programs that provide automatic upgrades to your application development environment and higher levels of technical support. Visit ni.com/ssp.

MA IN

Training and Certification


NI training is the fastest, most certain route to productivity with our products. NI training can shorten your learning curve, save development time, and reduce maintenance costs over the application life cycle. We schedule instructor-led courses in cities worldwide, or we can hold a course at your facility. We also offer a professional certification program that identifies individuals who have high levels of skill and knowledge on using NI products. Visit ni.com/training.

EL OP

AN

Professional Services
Our Professional Services Team is comprised of NI applications engineers, NI Consulting Services, and a worldwide National Instruments Alliance Partner program of more than 600 independent consultants and integrators. Services range from start-up assistance to turnkey system integration. Visit ni.com/alliance.

OEM Support
We offer design-in consulting and product integration assistance if you want to use our products for OEM applications. For information about special pricing and services for OEM customers, visit ni.com/oem.

P DE

Hardware Services
NI Factory Installation Services
NI Factory Installation Services (FIS) is the fastest and easiest way to use your PXI or PXI/SCXI combination systems right out of the box. Trained NI technicians install the software and hardware and configure the system to your specifications. NI extends the standard warranty by one year on hardware components (controllers, chassis, modules) purchased with FIS. To use FIS, simply configure your system online with ni.com/pxiadvisor.

Calibration Services
NI recognizes the need to maintain properly calibrated devices for high-accuracy measurements. We provide manual calibration procedures, services to recalibrate your products, and automated calibration software specifically designed for use by metrology laboratories. Visit ni.com/calibration.

Repair and Extended Warranty


NI provides complete repair services for our products. Express repair and advance replacement services are also available. We offer extended warranties to help you meet project life-cycle requirements. Visit ni.com/services.

ni.com (800) 813 3693


National Instruments info@ni.com

*351378C-01*
351378C-01 2008-9621-301-101-D

2008 National Instruments. All rights reserved. CVI, LabVIEW, Measurement Studio, National Instruments, National Instruments Alliance Partner, NI, ni.com, SCXI, and SignalExpress are trademarks of National Instruments. The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in the United States and other countries. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Other product and company names listed are trademarks or trade names of their respective companies. A National Instruments Alliance Partner is a business entity independent from NI and has no agency, partnership, or joint-venture relationship with NI.

You might also like