EL sensor de distancias GP2D120. (c) Domingo Llorente

EL sensor de distancias GP2D120 (c) Domingo Llorente 2010 1 Características del sensor  Salida analógica (Vo)  Alimentación a +5v  Rango efectivo de medida de 4 a 40 cm  Tiempo típico de respuesta 39ms  Retardo típico de comienzo 44ms  Consumo medio 33mA (c) Domingo Llorente 2010 2 Diagrama de bloques  El sensor calcula la distancia midiendo el ángulo de reflexión recibido Diagrama de bloques (c) Domingo Llorente 2010 3 Curva de respuesta  La respuesta NO es lineal  Es necesario utilizar algún método de interpolación  El sensor NO da lecturas fiables por debajo de 4cm. (c) Domingo Llorente 2010 4 Métodos de interpolación Experimental. (Realizando lecturas de tensión en función de la distancia).   Interpolación lineal. Método de la recta punto pendiente.  Interpolación lineal. Método de los mínimos cuadrados.  Interpolación polinómica. (c) Domingo Llorente 2010 5 Interpolación experimental (no recomendable)  Realizar experimentalmente lecturas de tensión del sensor colocando un objeto a distancias conocidas.  Cuantas más lecturas realicemos mejores resultados obtendremos.  Luego guardar los resultados en dos tablas. float V[n]={0.3 ,0.4 ,0.5 ,…… }; // Valores de tensión float D[n]={40.0 ,30.0,25.8,…… }; // Valores de distancia  En tiempo de ejecución para cada lectura de tensión del sensor consultaremos el valor más próximo almacenado en la tabla V[n] y su valor de distancia asociado en D[n]. (c) Domingo Llorente 2010 6 Interpolación lineal. Recta punto pendiente  El método de la interpolación lineal consiste en tomar dos lecturas, parejas (Tensión,distancia). (x1,y2),(x2,y2)  Con dos puntos se puede calcular matemáticamente la ecuación de la recta que pasa por dichos puntos: (y-y1)=m(x-x1) donde m=(y2-y1)/(x2-x1)  Al resolver la ecuación tendremos una función que nos devolverá el valor de la distancia en función del valor de tensión que nos da el sensor.  Si tomamos N medidas podemos calcular las ecuaciones de N-1 rectas y así sustituir la curva NO lineal por un conjunto de rectas conocidas. (c) Domingo Llorente 2010 7 Interpolación lineal. Recta punto pendiente Tomando 7 puntos vamos a convertir la curva de respuesta no lineal del conversor en 6 rectas. Nota: Vamos a considerar como eje X el valor de tensión y como eje Y el valor de distancia para sacar las ecuaciones y=f(x), es decir, distancia=f(tensión); (c) Domingo Llorente 2010 8 Interpolación lineal. Recta punto pendiente Aplicando la ecuación de la recta cada dos puntos obtenemos: R1) R2) R3) R4) R5) R6) y= y= y= y= y= y= 12 – 3x 16 – 5x 21 – 8.57x 32.32 – 19.35x 41.53 – 31.81x 60.45 – 68.18x Donde: y= Distancia en cm x= Tensión Vo del sensor GP2D120 (c) Domingo Llorente 2010 9 Interpolación lineal. Recta punto pendiente Ahora ya solo queda programar las ecuaciones en CCS: voltios=5.0*valor_adc/1023; if(voltios 2.00) dist=12.00-3.00*voltios; if(voltios 1.40) dist=16.00-5.00*voltios; if(voltios 1.05) dist=21.00-8.57*voltios; if(voltios 0.74) dist=32.32-19.35*voltios; if(voltios 0.52) dist=41.53-31.81*voltios; if(voltios 0.30) dist=60.45-68.18*voltios; printf(lcd_putc,”\fVsal:%f”,voltios”); printf(lcd_putc,”\nDist:%f”,dist”); (c) Domingo Llorente 2010 // Tramo R1 // Tramo R2 // Tr

31 downloads 84 Views 1012KB Size

Recommend Stories


Domingo de Ramos Ciclo ( C )
Domingo de Ramos Ciclo ( C ) Texto bíblico: Lucas 19, 28-40 Tema: Entra triunfal de Jesús en Jerusalén 1. Introducción Como sabemos la liturgia –Eucar

Miguel Llorente Geología
Miguel Llorente Geología 1999 - 2000 Geología del Carbón y del Petróleo 1 Miguel Llorente Geología 1999 - 2000 Índice Geología del carbón........

Story Transcript

EL sensor de distancias GP2D120

(c) Domingo Llorente 2010

1

Características del sensor  Salida analógica (Vo)  Alimentación a +5v  Rango efectivo de medida de 4 a 40 cm  Tiempo típico de respuesta 39ms  Retardo típico de comienzo 44ms  Consumo medio 33mA

(c) Domingo Llorente 2010

2

Diagrama de bloques  El sensor calcula la distancia midiendo el ángulo de reflexión recibido

Diagrama de bloques

(c) Domingo Llorente 2010

3

Curva de respuesta  La respuesta NO es lineal  Es necesario utilizar algún método de interpolación  El sensor NO da lecturas fiables por debajo de 4cm.

(c) Domingo Llorente 2010

4

Métodos de interpolación Experimental. (Realizando lecturas de tensión en función de la distancia).



 Interpolación lineal. Método de la recta punto pendiente.  Interpolación lineal. Método de los mínimos cuadrados.  Interpolación polinómica.

(c) Domingo Llorente 2010

5

Interpolación experimental (no recomendable)  Realizar experimentalmente lecturas de tensión del sensor colocando un objeto a distancias conocidas.  Cuantas más lecturas realicemos mejores resultados obtendremos.  Luego guardar los resultados en dos tablas. float V[n]={0.3 ,0.4 ,0.5 ,…… }; // Valores de tensión float D[n]={40.0 ,30.0,25.8,…… }; // Valores de distancia  En tiempo de ejecución para cada lectura de tensión del sensor consultaremos el valor más próximo almacenado en la tabla V[n] y su valor de distancia asociado en D[n].

(c) Domingo Llorente 2010

6

Interpolación lineal. Recta punto pendiente  El método de la interpolación lineal consiste en tomar dos lecturas, parejas (Tensión,distancia). (x1,y2),(x2,y2)  Con dos puntos se puede calcular matemáticamente la ecuación de la recta que pasa por dichos puntos: (y-y1)=m(x-x1) donde m=(y2-y1)/(x2-x1)  Al resolver la ecuación tendremos una función que nos devolverá el valor de la distancia en función del valor de tensión que nos da el sensor.  Si tomamos N medidas podemos calcular las ecuaciones de N-1 rectas y así sustituir la curva NO lineal por un conjunto de rectas conocidas. (c) Domingo Llorente 2010

7

Interpolación lineal. Recta punto pendiente Tomando 7 puntos vamos a convertir la curva de respuesta no lineal del conversor en 6 rectas.

Nota: Vamos a considerar como eje X el valor de tensión y como eje Y el valor de distancia para sacar las ecuaciones y=f(x), es decir, distancia=f(tensión);

(c) Domingo Llorente 2010

8

Interpolación lineal. Recta punto pendiente Aplicando la ecuación de la recta cada dos puntos obtenemos: R1) R2) R3) R4) R5) R6)

y= y= y= y= y= y=

12 – 3x 16 – 5x 21 – 8.57x 32.32 – 19.35x 41.53 – 31.81x 60.45 – 68.18x

Donde: y= Distancia en cm x= Tensión Vo del sensor GP2D120

(c) Domingo Llorente 2010

9

Interpolación lineal. Recta punto pendiente Ahora ya solo queda programar las ecuaciones en CCS: voltios=5.0*valor_adc/1023; if(voltios 2.00) dist=12.00-3.00*voltios; if(voltios 1.40) dist=16.00-5.00*voltios; if(voltios 1.05) dist=21.00-8.57*voltios; if(voltios 0.74) dist=32.32-19.35*voltios; if(voltios 0.52) dist=41.53-31.81*voltios; if(voltios 0.30) dist=60.45-68.18*voltios; printf(lcd_putc,”\fVsal:%f”,voltios”); printf(lcd_putc,”\nDist:%f”,dist”);

(c) Domingo Llorente 2010

// Tramo R1 // Tramo R2 // Tramo R3 // Tramo R4 // Tramo R5 // Tramo R6

10

Interpolación lineal. Mínimos cuadrados

(c) Domingo Llorente 2010

11

Interpolación lineal. Mínimos cuadrados (II) Se trata de encontrar la ecuación de la recta que pase, lo más cerca posible, de todos los puntos.

(c) Domingo Llorente 2010

12

Interpolación lineal. Mínimos cuadrados (III)

Completamos la tabla con los valores tomados de forma experimental (c) Domingo Llorente 2010

13

Interpolación lineal. Mínimos cuadrados (IV) La recta buscada es: Y=0.935x + 0.36

En nuestro caso: Podríamos fijar grupos de tres o cuatro puntos de la gráfica del sensor y calcular las ecuaciones de las rectas por este método

(c) Domingo Llorente 2010

14

Interpolación Polinómica. Base matemática: Dados N puntos del plano siempre existirá un polinomio de orden N-1 que pase por dichos puntos. Para dos puntos: p1 y p2 existe un polinomio de grado 1 (recta) que pasa por los dos. Y=ax+b Para tres puntos: p1,p2 y p3 existe un polinomio de grado 2 (parábola) que pasa por los tres. Y=ax2+bx+c El método consiste en plantear las N ecuaciones con N incognitas para calcular los valores de a,b,c,… El método consigue polinomios que “suavizan” las curvas entre los puntos pero suelen ser inestables según vamos subiendo de orden y el cálculo se complica. (c) Domingo Llorente 2010

15

Ejemplo de programa Diseñar un programa que esté, constantemente, leyendo valor Vo del sensor GP2D120 conectado a la entrada analógica AN3 y mostrando en el LCD de la placa el valor de la tensión y la distancia en cm. Utilizar el método de interpolación lineal dividiendo la curva de respuesta del sensor en 6 rectas.

(c) Domingo Llorente 2010

16

Solución en CCS (I) Comenzamos utilizando el asistente “PIC Wizard”

Luego creamos la carpeta para nuestro proyecto y damos un nombre al archivo con extensión .pjt

(c) Domingo Llorente 2010

17

Solución en CCS (II) Elegir: Pic: PIC17F877A Frecuencia del oscilador: 4Mhz Fuses: Crystal osc

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.