Voltimetro Digital Con Procesador Atmega8
-
Upload
javier-martin -
Category
Documents
-
view
113 -
download
15
description
Transcript of Voltimetro Digital Con Procesador Atmega8
-
UNIVERSIDAD NACIONAL DEL CALLA0FIEE MICRO CONTROLADOR ATMEGA8
VOLTIMETRO DIGITAL CON PROCESADOR ATMEGA8Descripcin del proyecto a continuacin:Hay seis grandes bloques en el dispositivo:
El selector de gama potencimetro RMS a DC no se realiza el voltaje se toma de una fuente fija de
5V ADC de 10 bits configuracin y control por software unidad de microcontrolador (MCU), ATMEGA8 El teclado se remplaza por un potenciometro La pantalla LCD. LCD de 2x16
El rango de seleccin de las escalas de la tensin de entrada a un valor conocido, bajoel control de la MCU-atmega8.Tambin NO incluye la proteccin de circuitos, para evitar daos en el resto delcircuito en caso de alta tensin que se debe aplicar con un bajo factor de escalaseleccionado.
El rango de medida es de : 0 -6V
El selector de entrada de tensin es un potencimetro el cual alimenta a laa la entrada del ADC. El ADC es 10-bits que incorpora el ATMEGA8El ADC del ATMEGA8 es configurado y controlado por software y que tiene quedarse formato de los datos requeridos, la conversin y el almacenamiento de datosAdems, se implementa la interfaz de usuario a travs de un LCD alfanumrico de16x2
CIRCUITO EXPERIMENTAL
UNIVERSIDAD NACIONAL DEL CALLA0FIEE MICRO CONTROLADOR ATMEGA8
VOLTIMETRO DIGITAL CON PROCESADOR ATMEGA8Descripcin del proyecto a continuacin:Hay seis grandes bloques en el dispositivo:
El selector de gama potencimetro RMS a DC no se realiza el voltaje se toma de una fuente fija de
5V ADC de 10 bits configuracin y control por software unidad de microcontrolador (MCU), ATMEGA8 El teclado se remplaza por un potenciometro La pantalla LCD. LCD de 2x16
El rango de seleccin de las escalas de la tensin de entrada a un valor conocido, bajoel control de la MCU-atmega8.Tambin NO incluye la proteccin de circuitos, para evitar daos en el resto delcircuito en caso de alta tensin que se debe aplicar con un bajo factor de escalaseleccionado.
El rango de medida es de : 0 -6V
El selector de entrada de tensin es un potencimetro el cual alimenta a laa la entrada del ADC. El ADC es 10-bits que incorpora el ATMEGA8El ADC del ATMEGA8 es configurado y controlado por software y que tiene quedarse formato de los datos requeridos, la conversin y el almacenamiento de datosAdems, se implementa la interfaz de usuario a travs de un LCD alfanumrico de16x2
CIRCUITO EXPERIMENTAL
UNIVERSIDAD NACIONAL DEL CALLA0FIEE MICRO CONTROLADOR ATMEGA8
VOLTIMETRO DIGITAL CON PROCESADOR ATMEGA8Descripcin del proyecto a continuacin:Hay seis grandes bloques en el dispositivo:
El selector de gama potencimetro RMS a DC no se realiza el voltaje se toma de una fuente fija de
5V ADC de 10 bits configuracin y control por software unidad de microcontrolador (MCU), ATMEGA8 El teclado se remplaza por un potenciometro La pantalla LCD. LCD de 2x16
El rango de seleccin de las escalas de la tensin de entrada a un valor conocido, bajoel control de la MCU-atmega8.Tambin NO incluye la proteccin de circuitos, para evitar daos en el resto delcircuito en caso de alta tensin que se debe aplicar con un bajo factor de escalaseleccionado.
El rango de medida es de : 0 -6V
El selector de entrada de tensin es un potencimetro el cual alimenta a laa la entrada del ADC. El ADC es 10-bits que incorpora el ATMEGA8El ADC del ATMEGA8 es configurado y controlado por software y que tiene quedarse formato de los datos requeridos, la conversin y el almacenamiento de datosAdems, se implementa la interfaz de usuario a travs de un LCD alfanumrico de16x2
CIRCUITO EXPERIMENTAL
-
UNIVERSIDAD NACIONAL DEL CALLA0FIEE MICRO CONTROLADOR ATMEGA8
DESARROLLO DEL PROGRAMA/** voltimt1.c* DESARROLLO DE VOLTIMETRO DE 0 -5V* Created: 13/02/2013 07:37:10* Author: JACOB ASTOCONDOR VILLAR*/
#include "avr_compiler.h"#include "lcd.h"void adc_setup(void);unsigned int adc_read(char channel);int main(void){
char cadena[14],cadena2[14];int n,vol1,vol2;float vol;lcd_init();adc_setup();lcd_gotorc(1,1);lcd_puts("ADC:");lcd_gotorc(2,1);lcd_puts("voltaje:");
while(1){
n=adc_read(0);vol=n*5.0/1023;vol1=vol;vol2=(vol-vol1)*100;sprintf(cadena,"%0004u",n);lcd_gotorc(1,11);lcd_puts(cadena);sprintf(cadena2 ,"%d.%02d v.",vol1,vol2);lcd_gotorc(2,11);lcd_puts(cadena2);
}}void adc_setup(void){
ADMUX=0X40;ADCSRA=0X86;
}unsigned int adc_read(char channel){
ADMUX&=0XF8;ADMUX|=channel;ADCSRA|=(1