Ayuda con manejo de señales digitales

Todo cuanto tiene que ver con la obtención, almacenamiento y proceso de la información digital, sus aplicaciones y el software y hardware utilizado.
Responder
Mensaje
Autor
mmcompu
Mensajes: 618
Registrado: Vie Nov 13, 2009 4:27 am
País: mexico
Ciudad: acapulco

Ayuda con manejo de señales digitales

#1 Mensaje por mmcompu »

Hola, ojalá me pueda ayudar alguien con experiencia en electrónica digital, necesito "acortar" una señal cuadrada, busqué por la red y hay varios circuitos típicos para recortar los pulsos en intensidad, pero no encuentro cómo acortarlos en el tiempo, digamos que tengo una señal cuadrada 0-5v con frecuencia y ciclo de trabajo variable, digamos que cada pulso dura entre 20 y 40 ms, si necesito acortar el tiempo de duración del pulso, sin meterme en análisis de la señal, ¿cómo hago para que el pulso dure un porcentaje variable de lo que duraba originalmente? digamos que necesito que el pulso dure 85, 75 y 50% de su duración original, no importa si el recorte se da al inicio, al final o en ambos flancos.
pensé en usar un monoestable gatillado con duración programable y menor a la original, pero esto recortaría a un tiempo x, sin importar cuál era el tiempo original, la otra opción que se me ocurre es usar el monoestable gatillado pero introduciendo un retraso, no es una solución perfecta porque recortaría la misma cantidad a los pulsos largos que a los cortos, pero si no hay otra forma esta solución me sirve, siempre que haya algún modo de retrasar este tipo de circuitos.
Cualquier otra solución que conozcan, especialmente alguna que recorte porcentualmente, se las agradeceré enormente.
Creo en la evidencia, creeré cualquier cosa, sin importar cuán extraña o ridícula sea, siempre que haya evidencias de ello, cuanto más extraña o ridícula sea, sin embargo, más sólidas tendrán que ser las evidencias.

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Ayuda con manejo de señales digitales

#2 Mensaje por Anilandro »

Pulsos de entre 20 y 40 mSeg son pulsos lentos y por tanto es un trabajo perfecto para un microcontrolador de gama baja con un programa muy sencillo: un contador de microsegundos mientras el impulso esté a HIGH, una división entera por el factor que se quiera, y generar el impulso resultante.

Por sistemas analógicos también se pueden conseguir cargando un condensador con el HIGH a través de una resistencia y descargarlo luego a mayor velocidad, recuperando el pulso cuadrado con un trigger-schmitt. Para conseguir una buena linealidad la constante RC del sistema debería ser de entre 6 y 10 veces la duración en alto de la señal de entrada.

Saludos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
heli
Mensajes: 1946
Registrado: Mié Sep 06, 2006 7:28 am
País: España
Ciudad: Alcalá de Henares
Ubicación: Alcala de Henares (Madrid, España)
Contactar:

Re: Ayuda con manejo de señales digitales

#3 Mensaje por heli »

Ten en cuenta que vas a introducir un retraso en la señal sí o sí.
Es necesario esperar a que la señal pase a nivel bajo para saber cual era su duración original y luego generar otra con el ancho que hayas calculado. No es posible hacerlo de otra forma y no puedes empezar a generar la señal antes de saber la duración.
Si pintas los cronogramas lo verás claro.

La idea que propone Anilandro es muy buena: cargar un condensador con una resistencia serie y sescargarlo sobre una en paralelo. La relacione de valores de las resistencias determina la proporción, pero esto es dependiente tambien de las impedancias de los circuitos de entrada y salida.
Acuérdate de escuadrar las señales de entrada también con un Schmith Trigger porque los tiempos dependerán de los niveles de tensión (además del ancho) de los pulsos de entrada.

Para independizarlo lo mas posible puedes hacerlo discreto, con un integrador reseteable y un monoestable controlado por tensión.

Si lohaces digital (creo que mas sencillo) con un micro, te vale un arduino nano o similar.
¡No es imposible, lo que pasa es que no sabes como hacerlo!
Aka: no es difícil si sabes como.
http://heli.xbot.es

mmcompu
Mensajes: 618
Registrado: Vie Nov 13, 2009 4:27 am
País: mexico
Ciudad: acapulco

Re: Ayuda con manejo de señales digitales

#4 Mensaje por mmcompu »

No puedo esperar a que termine el pulso real para empezar a emitir el modificado porque se me desfasan todos, pero se me ocurre que podría medir el pulso por separado y usarlo como realimentación para recortar el siguiente, el primero lo dejaría pasar sin realimentación.

Me atrae más la idea de hacerlo analógicamente porque el pulso resultante sería simultáneo al original, pero si en digital apenas entiendo un poco, en analógico estoy en ceros, ¿podrías darme más o menos el circuito en módulos para ponerme a experimentar hasta dar con los valores adecuados?
Creo en la evidencia, creeré cualquier cosa, sin importar cuán extraña o ridícula sea, siempre que haya evidencias de ello, cuanto más extraña o ridícula sea, sin embargo, más sólidas tendrán que ser las evidencias.

Avatar de Usuario
Rovellat
Mensajes: 9611
Registrado: Mar May 26, 2009 9:39 pm
Ubicación: Palma de Mallorca (España)

Re: Ayuda con manejo de señales digitales

#5 Mensaje por Rovellat »

Yo creo que deberías comentar el problema en general, quizás haya otra solución mas facil que adelgazar los pulsos.

Si entiendo bién, debes mantener la posición del pulso, pero la duración puede basarse en la historia anterior. En este caso puedes generar nuevos pulsos sincronizados con los originales, pero cuya amplitud dependa de la amplitud de los originales anteriores.

Te aconsejo por digital; por analógico podrías integrar los últimos pulsos, (no el último, sinó el conjunto de los últimos), y generar una señal de control que manejase las amplitudes de los nuevos pulsos.

Saludos.
Cielo azul sobre campo de mieses, ánimo.
Constitución Española:
Todos los españoles tienen el deber de trabajar y el derecho al trabajo.
Todos los españoles tienen derecho a disfrutar de una vivienda digna y adecuada.

joseluis7696
Mensajes: 5282
Registrado: Mar Nov 10, 2009 3:26 pm
País: españa
Ciudad: madrid
Ubicación: Madrid

Re: Ayuda con manejo de señales digitales

#6 Mensaje por joseluis7696 »

Yo lo que haría es generar nuevos pulsos con el ancho que necesite, mediante un monoestable. Ese monoestable lo dispararía con el flanco ascendente de los pulsos originales (simplemente diferenciando el pulso original).
Die Welt is meine Vorstellung
A. Sch. 1815

mmcompu
Mensajes: 618
Registrado: Vie Nov 13, 2009 4:27 am
País: mexico
Ciudad: acapulco

Re: Ayuda con manejo de señales digitales

#7 Mensaje por mmcompu »

Imagen

Este es el circuito, no puedo usar un monoestable gatillado y ajustar el ancho del pulso a una cantidad fija porque el ancho de los pulsos varía con la frecuencia (o al menos eso creo).

Estoy por construir una punta para osciloscopio para el celular, para ver la señal en vivo y tener certeza de cómo se comporta.

Gracias.
Creo en la evidencia, creeré cualquier cosa, sin importar cuán extraña o ridícula sea, siempre que haya evidencias de ello, cuanto más extraña o ridícula sea, sin embargo, más sólidas tendrán que ser las evidencias.

joseluis7696
Mensajes: 5282
Registrado: Mar Nov 10, 2009 3:26 pm
País: españa
Ciudad: madrid
Ubicación: Madrid

Re: Ayuda con manejo de señales digitales

#8 Mensaje por joseluis7696 »

No veo porqué no puedes usar un monoestable "gatillado" de ancho variable. Tan simple como un 555. Al dispararse con el flanco inicial del pulso original (sea + o -), seguirá sincrónicamente la frecuencia de los pulsos originales.
No dices qué ley quieres que siga el ancho del pulso de salida; si es siempre un porcentaje del ancho del pulso de entrada, tienes un problema irresoluble, ya que quieres saber qué ancho darle al de salida antes que termine el pulso de entrada, del cual desconoces cuál va a ser el ancho final. (violación causa-efecto).
Si no puedes desfasar todos los pulsos una posición (o sea determinar el ancho de salida en base al ancho del pulso inmediatamente anterior y no entiendo cual puede ser el problema ya que los pulsos vienen "sin nombre", podrías intentar una aproximación complicada, como ser medir un ancho de entrada, calcular el de salida y usar ese ancho calculado para, por ejemplo, los siguientes 10 o 50 pulsos de salida, luego volver a medir, etc.
Die Welt is meine Vorstellung
A. Sch. 1815

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Ahrefs [Bot] y 1 invitado