Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
3 Actuaci on
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizaci on
5 Visualizaci on
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora
Introducci on
Objetivos del proyecto Implementar en Labview 2010 (National Instruments) la l ogica de adquisici on, control y actuaci on para el control de velocidad en tiempo real de un motor de corriente continua, y la interfaz de usuario para interactuar con el sistema. Hardware disponible PC compatible (Windows XP) Tarjeta de adquisici on de la serie M (NI 6221) DC carbon-brush motor IG-22GM (6V) Two channel Hall eect encoder (SA, SB) Reductora
1 53
Tiempor Real
Caracter stica condicionante del dise no En el ambito del control se denomina tiempo real al funcionamiento temporalmente determinista de un sistema. Se aplica a todas aquellas plantas donde, adem as de c omo, es cr tico cu ando se realicen las acciones. Podemos decir que se trata de una caracter stica de ciertos sistemas que condiciona la programaci on y la especial atenci on que se debe prestar a los tiempos relativos de ejecuci on y de transferencia. No dene una estructura, ni algoritmo espec cos, ni dene requerimientos temporales concretos. Siendo as , los sistemas en tiempo real dependen de los requerimientos de la planta, orden andose por algunos autores en duro/rme/suave1 en funci on de los efectos que puede tener en su funcionamiento un incumplimiento de los l mites temporales establecidos. Otros autores2 realizan la ordenaci on en funci on de la relaci on entre el tiempo de ejecuci on y el tiempo de muestreo. El sistema a implementar ser a rme y de baja velocidad relativa..
1 2 http://en.wikipedia.org/wiki/Real-time_computing#Criteria_for_real-time_computing
Speed analysis of a digital controller in time critical applications. Pawet Piatek, Wojciech Grega. Journal of Automation, Mobile Robotics & Intelligent Systems. Grupo 8 Control de velocidad: Labview 4/ 71
Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
3 Actuaci on
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizaci on
5 Visualizaci on
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora
Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Grupo 8
9/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
2 PPR
grados
360o 34 2 34
= 30o = 6 rad
10/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Las entradas correspondientes a los dos sensores disponibles (SA y SB) se conectar an a las entradas asociacadas al contador seleccionado para esta funci on espec ca: bornes 42 y 46, respectivamente.
Grupo 8
11/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on 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 par ametros asociados, disponiendo valores constantes indiferentemente.
Grupo 8
12/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Referencias te oricas
Teorema de muestreo de Nyquist-Shannon La reconstrucci on exacta de una se nal peri odica continua en banda base a partir de sus muestras, es matem aticamente posible si la se nal est a limitada en banda y la tasa de muestreo es superior al doble de su ancho de banda3 4 . Valores de muestreo en aplicaciones de control En control se utilizan frecuencias que multiplican entre 5 y 15 la frecuencia de Nyquist-Shannon (Fs ).
3 4
http://es.wikipedia.org/wiki/Teorema_de_muestreo_de_Nyquist-Shannon Digital Sampling According to Nyquist and Shannon. Thomas L. Lag o, Jonkoping University, Sweden. Grupo 8 Control de velocidad: Labview 14/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Resoluci on pobre Debido a la baja resoluci on que nos ofrece el encoder, para periodos de muestreo menores a 100ms el error en la lectura hace impracticable el control.
Grupo 8 Control de velocidad: Labview 15/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Adquisici on
Se ha dispuesto un registro que almacenar a en cada iteraci on una u nica muestra (el valor del contador -ticks- en formato DBL). De esta forma dispondremos del valor actual y el valor de la iteraci on anterior, obteniendo la diferencia mediante el resto de ambos valores. El sentido de giro denir a si el contador incrementar a o decrementar a, y la velocidad en qu e medida lo har a.
Grupo 8 Control de velocidad: Labview 16/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Grupo 8
17/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
En sentido de giro positivo (1), el valor actual s olo es menor al valor previo cuando se da overow. En sentido de giro negativo (0), a la inversa, el valor actual s olo es mayor que el valor previo cuando se da underow. Arranque en sentido negativo
Se da un error de lectura en la primera iteraci on siempre que el sistema se inicia con sent giro negativo, que impide el control del mismo
Grupo 8
18/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Soluci on propuesta
Detecci on y correcci on Se propone una soluci on de identicaci on de eventos de tipo overow / underow y correcci on en la interpretaci on de las lecturas obtenidas, con el objetivo de omitir errores y no perder informaci on. Tama no del contador Como se expondr a a continuaci on, el u nico par ametro requerido ser a el tama no en bits del contador, para deducir el valor m aximo que podr a expresar (2n 1), a n de aplicar las correcciones adecuadas.
Grupo 8 Control de velocidad: Labview 19/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
L ogica de detecci on
Con el sentido de giro ordenado y los valores actual y previo del contador, se implementan dos comparadores (= , <) para obtener las relaciones act = pre , act < pre y act > pre . Mediante una puerta AND, una puerta NOR y dos puertas OR, se obtiene como resultado una se nal de dos bits que codica las cuatro condiciones de funcionamiento del contador: correcto, err oneo por overow, err oneo por underow y parado.
Grupo 8 Control de velocidad: Labview 20/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Correcciones a la lectura
CASE gobernado por las salidas de las puertas OR 0: no se ha detectado evento, no se altera la lectura. 1: se ha detectado overow, se suma 2n 1 a la lectura. 2: se ha detectado underow, se resta 2n 1 a la lectura. 3: el motor est a parado, se sustituye la lectura por una constante (0).
Grupo 8 Control de velocidad: Labview 21/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Soluci on propuesta
Desactivaremos la l ogica de detecci on y correci on overow/underow cuando se d e una orden de cambio de sentido, y volveremos a activara cuando el motor vuelva a entrar en r egimen permanente.
Grupo 8 Control de velocidad: Labview 22/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Grupo 8
23/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Iteraci on k
La estructura CASE est a en TRUE. La l ogica overow/underow est a activa. sent giroact = sent giropre Se ha ordenado un cambio de sentido. Se DESECHA la correcci on y se toma la lectura en bruto. Se registra un FALSE para la siguiente iteraci on del CASE.
Grupo 8
24/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
La estructura CASE est a en FALSE. La l ogica overow/underow NO est a activa. sent giroact = sent giropre NO se ha ordenado un cambio de sentido. Se toma la lectura en bruto. El sentido de las lecturas del contador NO COINCIDE con sent giro . Se registra un FALSE para la siguiente iteraci on del CASE.
Grupo 8 Control de velocidad: Labview 25/ 71
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
Iteraci on k+n
La estructura CASE est a en FALSE. La l ogica overow/underow NO est a activa. sent giroact = sent giropre NO se ha ordenado un cambio de sentido. Se toma la lectura en bruto. El sentido de las lecturas del contador COINCIDE con sent giro . Se registra un TRUE para la siguiente iteraci on del CASE.
Grupo 8 Control de velocidad: Labview 26/ 71
Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
3 Actuaci on
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizaci on
5 Visualizaci on
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora
Actuaci on
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: resoluci on
Resoluci on PWM %Vn
1 PPC
Resoluci on
100
PPC =
Vn PPC
TPWM Tb
Por ejemplo 1 PPC : 4bits %Vn 2 4 100 = 6, 25% TB : 1ms Vn : 10v V 10 = 0, 625v 24
Grupo 8 Control de velocidad: Labview 30/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
PWM: frecuencia
FPWM , Fb y Fp La planta no deber a detectar las variaciones en la se nal dentro de un periodo TPWM , no deber a detenerse en las fracciones en que est e a nivel bajo, sino que deber a tomar el periodo completo en su conjunto. FPWM > 2 Fp Fb > PPC 2 Fp El periodo completo como referencia No es suciente con garantizar Fb > 2 Fp y deberemos prestar atenci on a la hora de implementar la frecuencia base de generaci on de la se nal PWM.
Grupo 8 Control de velocidad: Labview 31/ 71
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 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
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
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
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Canal f sico y Tb
Se conguran como salida dos l neas de un puerto digital de la tarjeta DAQ (port0/line0:1, bornes 52 y 17 respectivamente), correspondientes a las se nales EN y DIR, a generar seg un los resultados de la l ogica de control. Como el encoder nos impide establecer Tm = 10 Tp , no podemos utilizar TPWM = Tm , lo cual generar a un ciclo completo PWM por periodo de muestreo. En su lugar, establecemos la constante PWMPTs que indica el no de ciclos completos PWM que se generar an en Tm .
El valor real TPWM depender a de los errores inducidos por las limitaciones de c omputo: Tm TPWM = PWMPTs
Tb (s ) =
Tm (ms ) PWMPTs
PPC
1000
Grupo 8
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
Generaci on se nal EN En un bucle de alta prioridad con un periodo de iteraci on Tb se implementa un contador de 1 a PPC y se compara la salida con la constante denida por el duty-cycle5 (0 1 , 0 100%, 0 PPC ). Dicha constante s olo se comprueba al inicio de cada periodo PWM.
5 THIGH
TPWM
Grupo 8
37/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Detecci on de cambio Se registra el signo del la se nal de control y se comparan al inicio de cada periodo PWM el estado actual y el de la iteraci on anterior.
Grupo 8
38/ 71
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
Grupo 8
39/ 71
Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
3 Actuaci on
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizaci on
5 Visualizaci on
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora
Control
Controlador Normalizaci on
Controlador: PID
Controlador Mecanismo de control por realimentaci on que calcula la desviaci on o error entre un valor medido y el valor que se quiere obtener, para aplicar una acci on correctora que ajuste el proceso6 . Este se compone de un bloque que obtiene la diferencia entre ambas entradas (debidamente normalizadas), y un algoritmo que modica la se nal resultante (denominada de error). Algoritmo El algoritmo utilizado, cuya denominaci on es autoexplicativa, es el Proporcional Integral Derivativo (PID). Realiza las tres acciones por separado sobre la se nal de error y las pondera seg un las constantes dadas: Kp , Ki y Kd .
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
Controlador Normalizaci on
Grupo 8
44/ 71
Controlador Normalizaci on
Grupo 8
45/ 71
Controlador Normalizaci on
En nuestro caso
ejerpmmax : 8000 ratiored :
1 53
consignarpmmax 150
Grupo 8
46/ 71
Controlador Normalizaci on
Grupo 8
47/ 71
Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
3 Actuaci on
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizaci on
5 Visualizaci on
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora
Visualizaci on
Baja prioridad Como las funciones de visualizaci on no son cr ticas en el control, estas se han implementado en un bucle WHILE temporizado (T = Act.graf.) de baja prioridad. Garantizando as que las acciones de lectura, control y actuaci on se realizar an en tiempo real. Se emplear an los ciclos de m aquina restantes para las funciones de este apartado.
Grupo 8 Control de velocidad: Labview 50/ 71
La estructura principal la compone un array bidimensional (2x200) que se inicializa con todos sus registros a cero. En cada iteraci on se extraen los elementos 0-199 de cada canal y se forma un nuevo array que contiene un nuevo elemento por l nea en la columna 0, y los elementos extra dos en las posiciones 1-200. El array se muestra directamente por medio de un gr aco del tipo waveform graph, y el efecto resultante es que todos los elementos se desplazan una posici on, desech andose el m as antiguo e incluy endose la u ltima lectura en el hueco que queda libre.
Grupo 8 Control de velocidad: Labview 51/ 71
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
Grupo 8
54/ 71
Indice
1 Introducci on 2 Lectura
Encoder incremental Recursos hardware: contador Periodo de muestreo y adquisici on Overow / Underow
3 Actuaci on
Pulse Width Modulation (PWM) Puente-H Recursos hardware: puerto digital Cambio de sentido
4 Control
Controlador Normalizaci on
5 Visualizaci on
Bucle de baja prioridad Panel
6 Consideraciones nales
Consideraciones program aticas Problemas durante el desarrollo Propuestas de mejora
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
Tiempo de ejecuci on
Fuera de rango Obteniendo los tiempos de ejecuci on de los bucles temporizados desde la adquisici on hasta la generaci on de la se nal PWM con un reloj de 1ms de periodo, la diferencia indicada es cero. Aunque no conocemos el tiempo de ejecuci on concreto, s podemos garantizar que es al menos dos ordenes de magnitud menor que el periodo de muestreo, cumpli endose la llamada regla de causalidad.
Grupo 8
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 funci on de cu al haya sido el u ltimo valor escrito en la salida EN , esta puede quedar activa, haciendo girar el motor a su velocidad nominal. Cierre secuencial Volviendo a actuar sobre la l nea correspondiente, podemos desactivarla, deteniendo el motor. La forma m as r apida consiste en volver a ejecutar el programa, estableciendo una consigna de valor cero. En la primera iteraci on la l ogica de lectura escribir a un valor l ogico bajo, deteniendo el motor.
Grupo 8
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 a tomarse el u ltimo punto del ciclo completo, debiendo sumar TPWM a los valores indicados Grupo 8 Control de velocidad: Labview 65/ 71
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
Grupo 8
67/ 71
70/ 71
Licencia
Usted es libre de: copiar, distribuir y comunicar p ublicamente la obra remezclar transformar la obra hacer un uso comercial de esta obra Bajo las condiciones siguientes: reconocimiento debe reconocer los cr editos de la obra haciendo referencia a este documento, a sus autores, a la EUITI de Bilbao y a la UPV/EHU (pero no de una manera que sugiera que tiene el apoyo de los autores o apoyan el uso que hace de su obra).
http://creativecommons.org/licenses/by/3.0/es/