Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

04/02/2014 #1

Avatar de TRILO-BYTE

Ayuda con dibujar una forma de onda con un DAC
lo que quiero hacer es dibujar una señal DTMF pero la verdad no se por donde empezar

bueno para empezar tengo algunas ideas de como formar una forma de onda con el DACR2R
pero si quiero dibujar una senoidal por ejemplo

¿hay alguna forma de graficarla no se si en exel o matlab?
para poder dar valores de resolucion y despues pasarlas aun microcontrolador y de ahi a un DAC

y una vez probados en el DAC hay forma de cosntruir la señal en PWM

son cosas que quiero probar pero por aveces falta de tiempo no he podido

me gustaria ver algunas opiniones y experiencias que me puedan ayudar
04/02/2014 #2


Hola.
Sí, se puede generar una aproximación digital de señal con un DAC. Cuantos más bits tenga el puerto que uses, mejor precisión.

Para averiguar los valores, tenés que partir, por ejemplo, de que tenés 8 bits de puerto.

Entonces, los valores digitales van de 0 a 255.

La función sería 255.sen(wt).

Lo que necestás hacer es ver qué valor digital está más aproximado en cada momento:
La función tiene un pico de 255 bits, donde la salida del DAC va a ser 5V.

Agarrás el excel, y graficás la función con por ejemplo, 30 valores de t.

En el instante 0 vas a tener 0, en el "pi"/2 vas a tener 255, y en el 2pi, 0 de nuevo.
En cada punto, buscàs el valor que màs se aproxime; en algunos te va a dar 122,35409 ; lo que se convierte a 122. Hay funciones de excel que te lo redondean automàticamente, pero lo podés hacer mentalmente...

Una vez obtenidos los valores, podés generar tu onda, por aproximación, punto a punto.

Sobre el mismo gráfico "analógico" de la función 255.sen(wt), graficá uno "digital" con tus valores obtenidos para cada instante. Si vez alguna irregularidad, cambiás un número y lo haces a tu gusto.

Un saludo, espero que te sirva y me hayas entendido. De lo contrario, preguntá.
04/02/2014 #3

Avatar de TRILO-BYTE

digamos que quiero dibujar un seno montado en otro seno
como ejemplo
una senoide de 10khz y otro seno de 20khz
sumados me dan un tono DTMF por ejemplo

lo puedo representar en una grafica exel?
05/02/2014 #4

Avatar de chclau

Pequenia pero importante aclaracion, 255.sen(wt) da valores entre -255 y 255. Por ello es mejor, suponiendo que mi DAC trabaja en el rango de 0 a 255, escribir 127.sen(wt)+127, lo que me dara valores de 0 a 254, o 127.5xsen wt + 127.5 para obtener todo el rango de 0 a 255.

Con respecto a los dos senos. Si, se puede hacer tranquilamente la tabla en Excel. Comenza por una tabla simple para un seno, ponela aca y de ahi vemos como seguis.

Saludos
05/02/2014 #5


Hola.
Algunos PIC tienen un DAC con poca resolucion con la cual puedes formar una onda sen. pero para generar un DTMF estandar utilizado en telefonia se deben cumplir algunas reglas que tratan con los tiempos minimos, la modulacion, la amplitud y frecuencia de cada señal, etc.
Hace un par años tuve la necesidad de enviar coordenas GPS mediante radios de dos bias asi que utilize DTMF para enviar la informacion. En el AN257A de microchip explica bien el proceso de generacion pero sus ejemplos no soy muy faciles de implementar al menos desde mi punto de vista. buscaba algo mas simple y encontre algunos otros documentos con los cuales pude lograr la comunicacion DTMF.

http://www.ti.com/lit/an/slaae16/slaae16.pdf
http://www.romanblack.com/SG/SG_tutorial.htm#DTMF

El ultimo ejemplo muestra realmente una solucion simple al utilizar el modulador PWM aplicado un condensador, captando la idea no tuve mucho problemas en implementarlo en un PIC18F14K50 he probado con varios CI decodificadores como el CM8880 o el HT9102 y funciona muy bien.

Saludos. Pablo
05/02/2014 #6

Avatar de TRILO-BYTE

bueno mi idea es un poco bizarra
quiero guardar datos en un casset de audio como los extintos DATASETTE
pero si he usado el HT9102 pero es muy lento y no me sirve para guardar almenos un bit

por eso pensaba crearlo desde el microcontrolador

la pregunta es como lo dibujo en matlab o exel y que me de valores de los puntos
ahi es donde estoy perdido :(
05/02/2014 #7


Intenta con Winplot, es una graficadora muy potente y portable para windows. puedes graficar funciones y ver la tabla de valores en x,y.
05/02/2014 #8

Avatar de TRILO-BYTE

eso si me gusto le doy mi forma de onda y me puede dar valores de 0 a 255?
:p o lo que pido es absurdo
05/02/2014 #9


No entiendo bien que quieres hacer. Por ejemplo si quieres usar la grafica para guiarte en la reconstruccion digital de la señal, por ejemplo para una señal {y=sin(x)} te dara valores en y desde -1 hasta 1 en el intervalo de 0 a 6.28 (osea un periodo de la señal).

Para pasar esta informacion a una forma escalonada de 255 niveles (8 bits) lo que yo haria es graficar y=(2.55sin(x)+2.55)/2 y de alli sacar la tabla de valores. Ahora explico la función.

2.55 es simplemente 255/100 para simplificar.
el + 2.55 es para que la funcion no tenga parte negativa ahora el minimo no es -2.55 sino 0
y el /2 es por que al sumarle 2.55 el maximo se ubica en 5.10 y queremos que esté en 2.55.

Adjunto la tabla de valores de dicha función.

tabla xy.txt
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.