miércoles, 26 de julio de 2017

OHMETRO_DSPIC33FJ


Óhmetro


La resistencia eléctrica es parte fundamental en la creación de circuitos, todas las resistencias pueden ser medidas y para esto se emplea un óhmetro o también conocido como ohmímetro.

¿Como funciona un Óhmetro?

Este dispositivo de medición emplea una batería en su interior con la cual se induce un voltaje a través de la resistencia que se desea medir, este proceso se hace para que posteriormente el galvanometro pueda medir la corriente que circula a través de la resistencia.
Despues de realizar el proceso anterior el Óhmetro puede calcular rápidamente la resistencia utilizando la ley de ohm, para ser más precisos se utiliza esta formula:

En donde:
  • R = Resistencia
  • V = Voltaje
  • I = Corriente
Recordemos que el Óhmetro posee una batería interna cuyo valor esta definido, con esto ya tenemos uno de los valores (V), posteriormente al inducir el voltaje sobre la resistencia a medir el instrumento calcula la corriente (I), al ya tener estos 2 valores el instrumento aplica la formula mostrada arriba y con esta puede determinar de que valor es la resistencia que se esta midiendo.
Para medir resistencia con el PIC utilizaremos la fórmula de un divisor de voltaje. 




como observamos en la figura tenemos dos resistencias R1 y R2,entonces fijamos un valor de resistencia en este caso R2,le damos un valor fijo de 1K.luego tenemos q reemplazar y despejar.

Vin=5V;
R2=1Kohm;

Vout=5*(1K/(R1+1K));
Vout*(R1+1K)=5K;
R1=(5K/Vout) - 1K;
R1=((5/Vout)-1)Kohm;-------------------------------(1)

La tensión Vout se leerá con el ADC del dsPIC, si lo configuramos a 10 bits se debe utilizar la formula, 

Radc=5Vout/1024;--------------------------------(2)

donde Radc es el valor del buffer ADC1BUF0 del ADC del dspic.

Reemplazando (2) en (1): R1=((1024/Radc)-1)Kohm;--------------(3)

la formula (3) lo utilizaremos para calcular el valor de nuestra resistencia R1,lo cual llevado al codigo del dspic quedara asi:
    while (1) {
        _LATA8 = ~_LATA8;
        AD1CON1bits.SAMP = 1; // Start sampling
        delay_us(10); // Wait for sampling time (10us)
        AD1CON1bits.SAMP = 0; // Start the conversion
        while (!AD1CON1bits.DONE); // Wait for the conversion to complete
        Radc = ADC1BUF0;
        Ohm = (float)1024/Radc -1;
        printf("Valor Resistor: %.3f Kohm\r",(double)Ohm);
        delay_ms(75);
    }





No hay comentarios:

Publicar un comentario