Informe Laboratorio 6 Mic600

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 15

INSTITUTO TECNOLÓGICO

ESCUELA INDUSTRIAL SUPERIOR


“PEDRO DOMINGO MURILLO”

LABORATORIO # 6

“CONVERSOR ANALOGICO DIGITAL A/D”

NOMBRE:
YUJRA AGUIRRE RICARDO VLADIMIR
MATERIA:
MICROCONTROLADORES MIC-600
FECHA:
05/06/2023
CONVERSOR ANALOGICO DIGITAL A/D

OBJETIVOS.

 La programación utilizando las entradas análogas del uC PIC.


 Configurar los conversores A/D del uC.
 Armar circuitos en control de señales de entrada analógica.

INTRODUCCIÓN.
Un ADC por sus siglas en ingles » analog to digital converter » o convertidor analógico a
digital, es un sistema de conversión de señales continuas en datos binarios «1» y «0»
estos datos son obtenidos de la toma de muestras de la señal analógica como lo son de
voltaje y corriente a esto también se le conoce como discretizar una señal.. Como su
propio nombre lo dice, lo que hace es convertir una señal analógica a digital. Pasa por los
siguientes procesos:

 Muestreo de la señal analógica


 Cuantificación
 Codificación
CARACTERISTICAS.

 Rango de Entrada(Vin): Voltaje a leer por el módulo ADC.


 Número de bits(N): Rango de conversión usado por el ADC. Puede ser 8 o 10 bits,
definido por el programador
 Resolución: Mínimo valor de lectura. viene definido por la siguiente relación.
V
resolucion= N¿
2

 MODULO ADC EN C: En el compilador, las instrucciones para manejar el conversor


AD son las siguientes:
- setup_adc_ports(valor)
- setup_adc(modo)
- set_adc_channel(canal)
- valor=read_adc() ---> Lectura del resultado y almacenado en valor, que
viene a ser un numero entero dependiendo de la directiva #DEVICE ADC=
empleada
¿Qué es un convertidor analógico a digital?
Un convertidor analógico a digital o también conocido como ADC (Analog to Digital
Converter), es un dispositivo que se utiliza para transformar cualquier tipo de señal
variable, a un lenguaje que los circuitos electrónicos puedan comprender, es decir a una
señal digital que solo trabaja con 0 y 1.

Estas señales variables o mejor conocidas como señales analógicas, las podemos captar en
toda la naturaleza a través de lo que conocemos como magnitudes físicas, como por
ejemplo; la luz, el sonido, la temperatura, el viento, etc. En palabras sencillas un
convertidor analógico a digital sirve para que los dispositivos electrónicos puedan
interactuar con las magnitudes de la naturaleza.

¿Cómo funciona un convertidor analógico a digital?


Estos convertidores funcionan a través de un proceso llamado modulación por impulsos
codificados o PCM, este sistema consta de cuatro partes esenciales que describen como es
el proceso de pasar de una señal variable a una discreta.
MUESTREO
En esta parte como su nombre lo indica se toman muestras de la señal analógica, que
sirven como referencia para los siguientes pasos. Cabe mencionar que la frecuencia de
muestreo (Sampling rate) debe de ser mínimo el doble que la que tiene la señal, es decir,
si tenemos una señal de 2 KHz nuestra frecuencia de muestreo debe de ser mínimo de 4
Khz, para que al momento de tomar las muestras se pierda la menor cantidad de
información de la señal.

CUANTIFICACIÓN
La cuantificación se utiliza para asignarle un valor a todas las muestras tomadas,
dependiendo de la precisión que se tenga el valor será más cercano al real, ya que si
tenemos una precisión de 0.1v y la muestra nos arroja un 0.77 el sistema redondea el
número a valor más cercano, es decir a 0.8V, Si nuestra precisión fuera de 0.05v el sistema
haría la aproximación y quedaría en 0.75V.
CODIFICACIÓN
Una vez que los datos tienen su valor numérico el sistema los convierte en números
binarios que representan las variaciones de la señal original. La cantidad de datos que
arroje el sistema depende de que tanta precisión tenga, ya que, a mayor frecuencia de
muestreo, mayor es la cantidad de datos que procesa el convertidor.

COMPRESIÓN
Debido a que la cantidad de datos que se guardan de una señal es bastante grande, y en
ocasiones tiene que ser transmitida hacia un dispositivo exterior, y este tiene una tasa de
lectura baja, es necesario comprimir la información.
Esta compresión de la información se puede hacer por dos métodos diferentes.
La compresión sin pérdidas que elimina la información redundante, o la compresión con
pérdidas en la que la información menos relevante se desprecia.

TIPOS DE CONVERTIDORES ADC


Existen diferentes tipos de convertidores analógico a digital cada uno con diferentes
características que nos ayudan a trabajar en diferentes escenarios.
FLASH
Este tipo de convertidor se caracteriza por ser uno de los más sencillos y más rápidos que
existen, ya que solo están conformados por comparadores y resistencias.

APROXIMACIONES SUCESIVAS (SAR)


Estos convertidores prácticamente son los más completos ya que ofrecen precisión, una
alta velocidad y un bajo consumo de energía. A grandes rasgos este dispositivo cuenta
con; un comprador, un modulo SAR y un convertidor Digital a analógico (DAC).

DE RAMPA
Los ADC de rampa se utilizan en donde se debe de tener una respuesta rápida y una
linealidad de trabajo. también se caracterizan por trabajar con el tiempo, ya que tienen un
temporizador, un contador, un registro de corrimiento de bits, un comparador y un
convertidor digital a analógico (DAC).
SIGMA DELTA
Este tipo de convertidor se caracteriza por tener un solo bit de resolución, una alta
cantidad de muestro y una baja frecuencia, es decir; que este tipo de adc tiene una gran
resolución, pero es de los más lentos que existen. Se utiliza en aplicaciones que requieren
una muy alta resolución y una baja velocidad, como por ejemplo en el audio.

SEGMENTADO
Se utilizan en aplicaciones donde se requiere un muestreo con poco ruido y una alta
linealidad, como puede ser en la adquisición de datos de alta velocidad como en;
aplicaciones medicas, rayos x. espectrometría, citometría, etc.

EQUIPOS Y MATERIALES:
- Multímetro.
- Protoboard.
- Jumpers.
- Fuente DC estable 5V.
- Microcontrolador PIC 16F877A.
- Display LCD 16x2
- Modulo I2C para LCD
- Grabador PICKit 3.
- Oscilador de cristal de 20Mhz.
- Capacitor cerámico de 22pF.
- C.I. LM35 (sensor de temperatura)
- Potenciometro de 5K.
- Led´s (rojo, amarillo y verde).
- Resistencias de ¼ w. (220R, 330R, 470R, 2k2, 10k).
PROCEDIMIENTO EXPERIMENTAL:
1. Arme el circuito y programe el microcontrolador los incisos (a y b)
2. Complemente los circuitos y la programación en el compilador CCS del inciso (c) control
de invernadero.
3. Arme los circuitos y luego compruebe su funcionamiento. 4. Analice su funcionamiento
y saque conclusiones

PARTE PRACTICA:

a) Lectura del valor ADC y la tensión de entrada analógica de un potenciómetro.


Este código es un programa escrito en lenguaje C para un microcontrolador PIC16F877A
que realiza mediciones analógicas y muestra los resultados en un display LCD. A
continuación, se explica su funcionamiento:

1. Se declaran las variables q, p y temp para almacenar los resultados de las


mediciones y cálculos.
2. Se configuran los puertos de entrada analógicos y el reloj interno del ADC.
3. Se inicializa el LCD.
4. Se inicia un bucle while que se ejecuta indefinidamente.
5. Dentro del bucle, se establece el canal del ADC en AN0 y se espera un breve
periodo de tiempo para estabilizar la señal.
6. Se posiciona el cursor en la primera posición del LCD.
7. Se lee el valor analógico en el pin AN0 y se almacena en la variable q.
8. Se calcula el valor de voltaje p utilizando una fórmula específica basada en el valor
del ADC y la referencia de voltaje.
9. Se calcula el valor de temperatura temp multiplicando p por 100.
10. Se muestra en el LCD el valor del ADC q con un formato específico.
11. Se muestra en el LCD el valor de voltaje p con un formato específico.
12. Se posiciona el cursor en una posición específica del LCD.
13. Se muestra en el LCD el valor de temperatura temp.
14. El bucle se repite y se realizan las mediciones y visualizaciones nuevamente.
En resumen, este código configura y utiliza el ADC del microcontrolador para leer valores
analógicos, realiza cálculos en base a esos valores y muestra los resultados en un display
LCD. Se puede suponer que está diseñado para medir y visualizar valores de temperatura.
b) Lectura de la temperatura ambiente con LM35.
Este código configura el ADC, realiza conversiones analógico a digital y muestra los valores
de temperatura en un display LCD utilizando el microcontrolador PIC16F877A.

1. Se define el registro de E/S PORTA como la dirección de memoria 5.


2. Se declara la variable `bits` de tipo `long` para almacenar el valor leído del ADC en bits.
3. Se declara la variable `tem` de tipo `float` para almacenar el valor de temperatura
calculado.
4. Se define la función principal `main()`.
5. Se configura el pin RA0 como entrada.
6. Se configuran los puertos de E/S analógicos para que todos sean analógicos.
7. Se configura el reloj interno del ADC para las conversiones.
8. Se inicializa y configura el LCD.
9. Se borra el contenido del LCD y se muestra el mensaje "CONVERSOR A/D".
10. Se agrega un retardo de 1 segundo.
11. Comienza un bucle infinito.
12. Se selecciona el canal 0 del ADC (RA0) para la lectura.
13. Se agrega un retardo de 1 ms.
14. Se lee el valor del ADC y se almacena en la variable `bits`.
15. Se realiza la conversión del valor de bits a temperatura utilizando una fórmula
específica.
16. Se posiciona el cursor del LCD en la posición 1,1.
17. Se muestra el mensaje "LA TEMPERATURA" en la primera línea del LCD.
18. Se posiciona el cursor del LCD en la posición 2,2.
19. Se muestra en el LCD el valor de temperatura en grados Celsius utilizando la variable
`tem`.

20. El bucle se repite y se realizan las mediciones y visualizaciones nuevamente.


c) Control de un invernadero de la temperatura.

Realizar el control de temperatura cuando sea 15ºC deberá encenderse un calefactor y


cuando llegue a 21ºC deberá encenderse un ventilador.
Este código realiza mediciones de temperatura utilizando el ADC, controla un calentador
(pin B0) y un ventilador (pin B1) en función de los valores de temperatura.

1. Se incluye el archivo de encabezado para el microcontrolador PIC16F877A.


2. Se especifica la configuración del ADC para tener una resolución de 10 bits.
3. Se especifica que se utilizará un oscilador HS (High-Speed) como fuente de reloj.
4. Se desactiva el watchdog timer (nowdt) y la protección del código (noprotect).
5. Se declara la variable bits de tipo long para almacenar el valor leído del ADC en
bits.
6. Se declara la variable tem de tipo float para almacenar el valor de temperatura
calculado.
7. Se habilitan las resistencias pull-up internas en el puerto B.
8. Se configura el puerto B como salida, especificando que todos los pines se
utilizarán como salidas digitales.
9. Se configura el pin RA0 como entrada.
10. Se configuran todos los pines del puerto A como entradas analógicas.
11. Se configura el reloj interno del ADC para realizar las conversiones.
12. Se inicializa y configura el LCD.
13. Se borra el contenido del LCD.
14. Se posiciona el cursor del LCD en la posición 1,1.
15. Se muestra el mensaje "CONVERSOR A/D" en el LCD.
16. Se agrega un retardo de 500 milisegundos.
17. Comienza un bucle infinito.
18. Se selecciona el canal 0 del ADC (RA0) para la lectura.
19. Se agrega un retardo de 1 milisegundo.
20. Se lee el valor del ADC y se almacena en la variable bits.
21. Se realiza la conversión del valor de bits a temperatura utilizando una fórmula
específica.
22. Se posiciona el cursor del LCD en la posición 1,1.
23. Se muestra el mensaje "LA TEMP:" en el LCD.
24. Se posiciona el cursor del LCD en la posición 9,1.
25. Se muestra en el LCD el valor de temperatura en grados Celsius utilizando la
variable tem.
26. Se verifica si la temperatura es menor que 15.
27. Si la condición es verdadera, se enciende el pin B0 (CALEFACTOR ON) y se muestra
un mensaje en el LCD.
28. Se agrega un retardo de 2 segundos.
29. Si la condición es falsa, se apaga el pin B0 (CALEFACTOR OFF) y se muestra un
mensaje en el LCD.
30. Se agrega un retardo de 2 segundos.
31. Se verifica si la temperatura es mayor que 21.
32. Si la condición es verdadera, se apaga el pin B0 (CALEFACTOR OFF) y se enciende el
pin B1 (VENTILADOR ON) y se muestra un mensaje en el LCD.
33. Se agrega un retardo de 2 segundos.
34. Si la condición es falsa, se apaga el pin B1 (VENTILADOR OFF) y se muestra un
mensaje en el LCD.
35. Se agrega un retardo de 2 segundos.
36. El bucle se repite y se realizan las mediciones y visualizaciones nuevamente.

CONCLUSION.

De acuerdo al laboratorio realizado, se logró realizar la programación y armado de circuito


para convertir señales analógicas a digitales y así controlar la temperatura de acuerdo al
ejercicio planteado.

También podría gustarte