Sunteți pe pagina 1din 3

Medidor de Presin Para hacer el medidor de Presin usando el microcontrolador PIC16f877a se tomaron datos segn la tabla: Valor en Tensin

(V) Medidor de Presin (PSI) 0.72 2.48 3.26 3.82 4.37 4.88 5.2 5.48 5.61

0 10 20 30 40 50 60 70 80

Estos valores nos indican que los valores de presin no varan en forma lineal con los valores de voltaje a la salida del sensor. Para encontrar la relacin entre estas dos magnitudes (presin y voltaje en el sensor) graficamos los valores y los ajustamos a una funcin cuadrtica usando el mtodo de mnimos cuadrados, se usa este mtodo para obtener el menor error posible al ajustar la curva obteniendo la funcin que muestra el grafico:

y
90 80 y = 3.4056x2 - 6.383x + 3.5954 70 60 50 40 30 20 10 0 0 1 2 3 4 5 6 y Poly. (y)

Para la programacin de esta funcin en el microcontrolador tendremos varias cosideraciones: La resolucin del conversor A/D del microcontrolador. El ajuste de esta resolucin. Las limitaciones del microcontrolador para hacer operaciones en punto flotante.

Conversor A/D del microcontrolador PICF16F877A El conversor AD de este microcontrolador nos puede ofrecer datos en formato de 10 bits, esto quiere decir valores desde 0 hasta 1023 para valores de voltaje desde 0V hasta +VDD (comnmente alrededor de 5V). Para nuestras pruebas la fuente de alimentacin estuve en un valor de VDD = 5.48V , esto quiere decir que el mximo valor del dato ser 5.48V que en valor binario de 10 bits ser 1023. Ajuste de la resolucin Los valores de entrada a nuestra funcin deben ser como los mostrados en la tabla: Valor en Tensin (V) 0.72 2.48 3.26 3.82 4.37 4.88 5.2 5.48 5.61 Medidor de Presin (PSI) 0 10 20 30 40 50 60 70 80

Esto quiere decir que tenemos que escalar los valores que nos ofrece el conversor A/D.

Este nmero es demasiado pequeo, lo multiplicaremos por 10000

Redondeando tomaremos el valor:

Luego de esta parte ya tendremos la funcin de muestreo del PIC: int16 tomar_muestra(){ int16 a; delay_us(100); set_adc_channel(0); a=read_adc(); a=a*53; return a; }

Introduccin de la formula en el microcontrolador de 8 bits Para la introduccin de la formula se ha tenido cuidado en las limitaciones del microncotrolador para manejar datos con punto flotante, prefiriendo hacer todas las operaciones en entero. La funcin de clculo de la presin seria la siguiente: int16 escalar_muestra(int16 a){ int32 b; int16 c; b=a; b=(b*b/100)*34-(6383*b)+36000000; b=b/10000000; c=b; return c; }