Sensores de temperatura

En la nueva asignatura de sensores, que he fundido con instrumentación, porque están basadas en lo mismo, vemos nuevos sensores y sus características.

En éste apartado veremos los sensores de temperatura existentes, pero no simplemente el LM35...

Elementos bimetálicos

Es un trasductor que transforma cambios de temperatura en deformaciones mecánicas debido al coeficiente de dilatación de los materiales de los que se compone. Normalmente está formado por dos placas de metales distintos unidos, en distintas configuraciones.

Las deformaciones que la temperatura produce en uno de ellos se aprovechan para hacer indicadores de temperatura como éste:

También se usan para interruptores térmicos, termostatos y cebadores, elementos que necesitan partes mecánicas. Es muy importante su aplicación en campos donde no se pueda usar la electricidad o componentes derivados del mercurio, por ejemplo medida en gases inflamables, productos químicos o alimentación.

A pesar de que son bastante económicos y robustos, presentan una respuesta bastante lenta y no muy exacta, y la medida de temperatura no es puntual, sino que se distribuye por toda la superficie bimetálica.

Resistencias termométricas

Como ya se vio en el apartado de puentes de instrumentación, estas resistencias hechas de distintos materiales, generalmente  platino (RTP), por ser  el más lineal, varía su resistencia según la temperatura y el coeficiente del material.

R(T) = Ro(1+aT)

Al ser un elemento tan lineal, una RTP se puede cambiar por otra sin recalibrar el circuito. No todas las RTP tienen los mismos coeficientes, a partir de cierto rango de temperaturas pueden variar. Por lo general, todas tienen una constante
a = 0.00385 ºC^-1

Su rango de temperaturas va desde los -200 a los 850 ºC. A la hora de medir se tiene que tener en cuenta que el paso de corriente por su misma resistencia disipa potencia y aumenta la temperatura del sensor.

Termopares

Éste tipo de sensor aprovecha el efecto Seebeck: en un circuito con dos metales homogéneos distintos unidos en sus extremos, y éstos  a distinta temperatura, aparece una corriente eléctrica en función de la diferencia de la temperatura.

Sin embargo, no aparece el mismo potencial para pares de temperatura distintos, es decir, no es lo mismo medir con la punta 1 a 100ºC y la punta 2 a 0ºC que con la punta 1 a 200ºC y la punta 2 a 100ºC, aunque la diferencia sea de 100ºC igual. Es por ésto que se debe enfriar, o compensar, la "punta 2" o unión fría, a 0ºC.

Aun así, veremos que en la realidad ésta llamada unión fría no existe como tal, porque la unión de un tercer metal cuyas uniones están a la misma temperatura no afecta a la medida, entonces añadimos el cobre del circuito que mide la diferencia de tensión y queda así:

La medida de un termopar no es lineal, sino que tiene muchas curvas, podría llegar a necesitar hasta  9 coeficientes dependiendo del tipo y el rango de temperaturas. A un rango pequeño de temperaturas podría linealizarse, pero como todo ésto es muy complejo se han creado unas tablas que dan la tensión a distintas temperaturas teniendo la unión fría a 0ºC.

Entonces se puede compensar la unión fría mediante un circuito que dé la tensión necesaria para la compensación, o directamente conociendo la temperatura de la unión fría se dirige a las tablas y se suma la tensión de la temperatura de la unión fría a la tensión que está dando el termopar, obteniendo otra tensión que ahora sí, te diriges a su posición en la tabla y obtienes la temperatura real de la unión caliente.

Termistores

Existen dos tipos de termistores

  • NTC: el coeficiente es negativo
  • PTC: el coeficiente es positivo

Se tratan básicamente de semiconductores hechos de óxidos metálicos dopados, como se puede observar, no son lineales y además no tienen mucha repetibilidad ni exactitud. Comparado con una RTP:

Su fórmula es entonces exponencial: \displaystyle R = A \cdot e^{B/T}

También \displaystyle R = R_{0} \cdot e^{B(\frac{1}{T}-\frac{1}{T_{0}})}

Los parámetros A y B se calibran en 3 puntos distintos, obteniendo una tabla según el modelo y fabricante.

Para hacerlos más lineales, se puede poner una resistencia en paralelo, aunque pierda sensibilidad. También se venden pares de termistores integrados en uno solo que mediante un simple circuito se hace lineal. Pero no es lo más común.

Sus aplicaciones suelen estar en la protección de circuitos contra sobrecalentamientos, por ejemplo en muchas fuentes de alimentación se pueden encontrar termistores a la entrada para limitar la corriente.

Sensores integrados

Se basan en la sensibilidad de la unión semiconductora, tienen un coste bajo, una sensibilidad muy alta, aunque un reducido rango de temperaturas (limitado por las propiedades térmicas del encapsulado, principalmente) Como ejemplos tenemos:

  • Lm335: salida proporcional en grados Kelvin 10 mV/K
  • Lm35: salida proporcional en grados celsius 10 mV/ºC
  • AD590: salida por corriente de 1 uA/K, a dos terminales
  • MAX6625: es un sensor con conversión ADC y comunicación serie que además se puede programar

Fotodetectores

Fotodiodos

 

Con la llegada de fotones al semiconductor se crean pares electrón hueco (efecto fotoeléctrico), lo que hace que los electrones se muevan de un sitio a otro debido al campo eléctrico creado por la diferencia de carga en las zonas de huecos.

Si el circuito esta abierto, se observa una diferencia de potencial (tensión), y si está cerrado una corriente. Al fin y al cabo el efecto causa ambas cosas.

Un fotodiodo polarizado de forma directa se comporta de forma normal. Sin embargo, en polarización inversa permitirá el paso de corriente dependiendo de la cantidad de luz que le llegue.

Además, la polarización inversa tiene una respuesta más rápida que la directa.

Como no son perfectos, hay una minúscula corriente inversa incluso cuando está en la oscuridad.

Los fotodiodos pueden ser sensibles para una gama distinta de colores o infrarrojos, dependiendo de la fabricación

Entre sus características se encuentra la sensibilidad en amperios por metro cuadrado dividido por watio, que se complementa con la irradiancia luminosa, energía que la fuente de luz es capaz de proyectar en un metro cuadrado de superficie. Entonces:

Ip = sensibilidad * irradiancia

Al igual que los emisores, el receptor no es capaz de recibir luz en todos los ángulos, sino que tiene un ángulo donde recibe la mayor cantidad y otro donde deja de recibir, determinados por el diagrama que se puede encontrar en las datasheet.

radio

Hay muchas formas de polarizar el fotodiodo. Las más útiles para medidas analógicas vienen con amplificadores operacionales o de instrumentación. Distintas configuraciones pueden lograr una mayor rapidez y rendimiento o un menor ruido debido a corrientes parásitas.

Para hacerse a una idea de los órdenes de magnitud, la corriente máxima es de decenas de nanoamperios. Es importante reducir ruido en ciertas aplicaciones donde la sensibilidad es mucho menor. En estos casos se usan amplificadores de muchísima calidad.

Fototransistores

El aspecto puede ser el mismo que el de un fotodiodo, pero al contrario que estos, tienen mucha más sensibilidad y son capaces de manejar mucha más corriente. Por ello se usan en aplicaciones de conmutación.

Sin embargo no son muy lineales (la ganancia no es constante) y debido a la capacidad parásita tienen un ancho de banda limitado.

Algunos cuentan con una patilla de base que se puede polarizar como un transistor normal, otros no.

Sus otras aplicaciones se dan en optoacopladores (aislamiento de señales, normalmente digitales, todo o nada) o interruptores por barrera (si pasa un objeto entre el emisor y el receptor el haz de luz se corta y cambia el estado) o por reflexión de luz en superficies.

  

Para ello se venden en pares emisor/receptor con una posición óptima de ambos.

El mercado de arduino

Placas Arduino

Con un simple vistazo a la web https://www.arduino.cc/ encontraréis todas las placas de éste simpático fabricante/diseñador. Y cuando digo simpático no es sin razón, pues el diseño de los Arduinos es liberado para que cualquiera pueda hacerse una copia. Es más, otros fabricantes (por ejemplo en China) rediseñan la placa y la fabrican en masa. Además, sus creadores llevan a cabo importantes tareas en el ámbito educativo.

¿Por qué elegir un Arduino? Por un mínimo coste obtienes una placa de desarrollo con los puertos en conectores hembra, de fácil conexión, listo para usar. También tienen distintas placas para distintas necesidades. Vamos a enumerarlas.

Arduino UNO

Ésta placa, la más conocida de todas, usa un ATMEL ATmega328P, a 16 MHz y 5 voltios.

Tiene 14 pines de entrada/salida digital, de los cuales 6 de ellos se pueden usar como PWM, y otros 6 analógicos, que también se pueden usar como digitales.

Aunque es perfecto para empezar, una vez con los conocimientos suficientes e intentando hacer algo grande, la memoria puede ser insuficiente.

El precio de ésta placa original es de 25$ (USA), sin embargo sus copias pueden estar cerca de los 6€

Arduino Nano

Más enfocado hacia el desarrollo de placas de prototipos donde el arduino nano pueda encajarse y fijarlo, ya no lleva pines hembra.

Al igual que el Arduino UNO, funciona con 5 voltios y a 16 MHz

Tiene un puerto analógico completo, de 8 pines, y 14 pines digitales, de los cuales 6 son PWM.

La ventaja principal frente al siguiente de la lista, el arduino pro mini, es que lleva el USB integrado, por lo que su programación sigue siendo cosa de conectar y subir el programa. Aunque ésto lo haga un poco más grande.

Su precio original es de 18€ sin contar con impuestos, y sus copias se venden por algo más de 2.30€

Arduino Pro Mini

El rey para los proyectos pequeños, pero que no os engañe: se atreve con todos.

Para usar esta placa, sin USB incorporado, deberás comprar un adaptador USB a TTL, por lo que su uso es recomendado para fijar en un proyecto. Programar y desconectar. Ésto hace que sea más pequeño.

Algunas placas están limitadas a 3.3 voltios y 8 MHz pero lo más normal es encontrarlas a 5 voltios y 16 MHz, pudiendolas conectar también a 3.3 voltios sin perder velocidad de reloj.

Al igual que el Arduino Nano, contiene 14 pines digitales (de los cuales 6 pueden obtener PWM) y 6 analógicos.

Su precio original es de 12€ más impuestos, aunque las copias pueden costar algo más de 1.30€, sin tener en cuenta que hay que comprar un adaptador USB a TTL que costará más o menos lo mismo.

Estas tres placas son las más básicas, si bien las tres tienen una característica común: la falta de memoria en proyectos grandes. Ésto se soluciona en la gama más alta de Arduino.

Arduino Mega

Esta placa usa un ATmega2560 como microcontrolador principal.

A pesar de que funciona a 5 voltios y 16 MHz, como las anteriores, contiene 54 pines digitales (15 PWM) y 16 analógicos. Entre tantos pines podremos encontrar 4 módulos UART para comunicación serial.

Su precio es de 35€ más impuestos, pero podemos encontrar sus copias por unos 11€

Arduino Due

El primero en incorporar un procesador con núcleo ARM de 32 bits.

Aunque se conecta a un USB a 5 voltios, ésta placa funciona únicamente, y tiene sus entradas y salidas, a 3.3 voltios y 84 MHz. Es una limitación a tener en cuenta para no quemar el integrado.

Tiene 54 pines digitales (12 PWM), 12 entradas analógicas, 2 salidas analógicas, 4 UARTs y 2 puertos de i2c de 2 pines cada uno.

Su precio es de 34€ más impuestos pero se puede encontrar una copia a algo menos de 20€

Arduino Yún

Ésta placa contiene dos módulos separados: una parte es similar a un arduino UNO pero tiene un pequeño apartado donde se contiene un procesador Atheros que se conecta a internet mediante Wifi y Ethernet, también tiene un USB host y un lector de tarjetas SD

La gracia es que el Atheros incorpora una distribución Linux que se comunica con el ATmega mediante la programación.

Tiene 20 pines de entrada/salida digital, de los cuales 12 pueden ser usados como entrada analógica

Su precio es muy alto, de 52€, y no se le conocen copias.

Arduino Zero

Es la última incorporación al mercado de Arduino oficial, también basado en un núcleo ARM de 32 bits, funciona a 3.3 voltios y tiene un reloj de 48 MHz

Es muy similar al Arduino UNO, contiene 14 pines digitales de los cuales pueden usarse 12 como PWM. Tiene 6 entradas y 1 salida analógicas.

Su precio es todavía muy elevado, alcanzando los 50€, y tampoco tiene copias baratas en el mercado.

ARM: descargas

He hecho una carpeta en hubiC.com donde he guardado todo el contenido referente a las prácticas y proyectos de ARM, que además podré ir actualizando si hago algo nuevo.

Éste contenido se puede descargar por ahora aquí

Sin embargo, sólo estará disponible durante un número limitado de días (30). Si deja de estar disponible y a alguien le interesa, puede dejar un comentario en este hilo y le pasaré el link actualizado.

ARM: DAC

Como ya dije en los primeros capítulos de ARM, las liberías de terceros son muy importantes, y por éso para ésta utilidad voy a usar directamente unas librerías extraídas de aquí:

http://stm32f4-discovery.com/2014/04/library-07-da-converter-on-stm32f4xx/

Tendréis que descargaros las tres librerías:

  • TM STM32F4 DAC Library
  • TM STM32F4 GPIO Library
  • defines.h

Éste creador de librerías tiene cosas realmente interesantes y útiles.

Una vez descargadas las librerías, se colocan en distintas carpetas dentro de "terceros" y se incluyen tanto en las opciones de compilación (Project -> Options for Tarjet -> C/C++ -> Include Paths), como en la sección de la izquierda donde se encuentran los archivos .c que se van a usar (Manage project items -> Add Files, podéis crear subcarpetas nuevas para tenerlo más ordenado)

¿Qué es el DAC? Al contrario que en el caso del ADC, éste periférico es capaz de tomar un valor digital desde el microcontrolador y sacar por el pin una tensión. También depende de la tensión de referencia y de la palabra digital que le demos:

Vout = Vref*(Valor digital / 4096)

La librería descargada nos permite dar a la salida un valor cualquiera en un rango de 0 a Vref dependiendo de la palabra digital que introduzcamos en la función. Podréis medir en el pin correspondiente la tensión y veréis que, efectivamente, es  la que se ha introducido, o aproximada.

Para un uso simple, el ejemplo que se da en la web hace que en el pin PA4 se extraigan 1.2 voltios y por el pin PA5 unos 1.65 voltios. Sólo será necesario el main.c:

 

/* Incluir módulos del núcleo */
#include "stm32f4xx.h"
/* Incluir las librerías de terceros */
#include "defines.h"
#include "tm_stm32f4_dac.h"
 
int main(void) {
    /* Inicializar sistema */
    SystemInit();
    
    /*Inicializar canal 1 DAC, PA4 */
    TM_DAC_Init(TM_DAC1);
    /*Inicializar canal 2 DAC, PA5 */
    TM_DAC_Init(TM_DAC2);
    
    /* Poner en PA4 un valor de (1500/4096)*3.3V */
    TM_DAC_SetValue(TM_DAC1, 1500);
    /* Poner en PA5 un valor de (2047/4096)*3.3V */
    TM_DAC_SetValue(TM_DAC2, 2047);
    
    while (1) {
    
    }
}

Las utilidades del DAC van desde el control analógico de sistemas a la generación de señales como senoidales y triangulares.