SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
Control de velocidad de un motor CC: NI Labview




U. Mart´
       ınez Corral, L. Ranero Santisteban, I. Sarramian Olmos

     Sistemas Digitales en la Medida y Control de Procesos Industriales


                         SDM I - 2011/2012


             Profesora: Ainhoa Etxebarria Egizabal
              EUITI de BILBAO - UPV/EHU
´
Indice
  1 Introducci´n
              o

  2 Lectura
      Encoder incremental
      Recursos hardware: contador
      Periodo de muestreo y adquisici´n
                                     o
      Overflow / Underflow

  3 Actuaci´n
           o
      Pulse Width Modulation (PWM)
      Puente-H
      Recursos hardware: puerto digital
      Cambio de sentido
  4 Control
      Controlador
      Normalizaci´n
                 o
  5 Visualizaci´n
               o
      Bucle de baja prioridad
      Panel
  6 Consideraciones finales
      Consideraciones program´ticas
                              a
      Problemas durante el desarrollo
      Propuestas de mejora
Introducci´n
          o

  Objetivos del proyecto
  Implementar en Labview 2010 (National Instruments) la l´gica de
                                                             o
  adquisici´n, control y actuaci´n para el control de velocidad en
           o                    o
  tiempo real de un motor de corriente continua, y la interfaz de
  usuario para interactuar con el sistema.

  Hardware disponible

      PC compatible (Windows XP)
      Tarjeta de adquisici´n de la serie M (NI 6221)
                          o
      DC carbon-brush motor IG-22GM (6V)
      Two channel Hall effect encoder (SA, SB)
                   1
      Reductora   53
      Puente H de 2A (Digilent PmodHB5TM)
Introducci´n
                                                     o
                                                Lectura
                                              Actuaci´n
                                                     o
                                                Control
                                          Visualizaci´n
                                                     o
                                 Consideraciones finales


Tiempor Real
  Caracter´
          ıstica condicionante del dise˜o
                                        n
  En el ´mbito del control se denomina tiempo real al funcionamiento temporalmente
        a
  determinista de un sistema. Se aplica a todas aquellas plantas donde, adem´s de
                                                                            a
  c´mo, es cr´
   o          ıtico cu´ndo se realicen las acciones.
                      a
  Podemos decir que se trata de una caracter´ıstica de ciertos sistemas que condiciona la
  programaci´n y la especial atenci´n que se debe prestar a los tiempos relativos de
             o                     o
  ejecuci´n y de transferencia. No define una estructura, ni algoritmo espec´
         o                                                                  ıficos, ni
  define requerimientos temporales concretos.
  Siendo as´ los sistemas en tiempo real dependen de los requerimientos de la planta,
            ı,
  orden´ndose por algunos autores en duro/firme/suave1 en funci´n de los efectos que
       a                                                          o
  puede tener en su funcionamiento un incumplimiento de los l´  ımites temporales
  establecidos. Otros autores2 realizan la ordenaci´n en funci´n de la relaci´n entre el
                                                   o          o              o
  tiempo de ejecuci´n y el tiempo de muestreo.
                    o
  El sistema a implementar ser´ firme y de baja velocidad relativa..
                              a
      1
          http://en.wikipedia.org/wiki/Real-time_computing#Criteria_for_real-time_computing
      2
       Speed analysis of a digital controller in time critical applications. Pawet Piatek, Wojciech Grega. Journal of
  Automation, Mobile Robotics & Intelligent Systems.
                                                Grupo 8        Control de velocidad: Labview                            4/ 71
Diagrama de flujo general
Diagrama de bloques general (Labview)
´
Indice
  1 Introducci´n
              o

  2 Lectura
      Encoder incremental
      Recursos hardware: contador
      Periodo de muestreo y adquisici´n
                                     o
      Overflow / Underflow

  3 Actuaci´n
           o
      Pulse Width Modulation (PWM)
      Puente-H
      Recursos hardware: puerto digital
      Cambio de sentido
  4 Control
      Controlador
      Normalizaci´n
                 o
  5 Visualizaci´n
               o
      Bucle de baja prioridad
      Panel
  6 Consideraciones finales
      Consideraciones program´ticas
                              a
      Problemas durante el desarrollo
      Propuestas de mejora
Lectura
Introducci´n
                                   o
                              Lectura   Encoder incremental
                            Actuaci´n
                                   o    Recursos hardware: contador
                              Control   Periodo de muestreo y adquisici´n
                                                                       o
                        Visualizaci´n
                                   o    Overflow / Underflow
               Consideraciones finales


Encoder incremental: modos de lectura




                             Grupo 8    Control de velocidad: Labview       9/ 71
Introducci´n
                                         o
                                    Lectura     Encoder incremental
                                  Actuaci´n
                                         o      Recursos hardware: contador
                                    Control     Periodo de muestreo y adquisici´n
                                                                               o
                              Visualizaci´n
                                         o      Overflow / Underflow
                     Consideraciones finales


Encoder incremental: resoluci´n
                             o

  Dependiente del n´mero de orificios y modo de lectura
                   u

                     360o
                            
         grados →    PPR        n · modo: pulsos por vuelta (PPR)
                            
                                    n: n´mero de orificios
                                        u                     modo: (X)1, (X)2, (X)4
                      2π 
        radianes →   PPR


  Resoluci´n disponible
          o

                                                            360o
                                                                         
                                       grados →             3·4    = 30o 
            n: 3 modo: (X)4
            PPR = 3 · 4 = 12                                2π
                              radianes →                           = π rad
                                                                                
                                                             3·4     6


                                   Grupo 8      Control de velocidad: Labview          10/ 71
Introducci´n
                                    o
                               Lectura   Encoder incremental
                             Actuaci´n
                                    o    Recursos hardware: contador
                               Control   Periodo de muestreo y adquisici´n
                                                                        o
                         Visualizaci´n
                                    o    Overflow / Underflow
                Consideraciones finales


Hardware de lectura: contador

                                         La tarjeta de adquisici´n de NI nos
                                                                o
                                         ofrece la posibilidad de configurar un
                                         contador (en este caso ctr1) como
                                         encoder angular, lo cual coincide con
                                         el tipo de sensor del motor a utilizar.


                                         Las entradas correspondientes a los
                                         dos sensores disponibles (SA y SB)
                                         se conectar´n a las entradas
                                                    a
                                         asociacadas al contador seleccionado
                                         para esta funci´n espec´
                                                        o        ıfica: bornes
                                         42 y 46, respectivamente.


                              Grupo 8    Control de velocidad: Labview        11/ 71
Introducci´n
                                    o
                               Lectura   Encoder incremental
                             Actuaci´n
                                    o    Recursos hardware: contador
                               Control   Periodo de muestreo y adquisici´n
                                                                        o
                         Visualizaci´n
                                    o    Overflow / Underflow
                Consideraciones finales


Configuraci´n del contador: sensor Z
          o


                                         Al no disponer de sensor Z
                                         (vuelta completa), y como no
                                         vamos a utilizar las funciones
                                         asociadas, desactivamos el enable
                                         e ignoramos el resto de
                                         par´metros asociados,
                                             a
                                         disponiendo valores constantes
                                         indiferentemente.




                              Grupo 8    Control de velocidad: Labview       12/ 71
Introducci´n
                                   o
                              Lectura   Encoder incremental
                            Actuaci´n
                                   o    Recursos hardware: contador
                              Control   Periodo de muestreo y adquisici´n
                                                                       o
                        Visualizaci´n
                                   o    Overflow / Underflow
               Consideraciones finales


Configuraci´n del contador: modo y par´metros de lectura
          o                          a

                                        Indicamos el modo de lectura (X4),
                                        de acuerdo con los sensores
                                        disponibles y con el fin de obtener la
                                        mayor resoluci´n posible (que
                                                       o
                                        supondr´ un mejor control).
                                                a

                                        Leer´mos el n´mero de ticks
                                             e         u
                                        (pulsos). Podr´ ıamos obtener
                                        directamente la conversi´n en
                                                                 o
                                        grados o radianes, para lo cual se
                                        vale del valor de Pulsos Por
                                        Revoluci´n (PPR, en este caso 12).
                                                 o
                                        En nuestro caso, no utilizaremos ese
                                        par´metro en este apartado.
                                           a

                             Grupo 8    Control de velocidad: Labview       13/ 71
Introducci´n
                                                   o
                                              Lectura      Encoder incremental
                                            Actuaci´n
                                                   o       Recursos hardware: contador
                                              Control      Periodo de muestreo y adquisici´n
                                                                                          o
                                        Visualizaci´n
                                                   o       Overflow / Underflow
                               Consideraciones finales


Referencias te´ricas
              o

  Teorema de muestreo de Nyquist-Shannon
  La reconstrucci´n exacta de una se˜al peri´dica continua en banda
                  o                  n      o
  base a partir de sus muestras, es matem´ticamente posible si la
                                          a
  se˜al est´ limitada en banda y la tasa de muestreo es superior al
    n      a
  doble de su ancho de banda3 4 .

  Valores de muestreo en aplicaciones de control
  En control se utilizan frecuencias que multiplican entre 5 y 15 la
  frecuencia de Nyquist-Shannon (Fs ).

    3
        http://es.wikipedia.org/wiki/Teorema_de_muestreo_de_Nyquist-Shannon
    4
        Digital Sampling According to Nyquist and Shannon. Thomas L. Lag¨, Jonkoping University, Sweden.
                                                                        o
                                             Grupo 8       Control de velocidad: Labview                   14/ 71
Introducci´n
                                         o
                                    Lectura   Encoder incremental
                                  Actuaci´n
                                         o    Recursos hardware: contador
                                    Control   Periodo de muestreo y adquisici´n
                                                                             o
                              Visualizaci´n
                                         o    Overflow / Underflow
                     Consideraciones finales


Limitaci´n del encoder
        o
  Frecuencia de muestreo te´rica
                           o
  La frecuencia de muestreo te´rica, la obtendr´
                                o              ıamos analizando el
  ancho de banda de la planta de forma experimental (obteniendo
  Fp ) y estableciendo una frecuencia de muestreo (Fm ) 10 veces
  mayor (5 m´s que la referencia de Nyquist-Shannon).
              a

            Fs = 2 · Fp            Fm = 10 · Fp               Fm = 5 · F s


  Resoluci´n pobre
          o
  Debido a la baja resoluci´n que nos ofrece el encoder, para
                            o
  periodos de muestreo menores a 100ms el error en la lectura hace
  impracticable el control.
                                   Grupo 8    Control de velocidad: Labview       15/ 71
Introducci´n
                                          o
                                     Lectura   Encoder incremental
                                   Actuaci´n
                                          o    Recursos hardware: contador
                                     Control   Periodo de muestreo y adquisici´n
                                                                              o
                               Visualizaci´n
                                          o    Overflow / Underflow
                      Consideraciones finales


Periodo de muestreo y adquisici´n
                               o
En el bucle while de mayor
prioridad estableceremos un
periodo entre iteraciones
(100ms), escogiendo el reloj
adecuado (1kHz).


  Adquisici´n
           o
  Se ha dispuesto un registro que almacenar´ en cada iteraci´n una unica
                                              a               o      ´
  muestra (el valor del contador -ticks- en formato DBL). De esta forma
  dispondremos del valor actual y el valor de la iteraci´n anterior,
                                                        o
  obteniendo la diferencia mediante el resto de ambos valores.
  El sentido de giro definir´ si el contador incrementar´ o decrementar´, y
                           a                           a              a
  la velocidad en qu´ medida lo har´.
                     e               a

                                    Grupo 8    Control de velocidad: Labview       16/ 71
Introducci´n
                                         o
                                    Lectura   Encoder incremental
                                  Actuaci´n
                                         o    Recursos hardware: contador
                                    Control   Periodo de muestreo y adquisici´n
                                                                             o
                              Visualizaci´n
                                         o    Overflow / Underflow
                     Consideraciones finales


Riesgos por overflow / underflow

  Inestabilidad por errores de lectura
  El contador de la tarjeta de adquisici´n no dispone de l´gica de
                                        o                  o
  detecci´n de overflow / underflow, por lo que los errores de lectura
         o
  provocados por estos eventos afectar´n negativamente al control,
                                        a
  pudiendo volver inestable el sistema al entrar en oscilaci´n.
                                                            o

  Detecci´n
         o
  Deberemos identificar cu´ndo se da cualquiera de los dos eventos y
                            a
  realizar los ajustes necesarios en el algoritmo para minimixar en lo
  posible el efecto de ´stos.
                        e


                                   Grupo 8    Control de velocidad: Labview       17/ 71
Introducci´n
                                                   o
                                              Lectura    Encoder incremental
                                            Actuaci´n
                                                   o     Recursos hardware: contador
                                              Control    Periodo de muestreo y adquisici´n
                                                                                        o
                                        Visualizaci´n
                                                   o     Overflow / Underflow
                               Consideraciones finales


Identificaci´n de los eventos
           o

 sent giro      1       sent giro         0
    act        pre         act           pre            En sentido de giro positivo (1), el
                                                        valor actual s´lo es menor al valor
                                                                      o
    50           0          206            0
   100          50          156          206            previo cuando se da overflow.
   150         100          106          156
   200         150           56          106            En sentido de giro negativo (0), a la
   250         200            6           56            inversa, el valor actual s´lo es mayor
                                                                                  o
    44         250          212            6            que el valor previo cuando se da
    94          44          162          212            underflow.
   144          94          112          162
   194         144           62          112            Arranque en sentido negativo
   244         194           12           62
                                                        Se da un error de lectura en la primera iteraci´n siempre
                                                                                                       o
    38         244          218           12            que el sistema se inicia con sent giro negativo, que
                                                        impide el control del mismo
       Ejemplo para un contador de 8 bits.




                                             Grupo 8     Control de velocidad: Labview                              18/ 71
Introducci´n
                                        o
                                   Lectura   Encoder incremental
                                 Actuaci´n
                                        o    Recursos hardware: contador
                                   Control   Periodo de muestreo y adquisici´n
                                                                            o
                             Visualizaci´n
                                        o    Overflow / Underflow
                    Consideraciones finales


Soluci´n propuesta
      o

  Detecci´n y correcci´n
         o            o
  Se propone una soluci´n de identificaci´n de eventos de tipo
                        o                 o
  overflow / underflow y correcci´n en la interpretaci´n de las
                                  o                    o
  lecturas obtenidas, con el objetivo de omitir errores y no perder
  informaci´n.
            o

  Tama˜o del contador
      n
  Como se expondr´ a continuaci´n, el unico par´metro requerido
                   a             o      ´        a
  ser´ el tama˜o en bits del contador, para deducir el valor m´ximo
     a        n                                               a
  que podr´ expresar (2n − 1), a fin de aplicar las correcciones
            a
  adecuadas.

                                  Grupo 8    Control de velocidad: Labview       19/ 71
Introducci´n
                                          o
                                     Lectura   Encoder incremental
                                   Actuaci´n
                                          o    Recursos hardware: contador
                                     Control   Periodo de muestreo y adquisici´n
                                                                              o
                               Visualizaci´n
                                          o    Overflow / Underflow
                      Consideraciones finales


Diagrama de flujo general




  L´gica de detecci´n
   o               o
  Con el sentido de giro ordenado y los valores actual y previo del contador,
  se implementan dos comparadores (= , <) para obtener las relaciones
  act = pre , act < pre y act > pre. Mediante una puerta AND, una
  puerta NOR y dos puertas OR, se obtiene como resultado una se˜al den
  dos bits que codifica las cuatro condiciones de funcionamiento del
  contador: correcto, err´neo por overflow, err´neo por underflow y parado.
                         o                     o

                                    Grupo 8    Control de velocidad: Labview       20/ 71
Introducci´n
                                       o
                                  Lectura   Encoder incremental
                                Actuaci´n
                                       o    Recursos hardware: contador
                                  Control   Periodo de muestreo y adquisici´n
                                                                           o
                            Visualizaci´n
                                       o    Overflow / Underflow
                   Consideraciones finales


Correcciones a la lectura




  CASE gobernado por las salidas de las puertas OR

      0: no se ha detectado evento, no se altera la lectura.
      1: se ha detectado overflow, se suma 2n − 1 a la lectura.
      2: se ha detectado underflow, se resta 2n − 1 a la lectura.
      3: el motor est´ parado, se sustituye la lectura por una
                     a
      constante (0).

                                 Grupo 8    Control de velocidad: Labview       21/ 71
Introducci´n
                                          o
                                     Lectura   Encoder incremental
                                   Actuaci´n
                                          o    Recursos hardware: contador
                                     Control   Periodo de muestreo y adquisici´n
                                                                              o
                               Visualizaci´n
                                          o    Overflow / Underflow
                      Consideraciones finales


Cambio de sentido en r´gimen permanente
                      e

  Conflicto con el detector overflow / underflow
  Como Fm = 10 · Fp , cuando el motor se encuentra girando en un sentido
  y se ordena un cambio sin variar la consigna de velocidad, durante un
  periodo transitorio (que equivale a al menos 10 iteraciones) el motor
  sigue girando en el mismo sentido (reduciendo la velocidad).
  La l´gica de detecci´n implementada identifica estos estados como
       o               o
  err´neos, corrigiendo indebidamente las lectura, e induciendo un error en
     o
  la lectura, que a su vez puede conducir a la inestabilidad del sistema.

  Soluci´n propuesta
        o
  Desactivaremos la l´gica de detecci´n y correci´n overflow/underflow
                     o               o           o
  cuando se d´ una orden de cambio de sentido, y volveremos a activara
             e
  cuando el motor vuelva a entrar en r´gimen permanente.
                                       e

                                    Grupo 8    Control de velocidad: Labview       22/ 71
Introducci´n
                                   o
                              Lectura   Encoder incremental
                            Actuaci´n
                                   o    Recursos hardware: contador
                              Control   Periodo de muestreo y adquisici´n
                                                                       o
                        Visualizaci´n
                                   o    Overflow / Underflow
               Consideraciones finales


Cambio de sentido en r´gimen permanente
                      e




                             Grupo 8    Control de velocidad: Labview       23/ 71
Introducci´n
                                         o
                                    Lectura   Encoder incremental
                                  Actuaci´n
                                         o    Recursos hardware: contador
                                    Control   Periodo de muestreo y adquisici´n
                                                                             o
                              Visualizaci´n
                                         o    Overflow / Underflow
                     Consideraciones finales


Iteraci´n k
       o




      La estructura CASE est´ en TRUE.
                            a
      La l´gica overflow/underflow est´ activa.
          o                         a
      sent giroact = sent giropre → Se ha ordenado un cambio de sentido.
      Se DESECHA la correcci´n y se toma la lectura en bruto.
                            o
      Se registra un FALSE para la siguiente iteraci´n del CASE.
                                                    o


                                   Grupo 8    Control de velocidad: Labview       24/ 71
Introducci´n
                                          o
                                     Lectura   Encoder incremental
                                   Actuaci´n
                                          o    Recursos hardware: contador
                                     Control   Periodo de muestreo y adquisici´n
                                                                              o
                               Visualizaci´n
                                          o    Overflow / Underflow
                      Consideraciones finales


Iteraciones k+1 ... k+n-1




      La estructura CASE est´ en FALSE.
                            a
      La l´gica overflow/underflow NO est´ activa.
          o                            a
      sent giroact = sent giropre → NO se ha ordenado un cambio de sentido.
      Se toma la lectura en bruto.
      El sentido de las lecturas del contador NO COINCIDE con sent giro.
      Se registra un FALSE para la siguiente iteraci´n del CASE.
                                                    o

                                    Grupo 8    Control de velocidad: Labview       25/ 71
Introducci´n
                                          o
                                     Lectura   Encoder incremental
                                   Actuaci´n
                                          o    Recursos hardware: contador
                                     Control   Periodo de muestreo y adquisici´n
                                                                              o
                               Visualizaci´n
                                          o    Overflow / Underflow
                      Consideraciones finales


Iteraci´n k+n
       o




      La estructura CASE est´ en FALSE.
                            a
      La l´gica overflow/underflow NO est´ activa.
          o                            a
      sent giroact = sent giropre → NO se ha ordenado un cambio de sentido.
      Se toma la lectura en bruto.
      El sentido de las lecturas del contador COINCIDE con sent giro.
      Se registra un TRUE para la siguiente iteraci´n del CASE.
                                                   o

                                    Grupo 8    Control de velocidad: Labview       26/ 71
´
Indice
  1 Introducci´n
              o

  2 Lectura
      Encoder incremental
      Recursos hardware: contador
      Periodo de muestreo y adquisici´n
                                     o
      Overflow / Underflow

  3 Actuaci´n
           o
      Pulse Width Modulation (PWM)
      Puente-H
      Recursos hardware: puerto digital
      Cambio de sentido
  4 Control
      Controlador
      Normalizaci´n
                 o
  5 Visualizaci´n
               o
      Bucle de baja prioridad
      Panel
  6 Consideraciones finales
      Consideraciones program´ticas
                              a
      Problemas durante el desarrollo
      Propuestas de mejora
Actuaci´n
       o
Introducci´n
                                             o
                                        Lectura    Pulse Width Modulation (PWM)
                                      Actuaci´n
                                             o     Puente-H
                                        Control    Recursos hardware: puerto digital
                                  Visualizaci´n
                                             o     Cambio de sentido
                         Consideraciones finales


Balance energ´tico: DC vs PWM
             e




                                                                                  3
          T
              Vn         T /2            T                   T
                                                                 3                4 ·T           T
                 =              Vn +           0                   · Vn =                Vn +          0
      0       2      0                  T /2             0       4            0                 3
                                                                                                4 ·T




                                       Grupo 8     Control de velocidad: Labview                           29/ 71
Introducci´n
                                         o
                                    Lectura    Pulse Width Modulation (PWM)
                                  Actuaci´n
                                         o     Puente-H
                                    Control    Recursos hardware: puerto digital
                              Visualizaci´n
                                         o     Cambio de sentido
                     Consideraciones finales


PWM: resoluci´n
             o

  Resoluci´n PWM
          o

                                          1
                                                   
                       %Vn →            PPC   · 100
                                                                         TPWM
          Resoluci´n
                  o                                        PPC =
                                               Vn                         Tb
                                ∆V →
                                                      
                                              PPC


  Por ejemplo

                                     1
                            
                PPC : 4bits  %Vn → 24 · 100 = 6, 25%
                 TB : 1ms
                 Vn : 10v       ∆V → 10 = 0, 625v
                            
                                       24


                                   Grupo 8     Control de velocidad: Labview       30/ 71
Introducci´n
                                        o
                                   Lectura   Pulse Width Modulation (PWM)
                                 Actuaci´n
                                        o    Puente-H
                                   Control   Recursos hardware: puerto digital
                             Visualizaci´n
                                        o    Cambio de sentido
                    Consideraciones finales


PWM: frecuencia

  FPWM , Fb y Fp
  La planta no deber´ detectar las variaciones en la se˜al dentro de
                       a                               n
  un periodo TPWM , no deber´ detenerse en las fracciones en que
                               a
  est´ a nivel bajo, sino que deber´ tomar el periodo completo en su
     e                             a
  conjunto.
                  FPWM > 2 · Fp      Fb > PPC · 2 · Fp


  El periodo completo como referencia
  No es suficiente con garantizar Fb > 2 · Fp y deberemos prestar
  atenci´n a la hora de implementar la frecuencia base de generaci´n
        o                                                         o
  de la se˜al PWM.
          n

                                  Grupo 8    Control de velocidad: Labview       31/ 71
Introducci´n
                                    o
                               Lectura   Pulse Width Modulation (PWM)
                             Actuaci´n
                                    o    Puente-H
                               Control   Recursos hardware: puerto digital
                         Visualizaci´n
                                    o    Cambio de sentido
                Consideraciones finales


Puente-H: ganancia de potencia mediante transistores




                              Grupo 8    Control de velocidad: Labview       32/ 71
Introducci´n
                                   o
                              Lectura   Pulse Width Modulation (PWM)
                            Actuaci´n
                                   o    Puente-H
                              Control   Recursos hardware: puerto digital
                        Visualizaci´n
                                   o    Cambio de sentido
               Consideraciones finales


Puente-H: cuatro estados de funcionamiento




                             Grupo 8    Control de velocidad: Labview       33/ 71
Introducci´n
                                        o
                                   Lectura   Pulse Width Modulation (PWM)
                                 Actuaci´n
                                        o    Puente-H
                                   Control   Recursos hardware: puerto digital
                             Visualizaci´n
                                        o    Cambio de sentido
                    Consideraciones finales


Puente-H: glitch tipo I




  Cuando EN = 1, en la transici´n de DIR = 0 a DIR = 1, debido al
                                  o
  retardo de la puerta NOT salida de las puertas AND no se
  actualiza al mismo tiempo, provocando que durante unos instantes
  todos los transistores se encuentren en conducci´n. Esto conlleva
                                                    o
  el cortocircuito de todos ellos, con el consiguiente riesgo de que se
  quemen.

                                  Grupo 8    Control de velocidad: Labview       34/ 71
Introducci´n
                                        o
                                   Lectura   Pulse Width Modulation (PWM)
                                 Actuaci´n
                                        o    Puente-H
                                   Control   Recursos hardware: puerto digital
                             Visualizaci´n
                                        o    Cambio de sentido
                    Consideraciones finales


Puente-H: glitch tipo II




  Cuando EN = 1, en la transici´n de DIR = 1 a DIR = 0, debido al
                                 o
  retardo de la puerta NOT salida de las puertas AND no se
  actualiza al mismo tiempo, provocando que durante unos instantes
  todos los transistores se encuentren en corte. Esto conlleva que no
  haya diferencia de potencial en los bornes del motor, a pesar de
  que EN = 1.

                                  Grupo 8    Control de velocidad: Labview       35/ 71
Introducci´n
                                                      o
                                                 Lectura   Pulse Width Modulation (PWM)
                                               Actuaci´n
                                                      o    Puente-H
                                                 Control   Recursos hardware: puerto digital
                                           Visualizaci´n
                                                      o    Cambio de sentido
                                  Consideraciones finales


Canal f´
       ısico y Tb
Se configuran como salida dos l´  ıneas de
un puerto digital de la tarjeta DAQ
(port0/line0:1, bornes 52 y 17
respectivamente), correspondientes a las
se˜ales EN y DIR, a generar seg´n los
  n                               u
resultados de la l´gica de control.
                  o

                                                   Como el encoder nos impide establecer
                                                   Tm = 10 · Tp , no podemos utilizar TPWM = Tm ,
                                                   lo cual generar´ un ciclo completo PWM por
                                                                  ıa
                                                   periodo de muestreo. En su lugar, establecemos
                                                   la constante PWMPTs que indica el no de
                                                   ciclos completos PWM que se generar´n en Tm .
                                                                                        a
 El valor real TPWM depender´ de los errores
                               a                                                Tm (ms)
  inducidos por las limitaciones de c´mputo:
                                     o                                         PWMPTs
                            Tm                                  Tb (µs) =                  · 1000
               TPWM = PWMPTs                                                     PPC

                                                Grupo 8    Control de velocidad: Labview            36/ 71
Introducci´n
                                         o
                                    Lectura   Pulse Width Modulation (PWM)
                                  Actuaci´n
                                         o    Puente-H
                                    Control   Recursos hardware: puerto digital
                              Visualizaci´n
                                         o    Cambio de sentido
                     Consideraciones finales


Generaci´n PWM punto a punto
        o




                                                                 clk pwm → Tclk = Tb
                                                                  max pwm : PPC − 1
                                                              ref pwm : duty cycle · PPC



  Generaci´n se˜al EN
          o    n
  En un bucle de alta prioridad con un periodo de iteraci´n Tb se
                                                         o
  implementa un contador de 1 a PPC y se compara la salida con la
  constante definida por el duty-cycle5 (0 ÷ 1 , 0 ÷ 100%, 0 ÷ PPC ).
  Dicha constante s´lo se comprueba al inicio de cada periodo PWM.
                   o
     5 THIGH
      TPWM
                                   Grupo 8    Control de velocidad: Labview                37/ 71
Introducci´n
                                        o
                                   Lectura   Pulse Width Modulation (PWM)
                                 Actuaci´n
                                        o    Puente-H
                                   Control   Recursos hardware: puerto digital
                             Visualizaci´n
                                        o    Cambio de sentido
                    Consideraciones finales


Cambio de sentido: anulaci´n de glitches
                          o


  Soluci´n propuesta
        o
  Para impedir que los glitches afecten al funcionamiento y evitar el
  riesgo de quemar el circuito, impediremos que EN est´ activa
                                                       e
  cuando se cambie el estado de DIR.


                        Detecci´n de cambio
                               o
                        Se registra el signo del la se˜al de control y se
                                                      n
                        comparan al inicio de cada periodo PWM el
                        estado actual y el de la iteraci´n anterior.
                                                        o


                                  Grupo 8    Control de velocidad: Labview       38/ 71
Introducci´n
                                    o
                               Lectura        Pulse Width Modulation (PWM)
                             Actuaci´n
                                    o         Puente-H
                               Control        Recursos hardware: puerto digital
                         Visualizaci´n
                                    o         Cambio de sentido
                Consideraciones finales


Cambio de sentido: forzado de EN durante la transici´n
                                                    o

                                         Cuando se detecta un cambio en la
                                         orden de sentido, se fuerza la escritura
                                         del valor FALSE en la l´
                                                                ınea EN,
                                         escribiendo al mismo tiempo el valor
                                         DIR de la iteraci´n anterior (invariable).
                                                          o


                                         En la siguiente iteraci´n se vuelve a
                                                                 o
                                         forzar la escritura del valor FALSE en la
                                         l´
                                          ınea EN y se escribe al mismo tiempo
                                         el nuevo valor de DIR. Se transfiere al
                                         registro el nuevo estado de DIR.
                                         Si no se han dado m´s cambios, el bucle vuelve a TRUE y se
                                                             a
                                         ejecuta un nuevo periodo PWM.


                              Grupo 8         Control de velocidad: Labview                       39/ 71
´
Indice
  1 Introducci´n
              o

  2 Lectura
      Encoder incremental
      Recursos hardware: contador
      Periodo de muestreo y adquisici´n
                                     o
      Overflow / Underflow

  3 Actuaci´n
           o
      Pulse Width Modulation (PWM)
      Puente-H
      Recursos hardware: puerto digital
      Cambio de sentido
  4 Control
      Controlador
      Normalizaci´n
                 o
  5 Visualizaci´n
               o
      Bucle de baja prioridad
      Panel
  6 Consideraciones finales
      Consideraciones program´ticas
                              a
      Problemas durante el desarrollo
      Propuestas de mejora
Control
Introducci´n
                                                  o
                                             Lectura
                                           Actuaci´n
                                                  o    Controlador
                                             Control   Normalizaci´n
                                                                  o
                                       Visualizaci´n
                                                  o
                              Consideraciones finales


Controlador: PID

  Controlador
  Mecanismo de control por realimentaci´n que calcula la desviaci´n o error entre
                                          o                        o
  un valor medido y el valor que se quiere obtener, para aplicar una acci´n
                                                                         o
                                      ´
  correctora que ajuste el proceso6 . Este se compone de un bloque que obtiene la
  diferencia entre ambas entradas (debidamente normalizadas), y un algoritmo
  que modifica la se˜al resultante (denominada de error).
                    n

  Algoritmo
  El algoritmo utilizado, cuya denominaci´n es autoexplicativa, es el Proporcional
                                           o
  Integral Derivativo (PID). Realiza las tres acciones por separado sobre la se˜al
                                                                               n
  de error y las pondera seg´n las constantes dadas: Kp , Ki y Kd .
                             u



     6
         http://es.wikipedia.org/wiki/Proporcional_integral_derivativo
                                            Grupo 8    Control de velocidad: Labview   42/ 71
Introducci´n
                                             o
                                        Lectura
                                      Actuaci´n
                                             o    Controlador
                                        Control   Normalizaci´n
                                                             o
                                  Visualizaci´n
                                             o
                         Consideraciones finales


Controlador: PID
                     Un bloque integra el c´lculo de la se˜al de error a partir de las
                                            a              n
                     variables de referencia y sistema, y aplica el algoritmo con las
                     constantes PID gains. Puesto que el rango de la salida es de 100
                     y la l´gica de actuaci´n espera un rango cien veces menor, se ha
                           o               o
                     a˜adido un divisor a la salida.
                      n

  Tiempo discreto
  Como nuestro sistema de control est´ a
  ejecut´ndose en un PC, el PID es discreto,
        a
  diferente del que se muestra a la derecha
  (continuo). Sin embargo, el dise˜o y la
                                   n
  velocidad de ejecuci´n nos permiten asumir
                       o
  que la respuesta ser´ igual.
                      a


  Tiempo de ejecuci´n
                   o
  Para poder asumir que el funcionamiento es igual al de un controlador continuo, el
  tiempo de ejecuci´n deber´ ser al menos dos ´rdenes de magnitud menor que Tm .
                   o       a                  o


                                       Grupo 8    Control de velocidad: Labview          43/ 71
Introducci´n
                                          o
                                     Lectura
                                   Actuaci´n
                                          o    Controlador
                                     Control   Normalizaci´n
                                                          o
                               Visualizaci´n
                                          o
                      Consideraciones finales


Normalizaci´n: formula node
           o

  Para que el algoritmo de control pueda actuar correctamente la escala de
  las entradas deber´ ser la misma (generalmente 0 ÷ 1, dicho de otra
                     a
  manera, % con respecto al m´ximo).
                                a

  Fondo de escala
  Para normalizar las entradas dividiremos la lectura en cada iteraci´n
                                                                     o
  entre el fondo de escala de la variable.

                                     Se ha dispuesto un Formula node que
                                     normaliza tanto la consigna o variable de
                                     referencia como la velocidad angular o
                                     variable del sistema.


                                    Grupo 8    Control de velocidad: Labview     44/ 71
Introducci´n
                                          o
                                     Lectura
                                   Actuaci´n
                                          o    Controlador
                                     Control   Normalizaci´n
                                                          o
                               Visualizaci´n
                                          o
                      Consideraciones finales


Normalizaci´n: consigna o variable de referencia
           o

                                         M´dulo y signo, por separado
                                          o
                                         El usuario controlar´ por separado la
                                                              a
                                         velocidad y el sentido de giro, en lugar
                                         de disponer de un unico controlador
                                                             ´
                                         que integre ambas variables.


  Signo
  Del bloque de normalizaci´n obtenemos el m´dulo del setpoint con signo
                             o                   o
  positivo (spt) y negativo (spf). A partir del selector booleano del panel,
  mediante un bloque select, haremos llegar una de las dos se˜ales a la
                                                                n
  entrada correspondiente del controlador.


                                    Grupo 8    Control de velocidad: Labview        45/ 71
Introducci´n
                                              o
                                         Lectura
                                       Actuaci´n
                                              o       Controlador
                                         Control      Normalizaci´n
                                                                 o
                                   Visualizaci´n
                                              o
                          Consideraciones finales


Normalizaci´n: consigna o variable de referencia
           o

  M´dulo
   o
  Lo obtendremos a partir de la velocidad controlada por medio del panel:
  velocidad en revoluciones por minuto (rpm) de la reductora. Obtendremos el
  fondo de escala a partir de la velocidad nominal de giro del eje del motor y del
  ratio de la reductora:
                          consignarpm (k)
      consignaPID (k) =                              consignarpmmax = ejerpmmax · ratiored
                          consignarpmmax


  En nuestro caso
                                          
                          ejerpmmax : 8000
                                                   consignarpmmax ≈ 150
                                          1
                            ratiored :
                                              
                                         53




                                         Grupo 8      Control de velocidad: Labview          46/ 71
Introducci´n
                                                   o
                                              Lectura
                                            Actuaci´n
                                                   o       Controlador
                                              Control      Normalizaci´n
                                                                      o
                                        Visualizaci´n
                                                   o
                               Consideraciones finales


Normalizaci´n: velocidad angular o variable del sistema
           o

  A partir de la velocidad nominal de giro del eje del motor y teniendo en cuenta
  el n´mero de sensores y modo de lectura (con ello Pulsos Por Revoluci´n),
      u                                                                          o
  adem´s de Tm , obtendremos la diferencia te´rica m´xima entre dos lecturas del
        a                                          o       a
  contador:
                                      
                                      difcont (k) = lectcont (k) − lectcont (k − 1)
                          difcont (k)
        variablePID (k) =
                          difcontmax 
                                        difcontmax = ejerpmmax · 60 · PPR · Tm (s)
                                                                  1
                                                                       1



  En nuestro caso

           ejerpmmax : 8000 PPR : 3 · 4              8000 · 12              ticks
                                        difcontmax =           · 0, 1 = 160
                Tm : 100ms → 0, 1s                      60                   Tm
  Hemos comprobado experimentalmente que la lectura m´xima es 155 y no 160. Esto puede deberse a la ca´ de
                                                          a                                                 ıda
      tensi´n en los transistores, reduciendo la alimentaci´n del motor ligeramente por debajo de la nominal.
           o                                               o



                                             Grupo 8       Control de velocidad: Labview                          47/ 71
´
Indice
  1 Introducci´n
              o

  2 Lectura
      Encoder incremental
      Recursos hardware: contador
      Periodo de muestreo y adquisici´n
                                     o
      Overflow / Underflow

  3 Actuaci´n
           o
      Pulse Width Modulation (PWM)
      Puente-H
      Recursos hardware: puerto digital
      Cambio de sentido
  4 Control
      Controlador
      Normalizaci´n
                 o
  5 Visualizaci´n
               o
      Bucle de baja prioridad
      Panel
  6 Consideraciones finales
      Consideraciones program´ticas
                              a
      Problemas durante el desarrollo
      Propuestas de mejora
Visualizaci´n
           o
Introducci´n
                                           o
                                      Lectura
                                    Actuaci´n
                                           o    Bucle de baja prioridad
                                      Control   Panel
                                Visualizaci´n
                                           o
                       Consideraciones finales


Diagrama de bloques: visualizaci´n (Labview)
                                o




  Baja prioridad
  Como las funciones de visualizaci´n no son cr´
                                   o            ıticas en el control, ´stas se han
                                                                      e
  implementado en un bucle WHILE temporizado (T = Act.graf.) de baja
  prioridad. Garantizando as´ que las acciones de lectura, control y actuaci´n se
                             ı                                                o
  realizar´n en tiempo real. Se emplear´n los ciclos de m´quina restantes para las
          a                            a                  a
  funciones de este apartado.

                                     Grupo 8    Control de velocidad: Labview        50/ 71
Introducci´n
                                            o
                                       Lectura
                                     Actuaci´n
                                            o    Bucle de baja prioridad
                                       Control   Panel
                                 Visualizaci´n
                                            o
                        Consideraciones finales


Visualizaci´n: array de tama˜o fijo
           o                n




  La estructura principal la compone un array bidimensional (2x200) que se
  inicializa con todos sus registros a cero. En cada iteraci´n se extraen los
                                                            o
  elementos 0-199 de cada canal y se forma un nuevo array que contiene un
  nuevo elemento por l´ ınea en la columna 0, y los elementos extra´ ıdos en las
  posiciones 1-200.

  El array se muestra directamente por medio de un gr´fico del tipo waveform
                                                     a
  graph, y el efecto resultante es que todos los elementos se desplazan una
  posici´n, desech´ndose el m´s “antiguo” e incluy´ndose la ultima lectura en el
        o         a          a                    e         ´
  hueco que queda libre.

                                      Grupo 8    Control de velocidad: Labview     51/ 71
Introducci´n
                                       o
                                  Lectura
                                Actuaci´n
                                       o    Bucle de baja prioridad
                                  Control   Panel
                            Visualizaci´n
                                       o
                   Consideraciones finales


Visualizaci´n: escalado de las variables
           o

                         Las dos l´
                                  ıneas del array descrito corresponden
                         a la consigna y la velocidad de giro de la
                         reductora. En ambos casos se ha modificado la
                         escala para adecuarla a formatos que el usuario
                         pueda interpretar directamente.


                                    consignarpm
             consignaarray =                      · 100 → [%]
                                   consignarpmmax
                         difcontador          1
      reductoraarray =               · 60 ·        · ratiored → [rpm]
                            PPR             Tm (s)


                                 Grupo 8    Control de velocidad: Labview   52/ 71
Introducci´n
                                          o
                                     Lectura
                                   Actuaci´n
                                          o    Bucle de baja prioridad
                                     Control   Panel
                               Visualizaci´n
                                          o
                      Consideraciones finales


Visualizaci´n: sentido de giro
           o


  Visualizaci´n: variables absolutas
             o
  Puesto que ambas variables son bipolares y el m´dulo es el mismo tanto
                                                  o
  para valores positivos como negativos, se muestran los valores absolutos.
  De esta forma duplicamos la resoluci´n efectiva en el gr´fico.
                                      o                   a


                                 El usuario puede conocer el sentido de giro del
                                 motor gracias a un flag gobernado por un
                                 comparador > 0 cuya entrada es la lectura
                                 escalada. No se indica expl´ıcitamente el signo
                                 de la consigna, pues es el propio usuario quien
                                 la establece.


                                    Grupo 8    Control de velocidad: Labview   53/ 71
Introducci´n
                                     o
                                Lectura
                              Actuaci´n
                                     o    Bucle de baja prioridad
                                Control   Panel
                          Visualizaci´n
                                     o
                 Consideraciones finales


Visualizaci´n: panel
           o




                               Grupo 8    Control de velocidad: Labview   54/ 71
´
Indice
  1 Introducci´n
              o

  2 Lectura
      Encoder incremental
      Recursos hardware: contador
      Periodo de muestreo y adquisici´n
                                     o
      Overflow / Underflow

  3 Actuaci´n
           o
      Pulse Width Modulation (PWM)
      Puente-H
      Recursos hardware: puerto digital
      Cambio de sentido
  4 Control
      Controlador
      Normalizaci´n
                 o
  5 Visualizaci´n
               o
      Bucle de baja prioridad
      Panel
  6 Consideraciones finales
      Consideraciones program´ticas
                              a
      Problemas durante el desarrollo
      Propuestas de mejora
Introducci´n
                                        o
                                   Lectura
                                             Consideraciones program´ticas
                                                                     a
                                 Actuaci´n
                                        o
                                             Problemas durante el desarrollo
                                   Control
                                             Propuestas de mejora
                             Visualizaci´n
                                        o
                    Consideraciones finales


Generaci´n PWM punto por punto
        o

  Mayor requerimiento en tiempo de ejecuci´n
                                          o
  La elecci´n de implementar la l´gica de generaci´n de la se˜al
            o                    o                o          n
  PWM punto por punto supone que la l´gica de actuaci´n deber´
                                         o               o       a
  realizar al menos una acci´n cada Tb . Siendo Tb << Tm , esto
                            o
  supone cargar m´s al software que generando la se˜al mediante un
                   a                                n
  contador de la tarjeta de adquisici´n.
                                     o
  En este caso no es un problema, pues las especificaciones del
  hardware sobre el que se ejecuta la l´gica de control son muy
                                         o
  superiores a las requeridas por el sistema. Sin embargo, con
  recursos m´s limitados (con una se˜al ejecuci´n m´xima de
             a                         n         o   a
           Tm
  periodo 100 > T > Tb ) esta soluci´n no ser´ aplicable.
                                       o       ıa

                                  Grupo 8    Control de velocidad: Labview     56/ 71
Introducci´n
                                              o
                                         Lectura
                                                       Consideraciones program´ticas
                                                                               a
                                       Actuaci´n
                                              o
                                                       Problemas durante el desarrollo
                                         Control
                                                       Propuestas de mejora
                                   Visualizaci´n
                                              o
                          Consideraciones finales


Generaci´n PWM punto por punto
        o

  Mayor rango de actuaci´n
                        o
  La generaci´n de la se˜al PWM mediante un contador integrado en la tarjeta
              o            n
  imposibilita la elecci´n de todo el rango de duty cycle, disponiendo de (0, 1] o [0, 1) si
                        o
  utilizamos la resoluci´n m´xima disponible. Esto se debe a que se emplea un contador
                         o   a
  binario de n bits, por lo que a su salida tendremos (0, 2n ]. Esa salida se compara con
  la referencia. Usemos un comparador ≤ o <, uno de los l´    ımites no dar´ la respuesta
                                                                            a
  esperada. Analizamos tanto el l´ ımite superior como el inferior para un contador y un
  comparador de 3 bits:

                       contador      0      1      2    3     4     5      6     7
                      referencia     0      0      0    0     7     7      7     7
                          ≤          1      0      0    0     1     1      1     1
                          <          0      0      0    0     1     1      1     0

  En nuestro caso al disponer de una cuenta (1, PPC ) y un comparador ≤, una
  referencia de valor cero genera un valor l´gico bajo, y una referencia de valor PPC
                                            o
  general un valor l´gico alto.
                    o


                                         Grupo 8       Control de velocidad: Labview           57/ 71
Introducci´n
                                                  o
                                             Lectura
                                                       Consideraciones program´ticas
                                                                               a
                                           Actuaci´n
                                                  o
                                                       Problemas durante el desarrollo
                                             Control
                                                       Propuestas de mejora
                                       Visualizaci´n
                                                  o
                              Consideraciones finales


Generaci´n PWM punto por punto
        o

  Actualizaci´n simult´nea
               o        a
  Puesto que escribimos los valores de EN y DIR al mismo tiempo, y
  actuamos en ambas l´   ıneas en cada iteraci´n, podemos reducir al m´
                                              o                       ınimo
  el tiempo requerido para el cambio de sentido (la detecci´n y una
                                                            o
  adicional). En caso de usar el contador integrado en la tarjeta,
  deber´ıamos detener la generaci´n para realizar el cambio, y volver a
                                   o
  iniciar la tarea. Proceso que requerir´ m´s tiempo.
                                         ıa a

  Otras codificaciones
  La caracter´
             ıstica anterior permite reutilizar el sistema y alterando
  unicamente el proceso de comparaci´n del contador con PPC usar otros
  ´                                    o
  algoritmos, como por ejemplo ∆Σ7 .

     7
         http://en.wikipedia.org/wiki/Delta-sigma_modulation
                                            Grupo 8    Control de velocidad: Labview     58/ 71
Introducci´n
                                       o
                                  Lectura
                                            Consideraciones program´ticas
                                                                    a
                                Actuaci´n
                                       o
                                            Problemas durante el desarrollo
                                  Control
                                            Propuestas de mejora
                            Visualizaci´n
                                       o
                   Consideraciones finales


Tiempo de ejecuci´n
                 o


  Fuera de rango

  Obteniendo los tiempos de ejecuci´n de los bucles temporizados
                                     o
  desde la adquisici´n hasta la generaci´n de la se˜al PWM con un
                    o                   o          n
  reloj de 1ms de periodo, la diferencia indicada es cero.


  Aunque no conocemos el tiempo de ejecuci´n concreto, s´ podemos
                                            o             ı
  garantizar que es al menos dos ordenes de magnitud menor que el
  periodo de muestreo, cumpli´ndose la llamada regla de causalidad.
                              e



                                 Grupo 8    Control de velocidad: Labview     59/ 71
Introducci´n
                                         o
                                    Lectura
                                              Consideraciones program´ticas
                                                                      a
                                  Actuaci´n
                                         o
                                              Problemas durante el desarrollo
                                    Control
                                              Propuestas de mejora
                              Visualizaci´n
                                         o
                     Consideraciones finales


Bornes +5v de la tarjeta

  Para alimentar el puente H y as´ poder amplificar las se˜ales de los
                                   ı                      n
  sensores mediante los Schmitt trigger ´stos requieren una tensi´n
                                         e                        o
  2, 5 ÷ 5v . Comprobamos con un volt´  ımetro que los bornes (8, 14)
  de la tarjeta de adquisici´n correspondientes a una tensi´n
                            o                              o
  constante de +5v no daban una salida con potencial diferente de
  los bornes DGND (4, 7, 9, 12, 13, 15, 18, 35, 36, 3953, 50, 44).

  L´
   ınea digital adicional
  Se ha utilizado una l´
                       ınea (linea2, borne 49) del mismo puerto
  digital y se ha fijado manualmente a un valor l´gico alto.
                                                 o


                                   Grupo 8    Control de velocidad: Labview     60/ 71
Introducci´n
                                          o
                                     Lectura
                                               Consideraciones program´ticas
                                                                       a
                                   Actuaci´n
                                          o
                                               Problemas durante el desarrollo
                                     Control
                                               Propuestas de mejora
                               Visualizaci´n
                                          o
                      Consideraciones finales


Anclado de EN = 1

  Cuando por un error en el funcionamiento el sistema de control (o aquel
  sobre el que se ejecuta) se bloquea y se cierra directamente (sin finalizar
  los bucles), en funci´n de cu´l haya sido el ultimo valor escrito en la
                       o       a               ´
  salida EN, ´sta puede quedar activa, haciendo girar el motor a su
              e
  velocidad nominal.


  Cierre secuencial
  Volviendo a actuar sobre la l´ınea correspondiente, podemos desactivarla,
  deteniendo el motor. La forma m´s r´pida consiste en volver a ejecutar el
                                      a a
  programa, estableciendo una consigna de valor cero. En la primera
  iteraci´n la l´gica de lectura escribir´ un valor l´gico bajo, deteniendo el
         o      o                        a           o
  motor.


                                    Grupo 8    Control de velocidad: Labview     61/ 71
Introducci´n
                                          o
                                     Lectura
                                               Consideraciones program´ticas
                                                                       a
                                   Actuaci´n
                                          o
                                               Problemas durante el desarrollo
                                     Control
                                               Propuestas de mejora
                               Visualizaci´n
                                          o
                      Consideraciones finales


Uso de variables compartidas

  Para transferir la salida del PID (duty cycle) a la entrada de la l´gica de
                                                                     o
  actuaci´n, se ha utilizado una variable compartida. Desconocemos las
          o
  secuencias internas de Labview que realizan la actualizaci´n de dicha
                                                             o
  variable y, a´n conoci´ndolas, no podemos interceder.
               u          e

  Tiempo de transferencia
  Para poder garantizar program´ticamente que el sistema trabaja en
                                  a
  Tiempo Real, deberemos calcular el tiempo que tardan en transferirse los
                                            ´
  cambios efectuados sobre dicha variable. Este, junto con el tiempo de
  ejecuci´n del bucle de lectura, nos permitir´ calcular el tiempo de
         o                                    a
  ejecuci´n del algoritmo.
         o



                                    Grupo 8    Control de velocidad: Labview     62/ 71
Introducci´n
                                              o
                                         Lectura
                                                   Consideraciones program´ticas
                                                                           a
                                       Actuaci´n
                                              o
                                                   Problemas durante el desarrollo
                                         Control
                                                   Propuestas de mejora
                                   Visualizaci´n
                                              o
                          Consideraciones finales


Separaci´n de la lectura y el control
        o

  La l´gica de lectura y la de control est´n en un mismo bucle. La de actuaci´n se
      o                                    a                                    o
  encuentra en otro diferente. Dadas las caracter´ısticas de nuestro sistema, la prioridad
  de ejecuci´n de mayor a menor deber´ ser: lectura (adquisici´n del valor del
            o                            ıa                      o
  contador), actuaci´n (modificaciones en EN y DIR), control (ejecuci´n del algoritmo).
                     o                                                   o

  La lectura siempre debe tener la mayor prioridad, pues del determinismo en la misma
  depende la consecuci´n del control en Tiempo Real. Inmediatamente despu´s deber´
                        o                                                       e       ıa
  garantizarse la actualizaci´n determinista de las salidas. La ejecuci´n del algoritmo de
                             o                                         o
  control no se comunica con la planta.


  Divisi´n en tres bucles
        o
  Para respetar los requerimientos de prioridad del sistema (desde un punto de vista
  conceptual), podemos separar la lectura y el control en dos bucles, manteniendo el
  primero la m´xima prioridad, y reduciendo la del segundo por debajo del bucle de
               a
  actuaci´n.
          o



                                        Grupo 8    Control de velocidad: Labview             63/ 71
Introducci´n
                                          o
                                     Lectura
                                               Consideraciones program´ticas
                                                                       a
                                   Actuaci´n
                                          o
                                               Problemas durante el desarrollo
                                     Control
                                               Propuestas de mejora
                               Visualizaci´n
                                          o
                      Consideraciones finales


Determinar el tiempo de ejecuci´n
                               o

  Estimaci´n estad´
           o       ıstica
  Puesto que el controlador implementado es del tipo multi-rate, al
  funcionar con dos frecuencias diferentes (Fm y Fb ), y estar ´stas
                                                               e
  ligeramente desincronizadas, adem´s de utilizar una variable compartida,
                                     a
  deberemos realizar un an´lisis preciso para determinar el tiempo de
                            a
  ejecuci´n del algoritmo de control (desde que se realiza una lectura hasta
         o
  que se actualiza la salida como causa de la entrada).

  Labview provee la herramienta Real Time Execution Trace Toolkit que
  nos permitir´ trazar la ejecuci´n de los diferentes bucles, permiti´ndonos
               a                 o                                   e
  seguir el progreso de una variaci´n en la entrada. Experimentalmente
                                   o
  podremos medir el rango de tiempos y estad´   ısticamente determinar el
  m´s probable.
    a


                                    Grupo 8    Control de velocidad: Labview     64/ 71
Introducci´n
                                                     o
                                                Lectura
                                                             Consideraciones program´ticas
                                                                                     a
                                              Actuaci´n
                                                     o
                                                             Problemas durante el desarrollo
                                                Control
                                                             Propuestas de mejora
                                          Visualizaci´n
                                                     o
                                 Consideraciones finales


Determinar el tiempo de ejecuci´n
                               o

  Omitiendo el retardo de la variable compartida
  Asumiendo que no hay retardo en la transferencia de la variable, el valor del
  duty cycle estar´ disponible a la entrada del bucle de generaci´n PWM tan
                  a                                              o
  pronto como el PID actualiza su salida8 .

  En la mejor situaci´n, el ciclo PWM habr´ terminado en el instante anterior, y
                      o                      a
  la transferencia ser´ instant´nea, siendo el tiempo de ejecuci´n el del bucle de
                      a        a                                o
  lectura y control.

  En el peor caso, el ciclo PWM habr´ empezado en el instante anterior, por lo
                                      a
  que deberemos esperar TPWM . A lo que deberemos sumar el tiempo de
  ejecuci´n del bucle de lectura y control.
         o


      8
        Se ha considerado la escritura del primer punto como referencia. Podr´ tomarse el ultimo punto del ciclo
                                                                             ıa           ´
  completo, debiendo sumar TPWM a los valores indicados
                                               Grupo 8       Control de velocidad: Labview                         65/ 71
Introducci´n
                                                     o
                                                Lectura
                                                               Consideraciones program´ticas
                                                                                       a
                                              Actuaci´n
                                                     o
                                                               Problemas durante el desarrollo
                                                Control
                                                               Propuestas de mejora
                                          Visualizaci´n
                                                     o
                                 Consideraciones finales


Determinar el tiempo de ejecuci´n
                               o

  Determinar el retardo de la variable compartida
  Introduciremos el instante de ejecuci´n dado por el bucle de
                                       o
  lectura y control, previa modificaci´n del formato, en la variable
                                     o
  compartida. En el bucle de actuaci´n guardaremos el valor le´
                                     o                          ıdo,
  junto con el instante del propio bucle.

  De entre los datos registrados de la variable cada valor se repetir´
                                                                     a
  ≈ TTm veces9 . Cuando se detecte un cambio, el tiempo de
      PWM
  transferencia se obtendr´ restando los valores de las dos l´
                          a                                  ıneas en
  la columna del nuevo valor.

    9
        La variaci´n depender´ de la diferencia entre los tiempos de la transferencia de dos iteraciones consecutivas.
                  o          a
                                                Grupo 8        Control de velocidad: Labview                             66/ 71
Introducci´n
                                        o
                                   Lectura
                                             Consideraciones program´ticas
                                                                     a
                                 Actuaci´n
                                        o
                                             Problemas durante el desarrollo
                                   Control
                                             Propuestas de mejora
                             Visualizaci´n
                                        o
                    Consideraciones finales


Zona muerta del motor

  El motor requiere una alimentaci´n m´
                                    o    ınima para superar las
  p´rdidas en el hierro y en el cobre, por lo que hay un rango de
   e
  tensiones (por consiguiente de duty-cycle) en las que el motor,
  pese a estar alimentado, no gira.

  Modelizaci´n de la zona muerta
            o
  Para evitar un consumo ineficiente de energ´ (alimentar el motor y
                                             ıa
  que est´ parado), podemos modelar la zona muerta e impedir que
         e
  se generen valores de duty cycle mayores que cero y por debajo del
  umbral obtenido experimentalmente.



                                  Grupo 8    Control de velocidad: Labview     67/ 71
Introducci´n
                                            o
                                       Lectura
                                                 Consideraciones program´ticas
                                                                         a
                                     Actuaci´n
                                            o
                                                 Problemas durante el desarrollo
                                       Control
                                                 Propuestas de mejora
                                 Visualizaci´n
                                            o
                        Consideraciones finales


Ajuste (tunning) del controlador
  La respuesta del sistema depender´ de la funci´n de transferencia de la planta
                                      a           o
  y de la del PID. Esta segunda, pese a tener una estructura fija, var´ seg´n los
                                                                     ıa    u
  par´metros Kp , Ki y Kd . Como el objetivo de este proyecto era dise˜ar el
      a                                                               n
  sistema de control, y no que ´ste fuera ´ptimo, se ha realizado un ajuste
                                e          o
  b´sico, obteniendo un controlador principalmente proporcional, con un peque˜o
    a                                                                          n
  factor integrador para anular el error en r´gimen permanente, y sin funci´n
                                             e                             o
  derivativa (un mal ajuste puede dar problemas en r´gimen transitorio,
                                                      e
  conduciendo a inestabilidad)

  Ajuste optimo
         ´
  Para lograr un control optimo (m´
                          ´         ınimo tiempo de subida y establecimiento,
  m´ınimo rebose, error nulo en r´gimen permanente...) podemos ajustar el
                                 e
  controlador a partir de pruebas experimentales en lazo abierto del sistema (la
  respuesta temporal a una entrada escal´n, por ejemplo), o utilizar algoritmos
                                          o
  iterativos que a partir del modelo obtengan valores de referencia para las tres
  constantes.

                                      Grupo 8    Control de velocidad: Labview      68/ 71
Introducci´n
                                          o
                                     Lectura
                                               Consideraciones program´ticas
                                                                       a
                                   Actuaci´n
                                          o
                                               Problemas durante el desarrollo
                                     Control
                                               Propuestas de mejora
                               Visualizaci´n
                                          o
                      Consideraciones finales


Sustituci´n del encoder
         o

  Relaci´n entre las rpm y los pulsos de los sensores
        o
  La resoluci´n m´xima disponible es de 12 pulsos por vuelta, y teniendo
               o    a
                                                              1
  en cuenta la velocidad nominal, con una reductora de ratio 53 la relaci´n
                                                                         o
  rpmredmax                          150         rpmred
   ticksmax  cuando Tm = 100ms es 155 = 0, 9677 tick . Lo que ofrece una
  resoluci´n a la salida del 0, 6451%. Si muestreamos con un periodo de
            o
  10ms la relaci´n asciende a 150 = 10 rpmred → 6, 66%.
                  o              15       tick

  Para no perder resoluci´n en el cambio de unidades, es recomendable
                           o
  mantener el ratio lo m´s bajo posible. Para una resoluci´n del 1% con la
                          a                               o
              1
  reductora 53 requerir´
                       ıamos un encoder de aproximadamente
   150
   15 · 12 = 120 pulsos por revoluci´n (PPR). Con dos sensores y modo de
                                    o
  lectura X4, se requerir´ un disco de 30 aspas. Este cambio nos permitir´
                         ıa                                               ıa
  realizar un control mejor respetando los requerimientos temporales de la
  planta.

                                    Grupo 8    Control de velocidad: Labview     69/ 71
Introducci´n
                                                    o
                                               Lectura
                                                             Consideraciones program´ticas
                                                                                     a
                                             Actuaci´n
                                                    o
                                                             Problemas durante el desarrollo
                                               Control
                                                             Propuestas de mejora
                                         Visualizaci´n
                                                    o
                                Consideraciones finales


Optimizaci´n del controlador
          o
  Estudio del tama˜o de palabra
                  n
  Con el fin de optimizar el uso de recursos, y as´ disminuir el tiempo de
                                                  ı
  ejecuci´n, podemos realizar un estudio sobre la influencia del tama˜o de
         o                                                              n
  palabra (word-length10 ). Un tama˜o de palabra que mantenga compromiso con
                                     n
  el rendimiento, reducir´ la l´gica necesaria para realizar las operaciones del
                         a     o
  algoritmo, adem´s de reducir el uso de memoria.
                   a

  Estructura interna del PID
  Con el fin de optimizar la respuesta para poder ejecutar el lazo de control en un
  sistema digital con recursos de c´mputo cr´
                                   o        ıticos (sistema relativamente r´pido),
                                                                           a
  podemos analizar las diferentes transformadas que permiten trabajar en el
  plano Z11 (Fordward difference o Euler, Backward difference, Tustin o bilinear)
  as´ como las estructuras y la forma de implementaci´n (est´ndar, serie, directa,
     ı                                                 o      a
  cascada, paralelo).
     10
        Optimal Realizations of Floating-Point Implemented Digital Controllers with Finite Word Length
  Considerations. Jun Wu, Sheng Chen, James F. Whidborne, Jian Chu.
     11
        http://en.wikipedia.org/wiki/Z-transform
                                                Grupo 8     Control de velocidad: Labview                70/ 71
Licencia
  Usted es libre de:
       copiar, distribuir y comunicar p´blicamente la obra
                                       u
       remezclar — transformar la obra
       hacer un uso comercial de esta obra
  Bajo las condiciones siguientes:
       reconocimiento — debe reconocer los cr´ditos de la obra haciendo
                                               e
       referencia a este documento, a sus autores, a la EUITI de Bilbao y a la
       UPV/EHU (pero no de una manera que sugiera que tiene el apoyo de los
       autores o apoyan el uso que hace de su obra).




    http://creativecommons.org/licenses/by/3.0/es/

Weitere ähnliche Inhalte

Was ist angesagt?

Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
Colono
 
Ejercicos fasores
Ejercicos fasoresEjercicos fasores
Ejercicos fasores
VanneGalvis
 

Was ist angesagt? (20)

8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital
 
Electrónica potencia 2
Electrónica potencia 2Electrónica potencia 2
Electrónica potencia 2
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Lugar geométrico de las raices control 1
Lugar geométrico de las raices control 1Lugar geométrico de las raices control 1
Lugar geométrico de las raices control 1
 
Simplificación de los diagramas de bloques
Simplificación de los diagramas de bloquesSimplificación de los diagramas de bloques
Simplificación de los diagramas de bloques
 
Sesión 6: Teoría Básica de Transistores BJT
Sesión 6: Teoría Básica de Transistores BJTSesión 6: Teoría Básica de Transistores BJT
Sesión 6: Teoría Básica de Transistores BJT
 
Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.Tiristores, características, aplicaciones y funcionamiento.
Tiristores, características, aplicaciones y funcionamiento.
 
Scr, triac y diac
Scr, triac y diacScr, triac y diac
Scr, triac y diac
 
Teoría Básica de Diodos
Teoría Básica de DiodosTeoría Básica de Diodos
Teoría Básica de Diodos
 
Semaforo, deposito de agua y bombas alternadas ..plc
Semaforo, deposito de agua y bombas alternadas ..plcSemaforo, deposito de agua y bombas alternadas ..plc
Semaforo, deposito de agua y bombas alternadas ..plc
 
Control de sistemas no lineales
Control de sistemas no linealesControl de sistemas no lineales
Control de sistemas no lineales
 
Trabajo sobre sensores de proximidad para uso industrial
Trabajo sobre sensores de proximidad para uso industrialTrabajo sobre sensores de proximidad para uso industrial
Trabajo sobre sensores de proximidad para uso industrial
 
Ejercicios circuitos i
Ejercicios circuitos iEjercicios circuitos i
Ejercicios circuitos i
 
Practica0,1,2,3,4
Practica0,1,2,3,4Practica0,1,2,3,4
Practica0,1,2,3,4
 
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
2.3. Configuraciones en Paralelo y Serie-Paralelo de Diodos
 
2.7. Recortadores con Diodos
2.7. Recortadores con Diodos2.7. Recortadores con Diodos
2.7. Recortadores con Diodos
 
Teoria De Transformadores
Teoria De TransformadoresTeoria De Transformadores
Teoria De Transformadores
 
El transistor bjt
El transistor bjtEl transistor bjt
El transistor bjt
 
Como diseñar empleando PLC, neumática y electroneumática
Como diseñar empleando PLC, neumática y electroneumática Como diseñar empleando PLC, neumática y electroneumática
Como diseñar empleando PLC, neumática y electroneumática
 
Ejercicos fasores
Ejercicos fasoresEjercicos fasores
Ejercicos fasores
 

Ähnlich wie Control de velocidad de un motor CC: NI Labview

Clase no12
Clase no12Clase no12
Clase no12
edu7611
 
El plc programador logico computarizado
El plc programador logico computarizadoEl plc programador logico computarizado
El plc programador logico computarizado
Hugo Mora
 
CatáLogo 2010 AnalíTica Y Ambiental
CatáLogo 2010 AnalíTica Y AmbientalCatáLogo 2010 AnalíTica Y Ambiental
CatáLogo 2010 AnalíTica Y Ambiental
PIControl
 

Ähnlich wie Control de velocidad de un motor CC: NI Labview (20)

T2 tiempo de respuesta de un plc
T2 tiempo de respuesta de un plcT2 tiempo de respuesta de un plc
T2 tiempo de respuesta de un plc
 
Presentación de Tecnología SLAN P para Real Time PCR
Presentación de Tecnología SLAN P para Real Time PCRPresentación de Tecnología SLAN P para Real Time PCR
Presentación de Tecnología SLAN P para Real Time PCR
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
S1.pdf
S1.pdfS1.pdf
S1.pdf
 
Clase no12
Clase no12Clase no12
Clase no12
 
SENSYS: SCADA ENLACE CON SAP
SENSYS: SCADA ENLACE CON SAPSENSYS: SCADA ENLACE CON SAP
SENSYS: SCADA ENLACE CON SAP
 
Regulacion automatica
Regulacion automaticaRegulacion automatica
Regulacion automatica
 
El plc programador logico computarizado
El plc programador logico computarizadoEl plc programador logico computarizado
El plc programador logico computarizado
 
2014 ii c02t-estacion meteorologica
2014 ii c02t-estacion meteorologica2014 ii c02t-estacion meteorologica
2014 ii c02t-estacion meteorologica
 
CatáLogo 2010 AnalíTica Y Ambiental
CatáLogo 2010 AnalíTica Y AmbientalCatáLogo 2010 AnalíTica Y Ambiental
CatáLogo 2010 AnalíTica Y Ambiental
 
Regulardor de temperatura
Regulardor de temperatura Regulardor de temperatura
Regulardor de temperatura
 
Tema 1-unidad-3
Tema 1-unidad-3Tema 1-unidad-3
Tema 1-unidad-3
 
Voca3
Voca3Voca3
Voca3
 
Controladores lógicos programables
Controladores lógicos programablesControladores lógicos programables
Controladores lógicos programables
 
Plc's
Plc'sPlc's
Plc's
 
Capacidad del Proceso
Capacidad del ProcesoCapacidad del Proceso
Capacidad del Proceso
 
Manual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplcManual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplc
 
Manual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplcManual061 controladorlgicoprogramableplc
Manual061 controladorlgicoprogramableplc
 
Manual 061 controlador logico programable plc
Manual 061 controlador logico programable plcManual 061 controlador logico programable plc
Manual 061 controlador logico programable plc
 
Importancia planes de mantenimiento sisprofuego
Importancia planes de mantenimiento sisprofuegoImportancia planes de mantenimiento sisprofuego
Importancia planes de mantenimiento sisprofuego
 

Mehr von Unai Martinez

Mehr von Unai Martinez (11)

CC motoreak sistema digitalekin kontrolatzeko sarrera-irteerak: PWM eta encod...
CC motoreak sistema digitalekin kontrolatzeko sarrera-irteerak: PWM eta encod...CC motoreak sistema digitalekin kontrolatzeko sarrera-irteerak: PWM eta encod...
CC motoreak sistema digitalekin kontrolatzeko sarrera-irteerak: PWM eta encod...
 
2.0 Weba eta ezagueraren partaidetza-kudeaketa
2.0 Weba eta ezagueraren partaidetza-kudeaketa2.0 Weba eta ezagueraren partaidetza-kudeaketa
2.0 Weba eta ezagueraren partaidetza-kudeaketa
 
Cómo contribuir al Software Libre
Cómo contribuir al Software LibreCómo contribuir al Software Libre
Cómo contribuir al Software Libre
 
Introducción a OpenOffice: Edición de fórmulas y utilización de estilos en Wr...
Introducción a OpenOffice: Edición de fórmulas y utilización de estilos en Wr...Introducción a OpenOffice: Edición de fórmulas y utilización de estilos en Wr...
Introducción a OpenOffice: Edición de fórmulas y utilización de estilos en Wr...
 
PDFCreator
PDFCreatorPDFCreator
PDFCreator
 
Firefox
FirefoxFirefox
Firefox
 
OpenOffice
OpenOfficeOpenOffice
OpenOffice
 
Thunderbird
ThunderbirdThunderbird
Thunderbird
 
OpenOffice: Edición de fórmulas
OpenOffice: Edición de fórmulasOpenOffice: Edición de fórmulas
OpenOffice: Edición de fórmulas
 
Wikis en Moodle: Nociones básicas
Wikis en Moodle: Nociones básicasWikis en Moodle: Nociones básicas
Wikis en Moodle: Nociones básicas
 
Utilizad wikis
Utilizad wikisUtilizad wikis
Utilizad wikis
 

Kürzlich hochgeladen

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Kürzlich hochgeladen (20)

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 

Control de velocidad de un motor CC: NI Labview

  • 1. Control de velocidad de un motor CC: NI Labview U. Mart´ ınez Corral, L. Ranero Santisteban, I. Sarramian Olmos Sistemas Digitales en la Medida y Control de Procesos Industriales SDM I - 2011/2012 Profesora: Ainhoa Etxebarria Egizabal EUITI de BILBAO - UPV/EHU
  • 2. ´ Indice 1 Introducci´n o 2 Lectura Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici´n o Overflow / Underflow 3 Actuaci´n o Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido 4 Control Controlador Normalizaci´n o 5 Visualizaci´n o Bucle de baja prioridad Panel 6 Consideraciones finales Consideraciones program´ticas a Problemas durante el desarrollo Propuestas de mejora
  • 3. Introducci´n o Objetivos del proyecto Implementar en Labview 2010 (National Instruments) la l´gica de o adquisici´n, control y actuaci´n para el control de velocidad en o o tiempo real de un motor de corriente continua, y la interfaz de usuario para interactuar con el sistema. Hardware disponible PC compatible (Windows XP) Tarjeta de adquisici´n de la serie M (NI 6221) o DC carbon-brush motor IG-22GM (6V) Two channel Hall effect encoder (SA, SB) 1 Reductora 53 Puente H de 2A (Digilent PmodHB5TM)
  • 4. Introducci´n o Lectura Actuaci´n o Control Visualizaci´n o Consideraciones finales Tiempor Real Caracter´ ıstica condicionante del dise˜o n En el ´mbito del control se denomina tiempo real al funcionamiento temporalmente a determinista de un sistema. Se aplica a todas aquellas plantas donde, adem´s de a c´mo, es cr´ o ıtico cu´ndo se realicen las acciones. a Podemos decir que se trata de una caracter´ıstica de ciertos sistemas que condiciona la programaci´n y la especial atenci´n que se debe prestar a los tiempos relativos de o o ejecuci´n y de transferencia. No define una estructura, ni algoritmo espec´ o ıficos, ni define requerimientos temporales concretos. Siendo as´ los sistemas en tiempo real dependen de los requerimientos de la planta, ı, orden´ndose por algunos autores en duro/firme/suave1 en funci´n de los efectos que a o puede tener en su funcionamiento un incumplimiento de los l´ ımites temporales establecidos. Otros autores2 realizan la ordenaci´n en funci´n de la relaci´n entre el o o o tiempo de ejecuci´n y el tiempo de muestreo. o El sistema a implementar ser´ firme y de baja velocidad relativa.. a 1 http://en.wikipedia.org/wiki/Real-time_computing#Criteria_for_real-time_computing 2 Speed analysis of a digital controller in time critical applications. Pawet Piatek, Wojciech Grega. Journal of Automation, Mobile Robotics & Intelligent Systems. Grupo 8 Control de velocidad: Labview 4/ 71
  • 6. Diagrama de bloques general (Labview)
  • 7. ´ Indice 1 Introducci´n o 2 Lectura Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici´n o Overflow / Underflow 3 Actuaci´n o Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido 4 Control Controlador Normalizaci´n o 5 Visualizaci´n o Bucle de baja prioridad Panel 6 Consideraciones finales Consideraciones program´ticas a Problemas durante el desarrollo Propuestas de mejora
  • 9. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Encoder incremental: modos de lectura Grupo 8 Control de velocidad: Labview 9/ 71
  • 10. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Encoder incremental: resoluci´n o Dependiente del n´mero de orificios y modo de lectura u 360o  grados → PPR n · modo: pulsos por vuelta (PPR)  n: n´mero de orificios u modo: (X)1, (X)2, (X)4 2π  radianes → PPR Resoluci´n disponible o 360o    grados → 3·4 = 30o  n: 3 modo: (X)4 PPR = 3 · 4 = 12  2π radianes → = π rad  3·4 6 Grupo 8 Control de velocidad: Labview 10/ 71
  • 11. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Hardware de lectura: contador La tarjeta de adquisici´n de NI nos o ofrece la posibilidad de configurar un contador (en este caso ctr1) como encoder angular, lo cual coincide con el tipo de sensor del motor a utilizar. Las entradas correspondientes a los dos sensores disponibles (SA y SB) se conectar´n a las entradas a asociacadas al contador seleccionado para esta funci´n espec´ o ıfica: bornes 42 y 46, respectivamente. Grupo 8 Control de velocidad: Labview 11/ 71
  • 12. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Configuraci´n del contador: sensor Z o Al no disponer de sensor Z (vuelta completa), y como no vamos a utilizar las funciones asociadas, desactivamos el enable e ignoramos el resto de par´metros asociados, a disponiendo valores constantes indiferentemente. Grupo 8 Control de velocidad: Labview 12/ 71
  • 13. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Configuraci´n del contador: modo y par´metros de lectura o a Indicamos el modo de lectura (X4), de acuerdo con los sensores disponibles y con el fin de obtener la mayor resoluci´n posible (que o supondr´ un mejor control). a Leer´mos el n´mero de ticks e u (pulsos). Podr´ ıamos obtener directamente la conversi´n en o grados o radianes, para lo cual se vale del valor de Pulsos Por Revoluci´n (PPR, en este caso 12). o En nuestro caso, no utilizaremos ese par´metro en este apartado. a Grupo 8 Control de velocidad: Labview 13/ 71
  • 14. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Referencias te´ricas o Teorema de muestreo de Nyquist-Shannon La reconstrucci´n exacta de una se˜al peri´dica continua en banda o n o base a partir de sus muestras, es matem´ticamente posible si la a se˜al est´ limitada en banda y la tasa de muestreo es superior al n a doble de su ancho de banda3 4 . Valores de muestreo en aplicaciones de control En control se utilizan frecuencias que multiplican entre 5 y 15 la frecuencia de Nyquist-Shannon (Fs ). 3 http://es.wikipedia.org/wiki/Teorema_de_muestreo_de_Nyquist-Shannon 4 Digital Sampling According to Nyquist and Shannon. Thomas L. Lag¨, Jonkoping University, Sweden. o Grupo 8 Control de velocidad: Labview 14/ 71
  • 15. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Limitaci´n del encoder o Frecuencia de muestreo te´rica o La frecuencia de muestreo te´rica, la obtendr´ o ıamos analizando el ancho de banda de la planta de forma experimental (obteniendo Fp ) y estableciendo una frecuencia de muestreo (Fm ) 10 veces mayor (5 m´s que la referencia de Nyquist-Shannon). a Fs = 2 · Fp Fm = 10 · Fp Fm = 5 · F s Resoluci´n pobre o Debido a la baja resoluci´n que nos ofrece el encoder, para o periodos de muestreo menores a 100ms el error en la lectura hace impracticable el control. Grupo 8 Control de velocidad: Labview 15/ 71
  • 16. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Periodo de muestreo y adquisici´n o En el bucle while de mayor prioridad estableceremos un periodo entre iteraciones (100ms), escogiendo el reloj adecuado (1kHz). Adquisici´n o Se ha dispuesto un registro que almacenar´ en cada iteraci´n una unica a o ´ muestra (el valor del contador -ticks- en formato DBL). De esta forma dispondremos del valor actual y el valor de la iteraci´n anterior, o obteniendo la diferencia mediante el resto de ambos valores. El sentido de giro definir´ si el contador incrementar´ o decrementar´, y a a a la velocidad en qu´ medida lo har´. e a Grupo 8 Control de velocidad: Labview 16/ 71
  • 17. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Riesgos por overflow / underflow Inestabilidad por errores de lectura El contador de la tarjeta de adquisici´n no dispone de l´gica de o o detecci´n de overflow / underflow, por lo que los errores de lectura o provocados por estos eventos afectar´n negativamente al control, a pudiendo volver inestable el sistema al entrar en oscilaci´n. o Detecci´n o Deberemos identificar cu´ndo se da cualquiera de los dos eventos y a realizar los ajustes necesarios en el algoritmo para minimixar en lo posible el efecto de ´stos. e Grupo 8 Control de velocidad: Labview 17/ 71
  • 18. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Identificaci´n de los eventos o sent giro 1 sent giro 0 act pre act pre En sentido de giro positivo (1), el valor actual s´lo es menor al valor o 50 0 206 0 100 50 156 206 previo cuando se da overflow. 150 100 106 156 200 150 56 106 En sentido de giro negativo (0), a la 250 200 6 56 inversa, el valor actual s´lo es mayor o 44 250 212 6 que el valor previo cuando se da 94 44 162 212 underflow. 144 94 112 162 194 144 62 112 Arranque en sentido negativo 244 194 12 62 Se da un error de lectura en la primera iteraci´n siempre o 38 244 218 12 que el sistema se inicia con sent giro negativo, que impide el control del mismo Ejemplo para un contador de 8 bits. Grupo 8 Control de velocidad: Labview 18/ 71
  • 19. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Soluci´n propuesta o Detecci´n y correcci´n o o Se propone una soluci´n de identificaci´n de eventos de tipo o o overflow / underflow y correcci´n en la interpretaci´n de las o o lecturas obtenidas, con el objetivo de omitir errores y no perder informaci´n. o Tama˜o del contador n Como se expondr´ a continuaci´n, el unico par´metro requerido a o ´ a ser´ el tama˜o en bits del contador, para deducir el valor m´ximo a n a que podr´ expresar (2n − 1), a fin de aplicar las correcciones a adecuadas. Grupo 8 Control de velocidad: Labview 19/ 71
  • 20. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Diagrama de flujo general L´gica de detecci´n o o Con el sentido de giro ordenado y los valores actual y previo del contador, se implementan dos comparadores (= , <) para obtener las relaciones act = pre , act < pre y act > pre. Mediante una puerta AND, una puerta NOR y dos puertas OR, se obtiene como resultado una se˜al den dos bits que codifica las cuatro condiciones de funcionamiento del contador: correcto, err´neo por overflow, err´neo por underflow y parado. o o Grupo 8 Control de velocidad: Labview 20/ 71
  • 21. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Correcciones a la lectura CASE gobernado por las salidas de las puertas OR 0: no se ha detectado evento, no se altera la lectura. 1: se ha detectado overflow, se suma 2n − 1 a la lectura. 2: se ha detectado underflow, se resta 2n − 1 a la lectura. 3: el motor est´ parado, se sustituye la lectura por una a constante (0). Grupo 8 Control de velocidad: Labview 21/ 71
  • 22. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Cambio de sentido en r´gimen permanente e Conflicto con el detector overflow / underflow Como Fm = 10 · Fp , cuando el motor se encuentra girando en un sentido y se ordena un cambio sin variar la consigna de velocidad, durante un periodo transitorio (que equivale a al menos 10 iteraciones) el motor sigue girando en el mismo sentido (reduciendo la velocidad). La l´gica de detecci´n implementada identifica estos estados como o o err´neos, corrigiendo indebidamente las lectura, e induciendo un error en o la lectura, que a su vez puede conducir a la inestabilidad del sistema. Soluci´n propuesta o Desactivaremos la l´gica de detecci´n y correci´n overflow/underflow o o o cuando se d´ una orden de cambio de sentido, y volveremos a activara e cuando el motor vuelva a entrar en r´gimen permanente. e Grupo 8 Control de velocidad: Labview 22/ 71
  • 23. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Cambio de sentido en r´gimen permanente e Grupo 8 Control de velocidad: Labview 23/ 71
  • 24. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Iteraci´n k o La estructura CASE est´ en TRUE. a La l´gica overflow/underflow est´ activa. o a sent giroact = sent giropre → Se ha ordenado un cambio de sentido. Se DESECHA la correcci´n y se toma la lectura en bruto. o Se registra un FALSE para la siguiente iteraci´n del CASE. o Grupo 8 Control de velocidad: Labview 24/ 71
  • 25. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Iteraciones k+1 ... k+n-1 La estructura CASE est´ en FALSE. a La l´gica overflow/underflow NO est´ activa. o a sent giroact = sent giropre → NO se ha ordenado un cambio de sentido. Se toma la lectura en bruto. El sentido de las lecturas del contador NO COINCIDE con sent giro. Se registra un FALSE para la siguiente iteraci´n del CASE. o Grupo 8 Control de velocidad: Labview 25/ 71
  • 26. Introducci´n o Lectura Encoder incremental Actuaci´n o Recursos hardware: contador Control Periodo de muestreo y adquisici´n o Visualizaci´n o Overflow / Underflow Consideraciones finales Iteraci´n k+n o La estructura CASE est´ en FALSE. a La l´gica overflow/underflow NO est´ activa. o a sent giroact = sent giropre → NO se ha ordenado un cambio de sentido. Se toma la lectura en bruto. El sentido de las lecturas del contador COINCIDE con sent giro. Se registra un TRUE para la siguiente iteraci´n del CASE. o Grupo 8 Control de velocidad: Labview 26/ 71
  • 27. ´ Indice 1 Introducci´n o 2 Lectura Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici´n o Overflow / Underflow 3 Actuaci´n o Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido 4 Control Controlador Normalizaci´n o 5 Visualizaci´n o Bucle de baja prioridad Panel 6 Consideraciones finales Consideraciones program´ticas a Problemas durante el desarrollo Propuestas de mejora
  • 29. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Balance energ´tico: DC vs PWM e 3 T Vn T /2 T T 3 4 ·T T = Vn + 0 · Vn = Vn + 0 0 2 0 T /2 0 4 0 3 4 ·T Grupo 8 Control de velocidad: Labview 29/ 71
  • 30. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales PWM: resoluci´n o Resoluci´n PWM o 1   %Vn → PPC · 100 TPWM Resoluci´n o PPC = Vn Tb ∆V →   PPC Por ejemplo 1  PPC : 4bits  %Vn → 24 · 100 = 6, 25% TB : 1ms Vn : 10v ∆V → 10 = 0, 625v  24 Grupo 8 Control de velocidad: Labview 30/ 71
  • 31. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales PWM: frecuencia FPWM , Fb y Fp La planta no deber´ detectar las variaciones en la se˜al dentro de a n un periodo TPWM , no deber´ detenerse en las fracciones en que a est´ a nivel bajo, sino que deber´ tomar el periodo completo en su e a conjunto. FPWM > 2 · Fp Fb > PPC · 2 · Fp El periodo completo como referencia No es suficiente con garantizar Fb > 2 · Fp y deberemos prestar atenci´n a la hora de implementar la frecuencia base de generaci´n o o de la se˜al PWM. n Grupo 8 Control de velocidad: Labview 31/ 71
  • 32. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Puente-H: ganancia de potencia mediante transistores Grupo 8 Control de velocidad: Labview 32/ 71
  • 33. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Puente-H: cuatro estados de funcionamiento Grupo 8 Control de velocidad: Labview 33/ 71
  • 34. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Puente-H: glitch tipo I Cuando EN = 1, en la transici´n de DIR = 0 a DIR = 1, debido al o retardo de la puerta NOT salida de las puertas AND no se actualiza al mismo tiempo, provocando que durante unos instantes todos los transistores se encuentren en conducci´n. Esto conlleva o el cortocircuito de todos ellos, con el consiguiente riesgo de que se quemen. Grupo 8 Control de velocidad: Labview 34/ 71
  • 35. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Puente-H: glitch tipo II Cuando EN = 1, en la transici´n de DIR = 1 a DIR = 0, debido al o retardo de la puerta NOT salida de las puertas AND no se actualiza al mismo tiempo, provocando que durante unos instantes todos los transistores se encuentren en corte. Esto conlleva que no haya diferencia de potencial en los bornes del motor, a pesar de que EN = 1. Grupo 8 Control de velocidad: Labview 35/ 71
  • 36. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Canal f´ ısico y Tb Se configuran como salida dos l´ ıneas de un puerto digital de la tarjeta DAQ (port0/line0:1, bornes 52 y 17 respectivamente), correspondientes a las se˜ales EN y DIR, a generar seg´n los n u resultados de la l´gica de control. o Como el encoder nos impide establecer Tm = 10 · Tp , no podemos utilizar TPWM = Tm , lo cual generar´ un ciclo completo PWM por ıa periodo de muestreo. En su lugar, establecemos la constante PWMPTs que indica el no de ciclos completos PWM que se generar´n en Tm . a El valor real TPWM depender´ de los errores a Tm (ms) inducidos por las limitaciones de c´mputo: o PWMPTs Tm Tb (µs) = · 1000 TPWM = PWMPTs PPC Grupo 8 Control de velocidad: Labview 36/ 71
  • 37. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Generaci´n PWM punto a punto o clk pwm → Tclk = Tb max pwm : PPC − 1 ref pwm : duty cycle · PPC Generaci´n se˜al EN o n En un bucle de alta prioridad con un periodo de iteraci´n Tb se o implementa un contador de 1 a PPC y se compara la salida con la constante definida por el duty-cycle5 (0 ÷ 1 , 0 ÷ 100%, 0 ÷ PPC ). Dicha constante s´lo se comprueba al inicio de cada periodo PWM. o 5 THIGH TPWM Grupo 8 Control de velocidad: Labview 37/ 71
  • 38. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Cambio de sentido: anulaci´n de glitches o Soluci´n propuesta o Para impedir que los glitches afecten al funcionamiento y evitar el riesgo de quemar el circuito, impediremos que EN est´ activa e cuando se cambie el estado de DIR. Detecci´n de cambio o Se registra el signo del la se˜al de control y se n comparan al inicio de cada periodo PWM el estado actual y el de la iteraci´n anterior. o Grupo 8 Control de velocidad: Labview 38/ 71
  • 39. Introducci´n o Lectura Pulse Width Modulation (PWM) Actuaci´n o Puente-H Control Recursos hardware: puerto digital Visualizaci´n o Cambio de sentido Consideraciones finales Cambio de sentido: forzado de EN durante la transici´n o Cuando se detecta un cambio en la orden de sentido, se fuerza la escritura del valor FALSE en la l´ ınea EN, escribiendo al mismo tiempo el valor DIR de la iteraci´n anterior (invariable). o En la siguiente iteraci´n se vuelve a o forzar la escritura del valor FALSE en la l´ ınea EN y se escribe al mismo tiempo el nuevo valor de DIR. Se transfiere al registro el nuevo estado de DIR. Si no se han dado m´s cambios, el bucle vuelve a TRUE y se a ejecuta un nuevo periodo PWM. Grupo 8 Control de velocidad: Labview 39/ 71
  • 40. ´ Indice 1 Introducci´n o 2 Lectura Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici´n o Overflow / Underflow 3 Actuaci´n o Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido 4 Control Controlador Normalizaci´n o 5 Visualizaci´n o Bucle de baja prioridad Panel 6 Consideraciones finales Consideraciones program´ticas a Problemas durante el desarrollo Propuestas de mejora
  • 42. Introducci´n o Lectura Actuaci´n o Controlador Control Normalizaci´n o Visualizaci´n o Consideraciones finales Controlador: PID Controlador Mecanismo de control por realimentaci´n que calcula la desviaci´n o error entre o o un valor medido y el valor que se quiere obtener, para aplicar una acci´n o ´ correctora que ajuste el proceso6 . Este se compone de un bloque que obtiene la diferencia entre ambas entradas (debidamente normalizadas), y un algoritmo que modifica la se˜al resultante (denominada de error). n Algoritmo El algoritmo utilizado, cuya denominaci´n es autoexplicativa, es el Proporcional o Integral Derivativo (PID). Realiza las tres acciones por separado sobre la se˜al n de error y las pondera seg´n las constantes dadas: Kp , Ki y Kd . u 6 http://es.wikipedia.org/wiki/Proporcional_integral_derivativo Grupo 8 Control de velocidad: Labview 42/ 71
  • 43. Introducci´n o Lectura Actuaci´n o Controlador Control Normalizaci´n o Visualizaci´n o Consideraciones finales Controlador: PID Un bloque integra el c´lculo de la se˜al de error a partir de las a n variables de referencia y sistema, y aplica el algoritmo con las constantes PID gains. Puesto que el rango de la salida es de 100 y la l´gica de actuaci´n espera un rango cien veces menor, se ha o o a˜adido un divisor a la salida. n Tiempo discreto Como nuestro sistema de control est´ a ejecut´ndose en un PC, el PID es discreto, a diferente del que se muestra a la derecha (continuo). Sin embargo, el dise˜o y la n velocidad de ejecuci´n nos permiten asumir o que la respuesta ser´ igual. a Tiempo de ejecuci´n o Para poder asumir que el funcionamiento es igual al de un controlador continuo, el tiempo de ejecuci´n deber´ ser al menos dos ´rdenes de magnitud menor que Tm . o a o Grupo 8 Control de velocidad: Labview 43/ 71
  • 44. Introducci´n o Lectura Actuaci´n o Controlador Control Normalizaci´n o Visualizaci´n o Consideraciones finales Normalizaci´n: formula node o Para que el algoritmo de control pueda actuar correctamente la escala de las entradas deber´ ser la misma (generalmente 0 ÷ 1, dicho de otra a manera, % con respecto al m´ximo). a Fondo de escala Para normalizar las entradas dividiremos la lectura en cada iteraci´n o entre el fondo de escala de la variable. Se ha dispuesto un Formula node que normaliza tanto la consigna o variable de referencia como la velocidad angular o variable del sistema. Grupo 8 Control de velocidad: Labview 44/ 71
  • 45. Introducci´n o Lectura Actuaci´n o Controlador Control Normalizaci´n o Visualizaci´n o Consideraciones finales Normalizaci´n: consigna o variable de referencia o M´dulo y signo, por separado o El usuario controlar´ por separado la a velocidad y el sentido de giro, en lugar de disponer de un unico controlador ´ que integre ambas variables. Signo Del bloque de normalizaci´n obtenemos el m´dulo del setpoint con signo o o positivo (spt) y negativo (spf). A partir del selector booleano del panel, mediante un bloque select, haremos llegar una de las dos se˜ales a la n entrada correspondiente del controlador. Grupo 8 Control de velocidad: Labview 45/ 71
  • 46. Introducci´n o Lectura Actuaci´n o Controlador Control Normalizaci´n o Visualizaci´n o Consideraciones finales Normalizaci´n: consigna o variable de referencia o M´dulo o Lo obtendremos a partir de la velocidad controlada por medio del panel: velocidad en revoluciones por minuto (rpm) de la reductora. Obtendremos el fondo de escala a partir de la velocidad nominal de giro del eje del motor y del ratio de la reductora: consignarpm (k) consignaPID (k) = consignarpmmax = ejerpmmax · ratiored consignarpmmax En nuestro caso  ejerpmmax : 8000 consignarpmmax ≈ 150 1 ratiored :  53 Grupo 8 Control de velocidad: Labview 46/ 71
  • 47. Introducci´n o Lectura Actuaci´n o Controlador Control Normalizaci´n o Visualizaci´n o Consideraciones finales Normalizaci´n: velocidad angular o variable del sistema o A partir de la velocidad nominal de giro del eje del motor y teniendo en cuenta el n´mero de sensores y modo de lectura (con ello Pulsos Por Revoluci´n), u o adem´s de Tm , obtendremos la diferencia te´rica m´xima entre dos lecturas del a o a contador:  difcont (k) = lectcont (k) − lectcont (k − 1) difcont (k) variablePID (k) = difcontmax  difcontmax = ejerpmmax · 60 · PPR · Tm (s) 1 1 En nuestro caso ejerpmmax : 8000 PPR : 3 · 4 8000 · 12 ticks difcontmax = · 0, 1 = 160 Tm : 100ms → 0, 1s 60 Tm Hemos comprobado experimentalmente que la lectura m´xima es 155 y no 160. Esto puede deberse a la ca´ de a ıda tensi´n en los transistores, reduciendo la alimentaci´n del motor ligeramente por debajo de la nominal. o o Grupo 8 Control de velocidad: Labview 47/ 71
  • 48. ´ Indice 1 Introducci´n o 2 Lectura Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici´n o Overflow / Underflow 3 Actuaci´n o Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido 4 Control Controlador Normalizaci´n o 5 Visualizaci´n o Bucle de baja prioridad Panel 6 Consideraciones finales Consideraciones program´ticas a Problemas durante el desarrollo Propuestas de mejora
  • 50. Introducci´n o Lectura Actuaci´n o Bucle de baja prioridad Control Panel Visualizaci´n o Consideraciones finales Diagrama de bloques: visualizaci´n (Labview) o Baja prioridad Como las funciones de visualizaci´n no son cr´ o ıticas en el control, ´stas se han e implementado en un bucle WHILE temporizado (T = Act.graf.) de baja prioridad. Garantizando as´ que las acciones de lectura, control y actuaci´n se ı o realizar´n en tiempo real. Se emplear´n los ciclos de m´quina restantes para las a a a funciones de este apartado. Grupo 8 Control de velocidad: Labview 50/ 71
  • 51. Introducci´n o Lectura Actuaci´n o Bucle de baja prioridad Control Panel Visualizaci´n o Consideraciones finales Visualizaci´n: array de tama˜o fijo o n La estructura principal la compone un array bidimensional (2x200) que se inicializa con todos sus registros a cero. En cada iteraci´n se extraen los o elementos 0-199 de cada canal y se forma un nuevo array que contiene un nuevo elemento por l´ ınea en la columna 0, y los elementos extra´ ıdos en las posiciones 1-200. El array se muestra directamente por medio de un gr´fico del tipo waveform a graph, y el efecto resultante es que todos los elementos se desplazan una posici´n, desech´ndose el m´s “antiguo” e incluy´ndose la ultima lectura en el o a a e ´ hueco que queda libre. Grupo 8 Control de velocidad: Labview 51/ 71
  • 52. Introducci´n o Lectura Actuaci´n o Bucle de baja prioridad Control Panel Visualizaci´n o Consideraciones finales Visualizaci´n: escalado de las variables o Las dos l´ ıneas del array descrito corresponden a la consigna y la velocidad de giro de la reductora. En ambos casos se ha modificado la escala para adecuarla a formatos que el usuario pueda interpretar directamente. consignarpm consignaarray = · 100 → [%] consignarpmmax difcontador 1 reductoraarray = · 60 · · ratiored → [rpm] PPR Tm (s) Grupo 8 Control de velocidad: Labview 52/ 71
  • 53. Introducci´n o Lectura Actuaci´n o Bucle de baja prioridad Control Panel Visualizaci´n o Consideraciones finales Visualizaci´n: sentido de giro o Visualizaci´n: variables absolutas o Puesto que ambas variables son bipolares y el m´dulo es el mismo tanto o para valores positivos como negativos, se muestran los valores absolutos. De esta forma duplicamos la resoluci´n efectiva en el gr´fico. o a El usuario puede conocer el sentido de giro del motor gracias a un flag gobernado por un comparador > 0 cuya entrada es la lectura escalada. No se indica expl´ıcitamente el signo de la consigna, pues es el propio usuario quien la establece. Grupo 8 Control de velocidad: Labview 53/ 71
  • 54. Introducci´n o Lectura Actuaci´n o Bucle de baja prioridad Control Panel Visualizaci´n o Consideraciones finales Visualizaci´n: panel o Grupo 8 Control de velocidad: Labview 54/ 71
  • 55. ´ Indice 1 Introducci´n o 2 Lectura Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici´n o Overflow / Underflow 3 Actuaci´n o Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido 4 Control Controlador Normalizaci´n o 5 Visualizaci´n o Bucle de baja prioridad Panel 6 Consideraciones finales Consideraciones program´ticas a Problemas durante el desarrollo Propuestas de mejora
  • 56. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Generaci´n PWM punto por punto o Mayor requerimiento en tiempo de ejecuci´n o La elecci´n de implementar la l´gica de generaci´n de la se˜al o o o n PWM punto por punto supone que la l´gica de actuaci´n deber´ o o a realizar al menos una acci´n cada Tb . Siendo Tb << Tm , esto o supone cargar m´s al software que generando la se˜al mediante un a n contador de la tarjeta de adquisici´n. o En este caso no es un problema, pues las especificaciones del hardware sobre el que se ejecuta la l´gica de control son muy o superiores a las requeridas por el sistema. Sin embargo, con recursos m´s limitados (con una se˜al ejecuci´n m´xima de a n o a Tm periodo 100 > T > Tb ) esta soluci´n no ser´ aplicable. o ıa Grupo 8 Control de velocidad: Labview 56/ 71
  • 57. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Generaci´n PWM punto por punto o Mayor rango de actuaci´n o La generaci´n de la se˜al PWM mediante un contador integrado en la tarjeta o n imposibilita la elecci´n de todo el rango de duty cycle, disponiendo de (0, 1] o [0, 1) si o utilizamos la resoluci´n m´xima disponible. Esto se debe a que se emplea un contador o a binario de n bits, por lo que a su salida tendremos (0, 2n ]. Esa salida se compara con la referencia. Usemos un comparador ≤ o <, uno de los l´ ımites no dar´ la respuesta a esperada. Analizamos tanto el l´ ımite superior como el inferior para un contador y un comparador de 3 bits: contador 0 1 2 3 4 5 6 7 referencia 0 0 0 0 7 7 7 7 ≤ 1 0 0 0 1 1 1 1 < 0 0 0 0 1 1 1 0 En nuestro caso al disponer de una cuenta (1, PPC ) y un comparador ≤, una referencia de valor cero genera un valor l´gico bajo, y una referencia de valor PPC o general un valor l´gico alto. o Grupo 8 Control de velocidad: Labview 57/ 71
  • 58. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Generaci´n PWM punto por punto o Actualizaci´n simult´nea o a Puesto que escribimos los valores de EN y DIR al mismo tiempo, y actuamos en ambas l´ ıneas en cada iteraci´n, podemos reducir al m´ o ınimo el tiempo requerido para el cambio de sentido (la detecci´n y una o adicional). En caso de usar el contador integrado en la tarjeta, deber´ıamos detener la generaci´n para realizar el cambio, y volver a o iniciar la tarea. Proceso que requerir´ m´s tiempo. ıa a Otras codificaciones La caracter´ ıstica anterior permite reutilizar el sistema y alterando unicamente el proceso de comparaci´n del contador con PPC usar otros ´ o algoritmos, como por ejemplo ∆Σ7 . 7 http://en.wikipedia.org/wiki/Delta-sigma_modulation Grupo 8 Control de velocidad: Labview 58/ 71
  • 59. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Tiempo de ejecuci´n o Fuera de rango Obteniendo los tiempos de ejecuci´n de los bucles temporizados o desde la adquisici´n hasta la generaci´n de la se˜al PWM con un o o n reloj de 1ms de periodo, la diferencia indicada es cero. Aunque no conocemos el tiempo de ejecuci´n concreto, s´ podemos o ı garantizar que es al menos dos ordenes de magnitud menor que el periodo de muestreo, cumpli´ndose la llamada regla de causalidad. e Grupo 8 Control de velocidad: Labview 59/ 71
  • 60. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Bornes +5v de la tarjeta Para alimentar el puente H y as´ poder amplificar las se˜ales de los ı n sensores mediante los Schmitt trigger ´stos requieren una tensi´n e o 2, 5 ÷ 5v . Comprobamos con un volt´ ımetro que los bornes (8, 14) de la tarjeta de adquisici´n correspondientes a una tensi´n o o constante de +5v no daban una salida con potencial diferente de los bornes DGND (4, 7, 9, 12, 13, 15, 18, 35, 36, 3953, 50, 44). L´ ınea digital adicional Se ha utilizado una l´ ınea (linea2, borne 49) del mismo puerto digital y se ha fijado manualmente a un valor l´gico alto. o Grupo 8 Control de velocidad: Labview 60/ 71
  • 61. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Anclado de EN = 1 Cuando por un error en el funcionamiento el sistema de control (o aquel sobre el que se ejecuta) se bloquea y se cierra directamente (sin finalizar los bucles), en funci´n de cu´l haya sido el ultimo valor escrito en la o a ´ salida EN, ´sta puede quedar activa, haciendo girar el motor a su e velocidad nominal. Cierre secuencial Volviendo a actuar sobre la l´ınea correspondiente, podemos desactivarla, deteniendo el motor. La forma m´s r´pida consiste en volver a ejecutar el a a programa, estableciendo una consigna de valor cero. En la primera iteraci´n la l´gica de lectura escribir´ un valor l´gico bajo, deteniendo el o o a o motor. Grupo 8 Control de velocidad: Labview 61/ 71
  • 62. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Uso de variables compartidas Para transferir la salida del PID (duty cycle) a la entrada de la l´gica de o actuaci´n, se ha utilizado una variable compartida. Desconocemos las o secuencias internas de Labview que realizan la actualizaci´n de dicha o variable y, a´n conoci´ndolas, no podemos interceder. u e Tiempo de transferencia Para poder garantizar program´ticamente que el sistema trabaja en a Tiempo Real, deberemos calcular el tiempo que tardan en transferirse los ´ cambios efectuados sobre dicha variable. Este, junto con el tiempo de ejecuci´n del bucle de lectura, nos permitir´ calcular el tiempo de o a ejecuci´n del algoritmo. o Grupo 8 Control de velocidad: Labview 62/ 71
  • 63. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Separaci´n de la lectura y el control o La l´gica de lectura y la de control est´n en un mismo bucle. La de actuaci´n se o a o encuentra en otro diferente. Dadas las caracter´ısticas de nuestro sistema, la prioridad de ejecuci´n de mayor a menor deber´ ser: lectura (adquisici´n del valor del o ıa o contador), actuaci´n (modificaciones en EN y DIR), control (ejecuci´n del algoritmo). o o La lectura siempre debe tener la mayor prioridad, pues del determinismo en la misma depende la consecuci´n del control en Tiempo Real. Inmediatamente despu´s deber´ o e ıa garantizarse la actualizaci´n determinista de las salidas. La ejecuci´n del algoritmo de o o control no se comunica con la planta. Divisi´n en tres bucles o Para respetar los requerimientos de prioridad del sistema (desde un punto de vista conceptual), podemos separar la lectura y el control en dos bucles, manteniendo el primero la m´xima prioridad, y reduciendo la del segundo por debajo del bucle de a actuaci´n. o Grupo 8 Control de velocidad: Labview 63/ 71
  • 64. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Determinar el tiempo de ejecuci´n o Estimaci´n estad´ o ıstica Puesto que el controlador implementado es del tipo multi-rate, al funcionar con dos frecuencias diferentes (Fm y Fb ), y estar ´stas e ligeramente desincronizadas, adem´s de utilizar una variable compartida, a deberemos realizar un an´lisis preciso para determinar el tiempo de a ejecuci´n del algoritmo de control (desde que se realiza una lectura hasta o que se actualiza la salida como causa de la entrada). Labview provee la herramienta Real Time Execution Trace Toolkit que nos permitir´ trazar la ejecuci´n de los diferentes bucles, permiti´ndonos a o e seguir el progreso de una variaci´n en la entrada. Experimentalmente o podremos medir el rango de tiempos y estad´ ısticamente determinar el m´s probable. a Grupo 8 Control de velocidad: Labview 64/ 71
  • 65. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Determinar el tiempo de ejecuci´n o Omitiendo el retardo de la variable compartida Asumiendo que no hay retardo en la transferencia de la variable, el valor del duty cycle estar´ disponible a la entrada del bucle de generaci´n PWM tan a o pronto como el PID actualiza su salida8 . En la mejor situaci´n, el ciclo PWM habr´ terminado en el instante anterior, y o a la transferencia ser´ instant´nea, siendo el tiempo de ejecuci´n el del bucle de a a o lectura y control. En el peor caso, el ciclo PWM habr´ empezado en el instante anterior, por lo a que deberemos esperar TPWM . A lo que deberemos sumar el tiempo de ejecuci´n del bucle de lectura y control. o 8 Se ha considerado la escritura del primer punto como referencia. Podr´ tomarse el ultimo punto del ciclo ıa ´ completo, debiendo sumar TPWM a los valores indicados Grupo 8 Control de velocidad: Labview 65/ 71
  • 66. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Determinar el tiempo de ejecuci´n o Determinar el retardo de la variable compartida Introduciremos el instante de ejecuci´n dado por el bucle de o lectura y control, previa modificaci´n del formato, en la variable o compartida. En el bucle de actuaci´n guardaremos el valor le´ o ıdo, junto con el instante del propio bucle. De entre los datos registrados de la variable cada valor se repetir´ a ≈ TTm veces9 . Cuando se detecte un cambio, el tiempo de PWM transferencia se obtendr´ restando los valores de las dos l´ a ıneas en la columna del nuevo valor. 9 La variaci´n depender´ de la diferencia entre los tiempos de la transferencia de dos iteraciones consecutivas. o a Grupo 8 Control de velocidad: Labview 66/ 71
  • 67. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Zona muerta del motor El motor requiere una alimentaci´n m´ o ınima para superar las p´rdidas en el hierro y en el cobre, por lo que hay un rango de e tensiones (por consiguiente de duty-cycle) en las que el motor, pese a estar alimentado, no gira. Modelizaci´n de la zona muerta o Para evitar un consumo ineficiente de energ´ (alimentar el motor y ıa que est´ parado), podemos modelar la zona muerta e impedir que e se generen valores de duty cycle mayores que cero y por debajo del umbral obtenido experimentalmente. Grupo 8 Control de velocidad: Labview 67/ 71
  • 68. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Ajuste (tunning) del controlador La respuesta del sistema depender´ de la funci´n de transferencia de la planta a o y de la del PID. Esta segunda, pese a tener una estructura fija, var´ seg´n los ıa u par´metros Kp , Ki y Kd . Como el objetivo de este proyecto era dise˜ar el a n sistema de control, y no que ´ste fuera ´ptimo, se ha realizado un ajuste e o b´sico, obteniendo un controlador principalmente proporcional, con un peque˜o a n factor integrador para anular el error en r´gimen permanente, y sin funci´n e o derivativa (un mal ajuste puede dar problemas en r´gimen transitorio, e conduciendo a inestabilidad) Ajuste optimo ´ Para lograr un control optimo (m´ ´ ınimo tiempo de subida y establecimiento, m´ınimo rebose, error nulo en r´gimen permanente...) podemos ajustar el e controlador a partir de pruebas experimentales en lazo abierto del sistema (la respuesta temporal a una entrada escal´n, por ejemplo), o utilizar algoritmos o iterativos que a partir del modelo obtengan valores de referencia para las tres constantes. Grupo 8 Control de velocidad: Labview 68/ 71
  • 69. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Sustituci´n del encoder o Relaci´n entre las rpm y los pulsos de los sensores o La resoluci´n m´xima disponible es de 12 pulsos por vuelta, y teniendo o a 1 en cuenta la velocidad nominal, con una reductora de ratio 53 la relaci´n o rpmredmax 150 rpmred ticksmax cuando Tm = 100ms es 155 = 0, 9677 tick . Lo que ofrece una resoluci´n a la salida del 0, 6451%. Si muestreamos con un periodo de o 10ms la relaci´n asciende a 150 = 10 rpmred → 6, 66%. o 15 tick Para no perder resoluci´n en el cambio de unidades, es recomendable o mantener el ratio lo m´s bajo posible. Para una resoluci´n del 1% con la a o 1 reductora 53 requerir´ ıamos un encoder de aproximadamente 150 15 · 12 = 120 pulsos por revoluci´n (PPR). Con dos sensores y modo de o lectura X4, se requerir´ un disco de 30 aspas. Este cambio nos permitir´ ıa ıa realizar un control mejor respetando los requerimientos temporales de la planta. Grupo 8 Control de velocidad: Labview 69/ 71
  • 70. Introducci´n o Lectura Consideraciones program´ticas a Actuaci´n o Problemas durante el desarrollo Control Propuestas de mejora Visualizaci´n o Consideraciones finales Optimizaci´n del controlador o Estudio del tama˜o de palabra n Con el fin de optimizar el uso de recursos, y as´ disminuir el tiempo de ı ejecuci´n, podemos realizar un estudio sobre la influencia del tama˜o de o n palabra (word-length10 ). Un tama˜o de palabra que mantenga compromiso con n el rendimiento, reducir´ la l´gica necesaria para realizar las operaciones del a o algoritmo, adem´s de reducir el uso de memoria. a Estructura interna del PID Con el fin de optimizar la respuesta para poder ejecutar el lazo de control en un sistema digital con recursos de c´mputo cr´ o ıticos (sistema relativamente r´pido), a podemos analizar las diferentes transformadas que permiten trabajar en el plano Z11 (Fordward difference o Euler, Backward difference, Tustin o bilinear) as´ como las estructuras y la forma de implementaci´n (est´ndar, serie, directa, ı o a cascada, paralelo). 10 Optimal Realizations of Floating-Point Implemented Digital Controllers with Finite Word Length Considerations. Jun Wu, Sheng Chen, James F. Whidborne, Jian Chu. 11 http://en.wikipedia.org/wiki/Z-transform Grupo 8 Control de velocidad: Labview 70/ 71
  • 71. Licencia Usted es libre de: copiar, distribuir y comunicar p´blicamente la obra u remezclar — transformar la obra hacer un uso comercial de esta obra Bajo las condiciones siguientes: reconocimiento — debe reconocer los cr´ditos de la obra haciendo e referencia a este documento, a sus autores, a la EUITI de Bilbao y a la UPV/EHU (pero no de una manera que sugiera que tiene el apoyo de los autores o apoyan el uso que hace de su obra). http://creativecommons.org/licenses/by/3.0/es/