Autor Tema: Duda 2 frecuencias con un PIC  (Leído 1082 veces)

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

Desconectado willydroy

  • PIC10
  • *
  • Mensajes: 2
Duda 2 frecuencias con un PIC
« en: 29 de Diciembre de 2020, 11:16:56 »
Saludos compañeros:
Recurro a uds a fin de ver si me pueden asesorar en la implementacion de un circuito con PIC. He realizado pequeños  proyectos , pero en este circuito quisiera alguna orientacion de la manera en crear el programa:
El caso es el siguiente:
Requiero que un PIC genere simultaneamente 2 señales de pulsos de diferente frecuencias (ejemplo 1khz y 2khz) y estas vayan a led infrarojos y a la vez el mismo PIC  en otros 2 pines tenga 2 led sensores de infrarojos que la reciban, de tal manera que si una de las señales se interrumpe el me indique cual de las 2 fue. Es obligatorio que las frecuencias sean diferentes.
Pense en usar PIC con 2 modulos PWM para generar las frecuencias pero se me complica un poco la idea de supervisarlas simultaneamente.
Ademas , no se si se pudiese hacer lo mismo con PIC mas pequeños sin tener q usar PWM
De antemano las gracias a quien me pudiese ayudar
Un gran Saludo ¡!!
« Última modificación: 29 de Diciembre de 2020, 11:20:40 por willydroy »

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Duda 2 frecuencias con un PIC
« Respuesta #1 en: 29 de Diciembre de 2020, 19:48:08 »
En verdad para lo que tú quieres hacer, entiendo que cada led IR estaría orientado a su receptor individual y que cada receptor solo vería su led.  Si es así, no necesitas dos frecuencias, te vale con una sola.  Incluso sin generar frecuencia, te podría servir un encendido y apagado multiplexado de ambos led.

  De todas formas yo te lo explico generando las 2 frecuencias, tú ya luego decides cómo hacerlo en función de lo que quieres hacer y como están orientados los led y los receptores y que ve o no ve cada uno de ellos.

La frecuencia la tienes que generar con el pwm.  Solo con uno es suficiente.

La forma en que yo lo haría es mediante multiplexado.

  Conectar los ánodos de ambos led’s IR al mismo pwm. (El pwm que quieras o el que haya).

  Los cátodos los pones cada uno a un puerto, por ejemplo el cátodo del led1 al puerto B1 , el cátodo del led2 al puerto B2.

  Los receptores los pones en otros dos puertos, los que quieras.

  La secuencia en el software sería:
 Inicia el programa con los dos catodos a nivel alto (ambos led’s apagados).
  - pongo la frecuencia de 1 khz en el pwm.
  - Pongo a nivel bajo el cátodo del led1 ( El led1 ahora está emitiendo 1 Khz, mientras que el led2 está apagado).
  - leo ahora el receptor del led1.
 - para hacer la lectura lo ideal es utilizar un Timer para determinar el periodo de la señal que está recibiendo el receptor y comprobar que es 1 Khz y así validarla y tomar las acciones requeridas.

  - pongo a nivel alto el cátodo del led1. (El led1 deja de emitir).
  - cambio la frecuencia del pwm a 2 Khz.
  - pongo el cátodo del led2 a nivel bajo. (Ahora el led2 está emitiendo 2 Khz mientras que el led1 está apagado).
  - leo el receptor del led2 y lo mismo, le capturo el periodo con un timer, compruebo que son 2 Khz y lo valido.

    Y así sucesivamente.

   Si te das cuenta incluso con un único receptor es posible saber cuál de los dos leds es el que ha sido interceptado por que estoy emitiendo 1 Khz por el led1 y comprobando que el receptor recibe ese Khz y seguidamente estoy apagando ese led y emitiendo 2 Khz en el otro led. 

  Si al momento de leer el receptor,  tú estabas emitiendo 1 Khz por el led1, tu programa debe esperar recibir ese Khz. Si no es así significa que el led1 está interceptado y su luz no llega al receptor.

 Lo mismo cuando emites 2 Khz por el otro.

   

   Eso es multiplexar.  A la vista humana es como si ambas señales se estuviesen emitiendo y recibiendo siempre de forma simultánea. Pero la magia de la velocidad de un microcontrolador y el poder de la multiplexacion es la clave de lo que necesitas.

  Saludos.
 


« Última modificación: 29 de Diciembre de 2020, 20:08:30 por remi04 »

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 947
Re:Duda 2 frecuencias con un PIC
« Respuesta #2 en: 29 de Diciembre de 2020, 20:19:27 »
...
El caso es el siguiente:
Requiero que un PIC genere simultaneamente 2 señales de pulsos de diferente frecuencias (ejemplo 1khz y 2khz) y estas vayan a led infrarojos y a la vez el mismo PIC  en otros 2 pines tenga 2 led sensores de infrarojos que la reciban, de tal manera que si una de las señales se interrumpe el me indique cual de las 2 fue. Es obligatorio que las frecuencias sean diferentes.
...
¿Esto es algo que se te ocurrió , son especificaciones que te obligan a cumplir o es un ejercicio?  Porque te estás complicando la vida inútilmente. 

Desconectado willydroy

  • PIC10
  • *
  • Mensajes: 2
Re:Duda 2 frecuencias con un PIC
« Respuesta #3 en: 29 de Diciembre de 2020, 22:11:41 »
Saludos
remi04 realmente muchisimas gracias por tu aporte...me a dado una excelente vision de la via por donde debo enfocar el diseño del programa....muchas gracias nuevamente !!!
Eduardo2 gracias por dedicar un tiempo a leer mi inquietud...gracias!!!

Un gran Saludo !!!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Duda 2 frecuencias con un PIC
« Respuesta #4 en: 29 de Diciembre de 2020, 22:19:58 »
O directametne debido a la frecuencia que es baja.

Usa un timer para una frecuencia de 2Khz....
Cada 1 entrada a la interrupcion cambias la señal de 2Khz
Cada 2 entradas a al interrupcion cambias la señal de 1Khz.

Listo... Las dos funcionando.
Y ademas si tenes emisor y receptor separados, no te molestaria. Igual parece raro lo que estas intentando hacer.


 

anything