Autor Tema: PIC12F683 y su frecuencia de muestreo maxima (ADC)  (Leído 9111 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #15 en: 13 de Septiembre de 2011, 21:37:23 »
eso depende, en el c18 se puede editar los bancos y ponerlos todos como 1 unico banco.

Por favor, hay que saber diferenciar entre distintas arquitecturas, compiladores, etc... Esa mezcla que hiciste, mortal!  :mrgreen:

Aquí lo que comento, que pasa en los 12F y 16F....





No contesto mensajes privados, las consultas en el foro

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #16 en: 13 de Septiembre de 2011, 23:55:53 »
Aja! 96! Y por que el ccs solo me permite hacer una matriz de 92 bytes solamente? Tambien, el bendito ccs no puedo juntar de alguna forma los dos bancos para tener solo una matriz de 128 bytes o almenos 120 talves..??

Gracias a todos!

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #17 en: 14 de Septiembre de 2011, 07:46:18 »
no has pensado en pasarte al 18f?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #18 en: 14 de Septiembre de 2011, 10:14:40 »
Aja! 96! Y por que el ccs solo me permite hacer una matriz de 92 bytes solamente? Tambien, el bendito ccs no puedo juntar de alguna forma los dos bancos para tener solo una matriz de 128 bytes o almenos 120 talves..??

Gracias a todos!

Seguramente crea variables de uso propio de CCS. CCS no permite crear un arreglo mayor al que permite el hardware, sé por comentacios de Richi que hay compiladores que solucionan esta discontinuidad (creo que entredí bien  :mrgreen:), pero CCS no.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #19 en: 14 de Septiembre de 2011, 13:52:40 »
Vaya, Gracias suky.

NetLinz, mas que nada es creo por que quiero un pic de 8 pines solamente  :lol:

Desconectado igaspar33

  • PIC10
  • *
  • Mensajes: 3
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #20 en: 06 de Octubre de 2011, 20:38:32 »
Hola, un saludo a todos  :)  me gustaria preguntar un poco mas sobre la frecuncia de muestreo en un PIC. Estoy haciendo un proyecto con el PIC16F88 (soy nuevo en esto jeje). Se trata de leer una señal analogica por el ADC de 10-bits y despues enviarla a un dispositivo Bluetooth a traves del UART. Mi rpblema es que no he podido fijar a 1kHz la Frecuencia de muestreo del ADC estuve checando el datasheet pero no comprendo como fijarla, podrian ayudarme??  les adjunto mi codigo de MikroC para alguna sugerencia.

Código: [Seleccionar]
  OSCCON = 0b01111110; //8MHz oscilador interno
  ANSEL = 0;   
  TRISB = 0;
  CMCON = 0x00;

  TXSTA.SYNC= 1;
  UART1_Init(19200);  //inicializa UART
  Delay_ms(100);  //epera para  UART se estanilice

 ANSEL = 0b10000010;           //Configure analog AN1 and inputs and Vref

 do{
         if ( UART1_Data_Ready() )       //Revisar si UART esta listo
         {
             in = UART1_read();          //Se lee el UART
                 
             if ( in == 'i' )            //Inico de tranmision de datos
                { while( in != 'p' )  //espera caracter de inicio de transmision
                  { outADC = Adc_Read(1);      //Captura de datos del ADC_1
                    Delay_us(900);          // delay para cambiar la Fs = Hz
                   out = outADC  8 ;       //pasa valor del ADC ala variable del UART
                    UART1_Write( out );     // Envio de datos via UART
                    in = UART1_read();
                    if ( in == 'p' )            //espera caracter de Fin de transmision de datos
                    { UART1_Write_Text(FIN);}
                   }
                }
         }
    }
while(1);
}

Gracias de ante mano

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #21 en: 06 de Octubre de 2011, 21:39:14 »
Podes usar un timer para fijar el periodo de inicio de conversión.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado igaspar33

  • PIC10
  • *
  • Mensajes: 3
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #22 en: 07 de Octubre de 2011, 16:40:03 »
Hola Suky muchas gracias por atender  :-/ ,
Si he escuchado que lo hacen con el timmer  a traves de interrupciones, sin embargo no se como hacerlo podrias mostrarme algun ejemplo?? o alguna referencia de donde lo hagan??

Algo mas estuve leyendo que la velocidad de la comunicación serial PIC-Bluetooth cambiara mi frecuencias de muestreo de los datos recibidos en Bluetooth, esto es cierto??
Cuantas muestras por segundo podre enviar si uso 9600 baudios??

Gracias


Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #23 en: 07 de Octubre de 2011, 17:07:57 »
Utiliza el buscador, debe existir infinidad de ejemplos del uso del timer  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #24 en: 07 de Octubre de 2011, 18:24:25 »
Hola Suky muchas gracias por atender  :-/ ,
Si he escuchado que lo hacen con el timmer  a traves de interrupciones, sin embargo no se como hacerlo podrias mostrarme algun ejemplo?? o alguna referencia de donde lo hagan??

Algo mas estuve leyendo que la velocidad de la comunicación serial PIC-Bluetooth cambiara mi frecuencias de muestreo de los datos recibidos en Bluetooth, esto es cierto??
Cuantas muestras por segundo podre enviar si uso 9600 baudios??

Gracias



suponiendo que para enviar el resultado del ADC utilices 2bytes, pues 600 muestras por segundo. El tema es que el USART tiene tambien algunos bits para control, como el bit start, end bit... Asi que serian algo menos, pero aproximado 600.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #25 en: 07 de Octubre de 2011, 18:35:41 »
Cada bit demora: 1/9600 = 104.2us. Cada Byte enviado tiene 1 start + 1 stop, entonces por cada Byte el tiempo es 1.042ms. Despreciando el tiempo necesario para leer el buffer y cargar el dato a enviar, máximo podrás enviar 960 bytes por segundo, pero si cada muestra es de 10-bits entonces podrás enviar máximo 480 Muestras. Se puede aumentar mucho la velocidad de Uart hasta 115200.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #26 en: 07 de Octubre de 2011, 18:37:47 »
Cada bit demora: 1/9600 = 104.2us. Cada Byte enviado tiene 1 start + 1 stop, entonces por cada Byte el tiempo es 1.042ms. Despreciando el tiempo necesario para leer el buffer y cargar el dato a enviar, máximo podrás enviar 960 bytes por segundo, pero si cada muestra es de 10-bits entonces podrás enviar máximo 480 Muestras. Se puede aumentar mucho la velocidad de Uart hasta 115200.


Saludos!

creo que si el UART es por hardware solo envia de 8 en 8 bits no? (9 si se pone control de paridad).

Desconectado igaspar33

  • PIC10
  • *
  • Mensajes: 3
Re: PIC12F683 y su frecuencia de muestreo maxima (ADC)
« Respuesta #27 en: 09 de Octubre de 2011, 19:13:16 »
Gracias Suky y MerLiNZ,

Revisare en la pagina sobre las interrupciones y el timer. Y asi es el UART en el PIC16F88 es por hardware y solo tomo 8 bits de los 10 del ADC para enviarlos. aumentare la velocidad del UART a 19200 bauds, y checare haber que pasa, y si es que logro fijar la frec. de muestreo, y les cuento. 
Gracias


 

anything