TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: tomassr en 20 de Mayo de 2010, 04:20:36

Título: Muestreo a diferentes tasas
Publicado por: tomassr en 20 de Mayo de 2010, 04:20:36
Hola, buenos dias tengo una pregunta:

Como se le hace cuando se quiere muestrear las señales de los diferentes canales del ADC a diferentes velocidades de muestreo

por ejemplo aquí en esta parte de código los 5 canales del ADC se muestrean cada 100ms, pero dependiendo del tipo de sensor no todas la s señales requieren el mismo periodo de muestreo, algunas pueden requerirlo mas alto por ejemplo cada 10ms o mas bajo por ejemplo cada segundo.

Mi pregunta es: como se le hace para muestrear a diferentes velocidades

Un saludo y gracias por sus respuestas


Código: [Seleccionar]
       

int i, j, a;
        int16 adc_value[60], adc_value2[60], adc_value3[60], adc_value4[60], adc_value5[60];
 
       
       
                for(i=0; i < 60; i++)
{

                     
                     set_adc_channel(0);
                     adc_value[i] = read_adc();
                     delay_us(5); // para pasar a la sig CAD retardo >= 3Tad
                     
                     set_adc_channel(1);
                     adc_value2[i] = read_adc();
                     delay_us(5);
                     
                     set_adc_channel(2);
                     adc_value3[i] = read_adc();
                     delay_us(5);
                     
                     set_adc_channel(3);
                     adc_value4[i] = read_adc();
                     delay_us(5);
                     
                     set_adc_channel(4);
                     adc_value5[i] = read_adc();
                     delay_us(5);
                                     

                    delay_ms(100);
                }
                   
 
Título: Re: Muestreo a diferentes tasas
Publicado por: Diego E. en 20 de Mayo de 2010, 09:27:24
Hola tomassr, yo lo que haría es crear una base de tiempo dependiendo de la muestra mas baja (10ms) esto con un timer, activar una bandera en este tiempo e ir llamando cada subrutina de conversión anteponiendo un contador que multiplique este tiempo hasta alcanzar los tiempos requeridos.

saludos.
Título: Re: Muestreo a diferentes tasas
Publicado por: tomassr en 22 de Mayo de 2010, 12:38:41
Hola tomassr, yo lo que haría es crear una base de tiempo dependiendo de la muestra mas baja (10ms) esto con un timer, activar una bandera en este tiempo e ir llamando cada subrutina de conversión anteponiendo un contador que multiplique este tiempo hasta alcanzar los tiempos requeridos.

saludos.

Muchas gracias me fue de mucha ayuda su comentario

Saludos