Вы находитесь на странице: 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 Introduccion
2 Lectura
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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

4 Control
Controlador
Normalizaci
on

5 Visualizacion
Bucle de baja prioridad
Panel

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

Introduccion
Objetivos del proyecto
Implementar en Labview 2010 (National Instruments) la logica de
adquisicion, 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 effect encoder (SA, SB)
Reductora

1
53

Puente H de 2A (Digilent PmodHB5TM)

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

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, adem
as de
c
omo, es crtico cu
ando se realicen las acciones.
Podemos decir que se trata de una caracterstica 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 define una estructura, ni algoritmo especficos, ni
define requerimientos temporales concretos.
Siendo as, los sistemas en tiempo real dependen de los requerimientos de la planta,
orden
andose por algunos autores en duro/firme/suave1 en funci
on de los efectos que
puede tener en su funcionamiento un incumplimiento de los lmites 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 firme y de baja velocidad relativa..
1

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

Diagrama de bloques general (Labview)

Indice
1 Introduccion
2 Lectura
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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

4 Control
Controlador
Normalizaci
on

5 Visualizacion
Bucle de baja prioridad
Panel

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

Lectura

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Encoder incremental: modos de lectura

Grupo 8

Control de velocidad: Labview

9/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Encoder incremental: resolucion


Dependiente del n
umero de orificios y modo de lectura
grados
radianes

360o
PPR

2
PPR

n modo: pulsos por vuelta (PPR)


n: n
umero de orificios

modo: (X)1, (X)2, (X)4

Resolucion disponible

grados

n: 3 modo: (X)4
PPR = 3 4 = 12
radianes
Grupo 8

360o
34
2
34

= 30o
= 6 rad

Control de velocidad: Labview

10/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Hardware de lectura: contador


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

Grupo 8

Control de velocidad: Labview

11/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Configuracion 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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Configuracion del contador: modo y parametros de lectura


Indicamos el modo de lectura (X4),
de acuerdo con los sensores
disponibles y con el fin de obtener la
mayor resoluci
on 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
Revoluci
on (PPR, en este caso 12).
En nuestro caso, no utilizaremos ese
parametro en este apartado.
Grupo 8

Control de velocidad: Labview

13/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Referencias teoricas
Teorema de muestreo de Nyquist-Shannon
La reconstruccion exacta de una se
nal peri
odica 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 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 finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Limitacion del encoder


Frecuencia de muestreo te
orica
La frecuencia de muestreo te
orica, la obtendramos analizando el
ancho de banda de la planta de forma experimental (obteniendo
Fp ) y estableciendo una frecuencia de muestreo (Fm ) 10 veces
mayor (5 mas que la referencia de Nyquist-Shannon).
Fs = 2 Fp

Fm = 10 Fp

Fm = 5 F s

Resolucion 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 finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Periodo de muestreo y adquisicion


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 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 definira si el contador incrementara o decrementara, y
la velocidad en que medida lo hara.
Grupo 8

Control de velocidad: Labview

16/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Riesgos por overflow / underflow


Inestabilidad por errores de lectura
El contador de la tarjeta de adquisici
on no dispone de logica de
deteccion de overflow / underflow, 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 identificar 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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Identificacion de los eventos


sent giro
act

1
pre

sent giro
act

0
pre

50
100
150
200
250
44
94
144
194
244
38

0
50
100
150
200
250
44
94
144
194
244

206
156
106
56
6
212
162
112
62
12
218

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 overflow.
En sentido de giro negativo (0), a la
inversa, el valor actual solo es mayor
que el valor previo cuando se da
underflow.
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 finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Solucion propuesta
Deteccion y correccion
Se propone una soluci
on de identificaci
on de eventos de tipo
overflow / underflow y correcci
on 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 continuaci
on, el u
nico parametro requerido
sera el tama
no en bits del contador, para deducir el valor maximo
que podra expresar (2n 1), a fin de aplicar las correcciones
adecuadas.
Grupo 8

Control de velocidad: Labview

19/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Diagrama de flujo 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 codifica las cuatro condiciones de funcionamiento del
contador: correcto, err
oneo por overflow, err
oneo por underflow y parado.
Grupo 8

Control de velocidad: Labview

20/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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 esta 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 finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Cambio de sentido en regimen permanente


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
ogica de detecci
on implementada identifica 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 l
ogica de detecci
on y correci
on overflow/underflow
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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Cambio de sentido en regimen permanente

Grupo 8

Control de velocidad: Labview

23/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Iteracion k

La estructura CASE est


a en TRUE.
La l
ogica overflow/underflow est
a activa.
sent giroact 6= 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 finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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

La estructura CASE est


a en FALSE.
La l
ogica overflow/underflow 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 finales

Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

Iteracion k+n

La estructura CASE est


a en FALSE.
La l
ogica overflow/underflow 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 Introduccion
2 Lectura
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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

4 Control
Controlador
Normalizaci
on

5 Visualizacion
Bucle de baja prioridad
Panel

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

Actuacion

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Pulse Width Modulation (PWM)


Puente-H
Recursos hardware: puerto digital
Cambio de sentido

Balance energetico: DC vs PWM

Z
0

Vn
=
2

T /2

Vn +
0

Z
0

T /2

Grupo 8

3
Vn =
4

3
4 T

Vn +
0

Control de velocidad: Labview

0
3
4 T

29/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Pulse Width Modulation (PWM)


Puente-H
Recursos hardware: puerto digital
Cambio de sentido

PWM: resolucion
Resolucion PWM

Resolucion

%Vn

1
PPC

100

Vn
PPC

PPC =

TPWM
Tb

Por ejemplo

PPC : 4bits %Vn 214 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 finales

Pulse Width Modulation (PWM)


Puente-H
Recursos hardware: puerto digital
Cambio de sentido

PWM: frecuencia
FPWM , Fb y Fp
La planta no debera detectar las variaciones en la se
nal dentro de
un periodo TPWM , no debera detenerse en las fracciones en que
este a nivel bajo, sino que debera tomar el periodo completo en su
conjunto.
FPWM > 2 Fp
Fb > PPC 2 Fp
El periodo completo como referencia
No es suficiente con garantizar Fb > 2 Fp 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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

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 finales

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 finales

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 finales

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 finales

Pulse Width Modulation (PWM)


Puente-H
Recursos hardware: puerto digital
Cambio de sentido

Canal fsico y Tb
Se configuran 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 l
ogica de control.
Como el encoder nos impide establecer
Tm = 10 Tp , no podemos utilizar TPWM = Tm ,
lo cual generara 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 6= PWMPTs

Tb (s) =

Grupo 8

Tm (ms)
PWMPTs

PPC

Control de velocidad: Labview

1000

36/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Pulse Width Modulation (PWM)


Puente-H
Recursos hardware: puerto digital
Cambio de sentido

Generacion 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 iteracion Tb se
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
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 finales

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.

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 iteracion anterior.

Grupo 8

Control de velocidad: Labview

38/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Pulse Width Modulation (PWM)


Puente-H
Recursos hardware: puerto digital
Cambio de sentido

Cambio de sentido: forzado de EN durante la transicion


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 iteraci
on 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 transfiere 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 Introduccion
2 Lectura
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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

4 Control
Controlador
Normalizaci
on

5 Visualizacion
Bucle de baja prioridad
Panel

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

Control

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

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 modifica 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 finales

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 finales

Controlador
Normalizaci
on

Normalizacion: 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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Controlador
Normalizaci
on

Normalizacion: consigna o variable de referencia


M
odulo y signo, por separado
El usuario controlara 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 finales

Controlador
Normalizaci
on

Normalizacion: 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 finales

Controlador
Normalizaci
on

Normalizacion: 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 cada 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 Introduccion
2 Lectura
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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

4 Control
Controlador
Normalizaci
on

5 Visualizacion
Bucle de baja prioridad
Panel

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

Visualizacion

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

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
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 finales

Bucle de baja prioridad


Panel

Visualizacion: array de tamano fijo

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 gr
afico 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 incluyendose 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 finales

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 modificado la
escala para adecuarla a formatos que el usuario
pueda interpretar directamente.

consignaarray =
reductoraarray =

consignarpm
100 [%]
consignarpmmax

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 finales

Bucle de baja prioridad


Panel

Visualizacion: 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 grafico.

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 explcitamente 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 finales

Bucle de baja prioridad


Panel

Visualizacion: panel

Grupo 8

Control de velocidad: Labview

54/ 71

Indice
1 Introduccion
2 Lectura
Encoder incremental
Recursos hardware: contador
Periodo de muestreo y adquisici
on
Overflow / Underflow

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

4 Control
Controlador
Normalizaci
on

5 Visualizacion
Bucle de baja prioridad
Panel

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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Generacion PWM punto por punto


Mayor requerimiento en tiempo de ejecuci
on
La eleccion de implementar la l
ogica de generaci
on de la se
nal
PWM punto por punto supone que la l
ogica de actuacion debera
realizar al menos una acci
on cada Tb . Siendo Tb << Tm , esto
supone cargar mas 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 especificaciones 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 mas limitados (con una se
nal ejecuci
on maxima de
Tm
> T > Tb ) esta soluci
on no sera aplicable.
periodo 100
Grupo 8

Control de velocidad: Labview

56/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Generacion 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 lmites no dar
a la respuesta
esperada. Analizamos tanto el lmite superior como el inferior para un contador y un
comparador de 3 bits:
contador
referencia

0
0

1
0

2
0

3
0

4
7

5
7

6
7

7
7

<

1
0

0
0

0
0

0
0

1
1

1
1

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
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 finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Generacion PWM punto por punto


Actualizaci
on simultanea
Puesto que escribimos los valores de EN y DIR al mismo tiempo, y
actuamos en ambas lneas en cada iteraci
on, 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 generaci
on para realizar el cambio, y volver a
iniciar la tarea. Proceso que requerira mas tiempo.
Otras codificaciones
La caracterstica 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 finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Tiempo de ejecucion
Fuera de rango
Obteniendo los tiempos de ejecuci
on de los bucles temporizados
desde la adquisicion 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, cumpliendose la llamada regla de causalidad.

Grupo 8

Control de velocidad: Labview

59/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Bornes +5v de la tarjeta


Para alimentar el puente H y as poder amplificar 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 adquisici
on 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 fijado manualmente a un valor l
ogico alto.

Grupo 8

Control de velocidad: Labview

60/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

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 finalizar
los bucles), en funci
on de cual 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 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
iteraci
on la l
ogica de lectura escribira 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 finales

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 logica de
actuaci
on, 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
ejecuci
on del bucle de lectura, nos permitira 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 finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Separacion 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 caractersticas de nuestro sistema, la prioridad
de ejecuci
on de mayor a menor debera ser: lectura (adquisici
on del valor del
contador), actuaci
on (modificaciones 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 debera
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 finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Determinar el tiempo de ejecucion


Estimaci
on estadstica
Puesto que el controlador implementado es del tipo multi-rate, al
funcionar con dos frecuencias diferentes (Fm y Fb ), y estar estas
ligeramente desincronizadas, ademas de utilizar una variable compartida,
deberemos realizar un analisis 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 permitira trazar la ejecuci
on de los diferentes bucles, permitiendonos
seguir el progreso de una variaci
on en la entrada. Experimentalmente
podremos medir el rango de tiempos y estadsticamente determinar el
mas probable.

Grupo 8

Control de velocidad: Labview

64/ 71

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Consideraciones program
aticas
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 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. Podra 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 finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Determinar el tiempo de ejecucion


Determinar el retardo de la variable compartida
Introduciremos el instante de ejecuci
on dado por el bucle de
lectura y control, previa modificaci
on del formato, en la variable
compartida. En el bucle de actuaci
on guardaremos el valor ledo,
junto con el instante del propio bucle.
De entre los datos registrados de la variable cada valor se repetira
m
veces9 . Cuando se detecte un cambio, el tiempo de
TT
PWM
transferencia se obtendra restando los valores de las dos lneas 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 finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Zona muerta del motor


El motor requiere una alimentaci
on 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 ineficiente 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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

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 fija, vara 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 regimen permanente, y sin funci
on
derivativa (un mal ajuste puede dar problemas en regimen transitorio,
conduciendo a inestabilidad)
Ajuste o
ptimo
Para lograr un control o
ptimo (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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Sustitucion del encoder


Relaci
on entre las rpm y los pulsos de los sensores
La resoluci
on maxima disponible es de 12 pulsos por vuelta, y teniendo
1
la relacion
en cuenta la velocidad nominal, con una reductora de ratio 53
rpmredmax
rpmred
150
=
0,
9677
.
Lo
que
ofrece
una
cuando
T
=
100ms
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 mas bajo posible. Para una resolucion del 1% con la
1
reductora 53
requeriramos un encoder de aproximadamente
150

12
=
120
pulsos por revoluci
on (PPR). Con dos sensores y modo de
15
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

Introducci
on
Lectura
Actuaci
on
Control
Visualizaci
on
Consideraciones finales

Consideraciones program
aticas
Problemas durante el desarrollo
Propuestas de mejora

Optimizacion del controlador


Estudio del tama
no de palabra
Con el fin de optimizar el uso de recursos, y as disminuir el tiempo de
ejecuci
on, podemos realizar un estudio sobre la influencia 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 fin de optimizar la respuesta para poder ejecutar el lazo de control en un
sistema digital con recursos de c
omputo crticos (sistema relativamente r
apido),
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
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 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/

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