Introducción a BMP085 Versión 1.0

Documentos relacionados
SMPL Tarjeta de evaluación para el sensor de presión MPL115A2T1 DESCRIPCION GENERAL CARACTERISTICAS DEL SENSOR CARACTERISTICAS DE LA TARJETA

8. Instrumentación y sistema de adquisición de datos

TERMÓMETRO DIGITAL DS1624

Hackeando una báscula de baño


OpenDomo Services ODControl accessories AI 4..20

Sensor Analógico: Potenciómetro

Hoja de Datos NoMADA Advance [DAT001A NoMADA Advance 02/16]

1-Componentes Físicos y Lógicos de un Ordenador.

Guía rápida para gestionar el puerto paralelo del PC

APLICACIÓN CON SENSORES INTELIGENTES

PROCESAMIENTO DIGITAL DE SEÑALES TRABAJO FINAL PROFESOR: CRISTIAN FILTRO PASA BAJAS PARA SEÑAL DE SENSOR DE TEMPERATURA LM35

TARJETA DE DESARROLLO DE SISTEMAS CON TECNOLOGÍA FPGA.

Raspberry Pi Expansion Board v1.01 Datasheet. Electroensaimada

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

VARIABLES ANÁLOGAS EN PROGRAMADORES NI4, y NO4I

ESTRUCTURA BÁSICA DE UN ORDENADOR

TECLADO TACTIL CAPACITIVO SIGMA ELECTRONICA

Buenos días Maestro Bosco, estos son los resultados que tengo hasta el momento:

Ventajas del BUS I2C

Anexo V: Amplificadores operacionales

Fundamentos de las TIC

Laboratorio de Instrumentación y Sistemas de adquisición de datos en la Universidad Politécnica de Valencia

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN

Introducción al PLC Simatic Siemens S7-200.

SSI INFORMACIÓN GENERAL ENCODERS ABSOLUTOS Y ABSOLUTOS PROGRAMABLES

Práctica 4. Entradas/Salidas Analógicas con Arduino

Introducción a la arquitectura de computadores

S/ S/ S/ S/ CASE - GABINETE CERTIFICADO. PLACA BASE SOKET 1151.

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

Equipo de medición de peso de Cabina - contrapeso

Podemos plantear un sencillo esquema de alarma como el de la figura: V REF 3600( ) T

Tema: Microprocesadores

CARACTERISTICAS TECNICAS PARA COMPENSACIÓN CAPACITIVA DE 2MVAR, 36 kv, PARA EL SISITEMA ELECTRICO DE LA ELECTRIFICADORA DEL META S.A. E.S.P.

12. Pruebas Realizadas

8. Convertidores Digital a Analógico y Analógico a Digital

Informe. Proyecto de. Electrónica. Tema: Temporizador con LM 555. Alumno: Guevara, Andrés

MANUAL DE USUARIO SONDA DE TEMPERATURA Y HUMEDAD RELATIVA MODELOS STH/STA/SHA-5031

Arquitectura de Computadores II

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA EL SUMINISTRO DE CINCO (5) CORRENTÓMETROS DOPPLER MONOPUNTO PARA FONDEOS OCEANOGRÁFICOS.

Especificaciones técnicas de los prototipos:

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

COMPONENTES PRINCIPALES DEL HARDWARE DE UN ORDENADOR:

MEMORIA EJERCICIO 1 EJERCICIO 2

DETECTORES DE GAS FIJOS

Verificación de la Ley de Ohm. Asociación de resistencias. Ajustes a rectas y regresión lineal.

La circuitería interna del 555 según National Semiconductors, es la siguiente:

KIT SENSOR DE LLAMAS S320090

Iniciación a la informática

Sensores de velocidad y dirección de viento

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Estructura del Computador

ECO Par - 3. termopar. digitales J, K,.. Comunicación digital serie de hasta 3 Termopares EXPANSIONABLE FORMATO. Serie síncrona 2 11.

Bienvenido al módulo de formación de la estructura del producto de los convertidores de frecuencia ACS800 instalados en armario.

REEA. Conexión de un S con WinCC RT Advanced V.12

ESTRUCTURA FÍSICA DEL µp 8086

Transmisor de presión para aplicaciones de carácter general, tipo MBS 1700 y MBS 1750

Comunicación Bluetooth y generación de señales analógicas mediante modulación por ancho de pulso López, Juan Manuel Matrícula: 11.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

MEDIDOR DE TEMPERATURA

Lenguaje binario. Código ASCII. Medidas de la información

Tema 09: Convertidor Analógico Digital

Clasificación de los Convertidores DAC

Display LCD y memorias

PRACTICA N 3 ADQUISICIÓN DE DATOS DE TEMPERATURA Y VELOCIDAD

4. Escribe con palabras lo que significan las siguientes letras y di cuántos bytes hay aproximadamente: a) 1 Gb? b) 1 Mb? C) 1 Kb?

Universidad de Alcalá

Calidad de las aguas (sensores)

LOS MICROPROCESADORES LC 863XXX EN TV DE ORIGEN CHINO

CURSO: ROBÓTICA. CONECTANDO CON EL MUNDO FÍSICO. ÍÑIGO MARTÍN MIMBELA.

El protocolo MODBUS-RTU es un formato de transmisión en serie de datos, utilizado extensamente en las

PANEL DIGITAL DE TEMPERATURA Y HUMEDAD RELATIVA

Por favor lea atentamente el siguiente manual de instrucciones antes de energizar el equipo.

Sensor de nivel ultrasónico UFM

Procedimiento específico: PEM 03P CALIBRACIÓN DE MEDIDORES/ INDICADORES DE PRESIÓN EN PRESIONES ABSOLUTAS UTILIZANDO TRANSMISORES DE PRESIÓN ABSOLUTA

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE INSTRUMENTACIÓN INDUSTRIAL

Introducción a Arduino

1.- CORRIENTE CONTINUA CONSTANTE Y CORRIENTE CONTINUA PULSANTE

MODULO ANALOGICO REMOTO

ANEXO 1. CALIBRADO DE LOS SENSORES.

b) Frecuencia nominal. La frecuencia (medida en Hz) del sistema de potencia para el cual el banco del capacitor es diseñado.

KL1508. Switch KVM de Alta Densidad, LCD, 8 Puertas Cat5 y Dual Rail

Diseño de una calculadora

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

EL ORDENADOR A. PERIFÉRICOS. B. UNIDAD CENTRAL. 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO

Práctica 2. Control de velocidad mediante el autómata CP1L y el variador MX2 de Omron

EL ORDENADOR COMO DISPOSITIVO DE CONTROL

Introducción a los Sistemas Digitales. Tema 1

Tema: MAPAS DE MEMORIA: LÓGICA DE SELECCIÓN, GESTIÓN Y ORDENACIÓN DE LA MEMORIA. J. Luis Lázaro, J. Jesús García "MAPA DE MEMORIA" 0

El sistema a identificar es el conjunto motor eléctrico-freno siguiente:

GUIA DE TRABAJOS PRÁCTICOS ÁREA TÉCNICA

Caudalímetro digital BOSCH HFM Multijet 8v. 1.9 Multijet 8v. Caudalímetro digital BOSCH HFM6 4.7

VOCABULARIO DEL HARDWARE. Docente Yeni Ávila

1-Introducción. KIT ARM- Ténicas Digitales II - Ing. Ruben M. Lozano /9

Controladores electrónicos EKC 201 y EKC 301 REFRIGERATION AND AIR CONDITIONING. Folleto técnico

Proyecto final "Sistema de instrumentación virtual"

Transcripción:

1. [ BMP085 - Barómetro ] El kit incluye el sensor de presión y temperatura BMP085 de la marca Bosch, el mismo es normalmente utilizado en plataformas electrónicas como Arduino, por lo que fácilmente se puede encontrar material de aplicación, y por otro lado también, se comercializa el sensor integrado en una placa con pines que facilita su soldado y conexión. Este modulo incluye el sensor el cual es del tipo piezorresistivo (que nos ofrece una gran inmunidad al ruido electromagnético, alta precisión y linealidad), un ADC, un sensor de temperatura (utilizado para compensar las mediciones de presión) y una unidad de control la cual utiliza una memoria E2PROM desde la cual se pueden incluir valores de compensación que aumentaran la precisión de la medición realizada. El rango de medición es de 300hPa a 1100hPa para presión y de 0 C a 65 C para temperatura, estos valores resultan adecuados para hacer mediciones de presión y temperatura atmosférica. Su tensión de alimentación puede variar entre 1.8V y 3.6V. La precisión en la medición de presión, en el rango establecido por el fabricante es de, mientras que para la medición de temperatura será la resolución para cada medición será de 0.01hPa y 0.1 C para presión y temperatura respectivamente. La interfaz de comunicación que utiliza es I2C y el dispositivo posee una dirección fija 0x77, imposible de modificar. Esto significa que cualquier dispositivo conectado al BUS I2C no puede poseer la misma dirección del barómetro o se generaran conflictos durante la comunicación. Los valores de temperatura y presión que entrega el dispositivo son valores que deben ser corregidor utilizando los coeficientes de calibración. Los coeficientes de calibración se encuentran almacenados en la memoria interna del dispositivo y son necesarios para hacer las correcciones finales de presión y temperatura. 1.1. [ Lectura de los coeficientes de calibración ] Cada dispositivo cuenta con 11 coeficientes de calibración propios y es importante conocer los coeficientes del dispositivo en uso. Para acceder a ello se debe realizar una lectura sobre la memoria interna del sensor. Los coeficientes son palabras de 16 bits cada una, almacenados en 2 bytes correspondientes a su parte más significativa (MSB) y menos significativa (LSB). Los valores se almacenan uno a continuación del otro a partir del registro 0xAA. En la siguiente tabla se especifican los coeficientes y los registros donde se encuentras su parte MSB y LSB. 1

Si bien todos los coeficientes son de 16 bits, algunos de ellos son signados y otros no lo son, en la siguiente tabla se especifican como deben ser procesador cada uno de los coeficientes. AC1 AC2 AC3 AC4 AC5 AC6 B1 B2 MB MC MD unsigned unsigned unsigned Antes de realizar una conversión de los valores obtenidos por las mediciones del sensor debe realizarse la lectura de estos valores. A continuación se muestra una secuencia (UML) de lectura de coeficientes a través de las distintas capas de firmware: De esta manera el usuario tiene acceso a los coeficientes de calibración a través de la función BMP085_Inicializar() desde su aplicación. 2

1.2. [ Lectura del valor de temperatura ] Del dispositivo se podrá leer el valor de temperatura sin corrección. Luego se realizaran los cálculos necesarios para realizar la corrección en base a los coeficientes de calibración. Para realizar una lectura del valor de temperatura se debe seguir los siguientes pasos: 1. Escribir 0x2E en el registro 0xF4 2. Esperar 4,5ms 3. Leer el registro 0xF6 (MSB) y 0xF7 (LSB) A continuación se muestra la secuencia (UML) de acceso a los valores de temperatura del sensor a través de las distintas capaz de firmware. Donde desde la aplicación de trabajo el usuario puede acceder a los valores de temperatura en el sensor a través de las funciones BMP085_Temperatura_Medir(), para ordenar ejecutar una medición de temperatura, y BMP085_Temperatura_LeerMedicion(), para leer la medición realizada. El valor de temperatura será una variables de 16 bits, representada de la siguiente manera: Valor de temperatura sin corrección - UT MSB[15:8] LSB[7:0] Para realizar la corrección del valor de temperatura leído, es necesario realizar la siguiente operación, donde la variable UT representa el valor de la temperatura sin corrección obtenido de los registros 0xF6 (MSB) y 0xF7 (LSB) y T el valor de temperatura real en decimas de grados centígrados [0.1ºC]. X1 = ((UT -AC6) *AC5) >> 15; if((x1 + MD) == 0) return ERROR; X2 = (MC << 11) / (X1 +MD); B5 = X1 + X2; t = (B5 + 8) >> 4; T = t / 10; 3

1.3. [ Lectura del valor de presión ] Para realizar una lectura del valor de presión, se deben seguir pasos similares al proceso de lectura de temperatura. Se puede determinar el nivel de precisión de la lectura mediante el parámetro oversampling_setting (OSS). El fabricante ofrece las siguientes características según el valor OSS seleccionado para la lectura: Para comenzar una lectura del valor de temperatura, se debe seguir los siguientes pasos: 1. Escribir el valor (0x2E + (OSS << 6)) en el registro 0xF4 2. Esperar el tiempo especificado por el fabricante según el valor OSS. Por ejemplo para un OSS = 0, de debe esperar 4,5ms, y para un OSS = 3 se debe esperar 25,5ms. 3. Leer el registro 0xF6 (MSB), el registro 0xF7 (LSB) y el registro 0xF8(XLSB) A continuación se muestra la secuencia (UML) de acceso a los valores de presión del sensor a través de las distintas capaz de firmware. 4

Donde desde la aplicación de trabajo el usuario puede acceder a los valores de presión en el sensor a través de las funciones BMP085_Presion_Medir(), para ordenar ejecutar una medición de presión, y BMP085_Presion_LeerMedicion(), para leer la medición realizada. El valor de presión será una variables de 16 bits, representada de la siguiente manera: UP = (MSB << 16 + LSB << 8 + XLSB) >> (8-OSS) Es importante contar un con registro con la cantidad de bits suficientes para no provocar un desborde al realizar la operación. Para realizar la corrección del valor de presión leído, es necesario realizar la siguiente operación, donde la variable UP representa el valor de la presión sin corrección, obtenido de los registros 0xF6 (MSB), 0xF7 (LSB) y 0xF8 (XLSB), B5 : Valor calculado durante la corrección de temperatura y p el valor de presión real medida en Pascales [Pa]. B6 = B5-4000; X1 = (B2 * ((B6*B6) >> 12)) >> 11; X2 = (AC2 * B6) >> 11; X3 = X1 + X2; B3 = (((AC1 * 4 + X3) << oss) + 2) >> 2; X1 = (AC3 * B6) >> 13; X2 = (B1 * ((B6*B6) >> 12)) >> 16; X3 = ((X1 + X2) + 2) >> 2; B4 = AC4 * (X3 + 32768) >> 15; B7 = (UP - B3) * (50000 >> oss); if ( B7 < 0x80000000 ) { if(b4 == 0) return ERROR; p = (B7 * 2) / B4; } else { p = (B7 / B4) * 2; } X1 = (p >> 8) * (p >> 8); X1 = (X1 * 3038) >> 16; X2 = (-7357 * p) >> 16; P = p + ((X1 + X2 + 3791) >> 4); 1.4. [ Secuencia de operación ] En las secciones anteriores se describieron los procesos de lectura y conversión de valores para el sensor, estos procesos conforman una secuencia de operación del mismo. Es importante realizar los mismos en el siguiente orden a fin de obtener lecturas consistentes y válidas. 1. Inicio y lectura de coeficientes: Al momento de iniciar el sensor deben consultarse los valores de los coeficientes de calibración a fin de realizar futuras conversiones. 2. Medición: es recomendable realizar las mediciones de presión y temperatura consecutivas, ya que en el proceso de calibración estas mediciones se relacionan. 3. Corrección y conversión. 5

Las esperas presentes en la ilustración del proceso corresponden al tiempo entre la inicialización del dispositivo y el comienzo de las tareas de medición (Espera 1) y el tiempo entre el fin del proceso y el comienzo del próximo (Espera 2). La espera 1 se realiza una única vez y no es necesario repetirla en cada medición, por lo cual es recomendable realizarla al comienzo del inicio del sistema. Es recomendable que la misma sea superior a 100ms. La espera 2 depende estrictamente de la aplicación en la que se trabaje y los objetivos de misión y es recomendable que la misma sea superior a 100ms. Como se explicó en las secciones anteriores para realizar una medición las secuencias de medición abarcan diversas las capas de firmware, y conllevan un tiempo de ejecución para finalizar las mismas. Es conveniente entonces almacenar las mediciones luego de realizarlas para tener un aceso rapido a las mismas. En contreto, las fuciones presentadas en las seccuencias de medición almacenan las ultimas mediciones realizadas, asímiemos la función BMP085_ProcesarLecturas() realiza la conversión descripta y almacena los datos procesados, en el siguiente diagrama UML se muestra como tener acceso a las mismas. De esta forma, una vez realizada la medición, el usuario puede tener acceso a los valores a través de las funciones BMP085_LeerTemperatura() y BMP085_LeerPresion(). 6

1.5. [ Pinout y Conexión ] El barómetro BMP085 se encuentra montado en una placa de expansión que facilita su conexionado y montado. La misma ordena los pines del salida del sensor y los presenta en una fila de 6 pines. Asimismo, la placa viene integrada con un regulador 662K, para adaptar las tensiones de alimentación y referencias necesarias para el sensor, y las resistencias de pull-up, queridas para la comunicación I2C. Placa de expansión BMP085 Descripción Tipo GND GND Tierra Power EOC EOC Fin de conversión Salida digital V DDA Tensión de alimentación Power Vcc V DDD Tensión de alimentación Power NC - Sin conexión interna - SCL SCL Bus de entrada de clock I2C Entrada digital SDA SDA Bus de datos I2C Entrada/Salida digital XCLR XCLR Reset Entrada digital A continuación se muestra un esquema de conexión para el sensor: Donde P1 corresponde al puerto de expansión 1 de la placa EDU-CIAA. 7