Autor Tema: A vueltas con los TSOPxx38  (Leído 4016 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5460
    • Picmania by Redraven
A vueltas con los TSOPxx38
« en: 11 de Diciembre de 2014, 08:41:43 »
Como decimos por mi tierra: estoy mas liado que la pata de un romano.  :oops:

Tengo un pequeño (gran problema) que me está complicando la vida más de lo que me esperaba con los TSOPXX38. Creía que entendía bien estos cacharros pero algo (importante) se me está escapando  :5]

Veréis: Tengo un sensor de paso (y el sentido del mismo) mediante una barrera IR montado mediante dos placas:

1.- Una con el emisor, con un diodo IR CQY99 de 950nm de longitud de onda, y un PIC16F1503 que genera una portador continua de 38Khz (bastante bien generados según el osciloscopio)
2.- Otra con el receptor, con dos TSOP31238 y un PIC18F46K22.

La idea es que mientras los dos TSOP´s están recibiendo portadora no ocurre nada pero si algo (o alguien) cruza por delante tendré dos cortes de L2H y H2L sucesivos en cada TSOP que empezarán y terminarán ligeramente desfasados entre sí según sea el sentido del tránsito.

Lo ideal es que:

1.- Mientras haya portadora de 38Khz en cada uno de los TSOP éstos mantengan su salida a LOW, independiente del tiempo que se mantenga visible la portadora.
2.- Cuando se corte la recepción en cualquiera de los TSOP de los 38Khz por ocultación del emisor el TSOP pase a HIGH, independiente del tiempo que se mantenga invisible la portadora.

Sin embargo esto no es cierto en mi caso.  :?

Lo de mantener estable la salida mientras tenga portadora sería algo así como:



Pero sin embargo lo que obtengo es realmente esto:



O sea que obtengo una secuencia de pulsos (con frecuencia inferior a la original) cuando la portadora es contínua. Medido con el osciloscopio tengo 1.40 Khz contínuos en la salida del TSOP cuando éste recibe los 38Khz contínuos del emisor.

Esto me hace que en las interrupciones externas asociadas a cada salida de los dos TSOP´s tenga un Baile de San Vito constante que me complica la vida ya que tengo que ir refrescando unos timer´s cada vez que me llega un flanco y si no llega ninguno entonces el timer se agota y pongo un flag en alto y .... y tal y tal y tal.

Yo quiero señales "puras"  :-) Si hay portadora tengo un LOW, si no hay portadora tengo un HIGH y se acabó.  :P

El famoso esquema de funcionamiento del TSOP según su datasheet es este:



Lo que me lleva a pensar que es normal lo que me está ocurriendo ¿o no? Imagino que esto de los TSOP´s están diseñados para leer los mandos a distancia y éstos no envían portadora continua sino una serie de pulsos codificados discretos en donde la portadora aparece y desaparece durante breves lapsus de tiempo.

¿Conocéis alguna forma de configurar la emisión o la recepción para que se asemejen lo mas posible al ideal que os decía en la figura 1? ¿Es posible hacer algo con el emisor para que el TSOP receptor no oscile como si perdiese la portadora?  :mrgreen:







Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7854
Re: A vueltas con los TSOPxx38
« Respuesta #1 en: 11 de Diciembre de 2014, 11:21:44 »
Creo que la respuesta esta en el datasheet:
http://www.vishay.com/docs/82492/tsop312.pdf

Citar
The devices can distinguish data signals from noise due to differences in frequency, burst length, and envelope duty cycle.

When a data signal is applied to the product in the presence of a disturbance, the sensitivity of the receiver is automatically reduced by the AGC to insure that no spurious pulses are present at the receiver’s output. Some examples which are suppressed are:

DC light (e.g. from tungsten bulbs sunlight)
Continuous signals at any frequency
 Strongly or weakly modulated patterns from fluorescent lamps with electronic ballasts (see figure 14 or figure 15).

Tal ves deberias hacer como la figura 3 (pagina 3 ), y resetear un timer cuando pase demasiado tiempo y no se detecte nada.

Citar
¿Conocéis alguna forma de configurar la emisión o la recepción para que se asemejen lo mas posible al ideal que os decía en la figura 1? ¿Es posible hacer algo con el emisor para que el TSOP receptor no oscile como si perdiese la portadora?
A no ser que se invente algun circuito externo/ o seccion de codigo no veo que pueda serlo.
« Última modificación: 11 de Diciembre de 2014, 11:55:46 por KILLERJC »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17764
    • MicroPIC
Re: A vueltas con los TSOPxx38
« Respuesta #2 en: 12 de Diciembre de 2014, 03:29:22 »
Quizás debas hacer la recepción con un fotorreceptor y un LM567, garantizando así el pulso sólo cuando llegue la frecuencia establecida a la entrada.

Es lo que usé en esta aplicación, para detectar las pistolas láser:
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5460
    • Picmania by Redraven
Re: A vueltas con los TSOPxx38
« Respuesta #3 en: 12 de Diciembre de 2014, 05:30:53 »
Quizás debas hacer la recepción con un fotorreceptor y un LM567, garantizando así el pulso sólo cuando llegue la frecuencia establecida a la entrada.

¿Me puedes ampliar la info please? Aunque ya tengo 100 pcb montadas con los TSOP de los coxones, pero para próximas tiradas ...
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7854
Re: A vueltas con los TSOPxx38
« Respuesta #4 en: 12 de Diciembre de 2014, 17:52:18 »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17764
    • MicroPIC
Re: A vueltas con los TSOPxx38
« Respuesta #5 en: 13 de Diciembre de 2014, 02:58:57 »
Pues este fue el circuito que me sirvió de inspiración. Échale un vistazo porque creo que no tendrás dificultad en entenderlo, pero si tuvieras dudas, intentaré ayudarte.



http://heli.xbot.es/?cat=11
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Re: A vueltas con los TSOPxx38
« Respuesta #6 en: 13 de Diciembre de 2014, 18:03:10 »
Los TSOP eliminan cualquier frecuencia continua (incluyendo a la que están echos) por lo que deberás enviar un "dato" y no señales continuas.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3173
Re: A vueltas con los TSOPxx38
« Respuesta #7 en: 13 de Diciembre de 2014, 18:07:59 »
Mira este:

http://www.pablin.com.ar/electron/circuito/varios/proximid/index.htm

Pero como dice jeremylf podias enviar un dato, el que se te antoje, y comprobar continuamente si llega ese dato.

Saludos!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5460
    • Picmania by Redraven
Re: A vueltas con los TSOPxx38
« Respuesta #8 en: 12 de Enero de 2015, 05:50:51 »
Bueno, ya empiezo a ver el final del túnel  :mrgreen:

Si necesitamos una resistencia y utilizamos un varistor no digo yo que no logremos nuestro propósito pero seguro que será más difícil. No hay nada como utilizar el componente adecuado para la función que requerimos de él.

Como comentaba en el primer post de este hilo "Tengo un sensor de paso (y el sentido del mismo) mediante una barrera IR"  y para ello utilicé dos TSOPxxxx que no hacen más que darme dolores de cabeza. Como muchos de ustedes me habéis aconsejado podría montar la barrera enviando códigos, cortando la portadora en paquetes, etc. etc. etc.

O sea lo que os decía antes, utilizando un Control Remoto para montar una Barrera de Paso ...  :oops:

¿Y por qué no utilizamos el componente adecuado? Máxime cuando además tiene el mismo o menor precio y por si fuera o fuese poco además con el mismo patillaje y encapsulado +ó-  :mrgreen:

Ahora estamos utilizando este:



Y yo propongo utilizar este otro del mismo fabricante:



He marcado en rojo los detalles a los que me refiero.

Igual la vida me trata mejor si hago las cosas como los dioses electrónicos mandan ¿No?  :D :D :D



« Última modificación: 12 de Enero de 2015, 05:53:21 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7854
Re: A vueltas con los TSOPxx38
« Respuesta #9 en: 12 de Enero de 2015, 06:04:04 »
Mira vos... yo nunca me hubiera puesto a pensar que venia uno de esos especificamente para una barrera. Una ves que lo sabes pensas que es obvio.

Lo bueno: posee el mismo encapsulado
Lo malo : no posee la misma distribucion de pines

Si no hubiera sido algo cido del cielo, que justo encontres eso y encima los pines coinciden con las placas que habias realizado :)

Lo que si no entendi como es que llegaste a pedir 100 pcb cuando ni siquiera lo habias probado :P

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5440
    • Electrónica Didacta
Re: A vueltas con los TSOPxx38
« Respuesta #10 en: 12 de Enero de 2015, 11:33:41 »
Diego y de cuanto es el tiempo mínimo en que el obstáculo interrumpa la barrera?

podrias enviar la señal como un burst pero controlando el tiempo "muerto" y luego mediante un filtro por software puede diferenciar el tiempo "muerto" de una interrupción real en la barrera
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: A vueltas con los TSOPxx38
« Respuesta #11 en: 12 de Enero de 2015, 22:37:32 »
Hola Diego,

tus sospechas son ciertas. Hace unos meses desarrollé un proyecto que requería ser controlado con un control remoto comunacho de Philips y estuve estudiando el protocolo RC-5 y sus truquitos.

Los TSOP que vienen pensados para controles remoto tienen un circuito interno que directamente te sacan el código manchester asociado.

En los controles remotos, se genera una serie bastante precisa de pulsos (bursts). Una imágen vale más que mis palabras:



Fuente: http://en.wikipedia.org/wiki/RC-5

El TSOP preparado para control remoto decodifica internamente los burst y probablemente oscilará ante presencia de bursts. Es decir, no vas a poder lograr que un TSOP preparado para control remoto te deje la señal de salida igual ante la presencia de pulsos IR.

Las dos posibles salidas ante presencia de bursts constantes e idénticos de este tipo de receptores sería:

_¯_¯_¯_¯....

o bien
¯_¯_¯_¯_....

Incluso debido al proceso de decodificación aparece una demora entre el burst enviado y la señal de salida (creo que el retraso es de 889 uS, la mitad de un bit de señal @ 36Khz)

Por lo tanto, o bien conseguís un receptor que no esté diseñado específicamente para controles remotos, o bien adaptas el código del receptor para detectarlo. Tené en cuenta que los protocolos de los controles remotos eliminan parte del ruido e interferencias gracias al formato que utilizan y puede que de utilizar los burst crudamente tengas que recurrir vos a implementar protecciones.

Por otro lado, si decidís seguir utilizando receptor IR para controles remotos, podés sencillamente disparar un timer cada 444 uS (para 36Khz) y revisar el estado del pin de output del receptor. Si el pin está en el mísmo estado lógico durante al menos 3 interrupciones seguidas del timer, habrás perdido señal del emisor. Caso contrario la señal existe. Pero claro que al hacerlo así sacrificas tiempo de detección, sumado al que te mencioné por el tiempo que demora el receptor en decodificar el burst.

Saludos!


« Última modificación: 12 de Enero de 2015, 22:41:03 por BrunoF »
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5460
    • Picmania by Redraven
Re: A vueltas con los TSOPxx38
« Respuesta #12 en: 13 de Enero de 2015, 06:00:50 »
Hola Diego,

tus sospechas son ciertas. Hace unos meses desarrollé un proyecto que requería ser controlado con un control remoto comunacho de Philips y estuve estudiando el protocolo RC-5 y sus truquitos.

Los TSOP que vienen pensados para controles remoto tienen un circuito interno que directamente te sacan el código manchester asociado.

En los controles remotos, se genera una serie bastante precisa de pulsos (bursts). Una imágen vale más que mis palabras:



Fuente: http://en.wikipedia.org/wiki/RC-5

El TSOP preparado para control remoto decodifica internamente los burst y probablemente oscilará ante presencia de bursts. Es decir, no vas a poder lograr que un TSOP preparado para control remoto te deje la señal de salida igual ante la presencia de pulsos IR.

Las dos posibles salidas ante presencia de bursts constantes e idénticos de este tipo de receptores sería:

_¯_¯_¯_¯....

o bien
¯_¯_¯_¯_....

Incluso debido al proceso de decodificación aparece una demora entre el burst enviado y la señal de salida (creo que el retraso es de 889 uS, la mitad de un bit de señal @ 36Khz)

Por lo tanto, o bien conseguís un receptor que no esté diseñado específicamente para controles remotos, o bien adaptas el código del receptor para detectarlo. Tené en cuenta que los protocolos de los controles remotos eliminan parte del ruido e interferencias gracias al formato que utilizan y puede que de utilizar los burst crudamente tengas que recurrir vos a implementar protecciones.

Por otro lado, si decidís seguir utilizando receptor IR para controles remotos, podés sencillamente disparar un timer cada 444 uS (para 36Khz) y revisar el estado del pin de output del receptor. Si el pin está en el mísmo estado lógico durante al menos 3 interrupciones seguidas del timer, habrás perdido señal del emisor. Caso contrario la señal existe. Pero claro que al hacerlo así sacrificas tiempo de detección, sumado al que te mencioné por el tiempo que demora el receptor en decodificar el burst.

Saludos!


Muy cierto amigo Bruno. Además los "Decodificadores de Códigos IR" tienen un sistema de CAG (Control Automático de Ganancia) que reducen drásticamente la ganancia cuando la señal de 3xKhz es permanente, cuando no les llega en modo de paquetes (burst)

Esto hace que con una portadora continua se comporte como un "reductor de frecuencia" ya que se activa durante X tiempo al recibir la portadora continua, reduce la ganancia, deja de recibir y cambia de estado durante Y tiempo, que transcurrido éste vuelve a subir la ganancia y vuelve a recibir volviendo a cambiar de estado.

Esto hace que al ponerle la portadora continua recibas en el pin de salida un divisor de la misma: Yo con 38Khz de portadora recibo en la salida del TSOP una señal de 1.25Khz que corresponde a las basculaciones del CAG interno del TSOP.

Pero esto no es realmente lo peor de este cacharro para esta aplicación, lo peor está en que el ajuste del CAG no es el mismo para todos los TSOP's con la misma referencia, imagino que por construcción física interna, de modo que cada uno "resuelve" la portadora continua en una frecuencia de salida distinta, o incluso muy distinta. Y esto hace que el Firmware que lo use deba poder adaptarse a esas variaciones "de fábrica" en el modo de funcionamiento.

Resumiendo, lo dicho antes: para clavar una puntilla utilizar un martillo, no un destornillador.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5420
Re: A vueltas con los TSOPxx38
« Respuesta #13 en: 13 de Enero de 2015, 07:39:44 »
Ya que estamos con el tema.
Estoy buscando un receptor que acepte una señal IR que se emita de forma continua para poder hacer un enlace de datos infrarrojo
Los receptores normales de mando a distancia reciben durante un tiempo datos y luego se bloquean (por el CAG)
De manera que para enviar datos (archivos grandes, no una pulsación de una tecla)  es necesario otro receptor especializado.

Por otro lado estos receptores de mando a distancia decodifican ellos sólos la señal de 38kHz y eso es mucho más cómodo que utilizar un simple fototransistor.

Creo que el integrado que buscamos para estas dos aplicaciones puede ser el mismo.

¿Alguien conoce un integrado para recepción continua de señales IR con portadora de 38kHz?

Saludos.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5420
Re: A vueltas con los TSOPxx38
« Respuesta #14 en: 13 de Enero de 2015, 07:42:11 »
Acabo de leer el detector que propones: TSSP4038
Le echaré un vistazo.

Saludos.