Вы находитесь на странице: 1из 71

Control de velocidad de un motor CC: NI Labview

U. Martnez 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 Actuacion
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
4 Control
Controlador
Normalizacion
5 Visualizacion
Bucle de baja prioridad
Panel
6 Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Introduccion
Objetivos del proyecto
Implementar en Labview 2010 (National Instruments) la logica de
adquisicion, control y actuacion 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 adquisicion 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)
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Tiempor Real
Caracterstica 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, ademas de
como, es crtico cuando se realicen las acciones.
Podemos decir que se trata de una caracterstica de ciertos sistemas que condiciona la
programacion y la especial atencion que se debe prestar a los tiempos relativos de
ejecucion y de transferencia. No dene una estructura, ni algoritmo especcos, ni
dene requerimientos temporales concretos.
Siendo as, los sistemas en tiempo real dependen de los requerimientos de la planta,
ordenandose por algunos autores en duro/rme/suave
1
en funcion de los efectos que
puede tener en su funcionamiento un incumplimiento de los lmites temporales
establecidos. Otros autores
2
realizan la ordenaci on en funcion de la relacion entre el
tiempo de ejecucion y el tiempo de muestreo.
El sistema a implementar sera rme y de baja velocidad relativa..
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 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 Actuacion
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
4 Control
Controlador
Normalizacion
5 Visualizacion
Bucle de baja prioridad
Panel
6 Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Lectura
Introduccion
Lectura
Actuacion
Control
Visualizacion
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
Introduccion
Lectura
Actuacion
Control
Visualizacion
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
360
o
PPR
radianes
2
PPR

n modo: pulsos por vuelta (PPR)


n: n umero de oricios modo: (X)1, (X)2, (X)4
Resolucion disponible
n: 3 modo: (X)4
PPR = 3 4 = 12

grados
360
o
34
= 30
o
radianes
2
34
=

6
rad

Grupo 8 Control de velocidad: Labview 10/ 71


Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Hardware de lectura: contador
La tarjeta de adquisicion 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 conectaran a las entradas
asociacadas al contador seleccionado
para esta funcion especca: bornes
42 y 46, respectivamente.
Grupo 8 Control de velocidad: Labview 11/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
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
parametros asociados,
disponiendo valores constantes
indiferentemente.
Grupo 8 Control de velocidad: Labview 12/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Conguraci on del contador: modo y parametros de lectura
Indicamos el modo de lectura (X4),
de acuerdo con los sensores
disponibles y con el n de obtener la
mayor resolucion posible (que
supondra un mejor control).
Leeremos el n umero de ticks
(pulsos). Podramos obtener
directamente la conversion en
grados o radianes, para lo cual se
vale del valor de Pulsos Por
Revolucion (PPR, en este caso 12).
En nuestro caso, no utilizaremos ese
parametro en este apartado.
Grupo 8 Control de velocidad: Labview 13/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Referencias teoricas
Teorema de muestreo de Nyquist-Shannon
La reconstruccion exacta de una se nal periodica continua en banda
base a partir de sus muestras, es matematicamente posible si la
se nal esta limitada en banda y la tasa de muestreo es superior al
doble de su ancho de banda
3 4
.
Valores de muestreo en aplicaciones de control
En control se utilizan frecuencias que multiplican entre 5 y 15 la
frecuencia de Nyquist-Shannon (F
s
).
3
http://es.wikipedia.org/wiki/Teorema_de_muestreo_de_Nyquist-Shannon
4
Digital Sampling According to Nyquist and Shannon. Thomas L. Lago, Jonkoping University, Sweden.
Grupo 8 Control de velocidad: Labview 14/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Limitacion del encoder
Frecuencia de muestreo teorica
La frecuencia de muestreo teorica, la obtendramos analizando el
ancho de banda de la planta de forma experimental (obteniendo
F
p
) y estableciendo una frecuencia de muestreo (F
m
) 10 veces
mayor (5 mas que la referencia de Nyquist-Shannon).
F
s
= 2 F
p
F
m
= 10 F
p
F
m
= 5 F
s
Resolucion pobre
Debido a la baja resolucion 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
Introduccion
Lectura
Actuacion
Control
Visualizacion
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).
Adquisicion
Se ha dispuesto un registro que almacenara en cada iteracion una unica
muestra (el valor del contador -ticks- en formato DBL). De esta forma
dispondremos del valor actual y el valor de la iteracion anterior,
obteniendo la diferencia mediante el resto de ambos valores.
El sentido de giro denira si el contador incrementara o decrementara, y
la velocidad en que medida lo hara.
Grupo 8 Control de velocidad: Labview 16/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
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 adquisicion no dispone de logica de
deteccion de overow / underow, por lo que los errores de lectura
provocados por estos eventos afectaran negativamente al control,
pudiendo volver inestable el sistema al entrar en oscilacion.
Deteccion
Deberemos identicar cuando 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
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Identicaci on de los eventos
sent giro 1 sent giro 0
act pre act pre
50 0 206 0
100 50 156 206
150 100 106 156
200 150 56 106
250 200 6 56
44 250 212 6
94 44 162 212
144 94 112 162
194 144 62 112
244 194 12 62
38 244 218 12
Ejemplo para un contador de 8 bits.
En sentido de giro positivo (1), el
valor actual solo es menor al valor
previo cuando se da overow.
En sentido de giro negativo (0), a la
inversa, el valor actual solo es mayor
que el valor previo cuando se da
underow.
Arranque en sentido negativo
Se da un error de lectura en la primera iteracion siempre
que el sistema se inicia con sent giro negativo, que
impide el control del mismo
Grupo 8 Control de velocidad: Labview 18/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Soluci on propuesta
Deteccion y correccion
Se propone una solucion de identicacion de eventos de tipo
overow / underow y correccion en la interpretacion de las
lecturas obtenidas, con el objetivo de omitir errores y no perder
informacion.
Tama no del contador
Como se expondra a continuacion, el unico parametro requerido
sera el tama no en bits del contador, para deducir el valor maximo
que podra expresar (2
n
1), a n de aplicar las correcciones
adecuadas.
Grupo 8 Control de velocidad: Labview 19/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Diagrama de ujo general
Logica de deteccion
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, erroneo por overow, erroneo por underow y parado.
Grupo 8 Control de velocidad: Labview 20/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
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 2
n
1 a la lectura.
2: se ha detectado underow, se resta 2
n
1 a la lectura.
3: el motor esta parado, se sustituye la lectura por una
constante (0).
Grupo 8 Control de velocidad: Labview 21/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Cambio de sentido en regimen permanente
Conicto con el detector overow / underow
Como F
m
= 10 F
p
, 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 logica de deteccion 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.
Solucion propuesta
Desactivaremos la logica de deteccion y correcion overow/underow
cuando se de una orden de cambio de sentido, y volveremos a activara
cuando el motor vuelva a entrar en regimen permanente.
Grupo 8 Control de velocidad: Labview 22/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Cambio de sentido en regimen permanente
Grupo 8 Control de velocidad: Labview 23/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Iteraci on k
La estructura CASE esta en TRUE.
La l ogica overow/underow esta activa.
sent giro
act
= sent giro
pre
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 iteracion del CASE.
Grupo 8 Control de velocidad: Labview 24/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Iteraciones k+1 ... k+n-1
La estructura CASE esta en FALSE.
La l ogica overow/underow NO esta activa.
sent giro
act
= sent giro
pre
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 iteracion del CASE.
Grupo 8 Control de velocidad: Labview 25/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici on
Overow / Underow
Iteraci on k+n
La estructura CASE esta en FALSE.
La l ogica overow/underow NO esta activa.
sent giro
act
= sent giro
pre
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 Actuacion
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
4 Control
Controlador
Normalizacion
5 Visualizacion
Bucle de baja prioridad
Panel
6 Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Actuaci on
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
Balance energetico: DC vs PWM

T
0
V
n
2
=

T/2
0
V
n
+

T
T/2
0

T
0
3
4
V
n
=
3
4
T
0
V
n
+

T
3
4
T
0
Grupo 8 Control de velocidad: Labview 29/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
PWM: resolucion
Resolucion PWM
Resolucion

%V
n

1
PPC
100
V
V
n
PPC

PPC =
T
PWM
T
b
Por ejemplo
PPC : 4bits
T
B
: 1ms
V
n
: 10v

%V
n

1
2
4
100 = 6, 25%
V
10
2
4
= 0, 625v
Grupo 8 Control de velocidad: Labview 30/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
PWM: frecuencia
F
PWM
, F
b
y F
p
La planta no debera detectar las variaciones en la se nal dentro de
un periodo T
PWM
, no debera detenerse en las fracciones en que
este a nivel bajo, sino que debera tomar el periodo completo en su
conjunto.
F
PWM
> 2 F
p
F
b
> PPC 2 F
p
El periodo completo como referencia
No es suciente con garantizar F
b
> 2 F
p
y deberemos prestar
atencion a la hora de implementar la frecuencia base de generacion
de la se nal PWM.
Grupo 8 Control de velocidad: Labview 31/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
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
Introduccion
Lectura
Actuacion
Control
Visualizacion
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
Introduccion
Lectura
Actuacion
Control
Visualizacion
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 transicion 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 conduccion. Esto conlleva
el cortocircuito de todos ellos, con el consiguiente riesgo de que se
quemen.
Grupo 8 Control de velocidad: Labview 34/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
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 transicion 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
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
Canal fsico y T
b
Se conguran como salida dos lneas 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 logica de control.
El valor real T
PWM
dependera de los errores
inducidos por las limitaciones de c omputo:
T
PWM
=
T
m
PWMPTs
Como el encoder nos impide establecer
T
m
= 10 T
p
, no podemos utilizar T
PWM
= T
m
,
lo cual generara un ciclo completo PWM por
periodo de muestreo. En su lugar, establecemos
la constante PWMPTs que indica el n
o
de
ciclos completos PWM que se generaran en T
m
.
T
b
(s) =
T
m
(ms)
PWMPTs
PPC
1000
Grupo 8 Control de velocidad: Labview 36/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
Generaci on PWM punto a punto
clk pwm T
clk
= T
b
max pwm : PPC 1
ref pwm : duty cycle PPC
Generacion se nal EN
En un bucle de alta prioridad con un periodo de iteracion T
b
se
implementa un contador de 1 a PPC y se compara la salida con la
constante denida por el duty-cycle
5
(0 1 , 0 100%, 0 PPC).
Dicha constante solo se comprueba al inicio de cada periodo PWM.
5 T
HIGH
T
PWM
Grupo 8 Control de velocidad: Labview 37/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
Cambio de sentido: anulacion de glitches
Solucion propuesta
Para impedir que los glitches afecten al funcionamiento y evitar el
riesgo de quemar el circuito, impediremos que EN este activa
cuando se cambie el estado de DIR.
Deteccion 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 iteracion anterior.
Grupo 8 Control de velocidad: Labview 38/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
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 lnea EN,
escribiendo al mismo tiempo el valor
DIR de la iteracion anterior (invariable).
En la siguiente iteracion se vuelve a
forzar la escritura del valor FALSE en la
lnea 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 mas 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 Actuacion
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
4 Control
Controlador
Normalizacion
5 Visualizacion
Bucle de baja prioridad
Panel
6 Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Control
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Controlador
Normalizacion
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 accion
correctora que ajuste el proceso
6
.

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: K
p
, K
i
y K
d
.
6
http://es.wikipedia.org/wiki/Proporcional_integral_derivativo
Grupo 8 Control de velocidad: Labview 42/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Controlador
Normalizacion
Controlador: PID
Un bloque integra el calculo 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 logica de actuacion espera un rango cien veces menor, se ha
a nadido un divisor a la salida.
Tiempo discreto
Como nuestro sistema de control esta
ejecutandose 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 ejecucion nos permiten asumir
que la respuesta sera igual.
Tiempo de ejecucion
Para poder asumir que el funcionamiento es igual al de un controlador continuo, el
tiempo de ejecucion debera ser al menos dos ordenes de magnitud menor que T
m
.
Grupo 8 Control de velocidad: Labview 43/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Controlador
Normalizacion
Normalizaci on: formula node
Para que el algoritmo de control pueda actuar correctamente la escala de
las entradas debera ser la misma (generalmente 0 1, dicho de otra
manera, % con respecto al maximo).
Fondo de escala
Para normalizar las entradas dividiremos la lectura en cada iteracion
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
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Controlador
Normalizacion
Normalizaci on: consigna o variable de referencia
Modulo y signo, por separado
El usuario controlara por separado la
velocidad y el sentido de giro, en lugar
de disponer de un unico controlador
que integre ambas variables.
Signo
Del bloque de normalizacion obtenemos el modulo 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
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Controlador
Normalizacion
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:
consigna
PID
(k) =
consigna
rpm
(k)
consigna
rpm
max
consigna
rpm
max
= eje
rpm
max
ratio
red
En nuestro caso
eje
rpm
max
: 8000
ratio
red
:
1
53

consigna
rpm
max
150
Grupo 8 Control de velocidad: Labview 46/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Controlador
Normalizacion
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),
ademas de T
m
, obtendremos la diferencia te orica maxima entre dos lecturas del
contador:
variable
PID
(k) =
dif
cont
(k)
dif
cont
max

dif
cont
(k) = lect
cont
(k) lect
cont
(k 1)
dif
cont
max
= eje
rpm
max

1
60

PPR
1
T
m
(s)
En nuestro caso
eje
rpm
max
: 8000 PPR : 3 4
T
m
: 100ms 0, 1s

dif
cont
max
=
8000 12
60
0, 1 = 160
ticks
T
m
Hemos comprobado experimentalmente que la lectura maxima es 155 y no 160. Esto puede deberse a la cada de
tension en los transistores, reduciendo la alimentacion 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 Actuacion
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
4 Control
Controlador
Normalizacion
5 Visualizacion
Bucle de baja prioridad
Panel
6 Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Visualizacion
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Bucle de baja prioridad
Panel
Diagrama de bloques: visualizacion (Labview)
Baja prioridad
Como las funciones de visualizaci on no son crticas 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
realizaran en tiempo real. Se emplearan los ciclos de maquina restantes para las
funciones de este apartado.
Grupo 8 Control de velocidad: Labview 50/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Bucle de baja prioridad
Panel
Visualizacion: 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 lnea en la columna 0, y los elementos extrados en las
posiciones 1-200.
El array se muestra directamente por medio de un graco del tipo waveform
graph, y el efecto resultante es que todos los elementos se desplazan una
posicion, desechandose el mas antiguo e incluyendose la ultima lectura en el
hueco que queda libre.
Grupo 8 Control de velocidad: Labview 51/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Bucle de baja prioridad
Panel
Visualizacion: escalado de las variables
Las dos lneas 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.
consigna
array
=
consigna
rpm
consigna
rpm
max
100 [%]
reductora
array
=
dif
contador
PPR
60
1
T
m
(s)
ratio
red
[rpm]
Grupo 8 Control de velocidad: Labview 52/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Bucle de baja prioridad
Panel
Visualizacion: sentido de giro
Visualizacion: variables absolutas
Puesto que ambas variables son bipolares y el modulo es el mismo tanto
para valores positivos como negativos, se muestran los valores absolutos.
De esta forma duplicamos la resolucion efectiva en el graco.
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 explcitamente el signo
de la consigna, pues es el propio usuario quien
la establece.
Grupo 8 Control de velocidad: Labview 53/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Bucle de baja prioridad
Panel
Visualizacion: 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 Actuacion
Pulse Width Modulation (PWM)
Puente-H
Recursos hardware: puerto digital
Cambio de sentido
4 Control
Controlador
Normalizacion
5 Visualizacion
Bucle de baja prioridad
Panel
6 Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Generaci on PWM punto por punto
Mayor requerimiento en tiempo de ejecucion
La eleccion de implementar la logica de generacion de la se nal
PWM punto por punto supone que la logica de actuacion debera
realizar al menos una accion cada T
b
. Siendo T
b
<< T
m
, esto
supone cargar mas al software que generando la se nal mediante un
contador de la tarjeta de adquisicion.
En este caso no es un problema, pues las especicaciones del
hardware sobre el que se ejecuta la logica de control son muy
superiores a las requeridas por el sistema. Sin embargo, con
recursos mas limitados (con una se nal ejecucion maxima de
periodo
T
m
100
> T > T
b
) esta solucion no sera aplicable.
Grupo 8 Control de velocidad: Labview 56/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Generaci on PWM punto por punto
Mayor rango de actuacion
La generacion de la se nal PWM mediante un contador integrado en la tarjeta
imposibilita la eleccion de todo el rango de duty cycle, disponiendo de (0, 1] o [0, 1) si
utilizamos la resolucion maxima disponible. Esto se debe a que se emplea un contador
binario de n bits, por lo que a su salida tendremos (0, 2
n
]. Esa salida se compara con
la referencia. Usemos un comparador o <, uno de los lmites no dara la respuesta
esperada. Analizamos tanto el lmite 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 logico bajo, y una referencia de valor PPC
general un valor logico alto.
Grupo 8 Control de velocidad: Labview 57/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Generaci on PWM punto por punto
Actualizacion simultanea
Puesto que escribimos los valores de EN y DIR al mismo tiempo, y
actuamos en ambas lneas en cada iteracion, podemos reducir al mnimo
el tiempo requerido para el cambio de sentido (la deteccion y una
adicional). En caso de usar el contador integrado en la tarjeta,
deberamos detener la generacion para realizar el cambio, y volver a
iniciar la tarea. Proceso que requerira mas tiempo.
Otras codicaciones
La caracterstica anterior permite reutilizar el sistema y alterando
unicamente el proceso de comparacion 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
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Tiempo de ejecuci on
Fuera de rango
Obteniendo los tiempos de ejecucion de los bucles temporizados
desde la adquisicion hasta la generacion de la se nal PWM con un
reloj de 1ms de periodo, la diferencia indicada es cero.
Aunque no conocemos el tiempo de ejecucion concreto, s podemos
garantizar que es al menos dos ordenes de magnitud menor que el
periodo de muestreo, cumpliendose la llamada regla de causalidad.
Grupo 8 Control de velocidad: Labview 59/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
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 tension
2, 5 5v. Comprobamos con un voltmetro que los bornes (8, 14)
de la tarjeta de adquisicion correspondientes a una tension
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).
Lnea digital adicional
Se ha utilizado una lnea (linea2, borne 49) del mismo puerto
digital y se ha jado manualmente a un valor logico alto.
Grupo 8 Control de velocidad: Labview 60/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
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 funcion de cual haya sido el ultimo 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 lnea correspondiente, podemos desactivarla,
deteniendo el motor. La forma mas rapida consiste en volver a ejecutar el
programa, estableciendo una consigna de valor cero. En la primera
iteracion la logica de lectura escribira un valor logico bajo, deteniendo el
motor.
Grupo 8 Control de velocidad: Labview 61/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Uso de variables compartidas
Para transferir la salida del PID (duty cycle) a la entrada de la logica de
actuacion, se ha utilizado una variable compartida. Desconocemos las
secuencias internas de Labview que realizan la actualizacion de dicha
variable y, a un conociendolas, no podemos interceder.
Tiempo de transferencia
Para poder garantizar programaticamente 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
ejecucion del bucle de lectura, nos permitira calcular el tiempo de
ejecucion del algoritmo.
Grupo 8 Control de velocidad: Labview 62/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Separaci on de la lectura y el control
La logica de lectura y la de control estan en un mismo bucle. La de actuacion se
encuentra en otro diferente. Dadas las caractersticas de nuestro sistema, la prioridad
de ejecucion de mayor a menor debera ser: lectura (adquisici on del valor del
contador), actuacion (modicaciones en EN y DIR), control (ejecucion del algoritmo).
La lectura siempre debe tener la mayor prioridad, pues del determinismo en la misma
depende la consecucion del control en Tiempo Real. Inmediatamente despues debera
garantizarse la actualizacion determinista de las salidas. La ejecucion del algoritmo de
control no se comunica con la planta.
Division 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 maxima prioridad, y reduciendo la del segundo por debajo del bucle de
actuacion.
Grupo 8 Control de velocidad: Labview 63/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Determinar el tiempo de ejecucion
Estimacion estadstica
Puesto que el controlador implementado es del tipo multi-rate, al
funcionar con dos frecuencias diferentes (F
m
y F
b
), y estar estas
ligeramente desincronizadas, ademas de utilizar una variable compartida,
deberemos realizar un analisis preciso para determinar el tiempo de
ejecucion 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 permitira trazar la ejecucion de los diferentes bucles, permitiendonos
seguir el progreso de una variacion en la entrada. Experimentalmente
podremos medir el rango de tiempos y estadsticamente determinar el
mas probable.
Grupo 8 Control de velocidad: Labview 64/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Determinar el tiempo de ejecucion
Omitiendo el retardo de la variable compartida
Asumiendo que no hay retardo en la transferencia de la variable, el valor del
duty cycle estara disponible a la entrada del bucle de generaci on PWM tan
pronto como el PID actualiza su salida
8
.
En la mejor situaci on, el ciclo PWM habra terminado en el instante anterior, y
la transferencia sera instantanea, siendo el tiempo de ejecuci on el del bucle de
lectura y control.
En el peor caso, el ciclo PWM habra empezado en el instante anterior, por lo
que deberemos esperar T
PWM
. 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. Podra tomarse el ultimo punto del ciclo
completo, debiendo sumar T
PWM
a los valores indicados
Grupo 8 Control de velocidad: Labview 65/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Determinar el tiempo de ejecucion
Determinar el retardo de la variable compartida
Introduciremos el instante de ejecucion dado por el bucle de
lectura y control, previa modicacion del formato, en la variable
compartida. En el bucle de actuacion guardaremos el valor ledo,
junto con el instante del propio bucle.
De entre los datos registrados de la variable cada valor se repetira

T
m
T
PWM
veces
9
. Cuando se detecte un cambio, el tiempo de
transferencia se obtendra restando los valores de las dos lneas en
la columna del nuevo valor.
9
La variaci on dependera de la diferencia entre los tiempos de la transferencia de dos iteraciones consecutivas.
Grupo 8 Control de velocidad: Labview 66/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Zona muerta del motor
El motor requiere una alimentacion mnima para superar las
perdidas 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.
Modelizacion de la zona muerta
Para evitar un consumo ineciente de energa (alimentar el motor y
que este 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
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Ajuste (tunning) del controlador
La respuesta del sistema dependera de la funci on de transferencia de la planta
y de la del PID. Esta segunda, pese a tener una estructura ja, vara seg un los
parametros K
p
, K
i
y K
d
. Como el objetivo de este proyecto era dise nar el
sistema de control, y no que este fuera optimo, se ha realizado un ajuste
basico, obteniendo un controlador principalmente proporcional, con un peque no
factor integrador para anular el error en regimen permanente, y sin funci on
derivativa (un mal ajuste puede dar problemas en regimen transitorio,
conduciendo a inestabilidad)
Ajuste optimo
Para lograr un control optimo (mnimo tiempo de subida y establecimiento,
mnimo rebose, error nulo en regimen 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
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
Problemas durante el desarrollo
Propuestas de mejora
Sustituci on del encoder
Relacion entre las rpm y los pulsos de los sensores
La resolucion maxima disponible es de 12 pulsos por vuelta, y teniendo
en cuenta la velocidad nominal, con una reductora de ratio
1
53
la relacion
rpm
red
max
ticks
max
cuando T
m
= 100ms es
150
155
= 0, 9677
rpm
red
tick
. Lo que ofrece una
resoluci on a la salida del 0, 6451%. Si muestreamos con un periodo de
10ms la relacion asciende a
150
15
= 10
rpm
red
tick
6, 66%.
Para no perder resoluci on en el cambio de unidades, es recomendable
mantener el ratio lo mas bajo posible. Para una resolucion del 1% con la
reductora
1
53
requeriramos un encoder de aproximadamente
150
15
12 = 120 pulsos por revolucion (PPR). Con dos sensores y modo de
lectura X4, se requerira un disco de 30 aspas. Este cambio nos permitira
realizar un control mejor respetando los requerimientos temporales de la
planta.
Grupo 8 Control de velocidad: Labview 69/ 71
Introduccion
Lectura
Actuacion
Control
Visualizacion
Consideraciones nales
Consideraciones programaticas
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-length
10
). Un tama no de palabra que mantenga compromiso con
el rendimiento, reducira la l ogica necesaria para realizar las operaciones del
algoritmo, ademas 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 crticos (sistema relativamente rapido),
podemos analizar las diferentes transformadas que permiten trabajar en el
plano Z
11
(Fordward dierence o Euler, Backward dierence, Tustin o bilinear)
as como las estructuras y la forma de implementaci on (estandar, 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 creditos 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/

Вам также может понравиться