Vous êtes sur la page 1sur 71

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 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

4 Control
Controlador Normalizacin o

5 Visualizacin o
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Introduccin o
Objetivos del proyecto Implementar en Labview 2010 (National Instruments) la lgica de o adquisicin, control y actuacin 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 adquisicin de la serie M (NI 6221) o DC carbon-brush motor IG-22GM (6V) Two channel Hall eect encoder (SA, SB) Reductora
1 53

Puente H de 2A (Digilent PmodHB5TM)

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Tiempor Real
Caracter stica condicionante del diseo 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, adems de a cmo, es cr o tico cundo se realicen las acciones. a Podemos decir que se trata de una caracter stica de ciertos sistemas que condiciona la programacin y la especial atencin que se debe prestar a los tiempos relativos de o o ejecucin y de transferencia. No dene una estructura, ni algoritmo espec o cos, ni dene requerimientos temporales concretos. Siendo as los sistemas en tiempo real dependen de los requerimientos de la planta, , ordenndose por algunos autores en duro/rme/suave1 en funcin de los efectos que a o puede tener en su funcionamiento un incumplimiento de los l mites temporales establecidos. Otros autores2 realizan la ordenacin en funcin de la relacin entre el o o o tiempo de ejecucin y el tiempo de muestreo. o El sistema a implementar ser rme y de baja velocidad relativa.. a
1 2 http://en.wikipedia.org/wiki/Real-time_computing#Criteria_for_real-time_computing

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

Diagrama de bloques general (Labview)

Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

4 Control
Controlador Normalizacin o

5 Visualizacin o
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Lectura

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Encoder incremental: modos de lectura

Grupo 8

Control de velocidad: Labview

9/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Encoder incremental: resolucin o


Dependiente del nmero de oricios y modo de lectura u grados radianes
360o PPR

n modo: pulsos por vuelta (PPR)


n: nmero de oricios u modo: (X)1, (X)2, (X)4

2 PPR

Resolucin disponible o n: 3 modo: (X)4 PPR = 3 4 = 12 radianes


Grupo 8

grados

360o 34 2 34

= 30o = rad 6

Control de velocidad: Labview

10/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Hardware de lectura: contador


La tarjeta de adquisicin de NI nos o ofrece la posibilidad de congurar 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 conectarn a las entradas a asociacadas al contador seleccionado para esta funcin espec o ca: bornes 42 y 46, respectivamente.

Grupo 8

Control de velocidad: Labview

11/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Conguracin 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 parmetros asociados, a disponiendo valores constantes indiferentemente.

Grupo 8

Control de velocidad: Labview

12/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Conguracin del contador: modo y parmetros de lectura o a


Indicamos el modo de lectura (X4), de acuerdo con los sensores disponibles y con el n de obtener la mayor resolucin posible (que o supondr un mejor control). a Leermos el nmero de ticks e u (pulsos). Podr amos obtener directamente la conversin en o grados o radianes, para lo cual se vale del valor de Pulsos Por Revolucin (PPR, en este caso 12). o En nuestro caso, no utilizaremos ese parmetro en este apartado. a
Grupo 8 Control de velocidad: Labview 13/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Referencias tericas o
Teorema de muestreo de Nyquist-Shannon La reconstruccin exacta de una seal peridica continua en banda o n o base a partir de sus muestras, es matemticamente posible si la a seal 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 4

http://es.wikipedia.org/wiki/Teorema_de_muestreo_de_Nyquist-Shannon Digital Sampling According to Nyquist and Shannon. Thomas L. Lag, Jonkoping University, Sweden. o Grupo 8 Control de velocidad: Labview 14/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Limitacin del encoder o


Frecuencia de muestreo terica o La frecuencia de muestreo terica, 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 ms que la referencia de Nyquist-Shannon). a Fs = 2 Fp Fm = 10 Fp Fm = 5 F s

Resolucin pobre o Debido a la baja resolucin 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Periodo de muestreo y adquisicin o


En el bucle while de mayor prioridad estableceremos un periodo entre iteraciones (100ms), escogiendo el reloj adecuado (1kHz).

Adquisicin o
Se ha dispuesto un registro que almacenar en cada iteracin 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 iteracin anterior, o obteniendo la diferencia mediante el resto de ambos valores. El sentido de giro denir 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Riesgos por overow / underow


Inestabilidad por errores de lectura El contador de la tarjeta de adquisicin no dispone de lgica de o o deteccin de overow / underow, por lo que los errores de lectura o provocados por estos eventos afectarn negativamente al control, a pudiendo volver inestable el sistema al entrar en oscilacin. o Deteccin o Deberemos identicar cundo 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Identicacin de los eventos o


sent giro act 50 100 150 200 250 44 94 144 194 244 38 1 pre 0 50 100 150 200 250 44 94 144 194 244 sent giro act 206 156 106 56 6 212 162 112 62 12 218 0 pre 0 206 156 106 56 6 212 162 112 62 12

En sentido de giro positivo (1), el valor actual slo es menor al valor o previo cuando se da overow. En sentido de giro negativo (0), a la inversa, el valor actual slo es mayor o que el valor previo cuando se da underow. Arranque en sentido negativo
Se da un error de lectura en la primera iteracin siempre o 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Solucin propuesta o
Deteccin y correccin o o Se propone una solucin de identicacin de eventos de tipo o o overow / underow y correccin en la interpretacin de las o o lecturas obtenidas, con el objetivo de omitir errores y no perder informacin. o Tamao del contador n Como se expondr a continuacin, el unico parmetro requerido a o a ser el tamao en bits del contador, para deducir el valor mximo a n a que podr expresar (2n 1), a n de aplicar las correcciones a adecuadas.
Grupo 8 Control de velocidad: Labview 19/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Diagrama de ujo general

Lgica de deteccin 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 seal de n dos bits que codica las cuatro condiciones de funcionamiento del contador: correcto, errneo por overow, errneo por underow y parado. o o
Grupo 8 Control de velocidad: Labview 20/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

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 overow, se suma 2n 1 a la lectura. 2: se ha detectado underow, 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Cambio de sentido en rgimen permanente e


Conicto con el detector overow / underow
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 lgica de deteccin implementada identica estos estados como o o errneos, corrigiendo indebidamente las lectura, e induciendo un error en o la lectura, que a su vez puede conducir a la inestabilidad del sistema.

Solucin propuesta o
Desactivaremos la lgica de deteccin y correcin overow/underow o o o cuando se d una orden de cambio de sentido, y volveremos a activara e cuando el motor vuelva a entrar en rgimen permanente. e
Grupo 8 Control de velocidad: Labview 22/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Cambio de sentido en rgimen permanente e

Grupo 8

Control de velocidad: Labview

23/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Iteracin k o

La estructura CASE est en TRUE. a La lgica overow/underow est activa. o a sent giroact = sent giropre Se ha ordenado un cambio de sentido. Se DESECHA la correccin y se toma la lectura en bruto. o Se registra un FALSE para la siguiente iteracin del CASE. o

Grupo 8

Control de velocidad: Labview

24/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

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

La estructura CASE est en FALSE. a La lgica overow/underow 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 iteracin del CASE. o
Grupo 8 Control de velocidad: Labview 25/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

Iteracin k+n o

La estructura CASE est en FALSE. a La lgica overow/underow 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 iteracin del CASE. o
Grupo 8 Control de velocidad: Labview 26/ 71

Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

4 Control
Controlador Normalizacin o

5 Visualizacin o
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Actuacin o

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Balance energtico: DC vs PWM e

T 0

Vn = 2

T /2

Vn +
0 T /2

0
0

3 Vn = 4

3 4 T

Vn +
0
3 4 T

Grupo 8

Control de velocidad: Labview

29/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

PWM: resolucin o
Resolucin PWM o %Vn
1 PPC

Resolucin o

100

PPC =

Vn PPC

TPWM Tb

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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

PWM: frecuencia
FPWM , Fb y Fp La planta no deber detectar las variaciones en la seal 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 suciente con garantizar Fb > 2 Fp y deberemos prestar atencin a la hora de implementar la frecuencia base de generacin o o de la seal PWM. n
Grupo 8 Control de velocidad: Labview 31/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Puente-H: ganancia de potencia mediante transistores

Grupo 8

Control de velocidad: Labview

32/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Puente-H: cuatro estados de funcionamiento

Grupo 8

Control de velocidad: Labview

33/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Puente-H: glitch tipo I

Cuando EN = 1, en la transicin 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 conduccin. Esto conlleva o el cortocircuito de todos ellos, con el consiguiente riesgo de que se quemen.
Grupo 8 Control de velocidad: Labview 34/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Puente-H: glitch tipo II

Cuando EN = 1, en la transicin 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Canal f sico y Tb
Se conguran como salida dos l neas de un puerto digital de la tarjeta DAQ (port0/line0:1, bornes 52 y 17 respectivamente), correspondientes a las seales EN y DIR, a generar segn los n u resultados de la lgica 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 generarn en Tm . a
El valor real TPWM depender de los errores a inducidos por las limitaciones de cmputo: o Tm TPWM = PWMPTs

Tb (s) =

Tm (ms) PWMPTs

PPC

1000

Grupo 8

Control de velocidad: Labview

36/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Generacin PWM punto a punto o

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

Generacin seal EN o n En un bucle de alta prioridad con un periodo de iteracin Tb se o implementa un contador de 1 a PPC y se compara la salida con la constante denida por el duty-cycle5 (0 1 , 0 100%, 0 PPC ). Dicha constante slo se comprueba al inicio de cada periodo PWM. o
5 THIGH
TPWM

Grupo 8

Control de velocidad: Labview

37/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Cambio de sentido: anulacin de glitches o


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

Deteccin de cambio o Se registra el signo del la seal de control y se n comparan al inicio de cada periodo PWM el estado actual y el de la iteracin anterior. o

Grupo 8

Control de velocidad: Labview

38/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

Cambio de sentido: forzado de EN durante la transicin 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 iteracin anterior (invariable). o En la siguiente iteracin 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 transere al registro el nuevo estado de DIR.
Si no se han dado ms cambios, el bucle vuelve a TRUE y se a ejecuta un nuevo periodo PWM.

Grupo 8

Control de velocidad: Labview

39/ 71

Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

4 Control
Controlador Normalizacin o

5 Visualizacin o
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Control

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Controlador Normalizacin o

Controlador: PID
Controlador Mecanismo de control por realimentacin que calcula la desviacin o error entre o o un valor medido y el valor que se quiere obtener, para aplicar una accin 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 modica la seal resultante (denominada de error). n Algoritmo El algoritmo utilizado, cuya denominacin es autoexplicativa, es el Proporcional o Integral Derivativo (PID). Realiza las tres acciones por separado sobre la seal n de error y las pondera segn las constantes dadas: Kp , Ki y Kd . u

http://es.wikipedia.org/wiki/Proporcional_integral_derivativo Grupo 8 Control de velocidad: Labview 42/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Controlador Normalizacin o

Controlador: PID
Un bloque integra el clculo de la seal 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 lgica de actuacin espera un rango cien veces menor, se ha o o aadido un divisor a la salida. n Tiempo discreto Como nuestro sistema de control est a ejecutndose en un PC, el PID es discreto, a diferente del que se muestra a la derecha (continuo). Sin embargo, el diseo y la n velocidad de ejecucin nos permiten asumir o que la respuesta ser igual. a Tiempo de ejecucin o Para poder asumir que el funcionamiento es igual al de un controlador continuo, el tiempo de ejecucin deber ser al menos dos rdenes de magnitud menor que Tm . o a o
Grupo 8 Control de velocidad: Labview 43/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Controlador Normalizacin o

Normalizacin: 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 mximo). a Fondo de escala Para normalizar las entradas dividiremos la lectura en cada iteracin 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Controlador Normalizacin o

Normalizacin: consigna o variable de referencia o


Mdulo 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 normalizacin obtenemos el mdulo 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 seales a la n entrada correspondiente del controlador.

Grupo 8

Control de velocidad: Labview

45/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Controlador Normalizacin o

Normalizacin: consigna o variable de referencia o


Mdulo 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: consignaPID (k) = consignarpm (k) consignarpmmax consignarpmmax = ejerpmmax ratiored

En nuestro caso
ejerpmmax : 8000 ratiored :
1 53

consignarpmmax 150

Grupo 8

Control de velocidad: Labview

46/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Controlador Normalizacin o

Normalizacin: velocidad angular o variable del sistema o


A partir de la velocidad nominal de giro del eje del motor y teniendo en cuenta el nmero de sensores y modo de lectura (con ello Pulsos Por Revolucin), u o adems de Tm , obtendremos la diferencia terica mxima entre dos lecturas del a o a contador: difcont (k) = lectcont (k) lectcont (k 1) difcont (k) variablePID (k) = difcontmax 1 difcontmax = ejerpmmax 60 PPR Tm (s) 1 En nuestro caso
8000 12 ticks ejerpmmax : 8000 PPR : 3 4 difcontmax = 0, 1 = 160 Tm : 100ms 0, 1s 60 Tm
Hemos comprobado experimentalmente que la lectura mxima es 155 y no 160. Esto puede deberse a la ca de a da tensin en los transistores, reduciendo la alimentacin del motor ligeramente por debajo de la nominal. o o

Grupo 8

Control de velocidad: Labview

47/ 71

Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

4 Control
Controlador Normalizacin o

5 Visualizacin o
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Visualizacin o

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Bucle de baja prioridad Panel

Diagrama de bloques: visualizacin (Labview) o

Baja prioridad Como las funciones de visualizacin 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 actuacin se o realizarn en tiempo real. Se emplearn los ciclos de mquina restantes para las a a a funciones de este apartado.
Grupo 8 Control de velocidad: Labview 50/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Bucle de baja prioridad Panel

Visualizacin: array de tamao jo o n

La estructura principal la compone un array bidimensional (2x200) que se inicializa con todos sus registros a cero. En cada iteracin 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 grco del tipo waveform a graph, y el efecto resultante es que todos los elementos se desplazan una posicin, desechndose el ms antiguo e incluyndose la ultima lectura en el o a a e hueco que queda libre.
Grupo 8 Control de velocidad: Labview 51/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Bucle de baja prioridad Panel

Visualizacin: 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 modicado la escala para adecuarla a formatos que el usuario pueda interpretar directamente. consignarpm 100 [%] consignarpmmax

consignaarray = reductoraarray =

difcontador 1 60 ratiored [rpm] PPR Tm (s)

Grupo 8

Control de velocidad: Labview

52/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Bucle de baja prioridad Panel

Visualizacin: sentido de giro o


Visualizacin: variables absolutas o Puesto que ambas variables son bipolares y el mdulo es el mismo tanto o para valores positivos como negativos, se muestran los valores absolutos. De esta forma duplicamos la resolucin efectiva en el grco. o a

El usuario puede conocer el sentido de giro del motor gracias a un ag 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Bucle de baja prioridad Panel

Visualizacin: panel o

Grupo 8

Control de velocidad: Labview

54/ 71

Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow

3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido

4 Control
Controlador Normalizacin o

5 Visualizacin o
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Generacin PWM punto por punto o


Mayor requerimiento en tiempo de ejecucin o La eleccin de implementar la lgica de generacin de la seal o o o n PWM punto por punto supone que la lgica de actuacin deber o o a realizar al menos una accin cada Tb . Siendo Tb << Tm , esto o supone cargar ms al software que generando la seal mediante un a n contador de la tarjeta de adquisicin. o En este caso no es un problema, pues las especicaciones del hardware sobre el que se ejecuta la lgica de control son muy o superiores a las requeridas por el sistema. Sin embargo, con recursos ms limitados (con una seal ejecucin mxima de a n o a Tm o a periodo 100 > T > Tb ) esta solucin no ser aplicable.
Grupo 8 Control de velocidad: Labview 56/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Generacin PWM punto por punto o


Mayor rango de actuacin o La generacin de la seal PWM mediante un contador integrado en la tarjeta o n imposibilita la eleccin de todo el rango de duty cycle, disponiendo de (0, 1] o [0, 1) si o utilizamos la resolucin mxima 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 referencia < 0 0 1 0 1 0 0 0 2 0 0 0 3 0 0 0 4 7 1 1 5 7 1 1 6 7 1 1 7 7 1 0

En nuestro caso al disponer de una cuenta (1, PPC ) y un comparador , una referencia de valor cero genera un valor lgico bajo, y una referencia de valor PPC o general un valor lgico alto. o
Grupo 8 Control de velocidad: Labview 57/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Generacin PWM punto por punto o


Actualizacin simultnea o a Puesto que escribimos los valores de EN y DIR al mismo tiempo, y actuamos en ambas l neas en cada iteracin, podemos reducir al m o nimo el tiempo requerido para el cambio de sentido (la deteccin y una o adicional). En caso de usar el contador integrado en la tarjeta, deber amos detener la generacin para realizar el cambio, y volver a o iniciar la tarea. Proceso que requerir ms tiempo. a a Otras codicaciones La caracter stica anterior permite reutilizar el sistema y alterando unicamente el proceso de comparacin 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Tiempo de ejecucin o
Fuera de rango Obteniendo los tiempos de ejecucin de los bucles temporizados o desde la adquisicin hasta la generacin de la seal PWM con un o o n reloj de 1ms de periodo, la diferencia indicada es cero. Aunque no conocemos el tiempo de ejecucin concreto, s podemos o garantizar que es al menos dos ordenes de magnitud menor que el periodo de muestreo, cumplindose la llamada regla de causalidad. e

Grupo 8

Control de velocidad: Labview

59/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Bornes +5v de la tarjeta


Para alimentar el puente H y as poder amplicar las seales de los n sensores mediante los Schmitt trigger stos requieren una tensin e o 2, 5 5v . Comprobamos con un volt metro que los bornes (8, 14) de la tarjeta de adquisicin correspondientes a una tensin 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 jado manualmente a un valor lgico alto. o

Grupo 8

Control de velocidad: Labview

60/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

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 nalizar los bucles), en funcin de cul 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 ms rpida consiste en volver a ejecutar el a a programa, estableciendo una consigna de valor cero. En la primera iteracin la lgica de lectura escribir un valor lgico bajo, deteniendo el o o a o motor.

Grupo 8

Control de velocidad: Labview

61/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Uso de variables compartidas


Para transferir la salida del PID (duty cycle) a la entrada de la lgica de o actuacin, se ha utilizado una variable compartida. Desconocemos las o secuencias internas de Labview que realizan la actualizacin de dicha o variable y, an conocindolas, no podemos interceder. u e Tiempo de transferencia Para poder garantizar programticamente 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 ejecucin del bucle de lectura, nos permitir calcular el tiempo de o a ejecucin del algoritmo. o

Grupo 8

Control de velocidad: Labview

62/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Separacin de la lectura y el control o


La lgica de lectura y la de control estn en un mismo bucle. La de actuacin se o a o encuentra en otro diferente. Dadas las caracter sticas de nuestro sistema, la prioridad de ejecucin de mayor a menor deber ser: lectura (adquisicin del valor del o a o contador), actuacin (modicaciones en EN y DIR), control (ejecucin del algoritmo). o o La lectura siempre debe tener la mayor prioridad, pues del determinismo en la misma depende la consecucin del control en Tiempo Real. Inmediatamente despus deber o e a garantizarse la actualizacin determinista de las salidas. La ejecucin del algoritmo de o o control no se comunica con la planta. Divisin 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 mxima prioridad, y reduciendo la del segundo por debajo del bucle de a actuacin. o

Grupo 8

Control de velocidad: Labview

63/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Determinar el tiempo de ejecucin o


Estimacin 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, adems de utilizar una variable compartida, a deberemos realizar un anlisis preciso para determinar el tiempo de a ejecucin 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 ejecucin de los diferentes bucles, permitindonos a o e seguir el progreso de una variacin en la entrada. Experimentalmente o podremos medir el rango de tiempos y estad sticamente determinar el ms probable. a

Grupo 8

Control de velocidad: Labview

64/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Determinar el tiempo de ejecucin 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 generacin PWM tan a o pronto como el PID actualiza su salida8 . En la mejor situacin, el ciclo PWM habr terminado en el instante anterior, y o a la transferencia ser instantnea, siendo el tiempo de ejecucin 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 ejecucin 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Determinar el tiempo de ejecucin o


Determinar el retardo de la variable compartida Introduciremos el instante de ejecucin dado por el bucle de o lectura y control, previa modicacin del formato, en la variable o compartida. En el bucle de actuacin 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 variacin depender de la diferencia entre los tiempos de la transferencia de dos iteraciones consecutivas. o a Grupo 8 Control de velocidad: Labview 66/ 71

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Zona muerta del motor


El motor requiere una alimentacin m o nima para superar las prdidas 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. Modelizacin de la zona muerta o Para evitar un consumo ineciente 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Ajuste (tunning) del controlador


La respuesta del sistema depender de la funcin de transferencia de la planta a o y de la del PID. Esta segunda, pese a tener una estructura ja, var segn los a u parmetros Kp , Ki y Kd . Como el objetivo de este proyecto era disear el a n sistema de control, y no que ste fuera ptimo, se ha realizado un ajuste e o bsico, obteniendo un controlador principalmente proporcional, con un pequeo a n factor integrador para anular el error en rgimen permanente, y sin funcin e o derivativa (un mal ajuste puede dar problemas en rgimen 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 rgimen permanente...) podemos ajustar el e controlador a partir de pruebas experimentales en lazo abierto del sistema (la respuesta temporal a una entrada escaln, 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Sustitucin del encoder o


Relacin entre las rpm y los pulsos de los sensores o La resolucin mxima disponible es de 12 pulsos por vuelta, y teniendo o a 1 o en cuenta la velocidad nominal, con una reductora de ratio 53 la relacin rpmredmax rpmred 150 cuando Tm = 100ms es 155 = 0, 9677 tick . Lo que ofrece una ticksmax resolucin a la salida del 0, 6451%. Si muestreamos con un periodo de o 10ms la relacin asciende a 150 = 10 rpmred 6, 66%. o 15 tick Para no perder resolucin en el cambio de unidades, es recomendable o mantener el ratio lo ms bajo posible. Para una resolucin del 1% con la a o 1 reductora 53 requerir amos un encoder de aproximadamente 150 o 15 12 = 120 pulsos por revolucin (PPR). Con dos sensores y modo de 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

Introduccin o Lectura Actuacin o Control Visualizacin o Consideraciones nales

Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora

Optimizacin del controlador o


Estudio del tamao de palabra n Con el n de optimizar el uso de recursos, y as disminuir el tiempo de ejecucin, podemos realizar un estudio sobre la inuencia del tamao de o n palabra (word-length10 ). Un tamao de palabra que mantenga compromiso con n el rendimiento, reducir la lgica necesaria para realizar las operaciones del a o algoritmo, adems de reducir el uso de memoria. a Estructura interna del PID Con el n de optimizar la respuesta para poder ejecutar el lazo de control en un sistema digital con recursos de cmputo cr o ticos (sistema relativamente rpido), a podemos analizar las diferentes transformadas que permiten trabajar en el plano Z11 (Fordward dierence o Euler, Backward dierence, Tustin o bilinear) as como las estructuras y la forma de implementacin (estndar, 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 pblicamente la obra u remezclar transformar la obra hacer un uso comercial de esta obra Bajo las condiciones siguientes: reconocimiento debe reconocer los crditos 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/

Vous aimerez peut-être aussi