TODOPIC

Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: Mikro-77 en 06 de Junio de 2013, 21:13:00

Título: como simular correctamente ADC en proteus??
Publicado por: Mikro-77 en 06 de Junio de 2013, 21:13:00
Hola mi pregunta es esa! como puedo simular un circuito con ADC? ya que hice una cimulacion con un lm35 un pic y un lcd y conecto vref+ a 5v y todo funciona pero si saco el voltaje de referencia funciona igual con los mismos valores de lectura del lm35, supongo que estoy haciendo algo mal... o no?! dejo el codigo y el circuito

saludos

Código: [Seleccionar]
#include "16f877.h"
#device adc=10                      
#use delay(clock=4000000)      
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect  
#include "lcd.c"              
#use standard_io (D)

void main (void)
{
float temper,medicion;
lcd_init();                      
lcd_putc(" Termometro\n");
lcd_putc(" con LM35");      
delay_ms(2000);
lcd_putc("\f");                
lcd_putc("Temperatura\n");
lcd_putc("actual");  
delay_ms(1000);
lcd_gotoxy(14,2);  
lcd_putc("oC");
while (1)
{
lcd_gotoxy(8,2);    
lcd_putc(" ");        
lcd_gotoxy(8,2);    

setup_adc (adc_clock_internal);
setup_adc_ports (all_analog);
set_adc_channel (0);              
delay_us (20);
medicion=read_adc ();              
setup_adc (adc_off);              
temper=medicion*(0.48875);    
 
printf(lcd_putc,"%02.1f",temper);
delay_ms (1000);
}
}

el circuito pulsar aqui! (https://420fb5c2-a-62cb3a1a-s-sites.googlegroups.com/site/ronnyf7/p8/termometro.jpg?attachauth=ANoY7coh__D9oqff167xjYv2oYFzWXXgSI1cIDrr-Vsi4FfdEaVAVpXSjp2TFjWHZgsduiBzzJXFwvoZEx0BqD5sPd5ax4dsYWU4Ys-BUCYGRVCAZYc5luR0XJIomLOxN8pNBYxmVJkpJ_ap9O2m0v6puBscvt70e_u_quM0qFODhn25V3ZUKq2mB84bZ_9pY4QDINkOG8vvkB4-u0YBkitiwvD2iKRI5g%3D%3D&attredirects=0)
Título: Re: como simular correctamente ADC en proteus??
Publicado por: rivale en 06 de Junio de 2013, 21:36:23
no necesitas apagar el ADC dentro de tu while, puedes activarlo antes del while y dejarlo así, y dentro de tu ciclo infinito solo realizas lecturas.

tu voltaje de referencia esta al Vdd del micro, si quieres usar una referencia externa tienes que indicarla al momento de configurar tu adc
Título: Re: como simular correctamente ADC en proteus??
Publicado por: Mikro-77 en 06 de Junio de 2013, 21:43:08
Hola gracias por responder! y si! ese detalle de apagar el ADC ya lo avia visto, este ejemplo no es mio pero estoy practicando con esto y lo de configurar la referencia te refieres a esto? setup_adc_ports( A0_ANALOG_RA5_REF  ) está bien escrito asi?
Título: Re: como simular correctamente ADC en proteus??
Publicado por: rivale en 06 de Junio de 2013, 21:49:38
se configura con los puertos, de la siguiente forma para tu ejemplo

SETUP_ADC_PORTS(AN0_AN1_VSS_VREF);

así queda con referencias entre tierra y el pin de referencia positiva
Título: Re: como simular correctamente ADC en proteus??
Publicado por: Mikro-77 en 06 de Junio de 2013, 21:52:56
SETUP_ADC_PORTS(AN0_AN1_VSS_VREF); AN0 es VSS y AN1 es VREF+? y esa es la mejor forma de hacerlo? me refiero a la exactitud de la lectura final!
Título: Re: como simular correctamente ADC en proteus??
Publicado por: rivale en 06 de Junio de 2013, 22:00:10
en la configuración que te puse quedan el an0 y el an1 como analógicos y la referencia positiva quedaría conectada al pin a3
Título: Re: como simular correctamente ADC en proteus??
Publicado por: Mikro-77 en 06 de Junio de 2013, 22:07:27
Ha entendido! ahora si en la simulacion aunque cambie el voltaje de referencia del pin A3 la lectura es igual! en el circuito fisico si se notará si uso distintos valores de vref?
Título: Re: como simular correctamente ADC en proteus??
Publicado por: rivale en 06 de Junio de 2013, 22:27:06
en hardware debería funcionar, no se si proteus respete la simulación de la referencia
Título: Re: como simular correctamente ADC en proteus??
Publicado por: Mikro-77 en 06 de Junio de 2013, 22:34:50
por lo que veo no! pero queria saber si solo me pasa ami o a otros que usen proteus?!

saludos!