Generador onda senoidal, triangular, cuadrada con pic 16f84a

#1
hola buenas tardes...

escribo porq necesito hacer un generador de onda cuadrada, senoidal y triangular, donde las 3 ondas deben tener la misma amplitud y periodo, utilizando el pic 16f84a...

no tengo idea...solo se que debo usar un convertidar d/a ya que este pic no lo posee internamente...

pero no se mas o menos en q basarme para hacer el programa del generador!...

ayudenme porfavor...
 

Fogonazo

Exorcista & Moderador eventual
#4
Para la onda cuadrada, no hay problema, la da directo el PIC.
La triangular la sacas aplicando la cuadrada a un integrador con operacional.

La delicada es la senoidal.
Se podría emplear una memoria en las se almacena el código binario que aplicado a un conversor DA produce la tensión instantánea de la senoide, variando la frecuencia del contador (PIC) varias la frecuencia de la senoide, esto y unos filtros pueden llegar a resolver tu señal.
 
#5
la cuadrada la da directo el pic...te refieres a las patas de oscilador? al colocarle un oscilador rc o xt, sale una onda cuadrada?

como vario la frecuencia del pic?

debo utilizar un r2r por cada onda?

la conexion para la cuadrada seria pic-conversor r2r-osciloscopio
para la tringular pic-conversor r2r-integrador-osciloscopio
?

gracias!
 

Fogonazo

Exorcista & Moderador eventual
#6
RC o XT, depende de la precisión que busques
Conociendo la frecuencia del oscilador programas un divisor de frecuencia programable y variable.
Conociendo la frecuencia del oscilador y variando el divisor estableces la frecuencia de salida.
La frecuencia de salida sera tu onda cuadrada

Para una onda cuadrada o triangular NO necesitas el conversor R2R.

Si empleas R2R NO empleas conversor DA
Si empleas conversor DA NO empleas R2R

Una leída a esto no creo que te venga mal.
https://www.forosdeelectronica.com/f21/fuente-trifasica-11063/
https://www.forosdeelectronica.com/f26/conversion-analogica-digital-red-r2r-14602/
 
#7
ok...no entiendo muy bien la relacion software hardware

programare un divisor de frecuencia programable y variable (que quieres decir con programable?) y al variarlo establezco la frecuencia de salida y la mando a un pin, en este pin obtendre mi onda cuadrada?

luego debo colocar en este mismo pin un oscilador xt o rc, depende d la precision que busque?
 

Fogonazo

Exorcista & Moderador eventual
#8
Si vas a trabajar con un PIC necesitas un Software y un Hardware
Dentro del software esta el divisor programable
¿ Y que es lo que hace ?
Divide
¿ Y que divide ?
La frecuencia del oscilador principal

Si por ejemplo tienes un clock de 1 MHz y quieres una frecuencia de salida de 435 Hz tu divisor deberá (Redundancia) dividir por 1000000/435 = 2298,85
Este software debe ser programable para permitirte variar la relación de división y variar con esta la frecuencia de salida.

También podrías generar tu frecuencia de salida con los temporizadores propios del PIC, siempre empleando software.
 
#9
ok.. y ese 2298,85 que funcion cumple o que?


si decido utilizar solo los temporizadores del pic, debo hacer un programa que los active y luego como le indico la frecuencia?
 

Fogonazo

Exorcista & Moderador eventual
#10
Creo que debes encarar tu proyecto en 2 partes:
1) La generación de frecuencia PIC y Software mediante
2) Obtención de las formas de onda

Cuando tengas resuelta la parte 1, podrás recién continuar para conseguir las formas de onda
 
#11
ok....mi proyecto tiene una especificacion...si estoy observando la onda numero 1y decido cambiar y observar la onda numero 2, esta onda numero 2 debe encontrarse en la misma posicion que la onda numero 1...me explico?

es como tener una montada encima de otra y solo seleccionar la q deseo ver...esto es posible utilizando la misma frecuencia para las 3?
 

Fogonazo

Exorcista & Moderador eventual
#12
Si, es lo que te estoy sugiriendo, al tener una generador "Maestro" de frecuencia las 3 formas de onda se podrán superponer perfectamente.

Puede y seguramente habrá diferencias de tensión PaP entre las formas, pero eso lo corriges con preset´s
 
#16
Hola Ina No te des mala vida el secreto de este proyecto esta en el codigo , de circuiteria solo necesitas el pic y el conversor digital analogico , de resto solo queda programar bien y tendras todas las señales que quieras ;

primero debes saber a que frecuencia quieres mostrar cada una de las señales si por ejemplo deseas q sean de 1 hz , ya sabes que toda la señal va a tardar 1 segundo en repetirse, ok . . .

fijate en lo siguiente :

Estas usando 8 bits hacia el conversor es decir que habran 256 valores distintos de voltaje , si es una onda cuadrada te dare un ejemplo para que tengas la idea :

si mandas a escribir 0 en el coversor a la salida tendras 0V y si mandas a escribir 255 tendras 5 voltios
solo tienes q jugar con el tiempo en q tendras el valor bajo y el alto

..........................__________
........................ │..................│
1 __________2│..................│3__________

suponiedo que el conversor esta en el puerto b que el periodo es igual a un segundo y que estamos programando el pic16f84 con C

// paso 1:
puerto_b =0;
delay_ms(500); // esperamos medio segundo

// paso 2 :
puerto_b=255;
delay_ms(500);// esperamos medio segundo mas


todo esto debe ir dentro de un ciclo repetitivo , en el caso de la señal triangular y la senoidal , no puedo explicartelo por aca , espero q esto te sirva de ayuda y si necesitas una orientacion mejor contactame . . .
 
#19
que tal espero me puedan ayudar en esto:
me dejaron como proyecto crear una generador de onde cuadrada como en el post original con el 16f84a, el detalle esta en que el pic debe entregar 3 frecuencias distintas a la par, es decir, por un pin una señal a 50 hz, por otro una a 60 Hz y por otro una a 70 Hz, las 3 señales son cuadradas con un periodo util de 50%, por separado es muy sencillo pero alguien sabe como hacerlas en paralelo?
 

Temas similares