Autor Tema: conversion análogo digital y salida por pantalla  (Leído 1881 veces)

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

Desconectado underwol2

  • PIC12
  • **
  • Mensajes: 53
conversion análogo digital y salida por pantalla
« en: 24 de Enero de 2011, 20:48:56 »
mi tema  se basa en la conversión análogo digital  baje un código de un voltímetro de Internet  escrito en pcw   estoy envolatado en la parte de como hace la conversión desde que recibe la lectura hasta que la muestra por pantalla

la conversión que llo se es la siguiente es para temperatura

resolución de bit
5 / 1023 = 0.0048875
= 0.0048875 * 100= 0.48875
resolucion 0.48875

entrada por el puerto analógico y lectura que tomara
0.25 (equivale a 25grados)
0.25 *1024 = 256
=256 / 5v = 51.2
=51.2 (redondeo a 52)
52 * 0.48875 = 25
=25 (25 grados mostrados por pantalla  )
de esta manera saco la conversión interna del pic hasta que la muestra por pantalla
 en el siguiente código no logro encontrar como hace la conversión hasta que la muestra por pantalla
 es el siguiente  del voltímetro


#include <18F4550.h>
#device ADC = 10
#include <math.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT
#use delay(clock=20000000)
#include <lcd.c>
#include <stdlib.h>

Float V;

Void Lectura() {                              
       set_adc_channel(0);
       delay_us(25);
       V=read_adc();                          //Lectura del conversor
       Delay_us(50);
       V=V*100/1023;
       lcd_gotoxy(1,1);
       printf(lcd_putc,"V:%02.1f",V);
}


Void main() {
    lcd_init();                            //inicializacion de la LCD
    setup_adc(ADC_CLOCK_DIV_8);            
    setup_adc_ports(AN0);                  //Configuracion del conversor A/D
    lcd_gotoxy(4,1);
    printf(lcd_putc,"Voltimetro");
    lcd_gotoxy(5,0);
    printf(lcd_putc,"Digital");
    delay_ms(3000);          
    lcd_send_byte(0,1);                   // Borrar pantalla LCD
        while (true) {
        Lectura ();
        }
}

gracias por la colaboracion

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: conversion análogo digital y salida por pantalla
« Respuesta #1 en: 24 de Enero de 2011, 20:58:16 »
mira esta linea...#device ADC = 10
esta le indica al pic que la entrada sea AD pero con una resolucion de 10bits...
valor maximo 1023
de ahi....
V=V*100/1023;
V es un valor float... imagina que el votaje de entrada por el pin AD son 2.5V
V= 512*100/1023 osea que te da 50V
en la entrada debe de haber un divisor de tension seguro.... si no el valor no seria correcto en ese voltimetro  y deberias de cambiar la formula
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado underwol2

  • PIC12
  • **
  • Mensajes: 53
Re: conversion análogo digital y salida por pantalla
« Respuesta #2 en: 24 de Enero de 2011, 22:26:12 »
el circuito que an elaborado si tiene un divisor de tencion


voltje del potenciometro  0.95

0.95
del divisor de tencion  da
0.04

y muestra por pantalla

v:0.93

a este proceso merrefiero en cuanto la conversion

tu ejemplo es
V= 512*100/1023 osea que te da 50V
v=512

si ago la misma formula
v=0.04*100/1023 =0.0039   como ves poraqui me pierdo
osea 0.0039 seria lo que mostraria por pantalla

y lo que la pantalla de la imajen muestra
v:0.93

los resultados no me considen

gracias por la respuesta

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: conversion análogo digital y salida por pantalla
« Respuesta #3 en: 25 de Enero de 2011, 02:06:01 »
la entrada digital va linealmente el máximo valor a 10 bits corresponde,en este programa, a un voltaje de entrada igual a vcc osea que para e valor máximo en la entrada deberías de tener 5v y para el valor mínimo 0v así para saber cuanto da el valor de entrada es fácil una regla de 3
Valor digital =voltaje entrada * 1024 / Vcc
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado underwol2

  • PIC12
  • **
  • Mensajes: 53
Re: conversion análogo digital y salida por pantalla
« Respuesta #4 en: 25 de Enero de 2011, 12:02:43 »
lo saque de otra forma
voltios que regulo con el potenciomtro que simula el voltage amedir
1.82 (voltios a medir)
0.09 (voltios del divisor de tencion)
convercion
0.09*1024/5*100=1.84v
1.84v(este sera el voltage que me mostrara por pantalla)
tengo al guna variaciones en el calculo pero son menores tendria que correjirlas pa hacerlo mas exacto


gracias   por las respuestas


 

anything