Generador onda senoidal, triangular, cuadrada con pic 16f84a

Hola buenas tardes... escribo porque 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 convertidor d/a ya que este pic no lo posee internamente , pero no se mas o menos en que basarme para hacer el programa del generador!...
 
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.
 
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?

Cómo varío la frecuencia del pic? Debo utilizar un r2r por cada onda?

La conexión para la cuadrada sería pic-conversor r2r-osciloscopio , para la tringular pic-conversor r2r-integrador-osciloscopio ?

Gracias !
 
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/
 
Ok...no entiendo muy bien la relación software hardware , programaré 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 obtendré mi onda cuadrada? Luego debo colocar en este mismo pin un oscilador xt o rc, depende de la precisión que busque?
 
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.
 
Ok.. y ese 2298,85 que función 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 ?
 
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
 
Ok , mi proyecto tiene una especificación , si estoy observando la onda numero 1 y decido cambiar y observar la onda numero 2, esta onda numero 2 debe encontrarse en la misma posición que la onda numero 1 , me explico?

Es como tener una montada encima de otra y solo seleccionar la que deseo ver , esto es posible utilizando la misma frecuencia para las 3 ?
 
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
 
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 . . .
 
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 está 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?
 
Otra solución es la Síntesis Digital Directa o DDS.

Respecto de hacer tres señales a tres frecuencias diferentes, se puede hacer con tres temporizadores HW del micro.
 
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.

--------------------------------------------------------------------------------------------

En la teoria, eso que decis de usar un operacional como integrador, esta bien.. pero NO OLVIDES que los amplificadores operacionales no responden bien en frecuencias mayores a los 20KHz.
 
Atrás
Arriba