Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizacin o
5 Visualizacin o
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora
Introduccin o
Objetivos del proyecto Implementar en Labview 2010 (National Instruments) la lgica de o adquisicin, control y actuacin para el control de velocidad en o o tiempo real de un motor de corriente continua, y la interfaz de usuario para interactuar con el sistema. Hardware disponible PC compatible (Windows XP) Tarjeta de adquisicin de la serie M (NI 6221) o DC carbon-brush motor IG-22GM (6V) Two channel Hall eect encoder (SA, SB) Reductora
1 53
Tiempor Real
Caracter stica condicionante del diseo n En el mbito del control se denomina tiempo real al funcionamiento temporalmente a determinista de un sistema. Se aplica a todas aquellas plantas donde, adems de a cmo, es cr o tico cundo se realicen las acciones. a Podemos decir que se trata de una caracter stica de ciertos sistemas que condiciona la programacin y la especial atencin que se debe prestar a los tiempos relativos de o o ejecucin y de transferencia. No dene una estructura, ni algoritmo espec o cos, ni dene requerimientos temporales concretos. Siendo as los sistemas en tiempo real dependen de los requerimientos de la planta, , ordenndose por algunos autores en duro/rme/suave1 en funcin de los efectos que a o puede tener en su funcionamiento un incumplimiento de los l mites temporales establecidos. Otros autores2 realizan la ordenacin en funcin de la relacin entre el o o o tiempo de ejecucin y el tiempo de muestreo. o El sistema a implementar ser rme y de baja velocidad relativa.. a
1 2 http://en.wikipedia.org/wiki/Real-time_computing#Criteria_for_real-time_computing
Speed analysis of a digital controller in time critical applications. Pawet Piatek, Wojciech Grega. Journal of Automation, Mobile Robotics & Intelligent Systems. Grupo 8 Control de velocidad: Labview 4/ 71
Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizacin o
5 Visualizacin o
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora
Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Grupo 8
9/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
2 PPR
grados
360o 34 2 34
= 30o = rad 6
10/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Las entradas correspondientes a los dos sensores disponibles (SA y SB) se conectarn a las entradas a asociacadas al contador seleccionado para esta funcin espec o ca: bornes 42 y 46, respectivamente.
Grupo 8
11/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Al no disponer de sensor Z (vuelta completa), y como no vamos a utilizar las funciones asociadas, desactivamos el enable e ignoramos el resto de parmetros asociados, a disponiendo valores constantes indiferentemente.
Grupo 8
12/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Referencias tericas o
Teorema de muestreo de Nyquist-Shannon La reconstruccin exacta de una seal peridica continua en banda o n o base a partir de sus muestras, es matemticamente posible si la a seal est limitada en banda y la tasa de muestreo es superior al n a doble de su ancho de banda3 4 . Valores de muestreo en aplicaciones de control En control se utilizan frecuencias que multiplican entre 5 y 15 la frecuencia de Nyquist-Shannon (Fs ).
3 4
http://es.wikipedia.org/wiki/Teorema_de_muestreo_de_Nyquist-Shannon Digital Sampling According to Nyquist and Shannon. Thomas L. Lag, Jonkoping University, Sweden. o Grupo 8 Control de velocidad: Labview 14/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Resolucin pobre o Debido a la baja resolucin que nos ofrece el encoder, para o periodos de muestreo menores a 100ms el error en la lectura hace impracticable el control.
Grupo 8 Control de velocidad: Labview 15/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Adquisicin o
Se ha dispuesto un registro que almacenar en cada iteracin una unica a o muestra (el valor del contador -ticks- en formato DBL). De esta forma dispondremos del valor actual y el valor de la iteracin anterior, o obteniendo la diferencia mediante el resto de ambos valores. El sentido de giro denir si el contador incrementar o decrementar, y a a a la velocidad en qu medida lo har. e a
Grupo 8 Control de velocidad: Labview 16/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Grupo 8
17/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
En sentido de giro positivo (1), el valor actual slo es menor al valor o previo cuando se da overow. En sentido de giro negativo (0), a la inversa, el valor actual slo es mayor o que el valor previo cuando se da underow. Arranque en sentido negativo
Se da un error de lectura en la primera iteracin siempre o que el sistema se inicia con sent giro negativo, que impide el control del mismo
Grupo 8
18/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Solucin propuesta o
Deteccin y correccin o o Se propone una solucin de identicacin de eventos de tipo o o overow / underow y correccin en la interpretacin de las o o lecturas obtenidas, con el objetivo de omitir errores y no perder informacin. o Tamao del contador n Como se expondr a continuacin, el unico parmetro requerido a o a ser el tamao en bits del contador, para deducir el valor mximo a n a que podr expresar (2n 1), a n de aplicar las correcciones a adecuadas.
Grupo 8 Control de velocidad: Labview 19/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Lgica de deteccin o o
Con el sentido de giro ordenado y los valores actual y previo del contador, se implementan dos comparadores (= , <) para obtener las relaciones act = pre , act < pre y act > pre. Mediante una puerta AND, una puerta NOR y dos puertas OR, se obtiene como resultado una seal de n dos bits que codica las cuatro condiciones de funcionamiento del contador: correcto, errneo por overow, errneo por underow y parado. o o
Grupo 8 Control de velocidad: Labview 20/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Correcciones a la lectura
CASE gobernado por las salidas de las puertas OR 0: no se ha detectado evento, no se altera la lectura. 1: se ha detectado overow, se suma 2n 1 a la lectura. 2: se ha detectado underow, se resta 2n 1 a la lectura. 3: el motor est parado, se sustituye la lectura por una a constante (0).
Grupo 8 Control de velocidad: Labview 21/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Solucin propuesta o
Desactivaremos la lgica de deteccin y correcin overow/underow o o o cuando se d una orden de cambio de sentido, y volveremos a activara e cuando el motor vuelva a entrar en rgimen permanente. e
Grupo 8 Control de velocidad: Labview 22/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Grupo 8
23/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Iteracin k o
La estructura CASE est en TRUE. a La lgica overow/underow est activa. o a sent giroact = sent giropre Se ha ordenado un cambio de sentido. Se DESECHA la correccin y se toma la lectura en bruto. o Se registra un FALSE para la siguiente iteracin del CASE. o
Grupo 8
24/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
La estructura CASE est en FALSE. a La lgica overow/underow NO est activa. o a sent giroact = sent giropre NO se ha ordenado un cambio de sentido. Se toma la lectura en bruto. El sentido de las lecturas del contador NO COINCIDE con sent giro. Se registra un FALSE para la siguiente iteracin del CASE. o
Grupo 8 Control de velocidad: Labview 25/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
Iteracin k+n o
La estructura CASE est en FALSE. a La lgica overow/underow NO est activa. o a sent giroact = sent giropre NO se ha ordenado un cambio de sentido. Se toma la lectura en bruto. El sentido de las lecturas del contador COINCIDE con sent giro. Se registra un TRUE para la siguiente iteracin del CASE. o
Grupo 8 Control de velocidad: Labview 26/ 71
Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizacin o
5 Visualizacin o
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora
Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
T 0
Vn = 2
T /2
Vn +
0 T /2
0
0
3 Vn = 4
3 4 T
Vn +
0
3 4 T
Grupo 8
29/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
PWM: resolucin o
Resolucin PWM o %Vn
1 PPC
Resolucin o
100
PPC =
Vn PPC
TPWM Tb
Por ejemplo 1 PPC : 4bits %Vn 24 100 = 6, 25% TB : 1ms Vn : 10v V 10 = 0, 625v 24
Grupo 8 Control de velocidad: Labview 30/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
PWM: frecuencia
FPWM , Fb y Fp La planta no deber detectar las variaciones en la seal dentro de a n un periodo TPWM , no deber detenerse en las fracciones en que a est a nivel bajo, sino que deber tomar el periodo completo en su e a conjunto. FPWM > 2 Fp Fb > PPC 2 Fp El periodo completo como referencia No es suciente con garantizar Fb > 2 Fp y deberemos prestar atencin a la hora de implementar la frecuencia base de generacin o o de la seal PWM. n
Grupo 8 Control de velocidad: Labview 31/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Grupo 8
32/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Grupo 8
33/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Cuando EN = 1, en la transicin de DIR = 0 a DIR = 1, debido al o retardo de la puerta NOT salida de las puertas AND no se actualiza al mismo tiempo, provocando que durante unos instantes todos los transistores se encuentren en conduccin. Esto conlleva o el cortocircuito de todos ellos, con el consiguiente riesgo de que se quemen.
Grupo 8 Control de velocidad: Labview 34/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Cuando EN = 1, en la transicin de DIR = 1 a DIR = 0, debido al o retardo de la puerta NOT salida de las puertas AND no se actualiza al mismo tiempo, provocando que durante unos instantes todos los transistores se encuentren en corte. Esto conlleva que no haya diferencia de potencial en los bornes del motor, a pesar de que EN = 1.
Grupo 8 Control de velocidad: Labview 35/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Canal f sico y Tb
Se conguran como salida dos l neas de un puerto digital de la tarjeta DAQ (port0/line0:1, bornes 52 y 17 respectivamente), correspondientes a las seales EN y DIR, a generar segn los n u resultados de la lgica de control. o Como el encoder nos impide establecer Tm = 10 Tp , no podemos utilizar TPWM = Tm , lo cual generar un ciclo completo PWM por a periodo de muestreo. En su lugar, establecemos la constante PWMPTs que indica el no de ciclos completos PWM que se generarn en Tm . a
El valor real TPWM depender de los errores a inducidos por las limitaciones de cmputo: o Tm TPWM = PWMPTs
Tb (s) =
Tm (ms) PWMPTs
PPC
1000
Grupo 8
36/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
clk pwm Tclk = Tb max pwm : PPC 1 ref pwm : duty cycle PPC
Generacin seal EN o n En un bucle de alta prioridad con un periodo de iteracin Tb se o implementa un contador de 1 a PPC y se compara la salida con la constante denida por el duty-cycle5 (0 1 , 0 100%, 0 PPC ). Dicha constante slo se comprueba al inicio de cada periodo PWM. o
5 THIGH
TPWM
Grupo 8
37/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Deteccin de cambio o Se registra el signo del la seal de control y se n comparan al inicio de cada periodo PWM el estado actual y el de la iteracin anterior. o
Grupo 8
38/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Grupo 8
39/ 71
Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizacin o
5 Visualizacin o
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora
Control
Controlador Normalizacin o
Controlador: PID
Controlador Mecanismo de control por realimentacin que calcula la desviacin o error entre o o un valor medido y el valor que se quiere obtener, para aplicar una accin o correctora que ajuste el proceso6 . Este se compone de un bloque que obtiene la diferencia entre ambas entradas (debidamente normalizadas), y un algoritmo que modica la seal resultante (denominada de error). n Algoritmo El algoritmo utilizado, cuya denominacin es autoexplicativa, es el Proporcional o Integral Derivativo (PID). Realiza las tres acciones por separado sobre la seal n de error y las pondera segn las constantes dadas: Kp , Ki y Kd . u
Controlador Normalizacin o
Controlador: PID
Un bloque integra el clculo de la seal de error a partir de las a n variables de referencia y sistema, y aplica el algoritmo con las constantes PID gains. Puesto que el rango de la salida es de 100 y la lgica de actuacin espera un rango cien veces menor, se ha o o aadido un divisor a la salida. n Tiempo discreto Como nuestro sistema de control est a ejecutndose en un PC, el PID es discreto, a diferente del que se muestra a la derecha (continuo). Sin embargo, el diseo y la n velocidad de ejecucin nos permiten asumir o que la respuesta ser igual. a Tiempo de ejecucin o Para poder asumir que el funcionamiento es igual al de un controlador continuo, el tiempo de ejecucin deber ser al menos dos rdenes de magnitud menor que Tm . o a o
Grupo 8 Control de velocidad: Labview 43/ 71
Controlador Normalizacin o
Grupo 8
44/ 71
Controlador Normalizacin o
Grupo 8
45/ 71
Controlador Normalizacin o
En nuestro caso
ejerpmmax : 8000 ratiored :
1 53
consignarpmmax 150
Grupo 8
46/ 71
Controlador Normalizacin o
Grupo 8
47/ 71
Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizacin o
5 Visualizacin o
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora
Visualizacin o
Baja prioridad Como las funciones de visualizacin no son cr o ticas en el control, stas se han e implementado en un bucle WHILE temporizado (T = Act.graf.) de baja prioridad. Garantizando as que las acciones de lectura, control y actuacin se o realizarn en tiempo real. Se emplearn los ciclos de mquina restantes para las a a a funciones de este apartado.
Grupo 8 Control de velocidad: Labview 50/ 71
La estructura principal la compone un array bidimensional (2x200) que se inicializa con todos sus registros a cero. En cada iteracin se extraen los o elementos 0-199 de cada canal y se forma un nuevo array que contiene un nuevo elemento por l nea en la columna 0, y los elementos extra dos en las posiciones 1-200. El array se muestra directamente por medio de un grco del tipo waveform a graph, y el efecto resultante es que todos los elementos se desplazan una posicin, desechndose el ms antiguo e incluyndose la ultima lectura en el o a a e hueco que queda libre.
Grupo 8 Control de velocidad: Labview 51/ 71
consignaarray = reductoraarray =
Grupo 8
52/ 71
El usuario puede conocer el sentido de giro del motor gracias a un ag gobernado por un comparador > 0 cuya entrada es la lectura escalada. No se indica expl citamente el signo de la consigna, pues es el propio usuario quien la establece.
Grupo 8
53/ 71
Visualizacin: panel o
Grupo 8
54/ 71
Indice
1 Introduccin o 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisicin o Overow / Underow
3 Actuacin o
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizacin o
5 Visualizacin o
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones programticas a Problemas durante el desarrollo Propuestas de mejora
En nuestro caso al disponer de una cuenta (1, PPC ) y un comparador , una referencia de valor cero genera un valor lgico bajo, y una referencia de valor PPC o general un valor lgico alto. o
Grupo 8 Control de velocidad: Labview 57/ 71
Tiempo de ejecucin o
Fuera de rango Obteniendo los tiempos de ejecucin de los bucles temporizados o desde la adquisicin hasta la generacin de la seal PWM con un o o n reloj de 1ms de periodo, la diferencia indicada es cero. Aunque no conocemos el tiempo de ejecucin concreto, s podemos o garantizar que es al menos dos ordenes de magnitud menor que el periodo de muestreo, cumplindose la llamada regla de causalidad. e
Grupo 8
59/ 71
Grupo 8
60/ 71
Anclado de EN = 1
Cuando por un error en el funcionamiento el sistema de control (o aquel sobre el que se ejecuta) se bloquea y se cierra directamente (sin nalizar los bucles), en funcin de cul haya sido el ultimo valor escrito en la o a salida EN, sta puede quedar activa, haciendo girar el motor a su e velocidad nominal. Cierre secuencial Volviendo a actuar sobre la l nea correspondiente, podemos desactivarla, deteniendo el motor. La forma ms rpida consiste en volver a ejecutar el a a programa, estableciendo una consigna de valor cero. En la primera iteracin la lgica de lectura escribir un valor lgico bajo, deteniendo el o o a o motor.
Grupo 8
61/ 71
Grupo 8
62/ 71
Grupo 8
63/ 71
Grupo 8
64/ 71
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
La variacin depender de la diferencia entre los tiempos de la transferencia de dos iteraciones consecutivas. o a Grupo 8 Control de velocidad: Labview 66/ 71
Grupo 8
67/ 71
70/ 71
Licencia
Usted es libre de: copiar, distribuir y comunicar pblicamente la obra u remezclar transformar la obra hacer un uso comercial de esta obra Bajo las condiciones siguientes: reconocimiento debe reconocer los crditos de la obra haciendo e referencia a este documento, a sus autores, a la EUITI de Bilbao y a la UPV/EHU (pero no de una manera que sugiera que tiene el apoyo de los autores o apoyan el uso que hace de su obra).
http://creativecommons.org/licenses/by/3.0/es/