Autor Tema: Convertir voltaje analogico del GP2D12 en valor de distancia..  (Leído 10596 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado vetto905

  • PIC10
  • *
  • Mensajes: 12
Convertir voltaje analogico del GP2D12 en valor de distancia..
« en: 06 de Agosto de 2009, 00:22:48 »
Quiero realizar un circuito el cual tome la señal analogica del sensor de distancia GP2D12 y la convierta en un valor de distancia.. Por ejemplo: El GP2D12 tiene un rango de alcance de 80 cm y quiero que detecte a que distancia se encuentra cierto objeto siempre y cuando este dentro del rago de 80 cm.. Para representar esa distancia pense en usar una fila de 8 LEDs, por ejemplo: Si un objeto se encuentra a 40 cm del sensor entonces se encendera el LED que está en la mitad de la fila de LEDs que seria el LED numero 4... o si esta a 70 cm se encenderá el LED numero 7.. Bienvenida sea cualquier idea.. Gracias de antemano.

Saludos

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #1 en: 06 de Agosto de 2009, 00:27:52 »
Hola.

Debes usar la formula de conversion que esta en la hoja tecnica del transductor.
El papel lo aguanta todo

Desconectado vetto905

  • PIC10
  • *
  • Mensajes: 12
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #2 en: 06 de Agosto de 2009, 00:33:52 »
Gracias por tu respuesta, yo tengo esa hoja en la cual indica que, por ejemplo: 2.3 voltios equivale a 10cm.. pero quiero una fila de LEDs para que me indique esos valores.. Como podria hacer ese montaje?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #3 en: 06 de Agosto de 2009, 01:01:52 »
No se lenguaje utilizaras pero la idea puede ser esta:

Sensor:
0 ... 80 cm --->  0 ... xx Volt ---> 0 ... 255 (AD 8 bits)

Hacer la conversión tal que la relación sea:
0 ... 255 Volt ---> 0 ... 7   (No se si sera lineal)

Luego cargar un byte con 0x01 y rotar según el valor anterior (0 ... 7), y mostrar en el puerto.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado vetto905

  • PIC10
  • *
  • Mensajes: 12
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #4 en: 06 de Agosto de 2009, 03:02:12 »
con que PIC trabajaria? me gustaria trabajar en lenguaje C.. Me puedes dar la explicacion de otra manera? para lograr caer en lo que me quieres hacer entender...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #5 en: 06 de Agosto de 2009, 10:45:12 »
El pic debe tener módulo AD, puede ser 16F88, 16F873, 16F877, 16F887, etc...

En C lo que comente anteriormente y suponiendo relación lineal:

Código: C
  1. int Medida, Desp, DisLeds;
  2.  
  3.    Medida=read_adc();  // AD 8 bits.-
  4.    Desp=((int16)Medida*7)/255;
  5.    DisLeds=0x01;
  6.    DisLeds<<=Valor;
  7.    output_b(DisLeds);

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #6 en: 06 de Agosto de 2009, 14:44:07 »
Hola.

No es nada lineal la relacion entre distancia y voltaje. Habria que hacer una tablita que relacione los valores para mayor precision.
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #7 en: 06 de Agosto de 2009, 15:13:02 »
Hola.

No es nada lineal la relacion entre distancia y voltaje. Habria que hacer una tablita que relacione los valores para mayor precision.
Yo ni idea!  :mrgreen: Puede hacer una tabla o encontrar una ecuación que los relacione, depende del micro que utilice, etc.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado juanpavz

  • PIC12
  • **
  • Mensajes: 77
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #8 en: 06 de Agosto de 2009, 18:15:48 »
La curva de este sensor no es lineal, pero si no requieres mucha precisión como es tu caso podrias hacerlo empíricamente leyendo el valor analogico y asignando margenes del valor que manda el conversor a una variable que a su vez cambie de estado el puerto que este conectado a los leds.
Podrias darte una vuelta por estos links:
http://www.muchotrasto.com/gp2d12.php
http://www.acroname.com/robotics/info/articles/irlinear/irlinear.html       
Saludos
Hazlo o no lo hagas... Pero no lo intentes

Desconectado blackcat

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 600
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #9 en: 06 de Agosto de 2009, 22:53:27 »
Conozco a mucha gente que ha utilizado ese sensor y deja mucho que desear .... el primer detalle es que no es lineal .... eso se ha resuelto estimando la ecuacion caracteristica, he visto que de hasta orden 5 ....  :shock: ... eso es absurdo ya que el pic debe realizar mucho calculo para deducir el valor de la distancia ... lo mejor para mi es una linealizacion por rangos, por ejemplo, de 0 a 1V se deduce una ecuacion de orden 1, de 1 a 2V otra ecuacion, de 2 a 3V otra ecuacion ... y asi sucecivamente, obviamente no tiene que ser en esos voltajes se duduce en las partes mas lineales ...

El ultimo detalle y el mas grave es que este sensor varia la relacion distancia - voltaje deacuerdo a la cantidad de luz en el ambiente ... la curva en un cuarto oscuro no es la misma que en el exterior ....  :?

Quizá lo menos peor (por no decir mejor!  :D) es usar sensores por ultrasonido ...  tambien tienen sus problemones! pero puedes obtener un dato mas preciso y sin tantas variaciones ..

Saludos!

Control Automático, DSP & Microcontroladores

Desconectado vetto905

  • PIC10
  • *
  • Mensajes: 12
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #10 en: 07 de Agosto de 2009, 01:04:06 »
Umm... Y no es mas facil hacer un programa en C que segun la salida (Vo) del sensor, el PIC encienda un LED?? por ejemplo: en esta pagina está la gráfica voltaje contra distancia http://www.muchotrasto.com/gp2d12.php entonces como el sensor detecta solo 18 valores de distancia yo pondria una fila de 18 LEDs y luego conectaria la salida (Vo) del sensor a una entrada del PIC, luego si en la entrada del PIC usada por el sensor (dependiendo de la distancia en que se encuentre el objeto) hay 2v entonces se encenderia el LED numero 4 que indica que el objeto se encuentra a 13 cm, o si el sensor le envia al PIC 0.75v entonces se encenderia el LED numero 10 que indicaria que el objeto se encuentra a 40 cm.. Todo seria cuestion de programacion.. En eso si necesito bastante ayuda.. Hay algun PIC que tenga 18 salidas? pregunto porque necesitaré un PIC al cual conectarle los 18 LEDs, o tendre que usar mas de un PIC, me gustaria usar un PIC bastante comercial, barato y del que hayan bastantes tutoriales.. Gracias de antemano..

Saludos

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #11 en: 07 de Agosto de 2009, 02:06:18 »
En el link que das esta hasta el codigo fuente de la aplicacion!!!!  :shock: Solo bastan unos cuantos if para encender los LEDs que quieres.

Si quieres que tenga mas pines de salida puedes usar un registro de desplazamiento.

Estoy de acuerdo con Black, creo que es mejor usar un sensor de ultrasonido, hay algunos (SFR02) que dan el valor de distancia (cm, in, uS) directamente.

Saludos
El papel lo aguanta todo

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #12 en: 07 de Agosto de 2009, 16:39:31 »
xD

ya habia visto ese problemilla xD solo que ando sin internet xD

GP2Y0A21YK. Sensor de distancia analógico SHARP.
Sustituto del GP2D12.

Este sensor puede determinar la distancia a la que se encuentra un objeto en un rango de 10 a 80 cm.

Tiene un conector de tres pines:

1. Salida. Esta varía su voltaje con respecto a tierra dependiendo de la distancia a la que se encuentre el objeto, pero su salida no es lineal. Se puede usar la siguiente fórmula para linearizarla:  D = (6787 / (V - 3)) - 4.
 D= Distancia,  V=voltaje.

2. Tierra.

3. Vcc. El voltaje de operación debe de ser de 4.5 v. a 5.5 vdc.


saludos

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Convertir voltaje analogico del GP2D12 en valor de distancia..
« Respuesta #13 en: 31 de Julio de 2011, 19:52:52 »
Hola, preciso me topo con este sensor y pretendo obtener una respuesta relativamente aceptable respecto a precisión en la medida de distancia. La no linealidad de este sensor es inaceptable para un sensor que pretende dar la distancia a la cual se encuentra un objeto... Considero que la mejor opción es aproximar este sistema no lineal a varios subsistemas lineales, donde se toman pequeños tramos de la gráfica dada por el fabricante del sensor y tener una ecuación propia para estos.

Ya comento que tal va esto.

Saludos!

 



 

anything