SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
CONVERTIDOR ANALOGICO DIGITAL
Las características del convertidor analógico digital del Atmega16 son las siguientes:
- Resolución de 10 bits: la salida tiene n=10 bits.
- 8 canales, pero solo realiza la conversión de datos provenientes de un canal en cada
momento.
- Si el voltaje de referencia es el que viene por defecto, es decir, 5 voltios, entonces:
- El tamaño del paso es de 5v/1024 = 4.88mv
- Exactitud es de +_ 2LSB, es decir, 9.76mv
- El ritmo del reloj del ADC puede ser diferente del ritmo de la CPU.
- El ADC está provisto de un prescalizador que decide el ritmo del reloj del ADC.
REGISTROS IMPORTANTES DEL ADC
Estos registros son los siguientes:
- ADCMUX
- ADCH/ADCL
- ADCCSRA
- SFIOR
ADMUX
- Permite seleccionar el canal del ADC.
- Configurar la justificación de los resultados del ADC.
- Seleccionar la referencia del ADC.
Los voltajes de referencia pueden ser:
- AREF, es el que viene por defecto. Voltaje interno apagado.
- AVCC, le colocamos un capacitor externo en el pin AREF.
- Voltaje interno de 2.56v y un capacitor externo en el pin AREF.
Normalmente se usa el modo AVCC, pero también se puede usar el modo AREF cuando la
señal analógica tiene un rango dinámico diferente.
La selección del canal del ADC también corre a cargo de este registro. Pero estos mismos bits
también permiten seleccionar la ganancia de las entradas diferenciales. Esta ganancia puede
ser de 1, 10 o 200.
Una bandera del registro ADCMUX nos permite elegir la forma en que vamos a expresar el
resultado obtenido. Las posibilidades se pueden ver en la siguiente figura:
Es importante leer en primer lugar el byte menos significativo y luego el más significativo.
ADCCSRA
Es un registro que nos permite
- habilitar la interrupción del ADC
- monitorizar las banderas del ADC
- seleccionar los bits del prescalizador
- configurar el modo de operación del ADC
Es de precisar que el ADC presenta dos modos de operación:
- manual: habilitamos el bit ADSC para iniciar la conversión.
- auto-disparo: un evento previamente configurado inicia la conversión del
convertidor.
En caso de usar el prescalizador, es de precisar que lo que se hace es dividir el reloj de la
CPU y usarla como el reloj del ADC.
SFIOR
Lo más relevante de este registro es que nos permite elegir el evento que provocara el inicio
de la conversión del ADC en el modo auto-disparo. Cabe decir que es una gran variedad de
eventos, algunos de los cuales son:
- comparador analógico.
- Interrupciones externas
- Eventos de los timers (desbordamiento, interrupciones).
PASOS PARA USAR EL ADC
Paso 1: configurar el ADC usando los registros ADCMUX, ADCCSRA y SFIOR.
- Se selecciona el canal
- Se selecciona el voltaje de referencia
- Se configura la justificación del resultado de la conversión.
- Habilitar o deshabilitar el auto-disparo del ADC
- Habilitar o deshabilitar la interrupción del ADC.
- Selección del prescalizador.
Paso 2: Iniciar la operación del ADC.
- Ponemos en alto la bandera ADSC del registro ADCCSRA.
Paso 3: Extraer el resultado
- Esperamos hasta que la bandera ADSC se pone a 0.
- Después leemos primero el byte ADCL y después ADCH.
EJEMPLO: escribir un programa que sea capaz de realizar la conversión de una señal
sinusoidal y mostrar el resultado en unos LEDs.
Paso 1: configuro el ADC.
- Canal: ADC0
- Tensión de referencia: AVCC =5V
- Justificación derecha o izquierda del resultado: izquierda, tomamos los 8 bits más
significativos, es decir, ADCH.
- Habilitar o deshabilitar el auto-disparo del ADC: deshabilitado.
- Habilitar o deshabilitar la interrupción del ADC: deshabilitado.
- Prescalizador: 2 (conversión más rápida).
El programa completo es el siguiente:
#include<avr/io.h>
int main (void){
unsigned char result;
DDRB = 0xFF; // set port B for output
// Configure the ADC module of the ATmega16
ADMUX = 0b01100000; // REFS1:0 = 01 -> AVCC as reference,
// ADLAR = 1 -> Left adjust
// MUX4:0 = 00000 -> ADC0 as input
ADCSRA = 0b10000001; // ADEN = 1: enable ADC,
// ADSC = 0: don't start conversion yet
// ADATE = 0: disable auto trigger,
// ADIE = 0: disable ADC interrupt
// ASPS2:0 = 001: prescaler = 2
while(1){ // main loop
// Start conversion by setting flag ADSC
ADCSRA |= (1 << ADSC);
// Wait until conversion is completed
while (ADCSRA & (1 << ADSC)){;}
// Read the top 8 bits, output to PORTB
result = ADCH;
PORTB = ~result;
}
return 0;
}
USANDO LA INTERRUPCION DEL ADC
Este enfoque es muy diferente del anterior. En el caso anterior hemos usado el polling para
saber cuándo realizar la lectura del ADC. Para lo cual, hemos estado controlando el estado
de una bandera, concretamente la bandera ADSC del registro ADCCCSRA.
En este caso, el ADC lanza una interrupción cuando se completa la conversión de los datos.
Para usar esta interrupción debemos habilitarla previamente en el registro ADCCSRA,
concretamente a través de la bandera ADIE.
Dentro del ISR es donde escribimos el código que nos permite leer el resultado de la
conversión del ADC, leyendo en primer lugar el ADCL y después el ADCH.
Ese modo es muchas veces combinado con el auto-disparo visto antes.
El mismo problema anterior pero con interrupciones es el siguiente:
#include<avr/io.h>
#include<avr/interrupt.h>
volatile unsigned char result;
ISR(ADC_vect){
result = ADCH; // Read the top 8 bits, and store in variable result
}
int main (void){
DDRB = 0xFF; // set port B for output
// Configure the ADC module of the ATmega16
ADMUX = 0b01100000; // REFS1:0 = 01 -> AVCC as reference,
// ADLAR = 1 -> Left adjust
// MUX4:0 = 00000 -> ADC0 as input
ADCSRA = 0b10001111; // ADEN = 1: enable ADC,
// ADSC = 0: don't start conversion yet
// ADATE = 0: diable auto trigger,
// ADIE = 1: enable ADC interrupt
// ASPS2:0 = 002: prescaler = 2
sei(); // enable interrupt system globally
while(1){ // main loop
ADCSRA |= (1 << ADSC); // start a conversion
PORTB = ~result; // display on port B
}
return 0;
}

Mais conteúdo relacionado

Mais procurados

21 conmutacion circuitos
21 conmutacion circuitos21 conmutacion circuitos
21 conmutacion circuitosRolando Aviza
 
Multiplexación por división de frecuencia (FDM)
Multiplexación por división  de frecuencia (FDM)Multiplexación por división  de frecuencia (FDM)
Multiplexación por división de frecuencia (FDM)Starling Javier C
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaCarmen Ea
 
135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-pptCarlos Martir
 
7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmision7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmisionEdison Coimbra G.
 
Lógica positiva negativa
Lógica positiva negativaLógica positiva negativa
Lógica positiva negativaryder27
 
Probabilidad de error en modulación digital
Probabilidad de error en modulación digitalProbabilidad de error en modulación digital
Probabilidad de error en modulación digitalFrancisco Apablaza
 
Amplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferenciaAmplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferenciaMartín E
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaDiego Seminario
 
Ejercicios bjt electronica
Ejercicios bjt electronicaEjercicios bjt electronica
Ejercicios bjt electronicaclara cano
 
Circuitos Sujetadores y Recortadores
Circuitos Sujetadores y RecortadoresCircuitos Sujetadores y Recortadores
Circuitos Sujetadores y RecortadoresJose Castro
 
Norma isa guia_introductoria_2002_05_27
Norma isa guia_introductoria_2002_05_27Norma isa guia_introductoria_2002_05_27
Norma isa guia_introductoria_2002_05_27wilderfernandos
 
No retorno a cero (nrz l)
No retorno a cero (nrz l)No retorno a cero (nrz l)
No retorno a cero (nrz l)Fernando Luz
 

Mais procurados (20)

21 conmutacion circuitos
21 conmutacion circuitos21 conmutacion circuitos
21 conmutacion circuitos
 
Multiplexación por división de frecuencia (FDM)
Multiplexación por división  de frecuencia (FDM)Multiplexación por división  de frecuencia (FDM)
Multiplexación por división de frecuencia (FDM)
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuencia
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Modulación
ModulaciónModulación
Modulación
 
135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt135127015 microcontroladores-1-1-ppt
135127015 microcontroladores-1-1-ppt
 
7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmision7. atenuacion, distorsion y ruido en la transmision
7. atenuacion, distorsion y ruido en la transmision
 
Lógica positiva negativa
Lógica positiva negativaLógica positiva negativa
Lógica positiva negativa
 
Probabilidad de error en modulación digital
Probabilidad de error en modulación digitalProbabilidad de error en modulación digital
Probabilidad de error en modulación digital
 
Amplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferenciaAmplificadores operacionales con funciones de transferencia
Amplificadores operacionales con funciones de transferencia
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversa
 
Estandar IEEE 802
Estandar IEEE 802Estandar IEEE 802
Estandar IEEE 802
 
Multivibradores
MultivibradoresMultivibradores
Multivibradores
 
Investigación técnicas de modulación
Investigación técnicas de modulaciónInvestigación técnicas de modulación
Investigación técnicas de modulación
 
Ejercicios bjt electronica
Ejercicios bjt electronicaEjercicios bjt electronica
Ejercicios bjt electronica
 
tipos de tiristores
tipos de tiristores tipos de tiristores
tipos de tiristores
 
Circuitos Sujetadores y Recortadores
Circuitos Sujetadores y RecortadoresCircuitos Sujetadores y Recortadores
Circuitos Sujetadores y Recortadores
 
Tiristores i
Tiristores iTiristores i
Tiristores i
 
Norma isa guia_introductoria_2002_05_27
Norma isa guia_introductoria_2002_05_27Norma isa guia_introductoria_2002_05_27
Norma isa guia_introductoria_2002_05_27
 
No retorno a cero (nrz l)
No retorno a cero (nrz l)No retorno a cero (nrz l)
No retorno a cero (nrz l)
 

Semelhante a Convertidor analogico digital de los microcontroladores AVR

Curso AVRs 2008 - ADCs
Curso AVRs 2008 - ADCsCurso AVRs 2008 - ADCs
Curso AVRs 2008 - ADCscepaul.jordan
 
Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Hamiltonn Casallas
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresSANTIAGO PABLO ALBERTO
 
Tacometro digital
Tacometro digitalTacometro digital
Tacometro digitalsant1288
 
Laboratorio de convertidores Analógico a digital.docx
Laboratorio de convertidores Analógico a digital.docxLaboratorio de convertidores Analógico a digital.docx
Laboratorio de convertidores Analógico a digital.docxJesús Tarín
 
Uso del convertidor analògico digital de un microcontrolador
Uso del convertidor analògico digital de un microcontroladorUso del convertidor analògico digital de un microcontrolador
Uso del convertidor analògico digital de un microcontroladorGabriel Beltran
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0SANTIAGO PABLO ALBERTO
 
Laboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docxLaboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docxJesús Tarín
 
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)Victor Asanza
 
Digitalio config 16f887a_886
Digitalio config 16f887a_886Digitalio config 16f887a_886
Digitalio config 16f887a_886luisvargasquinto
 

Semelhante a Convertidor analogico digital de los microcontroladores AVR (20)

Curso AVRs 2008 - ADCs
Curso AVRs 2008 - ADCsCurso AVRs 2008 - ADCs
Curso AVRs 2008 - ADCs
 
Adc 4
Adc 4Adc 4
Adc 4
 
Conversor ADC
Conversor ADCConversor ADC
Conversor ADC
 
Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08
 
Adc fpga
Adc fpgaAdc fpga
Adc fpga
 
Tutorial micro MSP430
Tutorial micro MSP430Tutorial micro MSP430
Tutorial micro MSP430
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 
Tacometro digital
Tacometro digitalTacometro digital
Tacometro digital
 
Compilador CCS.ppt
Compilador CCS.pptCompilador CCS.ppt
Compilador CCS.ppt
 
Laboratorio de convertidores Analógico a digital.docx
Laboratorio de convertidores Analógico a digital.docxLaboratorio de convertidores Analógico a digital.docx
Laboratorio de convertidores Analógico a digital.docx
 
Pic 16 F877XA A/D
Pic 16 F877XA A/DPic 16 F877XA A/D
Pic 16 F877XA A/D
 
Uso del convertidor analògico digital de un microcontrolador
Uso del convertidor analògico digital de un microcontroladorUso del convertidor analògico digital de un microcontrolador
Uso del convertidor analògico digital de un microcontrolador
 
Micro2 tema 4
Micro2 tema 4Micro2 tema 4
Micro2 tema 4
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Laboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docxLaboratorio de un convertidor de digital a anlógico 3-DAC.docx
Laboratorio de un convertidor de digital a anlógico 3-DAC.docx
 
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 1er Parcial (2020 PAO 2)
 
Digitalio config 16f887a_886
Digitalio config 16f887a_886Digitalio config 16f887a_886
Digitalio config 16f887a_886
 

Último

CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 

Último (20)

CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 

Convertidor analogico digital de los microcontroladores AVR

  • 1. CONVERTIDOR ANALOGICO DIGITAL Las características del convertidor analógico digital del Atmega16 son las siguientes: - Resolución de 10 bits: la salida tiene n=10 bits. - 8 canales, pero solo realiza la conversión de datos provenientes de un canal en cada momento. - Si el voltaje de referencia es el que viene por defecto, es decir, 5 voltios, entonces: - El tamaño del paso es de 5v/1024 = 4.88mv - Exactitud es de +_ 2LSB, es decir, 9.76mv - El ritmo del reloj del ADC puede ser diferente del ritmo de la CPU. - El ADC está provisto de un prescalizador que decide el ritmo del reloj del ADC. REGISTROS IMPORTANTES DEL ADC Estos registros son los siguientes: - ADCMUX - ADCH/ADCL - ADCCSRA - SFIOR ADMUX - Permite seleccionar el canal del ADC. - Configurar la justificación de los resultados del ADC. - Seleccionar la referencia del ADC. Los voltajes de referencia pueden ser: - AREF, es el que viene por defecto. Voltaje interno apagado. - AVCC, le colocamos un capacitor externo en el pin AREF. - Voltaje interno de 2.56v y un capacitor externo en el pin AREF. Normalmente se usa el modo AVCC, pero también se puede usar el modo AREF cuando la señal analógica tiene un rango dinámico diferente. La selección del canal del ADC también corre a cargo de este registro. Pero estos mismos bits también permiten seleccionar la ganancia de las entradas diferenciales. Esta ganancia puede ser de 1, 10 o 200. Una bandera del registro ADCMUX nos permite elegir la forma en que vamos a expresar el resultado obtenido. Las posibilidades se pueden ver en la siguiente figura:
  • 2. Es importante leer en primer lugar el byte menos significativo y luego el más significativo. ADCCSRA Es un registro que nos permite - habilitar la interrupción del ADC - monitorizar las banderas del ADC - seleccionar los bits del prescalizador - configurar el modo de operación del ADC Es de precisar que el ADC presenta dos modos de operación: - manual: habilitamos el bit ADSC para iniciar la conversión. - auto-disparo: un evento previamente configurado inicia la conversión del convertidor. En caso de usar el prescalizador, es de precisar que lo que se hace es dividir el reloj de la CPU y usarla como el reloj del ADC. SFIOR Lo más relevante de este registro es que nos permite elegir el evento que provocara el inicio de la conversión del ADC en el modo auto-disparo. Cabe decir que es una gran variedad de eventos, algunos de los cuales son: - comparador analógico. - Interrupciones externas - Eventos de los timers (desbordamiento, interrupciones). PASOS PARA USAR EL ADC Paso 1: configurar el ADC usando los registros ADCMUX, ADCCSRA y SFIOR. - Se selecciona el canal - Se selecciona el voltaje de referencia - Se configura la justificación del resultado de la conversión. - Habilitar o deshabilitar el auto-disparo del ADC - Habilitar o deshabilitar la interrupción del ADC.
  • 3. - Selección del prescalizador. Paso 2: Iniciar la operación del ADC. - Ponemos en alto la bandera ADSC del registro ADCCSRA. Paso 3: Extraer el resultado - Esperamos hasta que la bandera ADSC se pone a 0. - Después leemos primero el byte ADCL y después ADCH. EJEMPLO: escribir un programa que sea capaz de realizar la conversión de una señal sinusoidal y mostrar el resultado en unos LEDs. Paso 1: configuro el ADC. - Canal: ADC0 - Tensión de referencia: AVCC =5V - Justificación derecha o izquierda del resultado: izquierda, tomamos los 8 bits más significativos, es decir, ADCH. - Habilitar o deshabilitar el auto-disparo del ADC: deshabilitado. - Habilitar o deshabilitar la interrupción del ADC: deshabilitado. - Prescalizador: 2 (conversión más rápida). El programa completo es el siguiente: #include<avr/io.h> int main (void){ unsigned char result; DDRB = 0xFF; // set port B for output // Configure the ADC module of the ATmega16 ADMUX = 0b01100000; // REFS1:0 = 01 -> AVCC as reference, // ADLAR = 1 -> Left adjust // MUX4:0 = 00000 -> ADC0 as input ADCSRA = 0b10000001; // ADEN = 1: enable ADC, // ADSC = 0: don't start conversion yet // ADATE = 0: disable auto trigger, // ADIE = 0: disable ADC interrupt // ASPS2:0 = 001: prescaler = 2 while(1){ // main loop // Start conversion by setting flag ADSC ADCSRA |= (1 << ADSC); // Wait until conversion is completed while (ADCSRA & (1 << ADSC)){;} // Read the top 8 bits, output to PORTB result = ADCH; PORTB = ~result; } return 0; }
  • 4. USANDO LA INTERRUPCION DEL ADC Este enfoque es muy diferente del anterior. En el caso anterior hemos usado el polling para saber cuándo realizar la lectura del ADC. Para lo cual, hemos estado controlando el estado de una bandera, concretamente la bandera ADSC del registro ADCCCSRA. En este caso, el ADC lanza una interrupción cuando se completa la conversión de los datos. Para usar esta interrupción debemos habilitarla previamente en el registro ADCCSRA, concretamente a través de la bandera ADIE. Dentro del ISR es donde escribimos el código que nos permite leer el resultado de la conversión del ADC, leyendo en primer lugar el ADCL y después el ADCH. Ese modo es muchas veces combinado con el auto-disparo visto antes. El mismo problema anterior pero con interrupciones es el siguiente: #include<avr/io.h> #include<avr/interrupt.h> volatile unsigned char result; ISR(ADC_vect){ result = ADCH; // Read the top 8 bits, and store in variable result } int main (void){ DDRB = 0xFF; // set port B for output // Configure the ADC module of the ATmega16 ADMUX = 0b01100000; // REFS1:0 = 01 -> AVCC as reference, // ADLAR = 1 -> Left adjust // MUX4:0 = 00000 -> ADC0 as input ADCSRA = 0b10001111; // ADEN = 1: enable ADC, // ADSC = 0: don't start conversion yet // ADATE = 0: diable auto trigger, // ADIE = 1: enable ADC interrupt // ASPS2:0 = 002: prescaler = 2 sei(); // enable interrupt system globally while(1){ // main loop ADCSRA |= (1 << ADSC); // start a conversion PORTB = ~result; // display on port B } return 0; }