Generar Señal Senoidal Pic16F877A

Páginas: 6 (1286 palabras) Publicado: 29 de mayo de 2012
Generación de señales con microcontrolador PIC


Aquí se pretende diseñar el hardware y el software necesario para producir una onda seno con un microcontrolador PIC16F877 de Microchip y un conversor digital / análogo DAC0808 de National Semiconductor, como se ve en la figura.


[pic]


Figura 1.


Dado que con el conversor DAC0808 no es posible producir voltajesnegativos vamos a producir la onda seno montada sobre un nivel DC de dos voltios, dicha onda se generará con una frecuencia de 100 Hz, con una frecuencia de muestreo de 10.000 muestras/segundo. La amplitud de la onda seno será de 2 voltios de tal forma que la ecuación analítica será:


V(n) = 2*sin(2*pi*100*n/10000) + 2


de donde la frecuencia digital seráf = 100/10000 = 1/100


de donde el periodo mínimo de esta seno es N = 100.


Es decir, necesitamos generar una tabla de 100 valores los cuales pueden ser obtenidos con el siguiente programa en Matlab:


n = 0:99
v = 2*sin(2*pi*n/100)+2 %estos 100 valores se muestran en tabla 1-1












2 |2.1256 |2.2507 |2.3748|2.4974 |2.6180 |2.7362 |2.8516 |2.9635 |3.0717 | |3.1756 |3.2748 |3.3691 |3.4579 |3.5410 |3.6180 |3.6887 |3.7526 |3.8097 |3.8596 | |3.9021 |3.9372 |3.9646 |3.9842 |3.9961 |4.0000 |3.9961 |3.9842 |3.9646 |3.9372 | |3.9021 |3.8596 |3.8097 |3.7526 |3.6887 |3.6180 |3.5410 |3.4579 |3.3691 |3.2748 | |3.1756 |3.0717 |2.9635 |2.8516 |2.7362 |2.6180 |2.4974 |2.3748 |2.2507 |2.1256 | |2.0000 |1.8744 |1.7493|1.6252 |1.5026 |1.3820 |1.2638 |1.1484 |1.0365 |0.9283 | |0.8244 |0.7252 |0.6309 |0.5421 |0.4590 |0.3820 |0.3113 |0.2474 |0.1903 |0.1404 | |0.0979 |0.0628 |0.0354 |0.0158 |0.0039 |0 |0.0039 |0.0158 |0.0354 |0.0628 | |0.0979 |0.1404 |0.1903 |0.2474 |0.3113 |0.3820 |0.4590 |0.5421 |0.6309 |0.7252 | |0.8244 |0.9283 |1.0365 |1.1484 |1.2638 |1.3820 |1.5026 |1.6252 |1.7493 |1.8744 | |TABLA 1-1 DATOS ALMACENADOS EN ORDEN POR FILAS


Como se puede ver en la figura 1, el voltaje de referencia del conversor es 5.1 voltios, por lo tanto la resolución es:


Resolución = 5.1/(2exp(8) –1) = 5.1/(256 –1)


voltios/pasos = 0.02 voltios/paso


Luego el equivalente digital de los valores de la tabla 1-1 , se calculan tomandoel entero mas cercano de la división entre el valor correspondiente de la tabla 1-1 y la resolución.


De tal forma que si el valor es 2 entonces el equivalente digital es:


Valor digital = 2/resolución = 2/ 0.02 = 100


y así para todos los valores, obteniéndose los valores de la tabla 1-2.Estos valores son los que deben entregarse al DAC0808.100 |106 |113 |119 |125 |131 |137 |143 |148 |154 | |159 |164 |168 |173 |177 |181 |184 |188 |190 |193 | |195 |197 |198 |199 |200 |200 |200 |199 |198 |197 | |195 |193 |190 |188 |184 |181 |177 |173 |168 |164 | |157 |154 |148 |143 |137 |131 |125 |119 |113 |106 | |100 |94 |87 |81 |75 |69 |63 |57 |52 |46 | |41 |36 |32 |27 |23 |19 |16 |12 |10 |7 | |5 |3 |2 |1 |0 |0 |0 |1 |2 |3 | |5 |7 |10 |12 |16 |19|23 |27 |32 |36 | |41 |46 |52 |57 |63 |69 |75 |81 |87 |94 | | TABLA 1-2 VALOR DIGITAL DE la tabla 1-1


Lo que nos queda ahora es escribir un programa en microcontrolador PIC, que entregue los datos de la tabla 1-2, a una rata de 10.000 muestras/segundo. Para esto vamos a generar una rutina de tiempo de 100 microsegundos, que es el tiempo de muestreo a estavelocidad.


Supóngase que el cristal opera a 4 MHz, o sea que la frecuencia básica de operación es 1 MHz.


;******************************************************************************************
;EL SIGUIENTE PROGRAMA GENERA UNA ONDA SENOIDAL DE 100 HZ
;DE 2 VOLTIOS PICOS MONTADA SOBRE UN NIVEL DC DE 2 VOLTIOS
;CON UNA FRECUENCIA DE MUESTREO DE 10.000 M/S UTILIZANDO...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Señal Senoidal
  • Generador de señales
  • Generador De Señales
  • generador de señales
  • Generador De Señales
  • Generadores de señales
  • Generador De Señales
  • Señales Genéricas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS