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