Autor Tema: Analizador de espectro con LCD 20x4  (Leído 5489 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Analizador de espectro con LCD 20x4
« en: 25 de Septiembre de 2010, 09:28:01 »
Hola a todos

a pesar de que no tengo nada de tiempo siempre he querido hacer este proyecto y decidi comenzar.
para el proyecto quiero usar el dspic30f4011 corriendo a 32MIPS con un oscilador de 8mhz (tratare de conseguir el de 7.5 para 30MIPS)
y usar las librerias DSP que trae el compilador.

no se mucho de c30 no he hecho nada mas complicado que prender leds, ni siquiera el modulo adc :cry:
pero creo que con este proyecto podre aprender mucho.
ah tambien tengo un LCD 20x4(en realidad un amigo me lo presto). para lia visualización.

salu2:)

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Analizador de espectro con LCD 20x4
« Respuesta #1 en: 25 de Septiembre de 2010, 10:55:21 »
Hola, los dsPIC30 corren hasta 30MIPS.

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Re: Analizador de espectro con LCD 20x4
« Respuesta #2 en: 26 de Septiembre de 2010, 00:20:57 »
Hola mig, por ahi lei que los dspic30 pueden correr a 32MIPS, aunque yo siempre los use a 5MIPS con un cristal de 20MHZ porque es lo que tenia a mano.

ahora para el proyecto investigando un poco en las librerias de microchip se tienen las funciones:

FFTComplex

FFTComplexIP

que se diferencian en que la primera requiere un segundo vector para guardar los resultados.

tambien revisando el manual de referencia donde encontre esas funciones encontre un concepto nuevo para mi los "twiddle factors" no se que son pero son necesarios para realizar el calculo de la FFT, tratare de buscar algo al respecto.

aqui lograron sacar las graficas de la transformada aunque no se como.

ahora tambien se tiene que configurar el conversor analgico digital para que trabaje a 40khz.
nunca lo he usado en un dspic pero estare investigando como configurarlo.


Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Analizador de espectro con LCD 20x4
« Respuesta #3 en: 26 de Septiembre de 2010, 00:39:00 »
No contesto mensajes privados, las consultas en el foro

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Re: Analizador de espectro con LCD 20x4
« Respuesta #4 en: 26 de Septiembre de 2010, 01:11:00 »
Hola suky

claro que sabia que eran los widdle factors, aunque o los conocia de otra manera, gracias por la informacion sobre FFT.
los coeficientes(twiddle factors) ya los tengo generados solo que estoy teniendo problemas al simular el programa.
al final estoy usando la funcion FFTComplexIP porque es la que esta en el ejemplo.

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Re: Analizador de espectro con LCD 20x4
« Respuesta #5 en: 27 de Septiembre de 2010, 18:09:45 »
no tengo tiempo para trabajae en el proyeco y encima se corta la energia :5]

El ADC algo complicado de configurar.
pero el final esta es la configuracion que voy a usar:
Código: [Seleccionar]
ADCON1bits.FORM = 3; //formato fractional con signo
        ADCON1bits.SSRC = 2; //GP Timer3 compare ends sampling and starts conversion
        ADCON1bits.ASAM = 1; //Sampling begins immediately after last conversion completes. SAMP bit is auto set

        ADCON2bits.SMPI = 15; //Interrupts at the completion of conversion for each 16th sample/convert sequence

        ADCON3bits.ADCS = 63; //TCY/2 • (ADCS<5:0> + 1) = 32 • TCY
//?????

        TMR3 = 0x0000;
        PR3 =                                //todavia no decido si le pongo cristal de 7.35 o de 8 esta parte depende de eso;
        IFS0bits.T3IF = 0;
        IEC0bits.T3IE = 0;

        ADCHS = 0x0007;             //pata an7 asiganda al ch0

        ADCSSL = 0x0000;

        ADPCFG = 0xFFFF;
        ADPCFGbits.PCFG7 = 0;

        //Clear the A/D interrupt flag bit
        IFS0bits.ADIF = 0;

        //Set the A/D interrupt enable bit
        IEC0bits.ADIE = 1;

        //Turn on the A/D converter
        //This is typically done after configuring other registers
        ADCON1bits.ADON = 1;

        //Start Timer 3
        T3CONbits.TON = 1;
esa configuracion la saque del ejemplo CE001_ADC_DSP_lib_Filter del compilador.

algo interesante que vi es que se puede hacer la adquisicion simultanea de hasta 4 señales, y tambien que el conversor puede dar el resultado directamente en fractional lo ahorra algo de trabajo.

ya simule la transformada con el mplabsim y me da unos resultados que parecen mas o menos correctos.
me faltaria la parte del LCD pero voy a ver como lo soluciono suky

bueno ya me tengo que ir a clases.
salu2:)




 

anything