Вы находитесь на странице: 1из 11

Aplicacin de comunicacin a travs de I2C para un sensor de temperatura y a travs de NI-8451

(1)

I. Aguirre,

M. C. Senz

Universidad del Pas Vasco, Avda. Otaola n29, 20600, Eibar, 943033045, 94303110, inigo.aguirre@ehu.es
(1)

Universidad del Pas Vasco, M Daz de Haro n68, 48920, Portugalete, 946014904, 946017700

Resumen En este artculo se presenta una aplicacin de la medida de temperatura con un sensor provisto del bus I2C, que a travs del sistema de adquisicin de datos NI-8451, de Nacional Instruments, se comunica con el PC transfiriendo los valores de temperatura, alarma y con la posibilidad aadida de configuracin del sensor desde el PC. La aplicacin sirve, tambin, para la realizacin de una prctica de laboratorio para la asignatura de Instrumentacin Electrnica y correspondiente al tema de sensores inteligentes. En dicho tema se estudian los sensores inteligentes as como la evolucin, el diagrama de bloques, modos de comunicacin. Para esta prctica se ha elegido el sensor de temperatura de Analog Devices cuyo modo de comunicacin es a travs del bus I2C. Esta aplicacin permite aprender a programar, en LabVIEW, el sistema de adquisicin de datos NI-8451 para comunicarse a travs del bus I2C con el sensor de temperatura AD7416. Palabras Clave: Instrumentacin, sensor, comunicacin I2C, LabView.

1. Introduccin Esta aplicacin est compuesta por un sensor de temperatura de Analog Devices (AD7416) [1] con bus I2C, un sistema de adquisicin de datos de Nacional Instruments (NI-8451) [4,5] que permite la comunicacin I2C [2,3] y SPI y para la visualizacin en el ordenador el software de Nacional Instruments (LabVIEW) [8-10], mediante el cual podemos visualizar la alarma, el valor de la temperatura y podemos modificar los registros de histresis y de configuracin. Por otro lado es necesario realizar una tarjeta para la realizacin de la prctica. Para la representacin del esquema se ha utilizado el software de Labcenter Electronics (ISIS Professional) y para realizar el layout el software de Labcenter Electronics (ARES Professional) [6,7]. La prctica de laboratorio de dos horas de duracin utiliza el sistema de adquisicin de datos y la tarjeta creada la cual va provista del sensor de temperatura, un led indicador de la alarma y las resistencias de pull-up para la comunicacin con el equipo de Nacional Instruments. En esta prctica se parte con la configuracin del NI-8451,

posteriormente se realiza la programacin para la captacin de la entrada digital finalizando con la programacin de la lectura y escritura de registros del propio sensor. Los registros que se modifican sern el registro de histresis y el registro de valor mximo, por otro lado los registros que se visualizan en el panel frontal sern: el valor de la temperatura y los dos registros nombrados anteriormente. 2. Metodologa 2.1. Sistema de medida En la Figura 1 se puede ver el diagrama de bloques del sistema de medida realizado para poder llevar a cabo la prctica. El sistema consta de tres partes: el sensor de temperature AD7416 de Analog Devices, el sistema de adquisicin de datos NI-8451 de National Instruments y el ordenador. El sensor de temperatura se conecta al sistema de adquisicin de datos NI-8451 a travs del bus serie IC, por otro lado el sistema da adquisicin de datos se conecta, a travs del puerto USB. Aunque el sistema de adquisicin de datos NI-8451 permite la conexin de ocho componentes a travs del bus I2C, la conexin de otros ocho componentes con el bus SPI y ocho entradas o salidas digitales, se utiliza una seal digital y un solo componente conectado al bus I2C. El objeto de utilizar un ejemplo tan sencillo es para poder realizar la prctica en una nica sesin de dos horas. En esta prctica no solo se accede a los datos de los registros de temperatura y de las seales digitales sino que se realiza la modificacin de diferentes registros del sensor de temperatura.

Figura 1. Sistema de medida y control.

2.2. Sensor de temperatura AD7416

2.2.1 Caractersticas
El sensor de temperatura AD7416 posee las siguientes caractersticas: un rango de temperatura entre -40C y +125C, precisin de 1 C, un convertidor analgico digital de 10 Bit, un registro de temperatura de 10 Bit, indicador de sobre temperatura, bus serie I2C y tres bits de direccionamiento.

2.2.2 Funcin de los pines


En la Tabla 1 se explicar la funcin de los 8 pines del integrado.
Tabla 1. Funcin de los pines.

N 1 2 3 4 5 6 7 8

Nombre SDA SCL OTI GND A2 A1 A0 VDD

Funcin I/O digital. Bus serie bidireccional para datos Entrada digital. Clock del bus serie Salida digital. Seal que se activa cuando el valor de la temperatura supera un valor de configuracin. Tensin de referencia Entrada digital. El MSB del direccionamiento del sensor Entrada digital. El bit intermedio del direccionamiento del sensor Entrada digital. El LSB del direccionamiento del sensor Tensin de alimentacin. 2,7V 5,5V

2.2.3 Diagrama de bloques


En la Figura 2 se presenta el diagrama de bloques del sensor de temperatura. En el mismo podemos ver el principio del sensor, el convertidor, los registros, la seal de salida, el bus de comunicacin y los bits de direccionamiento.

Figura 2. Diagrama de bloques del sensor AD7416.

A continuacin se explicar cada una de las partes del sensor: 1) Medida de la temperatura. El mtodo utilizado para medir la temperatura se basa en el valor de la tensin base-emisor (V ) del transistor, trabajando a corriente
BE

constante. Este mtodo necesita una calibracin individualizada de cada chip. La

tcnica que se utiliza es la medicin de la variacin de (V ) cuando trabaja a dos


BE

valores de corriente. Esto se puede ver en (1).


VBE = KT / q ln ( N )

(1)

Donde: K es la constante de Boltzmann, q es la carga del electrn, T (K) es la temperatura absoluta y N es la relacin entre las corrientes, como se ven en la Figura 3.

Figura 3. Tcnica de medida de la temperatura.

2) EL ADC. El ADC recoge el valor (V ) y aporta una seal digital de 10 bit en formato complemento a dos. La resolucin del ADC es de 0.25 C. Aunque, tericamente, el rango es de 255 C se utiliza en un margen entre -40 C y +125 C. Este valor se guarda en el Temperature Value Register. La conversin, para valores positivos de temperatura se tiene en (2), para los valores negativos se tiene en (3) y en la Tabla 2 se ve la relacin, de algunos valores, entre la T(C) y la salida digital.
BE

T ( C ) = CodigoADC / 4
T ( C ) = (CodigoADC * 512 ) / 4

(2) (3)

Tabla 2. Formato de los datos de temperatura.

Temperatura (C) -128C -50C -0.25C 0C 0.25C 50C 125C 127C

Salida digital 10 0000 0000 11 0011 1000 11 1111 1111 00 0000 0000 00 0000 0001 00 1100 1000 01 1111 0100 01 1111 1100

3) Temperature Value Register. Es el registro, de slo lectura, donde se almacena el valor digital de la temperatura. Este registro es de 16 bit de los cuales se utilizan los 10 MSB para almacenar el dato.

4) Toti Setpoint Register. Este registro de 16 bit, de lectura/escritura, almacena el valor de temperatura por encima de la cual se activa la seal OTI. Este registro utiliza los 9 MSB para realizar la comparacin. 5) Thist Setpoint Register. Este registro de 16 bit, de lectura/escritura, almacena el valor de temperatura para regular el valor de histresis. Este registro utiliza los 9 MSB para realizar la comparacin. 6) Configuration Register. Es un registro de lectura/escritura de 8 bit que se utiliza para configurar los modos de operacin del sensor. Por ejemplo, la salida OTI se puede configurar como comparador o como interruptor. Si funciona como comparador la seal se activa cuando la temperatura sobrepasa el valor de cuando es inferior a valor

TOTI

y se desactiva

TOTI

temperatura supera el valor

THYST . Si funciona como interruptor se activa tanto si supera el T como si es inferior a HYST y se resetea con un acceso de lectura. Si la TOTI y una vez peseteado si vuelve a superar el valor no THYST .

se vuelve a activar hasta que no sea inferior a

7) Fault Queue. Se utiliza para evitar falsas activaciones de la seal OTI en ambientes con mucho ruido. Para ello se utilizan dos bit del registro de configuracin con los que configuramos el nmero de eventos necesarios para que la seal se active. 8) Address Pointer Register. Este es un registro de 8 bit que almacena el direccionamiento de uno de los registros vistos anteriormente. Para ello utiliza los dos LSB. 9) Serial Bus Interface. El sensor se comunica a travs del bus serie IC. El sensor se conecta a este bus como esclavo bajo el control de un master, que en nuestra aplicacin es el NI-8451. 2.3. Sistema de adquisicin NI-8451

2.3.1 Caractersticas
El sistema de adquisicin de datos NI-8451 posee las siguientes caractersticas: interfaces master I2C y SPI, 8 entradas/salidas de propsito general y conexin USB.

2.3.2 Funcin de las conexiones


Tabla 3. Funcin de las conexiones.

Seal SPI CS SPI (SDO) SPI (SDI) SPI CLK I2C SDA I2C SCL PO <0..7>

Funcin Seales para seleccionar el perifrico SPI. Seal de comunicacin SPI hacia el dispositivo esclavo. Seal de comunicacin SPI desde el dispositivo esclavo. Seal de reloj SPI hasta 12 MHz Conexin de datos para la comunicacin I2C. Seal de reloj I2C hasta 250 kHz Seales que se pueden configurar de entrada o de salida.

2.3.3 Diagrama de bloques


En la Figura 4 se puede ver el diagrama de bloques del sistema de adquisicin de datos.

Figua 4. 4 Diagrama de bloques del NI-8451.

2.3.4. 4. Sistema de medida


En este apartado se ve el esquema de conexin del sensor con el NI-8451 NI 8451 y el sistema de medida.

Figura 5. Esquema de conexin.

Figura 6. Sistema de medida.

En la Figura 5 se ve que es necesario colocar resistencias del pull-up pull up en SDA y SCL. Estas resistencias pueden tener valores entre 2,7k a 4,7k. Tambin es necesario alimentar externamente estas resistencias y el sensor de temperatura.

2.4. Prctica de laboratorio

2.4.1 Configuracin del NI-8451


Antes de empezar la programacin es necesario configurar el sistema de adquisicin de datos mediante la herramienta Measurement & Automatio Explorer de Nacional Instruments. En la Figura 7 se cambia el nombre que existe en el campo: VISA Alias on My System por el nombre que cada usuario seleccione. En este caso es MiUSB1.

Figura 7. Pantalla de configuracin del NI-8451.

2.4.2 Configuracin del sensor AD7416


Primeramente, la direccin del sensor puede estar entre los valores hexadecimales: 48 -4F, en este sensor el direccionamiento se realiza con 7 bits y la velocidad de reloj se puede elegir entre 100kHz y 400kHz sin pasar de 250kHz debido a las limitaciones del NI-8451.

Figura 8. Configuracin del sensor AD7416.

2.4.3 Programacin de la lectura de registros


Para la programacin de la captacin de una seal digital necesitamos el NI-845x I2C Write Read.vi. En la lectura hay que hacer referencia al nombre del dispositivo USB (MiUSB1). El array que se ve sirve para seleccionar el registro a leer (Registro de

temperatura: 0; registro de Histresis: 2 y registro OTI:3). El nmero de bytes de lectura son dos, debido a que el dato posee 10 bits. El dato obtenido se recibe en dos byte, siendo el de mayor peso el que aporta el nmero entero y el segundo byte aporta los decimales.

Figura 9. Lectura del registro de Histresis.

Para la programacin de la captacin de una seal digital necesitamos el NI-845x I2C Write Read.vi. En la escritura tambin hay que hacer referencia al nombre del dispositivo USB (MiUSB1). El valor 3 sirve para seleccionar el registro OTI. Para escribir en el registro Histresis hay que poner un 1.

Figura 10. Escritura del registro OTI.

2.4.4 Programacin de una entrada digital


Para la programacin de la captacin de una seal digital necesitamos el NI-845x DIO Read Line.vi. Esta entrada digital se utiliza para recibir la seal OTI (seal de alarma) del sensor. Como se puede observar es necesario indicar el nombre del dispositivo USB (MiUSB1).

Figura 11. Programa para la captacin de la seal OTI.

3. Resultados 3.1. Panel En el panel se ve representado la evolucin de la temperatura en el tiempo, para mejor visin se aade el valor numrico. Del mismo modo, con la seal de alarma se representa grficamente y mediante un led. Tambin se observan los registros del valor mximo y el de histresis, as como la posibilidad de modificarlos. Finalmente es necesario indicar el alias del sistema de adquisicin de datos (MiUSB1), la direccin del sensor en hexadecimal (48) y la velocidad de comunicacin, es de 200 kHz.

Figura 12. Panel de control y visualizacin.

3.2. Diagrama El diagrama obtenido posee una parte de programacin para la lectura de registros. Para el registro de la temperatura se realiza un filtrado de la seal, en cambio para el resto de registros no se realiza ya que su valor vara nicamente al modificar desde el panel. Mediante el control (registros) que se despliega se modifica el registro a leer.

Figura 13. Programa para la lectura de registros.

En la Figura 14 se ve la programacin para la escritura de registros. Los registros que se pueden escribir son el de configuracin, el de histresis y el de OTI. Mediante el mismo control (registros) que se despliega se modifica el registro a escribir. En las Figura 13 y Figura 14 se puede observar la captacin de la seal de alarma y la representacin en una grfica los valores de la temperatura, histresis y de la alarma.

Figura 14. Programa para la escritura de registros.

4. Conclusin Este documento pretende servir de ejemplo para la utilizacin del NI-8451, aportando una aplicacin con el sensor de temperatura AD7416. La aplicacin no slo recibe datos de temperatura, sino que puede configurar otros registros para modificar el umbral de alarma. Este tipo de aplicaciones permiten su utilizacin como apoyo a las clases tericas. Adems se utiliza para realizar una prctica de laboratorio, que afianza para la comprensin de las capacidades de los sensores inteligentes. Debido a que la duracin de la prctica es de dos horas, la programacin est limitada a la lectura de registros, escritura de registros y captacin de seal digital. Finalmente esta prctica supone un complemento a las prcticas realizadas anteriormente como son: la captacin de seales analgicas y digitales a travs de tarjetas de adquisicin de datos, comunicacin RS232 y control de equipos de laboratorio mediante el bus GPIB. 5. Referencias 1. http://www.analog.com [Consulta realizada en 2012] 2. http://www.i2c-buc.org [Consulta realizada en 2012] 3. http://www.robot-electronics.co.uk [Consulta realizada en 2012] 4. http://www.ni.com [Consulta realizada en 2012]

5.

http://www.sensirion.com/en/pdf/product_information/AN_ekp2_users-manual.pdf

[Consulta realizada en 2012] 6. http://www.labcenter.co.uk [Consulta realizada en 2012] 7. http://el013autavic.files.wordpress.com/2008/10/manual-proteus.pdf [Consulta

realizada en 2012] 8. A.M. Lzaro, LabView 7.1. Programacin grfica para el control de instrumentacin, Thomson, 2005, ISBN: 84-9732-391-2 9. J. PELEGR, J.R. LAJARA, LabView: Entorno grfico de programacin, Marcombo, 2007, ISBN: 9788426714268. 10. G.W. Johnson, R. Jennings, LabVIEW Graphical Programming, McGraw-Hill, New York, 2006, ISBN: 0-07-145145-3.

Вам также может понравиться