TERMÓMETRO DIGITAL DS1624

TERMÓMETRO DIGITAL DS1624 Centro CFP/ES COMUNICACIÓN I2C 1 CARACTERÍSTICAS DEL DS1624 • El DS1624 tiene una resolución de 13 bits. • Como la may

26 downloads 75 Views 273KB Size

Recommend Stories


TACHYMÉTRE DIGITAL TACÓMETRO DIGITAL
TACÓMETRO DIGITAL / DIGITAL TACHOMETER / TACHYMÉTRE DIGITAL TACÓMETRO DIGITAL TACÓMETRO DIGITAL PARTES DEL TACÓMETRO 1. Marca reflectante 2. Luz

Digital Business & Digital Marketing
Máster Executive en Digital Business & Digital Marketing Executive Executive Máster Executive en Digital Business y Digital Marketing Bienvenida

Digital. Digital. Digital. Digital. Digital. Cuantificación Análisis Detalle. Proporción Semejanza. Proporción Semejanza
Objetivos del curso Universidad Rey Juan Carlos Ingeniería de Telecomunicación Electrónica digital (Electrónica Digital I) CDA A+B=B+A CAD Electró

COMUNICA DIGITAL 360 COMUNICA DIGITAL 360 COMUNICA DIGITAL 360
COMUNICA DIGITAL 360 COMUNICA DIGITAL 360 COMUNICA DIGITAL 360 Síntesis informativa actualizada con lo más reciente en materia de telecomunicaciones

Digital Still Camera C_mara fotografia digital
ON_JLr _ 4-143-379-61/ Digital Still Camera C_mara fotografia digital DSC-W180AN190 Instruction Manual ............................. Manual de ins

Story Transcript

TERMÓMETRO DIGITAL DS1624

Centro CFP/ES

COMUNICACIÓN I2C

1

CARACTERÍSTICAS DEL DS1624

• El DS1624 tiene una resolución de 13 bits. • Como la mayoría, sigue midiendo temperaturas en el rango de –55°C a +125°C, pero ahora lo hace con incrementos de 0.03125 °C. • Este incremento se debe a que la parte fraccionaria es de 5 bits y ya sabemos que eso da 1/32 = 0.03125.

CARACTERÍSTICAS DEL DS1624

• Fabricado por Dallas Semiconductors • Dispositivo conectable al bus I2C • No requiere componentes externos para realizar la medida • La temperatura es leida como un valor digital de 2 bytes que incluye el signo • Realiza la conversión de temperatura en un tiempo máximo de un segundo • Posee 256 bytes de memoria EEPROM para almacenar datos • Se puede alimentar entre 2,7 y 5 V

2

CARACTERÍSTICAS DEL DS1624

• Tiene dos modos de operación: de Conversiones Continuas y One Shot. • En cualquier modo, permanecerá en Standby mientras no se esté convirtiendo una temperatura, esto es, luego de terminada una conversión en One Shot o después de detener las conversiones (con Stop Convert T) en modo de Conversiones Continuas.

DIRECCIONAMIENTO COMO ESCLAVO

• El dispositivo se activa cuando recibe la dirección válida. 1

0

0

1

A2

A1

A0

R/W

• A2, A1 y A0 se conectar a masa, si solamente hay un dispositivo, la dirección “ob10010001 es en lectura y “0b10010000” es escritura. • Permitiría conectar hasta 8 dispositivos en el mismo bus.

3

REGISTRO DE CONFIGURACIÓN



El registro de Configuración está implementado en EEPROM. Una escritura en él tomará un tiempo típico de 10 ms y máximo de 50 ms. En ese lapso el DS1624 responderá con un NACK a los siguientes datos que reciba.

LECTURA DE TEMPERATURA

• •

El dispositivo realiza la lectura de la temperatura mediante 2 bytes en complemento a 2. El dato es transmitido por el bus I2C, siendo el primero MSB MSB 0

• • •

0

0

1

1

0

0

1

0

0

0

1

0

0

0

0

La temperatura es de 25,0625 ºC La temperatura se expresa en grados centígrados con 4 decimales Se almacena en 2 bytes donde el byte superior es la parte entera y el inferior la parte decimal La temperatura se expresa en complemento a 2 , por lo que el bit más alto de la parte entera indica el signo, 0 para positivas y 1 para negativas.

4

LECTURA DE TEMPERATURA

• •

Los 4 bits más bajos del byte de la parte decimal están siempre a 0 La parte decimal se obtiene sumando el valor posicional de los 4 bits más altos que son: 0,5, 0,25, 0,125 y 0,0625 según donde se encuentre el 1 respectivamente. VEAMOS UN EJEMPLO ¿Qué temperatura leera el dispositivo si tenemos la siguiente secuencia?

0

0

0

1

0

1

1

0

1

0

1

1

0

0

0

0

LECTURA DE TEMPERATURA



En la parte entera tenemos:

“0b00010110”= 128*0+64*0+32*0+16*1+8*0+4*1+2*1+1*0=+22ºC •

En la parte decimal tenemos:

“0b10110000”= 0,5*1+0.25*0+0.125*1+0.0625*1= 0.6875ºC La temperatura leida es: +22.6875 ºC

5

INSTRUCCIONES

INSTRUCCIONES

Según la tabla anterior y los datos del fabricante los pasos son los siguientes: 1. Configurar el dispositivo: 1. Llamar al dispositivo: 0b10010000 -> 0x90 2. Acceso al registro de configuración: 0b10101100 -> 0xAC 3. Solo realiza una lectura el 1SHOT del sensor a 1: 0b00000001 -> 0x01 1. Inicializar el dispositivo: 1. Genera el primer byte de control (1001A2A1A0W): 0b10010000 -> 0x90 2. Inicializa la primera conversión de temperatura: 0b11101110-> 0xEE 2. Leer el valor de temperatura: 1. Llamar al dispositivo: 0b10010000 -> 0x90 2. Comienza la lectura de temperatura: 0b10101010 -> 0xAA 3. Genera primer byte de lectura (1001A2A1A0-R), R es por el 1 del 0x91: 0b10010001 -> 0x91 3. Seguidamente hacemos dos lecturas una para la parte baja y otra para la parte alta: 1. Leemos la parte entera del dato: datoh=i2c_read(); 2. Leemos la parte decimal y lo pasamos a 0 para indicar esperando respuesta: datol=i2c_read(0);

6

LIBRERÍA DS1624

void temp_config() //Configura el registro del DS1624 { i2c_start(); i2c_write(0x90); //dirección asignada para la escritura i2c_write(0xac); //Acceso a la configuración i2c_write(0x01); //Solo realiza una única lectura, el 1SHOT del sensor a 1 i2c_stop(); } void init_temp() //Inicializa la primera conversión { temp_config(); //Acceso a la función tem_config descrita más arriba delay_ms(50); //Retardo de 50 ms. i2c_start(); //Comienzo de la comunicación i2c_write(0x90); //Genera el primer Byte, de control (1001A2A1A0W) i2c_write(0xee); //Inicializa la conversión i2c_stop(); // Final de la comunicación }

LIBRERÍA TEMP_DS1624

float read_temp() // Retorna el valor en Celsius o Farenheit { int datah,datal; float dval; i2c_start(); i2c_write(0x90); //Genera el primer Byte (1001A2A1A0-W), W es por el 2º 0 del 0x90 i2c_write(0xaa); //Comienza la lectura i2c_start(); //Vuelve a llamar a un start antes de un stop, esto dependerá de la respuesta del esclavo. i2c_write(0x91); //Genera primer Byte (1001A2A1A0-R), R es por el 1 del 0x91 datah=i2c_read(); //Lectura de la parte entera datal=i2c_read(0); //Lectura de la parte decimal, pasando 0 para indicar el NACK. i2c_stop();

7

MONTAR EL SIGUIENTE CIRCUITO

MONTAJE EN PLACAS TRAINER

8

VIDEO DE FUNCIONAMIENTO

TERMÓMETRO DIGITAL DS1624

9

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.