TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: STAI en 29 de Abril de 2009, 13:05:43

Título: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 13:05:43
Buen día tengan, estoy haciendo un proyecto donde necesito medir la distancia utilizando señales acústicas. Voy a utilizar dsPIC33F..., la cuestión es la siguiente:  voy a enviar un pulso acústico desde un emisor hacia un receptor, el receptor tiene un dsPIC33F..., cómo hago para que el dsPIC del receptor detecte exactamente cuando le llega el pulso acústico al micrófono...
Estaba pensando hacerlo con el conversor y hacer todos los cálculos apartir de eso, pero parece que me falta bases matemáticas para comprender bien cómo hacerlo...
Me puse a investigar y he visto que utilizan circuitos detectores de envolvente, pero no se que tan eficiente sea, por las cuestiones de ruido acústico y mecánico.
También vi otra posibilidad de utilizar un PLL... pero no sé, si es lo que yo necesito...
Agradezco cualquier comentario...
 :?
Título: Re: Detección de un pulso acústico ?
Publicado por: MLO__ en 29 de Abril de 2009, 13:10:54
Hola.

Lo vas a hacer con ultrasonido? Seria la mejor opcion. Si lo haces con US basta con un PIC16 para lo que quieres. Las bases matematicas son simples, calculas la distancia en funcion de la velocidad del sonido en el aire. Al emitir el pulso, empiezas a contar el tiempo con un timer y cuando llegue el eco divides ese tiempo entre dos, como tienes la velocidad del sonido en el aire, puedes calcular la distancia con una division.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 13:41:15
Muchas gracias por su respuesta, lo aprecio mucho.  Bueno le cuento, lo que pasa es que estoy haciendo mi proyecto de graduación, y voy a hacer un LPS, con trilateración esférica... y otras cositas más... bueno y un PIC16 considero no me brinda las herramientas matemáticas para hacer un buen procesamiento de señales.
Bueno la cuestión es la siguiente, mi medición de distancia no es con ultrasonido sino con sonido (f menores a 20KHz), entonces, yo quiero enviar desde un emisor un pulso acústico hacia un receptor, éste receptor va ir dotado de un dsPIC33F... pero yo necesito saber como hago para saber cuando me llega exactamente el pulso acústico al micrófono para empezar a hacer la comversión exactamente cuando llegue el pulso. 
El sistema es alimentado con baterías y necesito hacer el sistema eficiente con respecto al consumo de energía.
Segundo motivo, usted dirá, pues poner a funcionar el ADC automáticamente, pero y me he preguntado, como hago para


Hola.

Lo vas a hacer con ultrasonido? Seria la mejor opcion. Si lo haces con US basta con un PIC16 para lo que quieres. Las bases matematicas son simples, calculas la distancia en funcion de la velocidad del sonido en el aire. Al emitir el pulso, empiezas a contar el tiempo con un timer y cuando llegue el eco divides ese tiempo entre dos, como tienes la velocidad del sonido en el aire, puedes calcular la distancia con una division.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: MLO__ en 29 de Abril de 2009, 13:46:42
Hola.

el problema con hacerlo con frecuencias audibles, es que no vas a poder discriminar si el sistema esta detectando un eco de tu emisor, o un ruido externo, por eso es mejor usar ultrasonido, ademas, la resolucion de la medida aumenta mucho.

No te recomiendo que uses el ADC para discriminar la frecuencia del sonido, eso se puede hacer analogamente con un AO.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 14:04:03
He ahí el trabajito de mi proyecto... utilizó sónido por sus características de propagación omnidireccionalidad, alcance... pues las distancias que estamos hablando son de 10 m hacia adelante...
Agradezco cualquier comentario..

Hola.

el problema con hacerlo con frecuencias audibles, es que no vas a poder discriminar si el sistema esta detectando un eco de tu emisor, o un ruido externo, por eso es mejor usar ultrasonido, ademas, la resolucion de la medida aumenta mucho.

No te recomiendo que uses el ADC para discriminar la frecuencia del sonido, eso se puede hacer analogamente con un AO.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: MLO__ en 29 de Abril de 2009, 14:07:52
Pues bien, aclarada la cosa, descartado el US.

El principio de deteccion seria el mismo, por medio de un AO, me imagino que estas definiendo una frecuencia para el pulso sonico. Que frecuencia es?
Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 14:26:54
15 KHz, inicialmente.
Cuando me dices que por medio de AO, con comparador de nivel o filtro activo...

Pues bien, aclarada la cosa, descartado el US.

El principio de deteccion seria el mismo, por medio de un AO, me imagino que estas definiendo una frecuencia para el pulso sonico. Que frecuencia es?
Título: Re: Detección de un pulso acústico ?
Publicado por: MLO__ en 29 de Abril de 2009, 14:42:07
Pues toca ambos, ya que los microfonos no son selectivos, habria que hacer un filtro pasabanda a esa frecuencia, luego se puede colocar el comparador. Segun la amplitud de la onda que llegue -a 15kHz- se calcula el umbral de deteccion, es decir, el valor minimo que se debe obtener para decidir si llego o no un eco. Igual, creo que vas a tener mucha interferencia, ya que 15kHz pueden venir de muchas partes.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: jfmateos2 en 29 de Abril de 2009, 15:10:15
¿qué es un LPS?
Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 16:04:00
Gracias...
Exacto va a tener mucha interferencia, pero, pienso aprovechar que conozco la duración del pulso para ayudar a discriminar otras frecuencias... osea, cuando haga la conversión, pues considero yo, que puedo mirar la duración de dicha frecuencia y determinar y es el pulso que estoy esperando, no crees!  Si tienes más ideas las escucho...
También con filtros digitales y estoy mirando que otras técnicas puedo utilizar para tratar ese pulso...

Pues toca ambos, ya que los microfonos no son selectivos, habria que hacer un filtro pasabanda a esa frecuencia, luego se puede colocar el comparador. Segun la amplitud de la onda que llegue -a 15kHz- se calcula el umbral de deteccion, es decir, el valor minimo que se debe obtener para decidir si llego o no un eco. Igual, creo que vas a tener mucha interferencia, ya que 15kHz pueden venir de muchas partes.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 16:05:57
Local Positioning System
Recibo ideas y comentarios sobre la duda que tengo, gracias...

¿qué es un LPS?
Título: Re: Detección de un pulso acústico ?
Publicado por: MLO__ en 29 de Abril de 2009, 16:08:50
No se si se pueda discriminar con el tiempo de duracion del pulso, ya que el ruido va a tener la misma frecuencia.

Supongamos que envias un pulso de 2 segundos a 15kHz, luego de enviar el pulso el sistema queda a la espera del eco, ahora supongamos que hay un ruido de 15kHz, el sistema de deteccion tiene que evaluar si dura o no los 2 segundos, mientras estas evaluando, digamos a los 1.1 segundos, llega el verdadero dato del eco ... cuando termines de evaluar el ruido el sistema pasara a evaluar la señal de eco, pero esta solo durara 0,9 segundos, por lo que se descartaria.

No creo que el tiempo sea una buena variable de evaluacion.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 16:15:22
Si tienes razón...
Pues era una idea solamente, aunque con la idea que te comentaba también creo que me tocaba mirar la amplitud, osea, el sistema esta recibiendo un ruido a 15KHz a cierta amplitud, y cuando le llegue el eco, la amplitud va a subir súbitamente durante el tiempo del pulso, pero como tu dices posiblemente esa no es el camino correcto...

No se si se pueda discriminar con el tiempo de duracion del pulso, ya que el ruido va a tener la misma frecuencia.

Supongamos que envias un pulso de 2 segundos a 15kHz, luego de enviar el pulso el sistema queda a la espera del eco, ahora supongamos que hay un ruido de 15kHz, el sistema de deteccion tiene que evaluar si dura o no los 2 segundos, mientras estas evaluando, digamos a los 1.1 segundos, llega el verdadero dato del eco ... cuando termines de evaluar el ruido el sistema pasara a evaluar la señal de eco, pero esta solo durara 0,9 segundos, por lo que se descartaria.

No creo que el tiempo sea una buena variable de evaluacion.

Saludos
Título: Re: Detección de un pulso acústico ?
Publicado por: MLO__ en 29 de Abril de 2009, 16:29:33
Pues .... sigo pensando que la mejor manera es US. Garantizas que solo tu estas emitiendo la frecuencia deseada -unos 40kHz-.
Título: Re: Detección de un pulso acústico ?
Publicado por: jfmateos2 en 29 de Abril de 2009, 16:54:50
Ahhhh, entonces te adjunto unos cuantos enlaces sobre este asunto que estuve investigando hace algún tiempo, quizás el mejor es el primero:


http://www.sdss.jhu.edu/~tamas/bolts/locator.html
http://forum.allaboutcircuits.com/newsgroups/viewtopic.php?t=1688
http://gias720.dis.ulpgc.es/Gias/Publications/roman2002_casimiro.pdf
http://superpositioned.com/2006/02/10/nic_1-sound-following-robot
http://www.restena.lu/convict/Jeunes/PhaseSound.htm
http://thenxtstep.blogspot.com/2008/01/determining-sound-direction.html

Espero que te sean de ayuda... a mí me resultaron muy interesantes. En mi opinión no debes medir la amplitud, sino la diferencia de fase entre las señales captadas por los micrófonos.
Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 20:04:07
Muchas gracias por su tiempo, voy a mirar esa información. Con respecto a lo que me cuentas, yo voy a utilizar un solo micrófono en el robot móvil, y tres balizas o puntos de referencia en el techo, y voy ha hacerlo con trilateración solucionado con TOF ó TOA que son técnicas de medición de distancia. Bueno la cosa la tengo clara que es lo que quiero para mi proyecto, es problema es que no sé como comenzar, jejeje... buen te agradezco cualquier otro comentario...

Ahhhh, entonces te adjunto unos cuantos enlaces sobre este asunto que estuve investigando hace algún tiempo, quizás el mejor es el primero:


http://www.sdss.jhu.edu/~tamas/bolts/locator.html
http://forum.allaboutcircuits.com/newsgroups/viewtopic.php?t=1688
http://gias720.dis.ulpgc.es/Gias/Publications/roman2002_casimiro.pdf
http://superpositioned.com/2006/02/10/nic_1-sound-following-robot
http://www.restena.lu/convict/Jeunes/PhaseSound.htm
http://thenxtstep.blogspot.com/2008/01/determining-sound-direction.html

Espero que te sean de ayuda... a mí me resultaron muy interesantes. En mi opinión no debes medir la amplitud, sino la diferencia de fase entre las señales captadas por los micrófonos.
Título: Re: Detección de un pulso acústico ?
Publicado por: jfh900 en 29 de Abril de 2009, 20:19:48
Efectivamente como bien dice jfmateos2 lo que hay que medir es el desfase entre las señales emitida y recibida. Es el método empleado en radiometría utilizado en topografía por ejemplo. La formula que permite determinar la distancia es:

2D=m* \lambda + \Delta \lambda

Donde m es el número de ciclos completos que se reciben y
\Delta \lambda
es el desfasaje entre las dos señales.

Un saludo


Título: Re: Detección de un pulso acústico ?
Publicado por: STAI en 29 de Abril de 2009, 20:38:26
Hola amigo, muchas gracias por su tiempo, lo que pasa es que yo no voy a utilizar dos micrófonos sino uno en el robot móvil, creo que ustedes se estan refiriendo a proyectos donde se necesita saber de donde viene el sonido, es algo parecido pero no.  Lo que necesito es ideas de cómo saber cuando me llega el pulso acústico, ya sea por medio de circuitos o software... les agradezco todos los comentarios... es para que en ese momento poner a funcionar el ADC... o me imagino que tambien debe haber herramientas matemáticas (algoritmos) o algo asi, espero me puedan ayudar...

Efectivamente como bien dice jfmateos2 lo que hay que medir es el desfase entre las señales emitida y recibida. Es el método empleado en radiometría utilizado en topografía por ejemplo. La formula que permite determinar la distancia es:

2D=m* \lambda + \Delta \lambda

Donde m es el número de ciclos completos que se reciben y
\Delta \lambda
es el desfasaje entre las dos señales.

Un saludo