Está en la página 1de 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 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

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

4 Control
Controlador Normalizaci on

5 Visualizaci on
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Introducci on
Objetivos del proyecto Implementar en Labview 2010 (National Instruments) la l ogica de adquisici on, control y actuaci on para el control de velocidad en 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 on de la serie M (NI 6221) DC carbon-brush motor IG-22GM (6V) Two channel Hall eect encoder (SA, SB) Reductora
1 53

Puente H de 2A (Digilent PmodHB5TM)

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Tiempor Real
Caracter stica condicionante del dise no En el ambito del control se denomina tiempo real al funcionamiento temporalmente determinista de un sistema. Se aplica a todas aquellas plantas donde, adem as de c omo, es cr tico cu ando se realicen las acciones. Podemos decir que se trata de una caracter stica de ciertos sistemas que condiciona la programaci on y la especial atenci on que se debe prestar a los tiempos relativos de ejecuci on y de transferencia. No dene una estructura, ni algoritmo espec cos, ni dene requerimientos temporales concretos. Siendo as , los sistemas en tiempo real dependen de los requerimientos de la planta, orden andose por algunos autores en duro/rme/suave1 en funci on de los efectos que puede tener en su funcionamiento un incumplimiento de los l mites temporales establecidos. Otros autores2 realizan la ordenaci on en funci on de la relaci on entre el tiempo de ejecuci on y el tiempo de muestreo. El sistema a implementar ser a rme y de baja velocidad relativa..
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 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

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

4 Control
Controlador Normalizaci on

5 Visualizaci on
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Lectura

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Encoder incremental: modos de lectura

Grupo 8

Control de velocidad: Labview

9/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Encoder incremental: resoluci on


Dependiente del n umero de oricios y modo de lectura grados radianes
360o PPR

n modo: pulsos por vuelta (PPR)


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

2 PPR

Resoluci on disponible n: 3 modo: (X)4 PPR = 3 4 = 12 radianes


Grupo 8

grados

360o 34 2 34

= 30o = 6 rad

Control de velocidad: Labview

10/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Hardware de lectura: contador


La tarjeta de adquisici on de NI nos 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 conectar an a las entradas asociacadas al contador seleccionado para esta funci on espec ca: bornes 42 y 46, respectivamente.

Grupo 8

Control de velocidad: Labview

11/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Conguraci on del contador: sensor Z

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 ametros asociados, disponiendo valores constantes indiferentemente.

Grupo 8

Control de velocidad: Labview

12/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Conguraci on del contador: modo y par ametros de lectura


Indicamos el modo de lectura (X4), de acuerdo con los sensores disponibles y con el n de obtener la mayor resoluci on posible (que supondr a un mejor control). Leer emos el n umero de ticks (pulsos). Podr amos obtener directamente la conversi on en grados o radianes, para lo cual se vale del valor de Pulsos Por Revoluci on (PPR, en este caso 12). En nuestro caso, no utilizaremos ese par ametro en este apartado.
Grupo 8 Control de velocidad: Labview 13/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Referencias te oricas
Teorema de muestreo de Nyquist-Shannon La reconstrucci on exacta de una se nal peri odica continua en banda base a partir de sus muestras, es matem aticamente posible si la se nal est a limitada en banda y la tasa de muestreo es superior al 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 o, Jonkoping University, Sweden. Grupo 8 Control de velocidad: Labview 14/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Limitaci on del encoder


Frecuencia de muestreo te orica La frecuencia de muestreo te orica, la obtendr 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 as que la referencia de Nyquist-Shannon). Fs = 2 Fp Fm = 10 Fp Fm = 5 F s

Resoluci on pobre Debido a la baja resoluci on que nos ofrece el encoder, para periodos de muestreo menores a 100ms el error en la lectura hace impracticable el control.
Grupo 8 Control de velocidad: Labview 15/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Periodo de muestreo y adquisici on


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

Adquisici on
Se ha dispuesto un registro que almacenar a en cada iteraci on una u nica muestra (el valor del contador -ticks- en formato DBL). De esta forma dispondremos del valor actual y el valor de la iteraci on anterior, obteniendo la diferencia mediante el resto de ambos valores. El sentido de giro denir a si el contador incrementar a o decrementar a, y la velocidad en qu e medida lo har a.
Grupo 8 Control de velocidad: Labview 16/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Riesgos por overow / underow


Inestabilidad por errores de lectura El contador de la tarjeta de adquisici on no dispone de l ogica de detecci on de overow / underow, por lo que los errores de lectura provocados por estos eventos afectar an negativamente al control, pudiendo volver inestable el sistema al entrar en oscilaci on. Detecci on Deberemos identicar cu ando se da cualquiera de los dos eventos y realizar los ajustes necesarios en el algoritmo para minimixar en lo posible el efecto de estos.

Grupo 8

Control de velocidad: Labview

17/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Identicaci on de los eventos


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 s olo es menor al valor previo cuando se da overow. En sentido de giro negativo (0), a la inversa, el valor actual s olo es mayor que el valor previo cuando se da underow. Arranque en sentido negativo
Se da un error de lectura en la primera iteraci on siempre 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 on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Soluci on propuesta
Detecci on y correcci on Se propone una soluci on de identicaci on de eventos de tipo overow / underow y correcci on en la interpretaci on de las lecturas obtenidas, con el objetivo de omitir errores y no perder informaci on. Tama no del contador Como se expondr a a continuaci on, el u nico par ametro requerido ser a el tama no en bits del contador, para deducir el valor m aximo que podr a expresar (2n 1), a n de aplicar las correcciones adecuadas.
Grupo 8 Control de velocidad: Labview 19/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Diagrama de ujo general

L ogica de detecci on
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 nal de dos bits que codica las cuatro condiciones de funcionamiento del contador: correcto, err oneo por overow, err oneo por underow y parado.
Grupo 8 Control de velocidad: Labview 20/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on 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 a parado, se sustituye la lectura por una constante (0).
Grupo 8 Control de velocidad: Labview 21/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Cambio de sentido en r egimen permanente


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 l ogica de detecci on implementada identica estos estados como err oneos, corrigiendo indebidamente las lectura, e induciendo un error en la lectura, que a su vez puede conducir a la inestabilidad del sistema.

Soluci on propuesta
Desactivaremos la l ogica de detecci on y correci on overow/underow cuando se d e una orden de cambio de sentido, y volveremos a activara cuando el motor vuelva a entrar en r egimen permanente.
Grupo 8 Control de velocidad: Labview 22/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Cambio de sentido en r egimen permanente

Grupo 8

Control de velocidad: Labview

23/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Iteraci on k

La estructura CASE est a en TRUE. La l ogica overow/underow est a activa. sent giroact = sent giropre Se ha ordenado un cambio de sentido. Se DESECHA la correcci on y se toma la lectura en bruto. Se registra un FALSE para la siguiente iteraci on del CASE.

Grupo 8

Control de velocidad: Labview

24/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

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

La estructura CASE est a en FALSE. La l ogica overow/underow NO est a activa. 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 on del CASE.
Grupo 8 Control de velocidad: Labview 25/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

Iteraci on k+n

La estructura CASE est a en FALSE. La l ogica overow/underow NO est a activa. 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 on del CASE.
Grupo 8 Control de velocidad: Labview 26/ 71

Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

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

4 Control
Controlador Normalizaci on

5 Visualizaci on
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Actuaci on

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

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

Balance energ etico: DC vs PWM

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

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

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

PWM: resoluci on
Resoluci on PWM %Vn
1 PPC

Resoluci on

100

PPC =

Vn PPC

TPWM Tb

Por ejemplo 1 PPC : 4bits %Vn 2 4 100 = 6, 25% TB : 1ms Vn : 10v V 10 = 0, 625v 24
Grupo 8 Control de velocidad: Labview 30/ 71

Introducci on Lectura Actuaci on Control Visualizaci on 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 a detectar las variaciones en la se nal dentro de un periodo TPWM , no deber a detenerse en las fracciones en que est e a nivel bajo, sino que deber a tomar el periodo completo en su conjunto. FPWM > 2 Fp Fb > PPC 2 Fp El periodo completo como referencia No es suciente con garantizar Fb > 2 Fp y deberemos prestar atenci on a la hora de implementar la frecuencia base de generaci on de la se nal PWM.
Grupo 8 Control de velocidad: Labview 31/ 71

Introducci on Lectura Actuaci on Control Visualizaci on 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

Introducci on Lectura Actuaci on Control Visualizaci on 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

Introducci on Lectura Actuaci on Control Visualizaci on 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 transici on de DIR = 0 a DIR = 1, debido al 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 on. Esto conlleva el cortocircuito de todos ellos, con el consiguiente riesgo de que se quemen.
Grupo 8 Control de velocidad: Labview 34/ 71

Introducci on Lectura Actuaci on Control Visualizaci on 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 transici on de DIR = 1 a DIR = 0, debido al 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 on Lectura Actuaci on Control Visualizaci on 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 se nales EN y DIR, a generar seg un los resultados de la l ogica de control. Como el encoder nos impide establecer Tm = 10 Tp , no podemos utilizar TPWM = Tm , lo cual generar a un ciclo completo PWM por periodo de muestreo. En su lugar, establecemos la constante PWMPTs que indica el no de ciclos completos PWM que se generar an en Tm .
El valor real TPWM depender a de los errores inducidos por las limitaciones de c omputo: Tm TPWM = PWMPTs

Tb (s ) =

Tm (ms ) PWMPTs

PPC

1000

Grupo 8

Control de velocidad: Labview

36/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

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

Generaci on PWM punto a punto

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

Generaci on se nal EN En un bucle de alta prioridad con un periodo de iteraci on Tb se 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 s olo se comprueba al inicio de cada periodo PWM.
5 THIGH
TPWM

Grupo 8

Control de velocidad: Labview

37/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

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

Cambio de sentido: anulaci on de glitches


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

Detecci on de cambio Se registra el signo del la se nal de control y se comparan al inicio de cada periodo PWM el estado actual y el de la iteraci on anterior.

Grupo 8

Control de velocidad: Labview

38/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

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

Cambio de sentido: forzado de EN durante la transici on


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 on anterior (invariable). En la siguiente iteraci on se vuelve a 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 m as cambios, el bucle vuelve a TRUE y se ejecuta un nuevo periodo PWM.

Grupo 8

Control de velocidad: Labview

39/ 71

Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

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

4 Control
Controlador Normalizaci on

5 Visualizaci on
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Control

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Controlador Normalizaci on

Controlador: PID
Controlador Mecanismo de control por realimentaci on que calcula la desviaci on o error entre un valor medido y el valor que se quiere obtener, para aplicar una acci on 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 se nal resultante (denominada de error). Algoritmo El algoritmo utilizado, cuya denominaci on es autoexplicativa, es el Proporcional Integral Derivativo (PID). Realiza las tres acciones por separado sobre la se nal de error y las pondera seg un las constantes dadas: Kp , Ki y Kd .

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

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Controlador Normalizaci on

Controlador: PID
Un bloque integra el c alculo de la se nal de error a partir de las 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 ogica de actuaci on espera un rango cien veces menor, se ha a nadido un divisor a la salida. Tiempo discreto Como nuestro sistema de control est a ejecut andose en un PC, el PID es discreto, diferente del que se muestra a la derecha (continuo). Sin embargo, el dise no y la velocidad de ejecuci on nos permiten asumir que la respuesta ser a igual. Tiempo de ejecuci on Para poder asumir que el funcionamiento es igual al de un controlador continuo, el tiempo de ejecuci on deber a ser al menos dos ordenes de magnitud menor que Tm .
Grupo 8 Control de velocidad: Labview 43/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Controlador Normalizaci on

Normalizaci on: formula node


Para que el algoritmo de control pueda actuar correctamente la escala de las entradas deber a ser la misma (generalmente 0 1, dicho de otra manera, % con respecto al m aximo). Fondo de escala Para normalizar las entradas dividiremos la lectura en cada iteraci on 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 on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Controlador Normalizaci on

Normalizaci on: consigna o variable de referencia


M odulo y signo, por separado El usuario controlar a por separado la velocidad y el sentido de giro, en lugar de disponer de un u nico controlador que integre ambas variables. Signo Del bloque de normalizaci on obtenemos el m odulo del setpoint con signo positivo (spt) y negativo (spf). A partir del selector booleano del panel, mediante un bloque select, haremos llegar una de las dos se nales a la entrada correspondiente del controlador.

Grupo 8

Control de velocidad: Labview

45/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Controlador Normalizaci on

Normalizaci on: consigna o variable de referencia


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

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Controlador Normalizaci on

Normalizaci on: velocidad angular o variable del sistema


A partir de la velocidad nominal de giro del eje del motor y teniendo en cuenta el n umero de sensores y modo de lectura (con ello Pulsos Por Revoluci on), adem as de Tm , obtendremos la diferencia te orica m axima entre dos lecturas del contador: difcont (k ) = lectcont (k ) lectcont (k 1) difcont (k ) variablePID (k ) = difcontmax 1 PPR Tm (s ) difcontmax = ejerpmmax 60 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 m axima es 155 y no 160. Esto puede deberse a la ca da de tensi on en los transistores, reduciendo la alimentaci on del motor ligeramente por debajo de la nominal.

Grupo 8

Control de velocidad: Labview

47/ 71

Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

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

4 Control
Controlador Normalizaci on

5 Visualizaci on
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Visualizaci on

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Bucle de baja prioridad Panel

Diagrama de bloques: visualizaci on (Labview)

Baja prioridad Como las funciones de visualizaci on no son cr ticas en el control, estas se han implementado en un bucle WHILE temporizado (T = Act.graf.) de baja prioridad. Garantizando as que las acciones de lectura, control y actuaci on se realizar an en tiempo real. Se emplear an los ciclos de m aquina restantes para las funciones de este apartado.
Grupo 8 Control de velocidad: Labview 50/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Bucle de baja prioridad Panel

Visualizaci on: array de tama no jo

La estructura principal la compone un array bidimensional (2x200) que se inicializa con todos sus registros a cero. En cada iteraci on se extraen los 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 aco del tipo waveform graph, y el efecto resultante es que todos los elementos se desplazan una posici on, desech andose el m as antiguo e incluy endose la u ltima lectura en el hueco que queda libre.
Grupo 8 Control de velocidad: Labview 51/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Bucle de baja prioridad Panel

Visualizaci on: escalado de las variables


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

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Bucle de baja prioridad Panel

Visualizaci on: sentido de giro


Visualizaci on: variables absolutas Puesto que ambas variables son bipolares y el m odulo es el mismo tanto para valores positivos como negativos, se muestran los valores absolutos. De esta forma duplicamos la resoluci on efectiva en el gr aco.

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

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Bucle de baja prioridad Panel

Visualizaci on: panel

Grupo 8

Control de velocidad: Labview

54/ 71

Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow

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

4 Control
Controlador Normalizaci on

5 Visualizaci on
Bucle de baja prioridad Panel

6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Generaci on PWM punto por punto


Mayor requerimiento en tiempo de ejecuci on La elecci on de implementar la l ogica de generaci on de la se nal PWM punto por punto supone que la l ogica de actuaci on deber a realizar al menos una acci on cada Tb . Siendo Tb << Tm , esto supone cargar m as al software que generando la se nal mediante un contador de la tarjeta de adquisici on. En este caso no es un problema, pues las especicaciones del hardware sobre el que se ejecuta la l ogica de control son muy superiores a las requeridas por el sistema. Sin embargo, con recursos m as limitados (con una se nal ejecuci on m axima de Tm > T > Tb ) esta soluci on no ser a aplicable. periodo 100
Grupo 8 Control de velocidad: Labview 56/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Generaci on PWM punto por punto


Mayor rango de actuaci on La generaci on de la se nal PWM mediante un contador integrado en la tarjeta imposibilita la elecci on de todo el rango de duty cycle, disponiendo de (0, 1] o [0, 1) si utilizamos la resoluci on m axima disponible. Esto se debe a que se emplea un contador 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 a la respuesta 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 l ogico bajo, y una referencia de valor PPC general un valor l ogico alto.
Grupo 8 Control de velocidad: Labview 57/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Generaci on PWM punto por punto


Actualizaci on simult anea Puesto que escribimos los valores de EN y DIR al mismo tiempo, y actuamos en ambas l neas en cada iteraci on, podemos reducir al m nimo el tiempo requerido para el cambio de sentido (la detecci on y una adicional). En caso de usar el contador integrado en la tarjeta, deber amos detener la generaci on para realizar el cambio, y volver a iniciar la tarea. Proceso que requerir a m as tiempo. Otras codicaciones La caracter stica anterior permite reutilizar el sistema y alterando u nicamente el proceso de comparaci on del contador con PPC usar otros algoritmos, como por ejemplo 7 .
7 http://en.wikipedia.org/wiki/Delta-sigma_modulation Grupo 8 Control de velocidad: Labview 58/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Tiempo de ejecuci on
Fuera de rango Obteniendo los tiempos de ejecuci on de los bucles temporizados desde la adquisici on hasta la generaci on de la se nal PWM con un reloj de 1ms de periodo, la diferencia indicada es cero. Aunque no conocemos el tiempo de ejecuci on concreto, s podemos garantizar que es al menos dos ordenes de magnitud menor que el periodo de muestreo, cumpli endose la llamada regla de causalidad.

Grupo 8

Control de velocidad: Labview

59/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Bornes +5v de la tarjeta


Para alimentar el puente H y as poder amplicar las se nales de los sensores mediante los Schmitt trigger estos requieren una tensi on 2, 5 5v . Comprobamos con un volt metro que los bornes (8, 14) de la tarjeta de adquisici on correspondientes a una tensi on 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 l ogico alto.

Grupo 8

Control de velocidad: Labview

60/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas 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 funci on de cu al haya sido el u ltimo valor escrito en la salida EN , esta puede quedar activa, haciendo girar el motor a su velocidad nominal. Cierre secuencial Volviendo a actuar sobre la l nea correspondiente, podemos desactivarla, deteniendo el motor. La forma m as r apida consiste en volver a ejecutar el programa, estableciendo una consigna de valor cero. En la primera iteraci on la l ogica de lectura escribir a un valor l ogico bajo, deteniendo el motor.

Grupo 8

Control de velocidad: Labview

61/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Uso de variables compartidas


Para transferir la salida del PID (duty cycle) a la entrada de la l ogica de actuaci on, se ha utilizado una variable compartida. Desconocemos las secuencias internas de Labview que realizan la actualizaci on de dicha variable y, a un conoci endolas, no podemos interceder. Tiempo de transferencia Para poder garantizar program aticamente que el sistema trabaja en Tiempo Real, deberemos calcular el tiempo que tardan en transferirse los cambios efectuados sobre dicha variable. Este, junto con el tiempo de ejecuci on del bucle de lectura, nos permitir a calcular el tiempo de ejecuci on del algoritmo.

Grupo 8

Control de velocidad: Labview

62/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Separaci on de la lectura y el control


La l ogica de lectura y la de control est an en un mismo bucle. La de actuaci on se encuentra en otro diferente. Dadas las caracter sticas de nuestro sistema, la prioridad de ejecuci on de mayor a menor deber a ser: lectura (adquisici on del valor del contador), actuaci on (modicaciones en EN y DIR ), control (ejecuci on del algoritmo). La lectura siempre debe tener la mayor prioridad, pues del determinismo en la misma depende la consecuci on del control en Tiempo Real. Inmediatamente despu es deber a garantizarse la actualizaci on determinista de las salidas. La ejecuci on del algoritmo de control no se comunica con la planta. Divisi on en tres bucles 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 axima prioridad, y reduciendo la del segundo por debajo del bucle de actuaci on.

Grupo 8

Control de velocidad: Labview

63/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Determinar el tiempo de ejecuci on


Estimaci on estad stica Puesto que el controlador implementado es del tipo multi-rate, al funcionar con dos frecuencias diferentes (Fm y Fb ), y estar estas ligeramente desincronizadas, adem as de utilizar una variable compartida, deberemos realizar un an alisis preciso para determinar el tiempo de ejecuci on del algoritmo de control (desde que se realiza una lectura hasta que se actualiza la salida como causa de la entrada). Labview provee la herramienta Real Time Execution Trace Toolkit que nos permitir a trazar la ejecuci on de los diferentes bucles, permiti endonos seguir el progreso de una variaci on en la entrada. Experimentalmente podremos medir el rango de tiempos y estad sticamente determinar el m as probable.

Grupo 8

Control de velocidad: Labview

64/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Determinar el tiempo de ejecuci on


Omitiendo el retardo de la variable compartida Asumiendo que no hay retardo en la transferencia de la variable, el valor del duty cycle estar a disponible a la entrada del bucle de generaci on PWM tan pronto como el PID actualiza su salida8 . En la mejor situaci on, el ciclo PWM habr a terminado en el instante anterior, y la transferencia ser a instant anea, siendo el tiempo de ejecuci on el del bucle de lectura y control. En el peor caso, el ciclo PWM habr a empezado en el instante anterior, por lo que deberemos esperar TPWM . A lo que deberemos sumar el tiempo de ejecuci on del bucle de lectura y control.

8 Se ha considerado la escritura del primer punto como referencia. Podr a tomarse el u ltimo punto del ciclo completo, debiendo sumar TPWM a los valores indicados Grupo 8 Control de velocidad: Labview 65/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Determinar el tiempo de ejecuci on


Determinar el retardo de la variable compartida Introduciremos el instante de ejecuci on dado por el bucle de lectura y control, previa modicaci on del formato, en la variable compartida. En el bucle de actuaci on guardaremos el valor le do, junto con el instante del propio bucle. De entre los datos registrados de la variable cada valor se repetir a 9 . Cuando se detecte un cambio, el tiempo de m veces TT PWM transferencia se obtendr a restando los valores de las dos l neas en la columna del nuevo valor.
9

La variaci on depender a de la diferencia entre los tiempos de la transferencia de dos iteraciones consecutivas. Grupo 8 Control de velocidad: Labview 66/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Zona muerta del motor


El motor requiere una alimentaci on m nima para superar las p erdidas en el hierro y en el cobre, por lo que hay un rango de tensiones (por consiguiente de duty-cycle) en las que el motor, pese a estar alimentado, no gira. Modelizaci on de la zona muerta Para evitar un consumo ineciente de energ a (alimentar el motor y que est e parado), podemos modelar la zona muerta e impedir que 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 on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Ajuste (tunning) del controlador


La respuesta del sistema depender a de la funci on de transferencia de la planta y de la del PID. Esta segunda, pese a tener una estructura ja, var a seg un los par ametros Kp , Ki y Kd . Como el objetivo de este proyecto era dise nar el sistema de control, y no que este fuera optimo, se ha realizado un ajuste b asico, obteniendo un controlador principalmente proporcional, con un peque no factor integrador para anular el error en r egimen permanente, y sin funci on derivativa (un mal ajuste puede dar problemas en r egimen transitorio, conduciendo a inestabilidad) Ajuste o ptimo Para lograr un control o ptimo (m nimo tiempo de subida y establecimiento, m nimo rebose, error nulo en r egimen permanente...) podemos ajustar el controlador a partir de pruebas experimentales en lazo abierto del sistema (la respuesta temporal a una entrada escal on, por ejemplo), o utilizar algoritmos iterativos que a partir del modelo obtengan valores de referencia para las tres constantes.
Grupo 8 Control de velocidad: Labview 68/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Sustituci on del encoder


Relaci on entre las rpm y los pulsos de los sensores La resoluci on m axima disponible es de 12 pulsos por vuelta, y teniendo 1 la relaci on en cuenta la velocidad nominal, con una reductora de ratio 53 rpmredmax rpmred 150 = 0 , 9677 . Lo que ofrece una cuando T = 100 ms es m ticksmax 155 tick resoluci on a la salida del 0, 6451%. Si muestreamos con un periodo de rpmred 10ms la relaci on asciende a 150 15 = 10 tick 6, 66%. Para no perder resoluci on en el cambio de unidades, es recomendable mantener el ratio lo m as bajo posible. Para una resoluci on del 1% con la 1 reductora 53 requerir amos un encoder de aproximadamente 150 on (PPR). Con dos sensores y modo de 15 12 = 120 pulsos por revoluci lectura X4, se requerir a un disco de 30 aspas. Este cambio nos permitir a realizar un control mejor respetando los requerimientos temporales de la planta.
Grupo 8 Control de velocidad: Labview 69/ 71

Introducci on Lectura Actuaci on Control Visualizaci on Consideraciones nales

Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora

Optimizaci on del controlador


Estudio del tama no de palabra Con el n de optimizar el uso de recursos, y as disminuir el tiempo de ejecuci on, podemos realizar un estudio sobre la inuencia del tama no de palabra (word-length10 ). Un tama no de palabra que mantenga compromiso con el rendimiento, reducir a la l ogica necesaria para realizar las operaciones del algoritmo, adem as de reducir el uso de memoria. 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 c omputo cr ticos (sistema relativamente r apido), 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 implementaci on (est andar, serie, directa, 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 ublicamente la obra remezclar transformar la obra hacer un uso comercial de esta obra Bajo las condiciones siguientes: reconocimiento debe reconocer los cr editos de la obra haciendo 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/

También podría gustarte