Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. ALGORITMOS PARA COMPENSACION. I.- Antecedentes. 1.1 Errores en la curva de transferencia del sensor. En la fabricación de sensores es deseable producir al mismo tiempo un gran lote de sensores y que todos respondan de la misma forma de acuerdo a su función de transferencia dentro de cierta exactitud. Para verificar su respuesta debemos medirlos individualmente o por muestreo. Cuando medimos la transferencia del sensor, nos podemos encontrar con uno o más de los siguientes errores: • Offset.- Se presenta cuando aplicamos una señal física de entrada de valor cero (o mínimo) y la señal de salida no es cero (o mínima), pero se muestra como un valor con offset. • Ganancia, rango o error de plena escala.- La sensitividad del sensor no es como se pensaba. La máxima entrada física no corresponde a la máxima señal eléctrica de salida. • No linealidad.-La salida del sensor no cambia linealmente con respecto a la señal física de la entrada. • Sensitividad_cruzada.- Los cambios en la curva de transferencia cuando medimos en diferentes condiciones ambientales (por ejemplo: temperatura), el sensor es sensible a otros parámetros distintos a los cambios de la variable física para la cual fue diseñado. • Histéresis.- La curva de transferencia es distinta para señales físicas de incremento y señales físicas de decremento. • Corrimiento.- La curva de transferencia del sensor cambia en el tiempo. En la siguiente figura se muestran gráficamente estos errores. Generalmente, algunos de estos errores son mayores que la exactitud deseada. Para corregir estos errores el sensor debe ser medido y calibrado individualmente para garantizar su exactitud. Errores sistemáticos y aleatorios. Errores lineales y no lineales. Nosotros podemos distinguir errores lineales y errores no lineales. Por ejemplo offset, errores de ganancia y coeficientes de temperatura de primer orden son errores lineales. La corrección de errores lineales requiere únicamente de operaciones lineales. La corrección o calibración de no linealidad, referenciada a partir de la linealización, es más complicada. Es conveniente linealizar las señales y tener como resultado errores lineales que variarán aleatoriamente de dispositivo a dispositivo. En errores de linealidad debemos distinguir entre errores sistemáticos y errores aleatorios. Un error de no linealidad sistemática puede presentarse desde la construcción física del sensor o producido consistentemente del resultado de sus mediciones. Maestría en Ciencias en Ingeniería Electrónica (1) Mayo 2006/JRM Introducción a la Instrumentación. Error en gancia Curva de transferencia no lineal Salida Salida Instituto Tecnológico de Chihuahua (D.E.P.I.) Incremento Decremento Curva de transferencia ideal Error de histéresis offet Entrada T= 10 oC T=20 oC T=25 oC T=39 oC t= 12 meses t=6 meses t=3 meses t=0 Salida Salida Entrada Corriemiento.. Sensitividad cruzada. Entrada Entrada Figura.- Posibles errores en la curva de transferencia. El número de mediciones necesarias para reducir el error de linealidad, depende en gran parte del método de linealización utilizado. Para reducir el costo de calibración es importante minimizar el número de mediciones, ya que el número de mediciones toma tiempo de producción. Este es un criterio importante en la selección del apropiado método de linealización para la calibración del sensor. 1.2 Normalización de la función de transferencia del sensor. Para simplificar la descripción matemática de los métodos de linealización debemos trabajar con la función del sensor normalizada. La salida de la señal eléctrica del sensor eo puede normalmente ser considerada como una función S de una señal física de entrada: qi : eo = s (qi ) S Æ Función de la variable física de entrada. qiÆ Variable de entrada. Maestría en Ciencias en Ingeniería Electrónica (2) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. Normalizando el rango de interés de la entrada física [qi(min); qi(max)], en el rango de [-1, 1], a este le llamaremos rango normalizado de la señal de entrada. Similarmente el rango de la señal eléctrica de salida deberá ajustarse a un rango de [eo(max), eo(min)], mapeado o relacionado a un rango de [-1,1], rango normalizado de la señal de salida. Podemos obtener la señal de entrada normalizada de la siguiente forma: x= 2qi − qi max − qi min qi max − qi min y= 2e0 − e0max − e0min −e0max − e0min Y la señal de salida normalizada: La salida del sensor normalizada y puede describirse por la función de transferencia normalizada, la cual es expresada como una función adimensional de la señal de entrada normalizada x: y=f(x). Además, consideramos que la función de transferencia normalizada es un a función lineal x con ganancia unitaria (Esto es lo que se obtendría después de la linealización). y = g ( x) = x En las siguientes figuras se muestra el ejercicio de normalizar una función en base a las ecuaciones antes descritas. La señal puede linealizarse y de esta manera de forma más fácil corregir los errores sistemáticos y cuantificar los errores aleatorios. De antemano, nosotros pudiéramos partir del desconocimiento de la función f(x). En su lugar obtenemos N mediciones de calibración f(xk) donde k=1,2,.....,N. Esta información puede utilizarse para generar la ecuación de interpolación f'(x) la cual debe parecerse a la ecuación real del sensor. Maestría en Ciencias en Ingeniería Electrónica (3) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. Nosotros linealizamos la salida del sensor y nos aproximamos a la curva ideal g(x). La función de transferencia linealizada y=h(x) esta compuesta de la señal de salida del sensor f(x), las mediciones de calibración f(xk) y los valores ideales de salida g(xk): h( x) = H ( f ( x), f ( xk ), g ( xk ) El error en el resultado de la linealización se puede evaluar por: ε ( x ) = h( x ) − g ( x ) Para ello se han utilizado distintos métodos: a) Linealización basada en tablas. b) Linealización basada en la interpolación lineal de un rango. c) Linealización basada en "picewise" polinomial o "spline interpolation". d) Linealización basada en el ajuste a una curva. e) Linealización basada en minimización de error. 1.3 Linealización basada en la interpolación lineal picewise. En lugar de almacenar toda la curva de transferencia de un sensor en una memoria grande, podemos utilizar una memoria pequeña y almacenar los coeficientes de un modelo el cual describe la función de transferencia del sensor. Podemos medir la señal de salida del sensor para un conjunto pequeño de señales de entrada conocidas. Cada medición de calibración representa un "punto" sobre la curva de transferencia del sensor. Entre los rangos adyacentes podemos dibujar líneas descritas por: y=anx+bn. Estas líneas forman la interpolación lineal de un rango de la curva de transferencia del sensor, fpwl(x). Basados en esta porción lineal, de manera simple la salida del sensor puede procesarse para obtener la curva de transferencia linealizada. En cada subrango se tiene que realizar una corrección de offset y ganancia. Únicamente se requiere almacenar en memoria los valores que indiquen los subrangos, la corrección de offset y ganancia para cada subrango [32]. En la figura 4a, se muestra los resultados de un ejemplo de la interpolación lineal de rangos (picewise linear interpolation, PWL) para una función f(x)=1.2ln(1.7-x), este fue implemento en Matlab. Esta basada en la medición de cinco puntos de calibración representada por los puntos (x1,y1) a (x5,y5). La interpolación lineal entre los dos primeros puntos puede encontrarse: f ( x2 ) − f ( x1 ) ( x − x1 ) x2 − x1 Podemos probar simplemente verificando con x=x1 y x=x2. f1 ( x) = f ( x1 ) + Con N puntos completamos la curva PWL, que podemos describirla matemáticamente por la suma de N-1 componentes lineales fn(x): f ( xn +1 ) − f ( xn ) ( x − xn ) x ∈ [ xn , xn +1 ] → f n ( x) = f ( xn ) + xn +1 − xn x ∉ [ xn , xn +1 ] → f n ( x) = 0 Maestría en Ciencias en Ingeniería Electrónica (4) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. Y la ecuación, fpwl(x) definida por: N −1 f pwl ( x) = ∑ f n ( x) n =1 Hay que entender que nosotros no estamos interesados en la curva de interpolación de la función de transferencia del sensor, sino en obtener una expresión para la función de linealización de la función de transferencia del sensor. Similar a las ecuaciones anteriores, entonces podemos describir los componentes hn(x) la cual transforman la señal de salida f(x) como sigue: f ( x) ∈ [ yn , yn +1 ] → hn ( x) = g ( xn ) + g ( xn +1 ) − g ( xn ) ( f ( x ) − yn ) yn +1 − yn x ∉ [ yn , yn +1 ] → hn ( x) = 0 Basados en los valores de salida deseados g(xn) y las señales de salida medidas: yn = f ( xn ) Por sustitución podemos obtener los valores de los componentes hn(x) que coincidan con los valores de salida deseados en dos puntos de calibración, hn ( xn ) = g ( xn ) y h( xn +1 ) = g ( xn +1 ) . La función de linealización hPWL(x) es entonces definida como la suma de los componentes del subrango: N −1 hpwl ( x) = ∑ hn ( x) n =1 Y así coincide la función de transferencia deseada g(x) con los valores de entrada xn usados para calibración. El error de este método se muestra en la figura 4b. (a) (b) Figura 4.- a) Interpolación lineal picewise PWL. b) Error ε del método PWL Maestría en Ciencias en Ingeniería Electrónica (5) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. 1.4 Método de calibración polinomial progresivo. La calibración polinomial y el método de linealización que proponemos trabaja sobre el principio que cada medición de calibración puede utilizarse directamente para calcular un coeficiente programable en la corrección de la función. La corrección se aplica inmediatamente para modificar el valor de salida del sensor. El próximo paso de calibración hace uso de esta señal corregida del sensor. Cada paso de corrección subsecuente es aplicada de tal forma que calibraciones hechas previamente permanecen sin cambio. El método de calibración se efectúa de la siguiente forma: • La primer medición es hecha para calibrar el offset o nivel, esto significa que la función de transferencia se recorre o se traslada como se muestra en la figura a siguiente. • La siguiente medición de calibración es utilizada para corregir el error de ganancia sin afectar la calibración del nivel u offset. Esto se logra girando la función alrededor del punto de calibración efectuado anteriormente. Como se muestra en la siguiente figura b. En el método que aquí se presenta se elimina la cross dependencia entre el offset y la ganancia. • La siguiente medición de calibración es utilizada para corregir la línealidad, de tal forma que los puntos anteriores permanezcan fijos. La figura c muestra una corrección de linealidad de una función de segundo orden y la figura d una ajuste de linealidad de una función de tercer orden. Como se puede observar, en cada paso de calibración la función de transferencia calibrada progresa hacia la función de transferencia deseada, por eso el nombre del método: Calibración polinomial progresiva. Proyecto de autocalibración: Calibración de funciones unidemencionales. Recordando lo de la sección anterior la terminología utilizada en la sección anterior: xÆ Indica la variable física de entrada. y Æ Indica la salida eléctrica del sensor. y=f(x) Æ Función de transferencia del sensor sin calibrar. y=g(x) Æ Función de transferencia deseable y asumimos que es una función lineal de la señal de entrada g(x)=Kx. Maestría en Ciencias en Ingeniería Electrónica (6) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) y Introducción a la Instrumentación. f2(x) y y2 f1(x) f(x) f(x) y1 y1 x f3(x) y x f4(x) y y2 y2 f(x) y3 y1 y3 x y1 f(x) x Figura.- Pasos de la calibración polinomial progresiva / Método de linealización. El propósito de la calibración es obtener la función de respuesta de un sensor calibrado el cuál genere lo más cercano posible una función de transferencia deseada. Esto se realiza tomando mediciones de calibración para un conjunto bien conocido de señales de entrada xn, y comparando el valor medido de la salida del sensor f(xn) con el valor de la salida deseada yn=g(xn). El propósito es calcular la función de transferencia del sensor corregida hn(x) después de cada medición de calibración. Se hace uso de la función de transferencia anterior h1(x) a hn-1(x) , los valores de calibración anteriores y1 a yn-1 y el n-enésima medición de calibración f(xn). La calibración la podemos expresar como una serie de formulas anidadas: hn (an , h1 ( x)......hn −1 ( x), y1... yn −1 ) Donde an se refiere al n-enésimo coeficiente de calibración. En cada paso de calibración el coeficiente de calibración an tiene que ser calculado con el fin de obtener la salida del sensor corregida que se iguale o se le parezca a la salida deseada: hn(xn)=g(xn)=yn Clarificando el procedimiento en cuatro pasos. Maestría en Ciencias en Ingeniería Electrónica (7) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. 1. La primer función de calibración h1(x) esta dada por: h1 ( x) = f ( x) + a1 yref Únicamente se necesita una señal de referencia constante yref para obtener el factor de corrección en las mismas unidades de la función f(x), a1 puede ser un número adimensional. Con base en la primer medición de calibración f(x1) y el valor de salida deseado y1=g(x1), el coeficiente de calibración a1 se puede calcular por la siguiente ecuación: a1 = y1 − f ( x1 ) yref 2. La segunda función de calibración h2(x) utiliza la función h1(x) previamente obtenida y se define como: h2 ( x) = h1 ( x) + a2 [ h1 ( x) − y1 ] El término de corrección que se suma a h1(x) de la ecuación anterior es cero en el primer punto de calibración (x1,y1), para mantener la ecualización previa aun valida para la nueva función h2(x1)=h1(x1)=y1, independiente de a2. Para encontrar el valor de a2 se requiere de una segunda medición de calibración f(x2), y poder calcular h1(x2). a2 = y2 − h1 ( x2 ) [ h1 ( x2 ) − y1 ] 3. La tercera función de calibración deberá construirse de manera tal que los dos valores de ecualización permanezcan sin cambio. La corrección necesaria será cero en los puntos de calibración previos (x1,y1) y (x2,y2) y esta definida como: h3 ( x) = h2 ( x) + a3 ( h1 ( x) − y1 )( h2 ( x) − y2 ) yref Se utiliza una señal de referencia yref para preservar las unidades del término de corrección. Se realiza una tercera medición de calibración f(x3) es inmediatamente se realiza la corrección calculando h1(x3) y h2(x3), los cuales son utilizados para encontrar el valor del tercer coeficiente de calibración: a3 = ( y3 − h2 ( x3 ) ) yref ( h1 ( x3 ) − y1 )( h2 ( x3 ) − y2 ) Maestría en Ciencias en Ingeniería Electrónica (8) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. 4. Similarmente un polinomio de corrección de tercer orden puede obtenerse como cuarta función d calibración, por la siguiente ecuación: h4 ( x) = h3 ( x) + a4 ( h1 ( x) − y1 )( h2 ( x) − y2 )( h3 ( x) − y3 ) yref yref Aquí también, la señal de referencia yref es utilizada para preservar las unidades en el término de corrección. Una nueva medición de calibración f(x4) es necesaria para obtener h1(x4), h2(x4) y h3(x4) y poder calcular el cuarto coeficiente de calibración a4: ( y4 − h3 ( x4 ) ) yref2 a4 = ( h1 ( x4 ) − y1 )( h2 ( x4 ) − y2 )( h3 ( x4 ) − y3 ) Después del cuarto paso de calibración, se obtiene una función de calibración y=h4(x) el cual intercepta la función de transferencia deseada y=g(x) en los cuatro puntos de calibración (x1,y1), (x2,y2), (x3,y3) y (x4,y4). En efecto hemos construido un polinomio de interpolación de Lagrange para la función de transferencia del sensor. Las ecuaciones anteriores pueden evaluarse para obtener el polinomio estándar de la forma: h4 ( x) = co + c1 f ( x) + c2 ( f ( x) ) + c3 ( f ( x) ) 2 3 Y encontrar las expresiones para co,c1 y c3 que generan los coeficientes que dependen de todos los puntos de calibración. Se pueden realizar de la misma manera que se describió pasos de calibración adicional para incrementar el orden del polinomio. La ecuación puede generalizarse y expresar la n_enésima función de calibración por la siguiente ecuación: ⎛ h ( x) − yi hn ( x) = hn −1 ( x) + an yref ∏ ⎜ i ⎜ yref i =1 ⎝ n −1 ⎞ ⎟⎟ ⎠ Los coeficientes de calibración an se calculan en base al n_enésima medición de calibración, dando h1(xn) a hn-1(xn), expresados por: an = yref ⎞ yn − hn −1 ( xn ) n −1 ⎛ ⎜ ⎟ ∏ yref i =1 ⎝ hi ( xn ) − yi ⎠ Todo este proceso se muestra en la figura anterior, claramente el método alcanza progresivamente la función de transferencia calibrada paso a paso. El número de pasos y los puntos de medición xn no necesariamente de antemano se fijan. La reducción de la señal de error, la diferencia entre la salida calibrada y la salida deseada: ε ( x) = hn ( x) − g ( x) Maestría en Ciencias en Ingeniería Electrónica (9) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) Introducción a la Instrumentación. depende del número de pasos y los puntos de calibración seleccionados sobre el rango de la señal: a) Cuando se toma únicamente un paso de calibración, la medición de calibración se toma de mejor manera con una entrada de señal de referencia x1 en la mitad del rango. b) Cuando tomamos dos pasos de calibración, las mediciones de calibración las mediciones de la señal deben hacerse para señales de entrada de aproximadamente 25% y 75% del rango de la entrada. c) Para tres o más pasos de calibración, generalmente una buena linealización se obtiene cuando los puntos de calibración son seleccionados en la siguiente secuencia: Los primeros puntos en un extremo del rango del sensor, los siguientes puntos en el otro extremo del rango del sensor y otros puntos en el centro de los rangos seleccionados previamente. La reducción del error de linealidad que puede obtenerse, depende por supuesto, de no linealidad de la función de transferencia inicial del sensor. Cuando la función de transferencia del sensor tiene una no linealidad típica bien conocida, la selección de las medidas de calibración pueden optimizarse. Pero una linealización característica del sensor deberá ser una mejor aproximación que el método polinomial. El método de calibración polinomial propuesto es valioso para los sensores el cual pueden presentar un error de linealidad arbitrario. Las ventajas del método propuesto son: • Un buena linealización es obtenida con un mínimo número de mediciones de calibración. • Se requiere de un bajo número de coeficientes de calibración, por lo que se requiere de poca memoria. • Los coeficientes de calibración pueden obtenerse directamente, sin interacciones matemáticas. • Es una calibración sistemática paso a paso, utilizando un algoritmo repetitivo. Maestría en Ciencias en Ingeniería Electrónica (10) Mayo 2006/JRM Instituto Tecnológico de Chihuahua (D.E.P.I.) 1.0 y h3(x) x1 x5 -1.0 -0.5 Paso 5 ε Paso 2 Paso 4 0.5 Introducción a la Instrumentación. x3 Paso 3 x4 h2(x) x2 x 0.5 1.0 Paso 3 Paso 1 -1.0 -0.5 1.0 Paso 2 ε2(x) ε1(x) -60% ε(x) -100% -1.0 Paso 1 x 0.5 -20% f(x) -0.5 ε3(x) 20% h4(x) h1(x) ε 4% ε3(x) 2% -1.0 -0.5 ε4(x) 0.5 ε Paso 3 1% 0.5% x 1.0 -1.0 -0.5 ε4(x) 0.5 -2% -0.5% -4% -1% x ε5(x) 1.0 Figura.- Ejemplo de la función de transferencia de un sensor y la función exitosamente calibrada en cinco pasos y el error que se presenta paso a paso. Maestría en Ciencias en Ingeniería Electrónica (11) Mayo 2006/JRM