65
 MANUAL DE PRÁCTICAS  Regulación Automática  2º ITI Electrónica Curso 2008/09 Inés Tejado Balsera Blas M. Vinagre Jara Pilar Merchán García  Área Ingeniería de Sistem as y Automática  Escuela de Ingeniería s Industriales 

76081495-Guion-practicas-08-09

Embed Size (px)

Citation preview

  • 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

    Regulacin Automtica. Curso 2008/09 I

    NDICE

    1. OBJETIVO 1 2. DESCRIPCIN DEL SISTEMA 1

    2.1 Descripcin del servomotor 1 2.2 Modelado matemtico del servomotor 2 2.3 Descripcin de la tarjeta de adquisicin de datos 6

    3. DESARROLLO DE LA PRCTICA 7 Parte I: Introduccin a MATLAB 7 Parte II: Control de velocidad del servo 9 Parte III: Control de posicin del servo 14

    4. TEMPORALIZACIN 18 ANEXO I: MANUAL DE MATLAB 19

    1. GENERALIDADES 20 2. AYUDA EN LNEA 23 3. VECTORES 24 4. MATRICES 26 5. POLINOMIOS 28 6. OPERACIONES RELACIONALES Y LGICAS 30 7. CONTROLES DE FLUJO 31 8. ARCHIVOS SCRIPT 32 9. FUNCIONES EN ARCHIVOS M 33 10. ANLISIS DE DATOS 34 11. GRFICOS 2-D 35 12. GRFICOS 3-D 39 13. SIMULINK 40 14. TOOLBOX DE CONTROL 47 15. TOOLBOX DE ADQUISICIN DE DATOS 53

    ANEXO II: TARJETA NI USB-6009 55

    1. SOFTWARE DE VERIFICACIN 56 2. HOJA DE CARACTERSTICAS 59

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 1

    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

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 2

    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

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 3

    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:

    a

    ( s )E ( 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:

    aT k i=

    B) La ecuacin del circuito del rotor para la tensin aplicada, ea:

    aa a a a b

    die i R L edt

    = + +

    C) La ecuacin mecnica: 2

    a 2

    d dT k i J Fdt dt

    = = +

    donde J es el momento de inercia y F representa la friccin viscosa. 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:

    (1)

    (2)

    (3)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 4

    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

    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

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

    (4)

    (5)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 5

    a a a a a b2

    a

    b b

    E ( s ) I ( s ) R L s I ( s ) E ( s )k I ( s ) J s ( s ) F s ( s )E ( s ) k s ( s )

    = + + = +

    =

    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 ():

    m

    a m

    ma b

    am

    a b

    K( s ) ,donde :E ( s ) ( s 1)s

    kKR F k k

    R JR F k k

    = + = +

    = +

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

    m

    a m

    K( s )E ( s ) s 1

    = +

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

    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

    (6)

    (7)

    (8)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 6

    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

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 7

    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

    Definir la matriz

    =

    086799531243

    A .

    Extraer en el vector u1 la segunda fila de A. Convertir u1 en un vector columna.

    Extraer la submatriz

    =

    087953

    B .

    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:

    nnn

    nnn

    asasbsbsb

    dennum

    sAsB

    ++++++==

    ......

    )()(

    11

    110 ,

    donde algunos ai y bi pueden ser cero.

    (9)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 8

    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:

    )()(

    )(...)2(

    )2()1(

    )1()()( sk

    npsnr

    psr

    psr

    sAsB ++++=

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

    61166352

    )()(

    23

    23

    ++++++=

    ssssss

    sAsB

    133

    32)1(

    32)()(

    23

    2

    3

    2

    +++++=+

    ++=sss

    sss

    sssAsB

    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

    nnn

    nnn

    asasbsbsb

    dennum

    sAsB

    ++++++==

    ......

    )()(

    11

    110 ,

    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:

    6484412

    12164)()(

    234

    2

    ++++++=

    ssssss

    sAsB

    4 2

    6 4 2

    B( s ) s 8s 16A( s ) 8s 96s 384s 512

    += +

    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.

    (12)

    (10)

    (11)

    (13)

    (14)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 9

    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):

    m

    a m

    K( s )G( s )E ( s ) s 1

    = = + 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

    (15)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 10

    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

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 11

    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 ,

    ee( t ) A sen t= 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.

    yy( t ) A sen( t ) = +

    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:

    y10

    e

    AMagnitud( dB ) 20 log

    A=

    360 t( )

    T =

    siendo T el periodo de la seal senoidal de entrada.

    (16)

    (17)

    (18)

    (19)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 12

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

    y

    e

    ARe cos

    A=

    y

    e

    AIm s en

    A=

    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.

    (20)

    (21)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 13

    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:

    ruido,w( s ) Kw =

    Sin embargo, con la realimentacin esta accin se convierte en:

    ruido,w

    G( s )( s ) w1 KG( s )

    = + 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).

    (22)

    (23)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 14

    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)):

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 15

    m

    m m m2

    2a m m

    m

    KK K( s ) 1

    1E ( s ) s 1 s s s s s

    = = =+ + +

    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):

    2n

    2 2n n

    Y( s )H( s )X( s ) s 2 s

    = = + +

    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).

    ( )( )( )

    P

    22P

    ln M

    ln M

    =

    +

    (24)

    (25)

    (26)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 16

    n 2Pt 1

    = 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.

    (27)

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 17

    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:

  • Manual de prcticas

    Regulacin Automtica. Curso 2008/09 18

    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).

    9 Identificacin del sistema 2 horas. 9 Anlisis frecuencial 3 horas. 9 Anlisis del efecto de la realimentacin 3 horas. 9 Diseo de los controladores 4 horas.

    Parte II: Control del servo de posicin (12 horas, 6 sesiones). 9 Identificacin del sistema 2 horas. 9 Anlisis frecuencial 3 horas. 9 Anlisis del efecto de la realimentacin 3 horas. 9 Diseo del controlador 4 horas.

  • ANEXO I:

    MANUAL DE MATLAB

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 20

    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).

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 21

    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. i y j i = j = 1 . realmin El nmero real positivo ms pequeo que es utilizable. 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 +

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 22

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 23

    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 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

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 24

    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)

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 25

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 26

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 27

    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).

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 28

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 29

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 30

    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 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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 31

    7. CONTROLES DE FLUJO

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 32

    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

    what Devuelve un listado de todos los archivos-M en el directorio actual. 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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 33

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 34

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 35

    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 amarillo . punto m magenta crculo c cyan marca-x r rojo + ms g verde * estrella b azul - lnea slida w blanco : lnea punteada k negro -. 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')

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 36

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 37

    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

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 38

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 39

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 40

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 41

    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 filenew).

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 42

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 43

    Figura A.6: Algunas libreras de SIMULINK Library Browser

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 44

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 45

    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

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 46

    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

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 47

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 48

    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);

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 49

    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.

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 50

    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 e-jwT = 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);

    En la primera forma, calcula el lugar de las races de 0)()(1 =+

    sDsNK , para un vector de

    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 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)

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 51

    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

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 52

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

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 53

    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

  • Anexo I: Manual de MATLAB

    Regulacin Automtica. Curso 2008/09 54

    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

  • ANEXO II:

    TARJETA NI USB 6009

  • Anexo II: Tarjeta NI USB 6009

    Regulacin Automtica. Curso 2008/09 56

    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.

  • Anexo II: Tarjeta NI USB 6009

    Regulacin Automtica. Curso 2008/09 57

    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.

  • Anexo II: Tarjeta NI USB 6009

    Regulacin Automtica. Curso 2008/09 58

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

  • Low-Cost, Bus-Powered Multifunction DAQ for USB 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs

    Overview and ApplicationsWith 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 low-

    cost 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 SoftwareNational 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.

    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

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

    Linux1

    Windows Mobile1

    Windows CE1

    Recommended Software LabVIEW LabVIEW SignalExpress LabWindows/CVI Measurement Studio

    Other Compatible Software C#, Visual Basic .NET ANSI C/C++

    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.

    NI USB-6008, NI USB-6009

    Product BusAnalogInputs1

    Input Resolution

    (bits)

    Max Sampling Rate

    (kS/s)

    Input Range

    (V)AnalogOutputs

    Output Resolution

    (bits)

    Output Rate (Hz)

    Output Range

    (V)

    Digital I/O

    Lines32-Bit

    Counter TriggerUSB-6009 USB 8 SE/4 DI 14 48 1 to 20 2 12 150 0 to 5 12 1 DigitalUSB-6008 USB 8 SE/4 DI 12 10 1 to 20 2 12 150 0 to 5 12 1 Digital

    1SE = single ended, DI = differential 2Software-timed

    InesRectangle

    InesTypewritten Text2. HOJA DE CARACTERSTICAS

  • 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.

    Recommended AccessoriesThe 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.

    NI USB DAQ for OEMsShorten 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.

    Information for Student OwnershipTo 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 formore details.

    Information for OEM CustomersFor information on special configurations and pricing, call (800) 813 3693

    (U.S. only) or visit ni.com/oem. Go to the Ordering Information sectionfor part numbers.

    Low-Cost, Bus-Powered Multifunction DAQ for USB 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs

    2

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

    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-011 Includes NI-DAQmx software, LabVIEW SignalExpress LE, and a USB cable.2 Includes LabVIEW Student Edition.

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

  • SpecificationsTypical at 25 C unless otherwise noted.

    Analog InputAbsolute accuracy, single-ended

    Absolute accuracy at full scale, differential1

    Number of channels............................ 8 single-ended/4 differentialType of ADC ........................................ Successive approximation

    ADC resolution (bits)

    Maximum sampling rate (system dependent)

    Input range, single-ended................... 10 VInput range, differential...................... 20, 10, 5, 4, 2.5, 2,

    1.25, 1 VMaximum working voltage ................. 10 VOvervoltage protection ....................... 35 VFIFO buffer size ................................... 512 BTiming resolution ................................ 41.67 ns (24 MHz timebase)Timing accuracy .................................. 100 ppm of actual sample rateInput impedance ................................. 144 kTrigger source...................................... Software or external digital triggerSystem noise....................................... 5 m Vrms (10 V range)

    Analog OutputAbsolute accuracy (no load) ............... 7 mV typical, 36.4 mV maximum

    at full scaleNumber of channels............................ 2Type of DAC ........................................ Successive approximationDAC resolution .................................... 12 bitsMaximum update rate ........................ 150 Hz, software-timed

    1Input voltages may not exceed the working voltage range.

    Output range ....................................... 0 to +5 VOutput impedance............................... 50 Output current drive............................ 5 mAPower-on state.................................... 0 VSlew rate............................................. 1 V/sShort-circuit current ............................ 50 mA

    Digital I/ONumber of channels............................ 12 total

    8 (P0.)4 (P1.)

    Direction control ................................. Each channel individually programmable as input or output

    Output driver typeUSB-6008........................................ Open-drainUSB-6009........................................ Each channel individually

    programmable as push-pull oropen-drain

    Compatibility ....................................... CMOS, TTL, LVTTLInternal pull-up resistor ...................... 4.7 k to +5 VPower-on state.................................... Input (high impedance)Absolute maximum voltage range...... -0.5 to +5.8 V

    Digital logic levels

    CounterNumber of counters ............................ 1Resolution ........................................... 32 bitsCounter measurements....................... Edge counting (falling edge)Pull-up resistor .................................... 4.7 k to 5 VMaximum input frequency.................. 5 MHzMinimum high pulse width................. 100 nsMinimum low pulse width.................. 100 nsInput high voltage ............................... 2.0 VInput low voltage ................................ 0.8 V

    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% maxVoltage reference temperature drift... 50 ppm/C max

    Low-Cost, Bus-Powered Multifunction DAQ for USB 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs

    3

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

    Module Differential Single-EndedUSB-6008 12 11USB-6009 14 13

    Range Typical at 25 C (mV) Maximum (0 to 55 C) (mV)10 14.7 138

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

    Level Min Max UnitsInput low voltage -0.3 0.8 VInput high voltage 2.0 5.8 VInput leakage current 50 AOutput low voltage (I = 8.5 mA) 0.8 VOutput high voltage (push-pull, I = -8.5 mA) 2.0 3.5 VOutput high voltage (open-drain, I = -0.6 mA, nominal) 2.0 5.0 VOutput high voltage (open-drain, I = -8.5 mA, with external pull-up resistor) 2.0 V

    Range Typical at 25 C (mV) Maximum (0 to 55 C) (mV)20 14.7 13810 7.73 84.85 4.28 58.44 3.59 53.12.5 2.56 45.12 2.21 42.51.25 1.70 38.91 1.53 37.5

  • 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 AWGScrew-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 typical500 mA maximum

    USB suspend....................................... 300 A typical500 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 accordancewith 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 environmentAmbient 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 followingstandards 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 followingstandards 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 EuropeanDirectives, 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 forany additional regulatory compliance information. To obtain the DoC forthis product, visit ni.com/certification, search by model number orproduct 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 WEEErecycling centers and National Instruments WEEE initiatives, visitni.com/environment/weee.htm.

    Low-Cost, Bus-Powered Multifunction DAQ for USB 12- or 14-Bit, up to 48 kS/s, 8 Analog Inputs

    4

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

  • NI Services and Support

    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.

    Training and CertificationNI 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.

    Professional ServicesOur 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 SupportWe 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.

    Local Sales and Technical SupportIn 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.

    Hardware Services

    NI Factory Installation ServicesNI 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.

    SERVICENEEDS

    MAI

    NTAIN PLAN

    DEVE

    LOPDEPLOY

    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 tradenames 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.

    National Instruments [email protected]

    ni.com (800) 813 3693 *351378C-01*351378C-01 2008-9621-301-101-D