Академический Документы
Профессиональный Документы
Культура Документы
INTENGRANTES
- Armando Alomoto
- Santiago Maldonado
- Jimmy Andrade
1
Universidad Politécnica Salesiana
OBJETIVOS
Este proyecto está diseñado para trabajar con el DSPIC 30F4013. Este proyecto ya ha sido probado
y funciona correctamente
En la placa EasydsPIC4 que es un entrenador DSPIC y con un cristal de 10 Mhz puede trabajar
correctamente sin tener problemas, si utilizamos otro cristal la frecuencia de operación será
mayor que 60 Mhz. Por ejemplo si tu estas usando un cristal de 10Mhz tú debes asegurarte de
activar la opción 8xPLL, de esta manera la frecuencia de operación será de 80 Mhz . Debes tener
en cuenta que la máxima frecuencia de operación de un DSPIC es de 120 Mhz
Con pequeños ajustes, este ejemplo debería funcionar con cualquier otra MCU dsPIC, EL
DSPIC30F4013 tiene solo un conversor AD
Este código demuestra como calcular o interpretar la Transformada de Fourier FFT ¿DFT? De una
señal analógica con conceptos básicos
Una vez que el buffer está lleno con muestras este es pasado al sub proceso de la FFT
El sub proceso FFT calcula la Rápida (Discreta) Transformación de Fourier de la señal de entrada y
vuelve de nuevo las muestras de la FFT en el buffer de entrada.
Las muestras de la FFT son también obtenidas en formato Re, Im, Re, Im...,pero la parte ahora es
diferente de cero
La amplitud de de cada muestra de la FFT es calculada como F[k] = sqrt (Re[k] ^2+Im[k] ^2).
Puesto que el espectro de la FFT es simétrico, solo la primera mitad del buffer de entrada es
considerado
2
Universidad Politécnica Salesiana
La potencia de la señal puede ser calculada como la suma de toda las muestras de la transformada
de Fourier (FFT)
Como la señal de entrada es analógica la frecuencia máxima no debe exceder los 6 khz
Si usted experimenta extraños dibujos en GLCD, intente Con la alteración de los niveles de señal
de entrada hasta que la imagen se estabilice.
Con el fin de analizar las señales más rápido que 6kHz, buffer de entrada matriz debe ser
aumentada.
De todos modos, la frecuencia de muestreo debe ser al menos 2 * Fmax (Criterio de Nyquist).
MARCO TEORICO
GLCD
Dimensiones 78 x 70 x 15 mm
VA: 62 X 44 mm
Fuente de alimentación -5 V
3
Universidad Politécnica Salesiana
dsPIC30F4013
El controlador digital de señal dsPIC30F de Microchip ofrece todo lo que se puede esperar de un
poderoso MCU de 16-bit: gestión de interrupciones rápida, flexible y sofisticada; un amplio array
de periféricos analógicos y digitales; gestión del consumo; opciones de reloj flexibles; power-
onreset; Brown-out; watchdog; seguridad en código, emulación en tiempo real a plena velocidad;
y soluciones de depuración en circuito a plena velocidad. Añadiendo con destreza la capacidad de
un DSP a un poderoso microcontrolador de 16-bit, el controlador digital de señal dsPIC30F de
Microchip consigue lo mejor de ambos mundos y marca el comienzo de una nueva era en el
control embedded.
La familia de propósito general dsPIC30F es idónea para una amplia gama de aplicaciones
embedded que requieren un MCU de 16-bit. Además, las variantes con interfaces para CODEC
están especialmente indicadas para aplicaciones de audio.
4
Universidad Politécnica Salesiana
5
Universidad Politécnica Salesiana
ESQUEMATICO
No debemos olvidar polarizar la glcd con un voltaje negativo de -15 voltios y en vcc 5 voltios
haciendo tierras comunes para evitar un corto.
6
Universidad Politécnica Salesiana
Debido a que contamos con un glcd de 18 pines en nuestro laboratorio aquí tenemos la
configuracion correspondiente
Pines Pines
GLCD dsPic
pin 1 RB4
pin2 RB5
pin3 GND
pin4 VCC
pin5 Vo
pin6 RF0
pin7 RF1
pin8 RF4
pin9 RB0
pin10 RB1
pin11 RB2
pin12 RB3
pin13 RD0
pin14 RD1
pin15 RD2
pin16 RD3
pin17 VCC
pin18 GND
7
Universidad Politécnica Salesiana
DIAGRAMA DE FLUJO
INICIO
Definir variables
auxiliares
Config y activar el AD
Config el GLCD
Iniciar el AD y el GLCD
Main:
Iniciar todo
Al iniciar microbasic for DSPIC hacemos click en Project y luego click en New Project y se abre una
venta como la siguiente
En esta ventana ponemos el nombre de nuestro proyecto (Project Name:) y la ubicación en donde
guardaremos el proyecto (Project Path:), en el menú desplegable de device tenemos una gran
cantidad de microcontroladores pero seleccionamos el P30F4013 que utilizaremos en esta
práctica, además ponemos un valor de 8 Mhz como señal de reloj del microcontrolador (clock:)
9
Universidad Politécnica Salesiana
10
Universidad Politécnica Salesiana
program FFT_123
dim Samples as word[256] absolute $0C00 ' Y data space for P30F4013- required by FFT routine
txt as string[5]
Written as word[64]
ADCHS = 8 ' Conectar RBxx/Anxx como entrada CH8. RB8 es el pin de la entrada
ADCSSL = 0 '
11
Universidad Politécnica Salesiana
ADCON2 = 0
end sub
Glcd_Init_EasydsPIC4()
Glcd_Set_Font(@FontSystem5x8, 5, 8, 32)
end sub
InitAdc
InitGlcd
end sub
‘Función auxiliar para convertir 1.15 en punto base de tipo float (necesita para sacar la raiz
cuadrada).
12
Universidad Politécnica Salesiana
input_ = - input_
end if
result = input_/32768.
end sub
' Datos de salida de la sub rutina . estos datos de la sub rutina serán dibujados en el GLCD.
'Muestra en ese momento contiene DFT de la señal en la manera Re, Im, Re, Im...
j, k, l, max as word
k =0
max = 0
freq = 0 ' Resetear la corriente máxima . Frecuencia para una nueva lectura
while k <= 63
inc(j)
inc(j)
13
Universidad Politécnica Salesiana
Rer = tmpR
Imr = tmpR
' en el GLCD
Re = Rer
if Re > 63 then
if k = 0 then
Re = 0
else
end if
end if
max = Re
end if
14
Universidad Politécnica Salesiana
tmpw = Written[k]
if tmpw <> Re then ' Dibuja solo las componentes que son cambiadas
Glcd_Dot(k, l, 0)
inc(l)
wend
while l <= 63
Glcd_Dot(k, l, 1)
inc(l)
wend
end if
wend
WordToStr(freq, txt)
Glcd_Write_Text(txt, 70, 0, 1)
end sub
15
Universidad Politécnica Salesiana
nop
wend
end sub
'llena las muestras con muestras de entrada in la manera Re, Im, Re, Im... donde Im = 0
dim i as integer
i =0
inc(i)
Samples[i] = 0
inc(i) ' Im
wend
end sub
main:
16
Universidad Politécnica Salesiana
BitReverseComplex(7, Samples)
WriteData
wend
end.
17
Universidad Politécnica Salesiana
18
Universidad Politécnica Salesiana
FRECUENCI A DE 1400 HZ
19
Universidad Politécnica Salesiana
20
Universidad Politécnica Salesiana
21
Universidad Politécnica Salesiana
Conclusiones
Tener en cuenta los requerimientos que debe tener la señal de entrada de 1 voltio pico
pico y que además solo tiene que ser de valores positivos
La señal de entrada además para este proyecto es ingresada por el pin Rb8 que es la señal
analógica del micro
Podemos observar que la aplicación de los ds pics son muy importantes ya que como
pudimos observar el espectro de Fourier se miro muy bien.
Recordar siempre la activación de los fusibles del microcontrolador porque si no
activamos el circuito no funcionará
22
Universidad Politécnica Salesiana
Debemos tener en cuenta la polarización del GLCD porque si no tomamos en cuenta esto
nunca se nos va a prender el GLCD y no podremos nivelar el contrasate.
Aprendimos a utilizar la tarjeta para programar los dsPIC30Fxx la cual es muy sencilla de
utilizar y de gran ayuda para realizar el proyecto
La señal de entrada solo tiene que llegar hasta una frecuencia máxima de 6 Khz pasado
esta frecuencia la transformada de Fourier no es la que tendría que salir en el GCLD
Bibliografía:
23