Vous êtes sur la page 1sur 34

TEMAS

Sensores: Clasificación y características


Primer módulo intermedio de programación:
 Variables locales y globales
 Variables Static
 Interrupciones
 Librería TIME

Filtros, características
 Filtro pasa bajas
 Filtro pasa altas
 Filtro pasa bandas
Sensores de velocidad, posición y aceleración.
 Potenciómetro
 Encoder
 Potenciómetro táctil
Sensores de color, luz y visión
 Foto transistores
 Foto diodo
 LDR
Sensores de nivel y proximidad
 Ultrasónicos
 Resistivos
 Capacitivos
 Touch
 Interruptores

Sensores de temperatura y humedad


 Conceptos básicos de temperatura
 Termistor
 Termopar o termocupla
 LM 35
 Pirómetros
 Sensor de humedad: Conceptos específicos
 Sensor de humedad de contacto Fc
Sensores de fuerza, torque y deformación
 Galgas extensiométricas
 Flexi force

Acondicionadores de señal.
 Procesos del acondicionamiento.
 Acondicionamiento de sensores resistivos.
 Circuitos amplificadores: Introducción y principales características.

1
 Configuración seguidor
 Configuración inversor y no inversor
 Configuraciones de lazo abierto
 Configuración sumador
 Configuración diferencial
 Configuración integral
 Configuración derivador
 Convertidor analógico digital
 Convertidor de corriente a voltaje
Segundo módulo intermedio de programación con microcontroladores:
 Timers
 Punteros
 Pin AREF
 Estructuras C++: Struct
Comunicaciones
 Protocolo de comunicación i2c
 Protocolo de comunicación RS232
 Uso de modulo bluetooth y sus configuraciones
Uso de módulo wifi ESP8266
 Configuración con códigos AT
 Internet de las cosas.
 Respuestas domóticas desde WEB

2
INSTRUMENTACIÓN Y PROTOCOLOS DE COMUNICACIÓN

A lo largo del desarrollo intelectual que ha tenido la humanidad, la transformación de la energía ha sido
una necesidad para poderla observar, cuantificar y hasta modificar con el fin de utilizarla para beneficio
del ser humano. Dicha necesidad tomó más importancia al llegar la revolución de las maquinas
automatizadas, el uso de sensores y actuadores electrónicos es a la fecha un tema imprescindible para
desarrollar sistemas en la actualidad, ya que todo sistema requiere medir una variable física, escribir un
dato de manera digital para interpretar a un movimiento en el mundo real o generar una interfaz gráfica
para poder representar de una manera más sencilla los acontecimientos en nuestro entorno.
A lo largo de este curso, el participante aprenderá a utilizar una vasta cantidad de sensores y buenas
prácticas de instrumentación, aprenderá como se clasifican e identifican dependiendo los sistemas a
diseñar.

1. PROGRAMACIÓN INTERMEDIA EN ARDUINO.

VARIABLES GLOBALES Y LOCALES.


El uso de las variables y su correcta localización es uno de los temas de vital importancia dentro de la
programación, ya que están diseñadas para existir únicamente en donde son necesarias y de esta forma
crear código entendible, reciclable y eficiente.
Existen principalmente dos tipos de variables: Locales y globales.
 Las variables locales únicamente existirán en el bloque de código que se esté ejecutando, se
crean y se les asigna un valor en ese bloque y al finalizarlo se destruyen.
 Las variables globales son aquellas que se nos permite usar en cualquier parte del programa,
se crean generalmente al inicio de nuestro código, afuera de todos los bloques.
A la propiedad de las variables de existir una cierta cantidad de tiempo se le llama: Persistencia de las
variables.
Ejemplo:
bool control = true;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int j = 3 ;
if ( control)
{
for (j=0 ; j<10 ;j++)
{
Serial.print("j = ");
Serial.println(j);
}
Serial.println("...........................");
Serial.println(j);
}
control = false ; // Para que no vuelva a imprimir el resultado
}

3
VARIABLES STATIC.
Algunas veces necesitamos que al salir de un bloque la variable no se elimine o pierda su información,
pero también necesitamos (por que nos gusta complicarnos la vida) que no se cree una variable global,
ya que no sería eficiente si solo se va a utilizar en una sola función, en estos casos tenemos que utilizar
la propiedad estática de las variables la cuál: Nos permite crear una variable que únicamente es accesible
desde esa función en específico, pero su valor no desaparecerá al salir de ella, si no que permanecerá
hasta que se cierre o reinicie el programa, de esta manera se nos permitirá conservar su ultimo valor.
Ejemplo: Al ejecutar el siguiente bloque de código

void loop()
{ if ( control)
{
Funcion1 (); // muestra 0
Funcion1 (); // muestra 1
Funcion1 (); // muestra 2
}
control = false ;
}
void Funcion1 ()
{
int x = 0; // Declaramos x como local
Serial.println(x);
x = x + 1;
}

Podremos observar en el resultado:

Sin embargo, si le damos una propiedad estática a nuestra variable y:


void loop()
{ if ( control)
{
Funcion1 (); // muestra 0
Funcion1 (); // muestra 1
Funcion1 (); // muestra 2
}
control = false ;
}
void Funcion1 ()
{
static int x = 0; // Declaramos x como local
Serial.println(x);
x = x + 1;
}

El resultado que obtendremos es completamente diferente:

4
Recuerda que, aunque estas variables no se destruyen o pierden su valor con el tiempo, no se
pueden utilizar fuera de estas funciones.

INTERRUPCIONES:
En la programación de microcontroladores el uso de este apartado de software es muy utilizado cuando
queremos darle prioridad a alguna señal de entrada, tanto que todo el ciclo de programación se
interrumpe y salta directamente al bloque de código a ejecutar cuando se presente esa entrada. Hay tres
formas en que se puede presentar una interrupción.
 Un evento hardware, previamente definido.
 Un evento programado, o Timer
 Una llamada por software.

Esta última viñeta no es soportada por Arduino, pero si por muchas otras interfaces.
Cuando estamos aprendiendo muchas veces no entendemos muy bien el uso de estos bloque de
programación ya que a simple vista pareciera que se ejecuta en la misma cantidad de tiempo que el
llamado de una función, sin embargo en bloques de programación grandes son muy importantes debido
a que este concepto nació por la necesidad de reaccionar de forma inmediata a algún acontecimiento
electrónico que no permite demoras, ya sea por la urgencia del suceso (Como un accidente) o porque
una parte del proceso podría perderse de forma irreparable si no reaccionamos lo suficientemente
rápido.
Las interrupciones también nos ofrecen la ventaja de hacer más organizado nuestro código, ya que se
define la función que se ejecutara al recibir una interrupción dada y se ejecuta limpiamente cuando
ocurre, no hay que comprobar si se da o no una situación.
Dentro de las interrupciones de hardware, que son las que nos ocupan en esta entrada, Arduino es capaz
de detectar los siguientes eventos.
 RISING, ocurre en el flanco de subida de LOW a HIGH.
 FALLING, ocurre en el flanco de bajada de HIGH a LOW.
 CHANGING, ocurre cuando el pin cambia de estado (rising ó falling).
 LOW, se ejecuta continuamente mientras está en estado LOW
Los pines susceptibles de generar interrupciones varían en función del modelo de Arduino.

Modelo INT0 INT1 INT2 INT3 INT4 INT5


UNO 2 3
NANO 2 3
MINI PRO 2 3
MEGA 2 3 21 20 19 18

5
LA FUNCIÓN ISR
La función asociada a una interrupción se denomina ISR (Interruption Service Routines) y, por
definición, tiene que ser una función que no recibe o devuelve nada, ella debe de tener algunas
características importantes:
 Dos ISR no pueden ejecutarse de forma simultánea. En caso de dispararse otra interrupción
mientras se ejecuta una ISR, la función ISR se ejecuta una a continuación de otra.
 Frecuentemente la función de la ISR se limitará a activar un flag, incrementar un contador, o
modificar una variable. Esta modificación será atendida posteriormente en el hilo principal,
cuando sea oportuno.
 Dentro de la función ISR no sirven las funciones delay (), millis () y cualquier cosa que dependa
de interrupciones o timers.
 No se pueden implementar impresiones por Serial.
 La función ISR no puede devolver parámetros o recibirlos.
Veamos un ejemplo en código:
int contador = 0;
int n = contador ;

void setup()
{
1. Declaramos el número de interrupción Serial.begin(9600);
“0” que va a estar en el pin dos, dato attachInterrupt( 0, ServicioBoton, FALLING);
proporcionado por la tabla anterior. }
Seguido de una coma decimos el nombre void loop()
de la función ISR. Por último el tipo de {
if (n != contador)
evento que queremos que detecte.
{
Serial.println(contador);
n = contador ;
}
}
2. Función ISR. void ServicioBoton()
{
contador++ ;
}

RELOJ O LIBRERÍA TIME:


El tiempo es uno de los elementos que nos permiten realizar magia en cualquier sistema automatizado,
la posibilidad de programar una actividad o cierto evento en función del tiempo y la precisión que se le
pude dar es una de las maravillas de la tecnología moderna.
Arduino tiene como corazón un cristal piezoeléctrico que late a 16Mhz, es decir que da 16 millones de
pulsos por segundo y la precisión que nos puede ofrecer es la de un error de 0.5 segundos por día.
Dentro de sus aplicaciones hay una infinidad de ellas que podríamos nombrar y es por ellos que tarde o
temprano el uso de la librería TIME es algo que tendremos que aprender a usar, pero algo muy
importante a mencionar es que el tiempo es complicado y por ende consume una gran cantidad de
recursos en nuestra tarjeta de desarrollo Arduino.
La librería Time define una variable llamara time_t de 32 bits, esta variable es la base de todo.
Así como la mayoría de los sistemas programados de tiempo, la librería comienza desde el año 1970.

6
Ahora, vamos a explicar paso a paso los pasos para poder utilizar correctamente la librería por si es que
te lo perdiste en clase.

1. Incluir librería. #include <Time.h>

2. Dentro del bloque “setup” pondremos a hora el reloj void setup()


interno de Arduino, ya que siempre al quitar la { Serial.begin(115200);
setTime(19,58,00,6,11,2014);
energía se va al 01/01/1970 }

void loop()
3. Realizamos una variable del tipo time_t, en este { time_t t = now();
caso se llama t
Serial.print(day(t));
Serial.print(+ "/") ;
4. Si necesitamos algún elemento de este nuevo objeto Serial.print(month(t));
lo llamamos: Serial.print(+ "/") ;
Serial.print(year(t));
• Para día: day(t) Serial.print( " ") ;
• Para mes: month(t) Serial.print(hour(t));
• Para año: year(y) Serial.print(+ ":") ;
Serial.print(minute(t));
• Para la hora: hour(t) Serial.print(":") ;
• Para el minuto: minute(t) Serial.println(second(t));
• Para el segundo: second(t) delay(1000);
}

Ahora hagámoslo más difícil; imaginemos que necesitamos crear un sistema que compare dos fechas y
podamos obtener datos como cuantas horas pasaron o cuantos días transcurrieron, paso ello necesitamos
poder estableces más de una variable de tipo time_t y que aparte tenga datos diferentes al now(), para
poder hacer esto usaremos una estructura del tipo tmElements_t, a la cual podemos poner cualquier
fecha dentro del rango que veremos a continuación:
 Primer es importante resaltar que la estructura necesita que creemos un objeto, por ejemplo:
tmElements_t tm ;
 Dentro pudemos asignar los diferentes valores:
 tm.Second Segundos 0 to 59
 tm.Minute Minutos 0 to 59
 tm.Hour Horas 0 to 23
 tm.Wday Dia semana 0 to 6 (No se usa en mktime)
 tm.Day Dia 1 to 31
 tm.Month Mes 1 to 12
 tm.Year Año 0 to 99 (Diferencia desde 1970)

7
Ahora vamos a explicar paso a paso la forma en que realizaríamos uno de estos cálculos.
#include <Time.h> 1. Incluimos la librería Time
time_t T0, T1 ; // Contenedores de fechas
2. Creamos dos variables del tipo time_t;
void setup()
{
Serial.begin(115200);
}

void loop()
{ 3. Llamamos a la función SetFecha la cual esta
T0 = SetFecha(2014, 11, 6, 20, 17, 0); descrita más abajo y pasamos a ella
// 6 nov 2014 20:17 parámetros para la creación de dos fechas en
printFecha(T0) ;
T1 = SetFecha(2014, 11, 13, 16, 45, 0);
la variables time_t
// 13 nov 2014 16:45 4. Tambien llamamos a la función SetFecha, la
printFecha(T1) ; cual esta descrita más abajo.
printFecha(T1 - T0);

Serial.println("------------------------
--------------------------");
time_t H = T1 - T0 ; 5. En este ejemplo realizamos la operación de
Serial.print(String(year(H )- 1970)+ restar dos fechas y observar el resultado
" años," + String(month(H)-1 )+ imprimiéndolo, podremos observar en la
" meses,"); siguiente hoja los resultados.
Serial.println(String(day(H))+
" dias," + String(hour(H))+ " horas");
Serial.println("------------------------
---------------------------");
}

void printFecha(time_t t) 6. Función printFecha: Nosotros programamos


{
Serial.print(day(t)) ; la función para poder imprimir en el monitor
Serial.print(+"/") ; serial la fecha guardada en la variable, repito
Serial.print(month(t)); esta función no es parte de la librería. Para
Serial.print(+ "/") ;
Serial.print(year(t));
poder visualizar el dato, es necesario llamar
Serial.print( " ") ; una a una las partes de la variable (en caso
Serial.print(hour(t)); de no recordarlo, la sección anterior define
Serial.print(+ “:") ; como hacer este llamado).
Serial.print(minute(t));
Serial.print(":") ;
Serial.println(second(t));
delay(1000);
}
7. Función SetFecha: Teniendo un parámetro
time_t SetFecha(int y, int m, int d, int h, de retorno del tipo time_t, esta función
int mi, int s) necesita parámetros de entrada, los cuales
{
serán: año (y), mes (m), día (d), hora (h),
tmElements_t Fecha;
Fecha.Second = s; minuto (mi), segundo (s). Recordemos que el
Fecha.Minute = mi; nombre de la variable puede o no ser los que
Fecha.Hour = h; escribimos en este ejemplo, pero estas
Fecha.Day = d;
Fecha.Month = m; variables locales si deben de correspondes
Fecha.Year = y -1970; con las usadas en las próximas sentencias.
8. Al finalizar la declaración de la fecha
return makeTime(Fecha);
regresamos la variable con: return makeTime

8
USO DE RELOJES EN TIEMPO REAL (RTC):
El manejo de la librería TIME es una forma de obtener un control relativamente certero de nuestros
eventos, sin embargo cuando nuestro sistema requiere de precisión y no admite errores es conveniente
incluir módulos externos que lleven el control de dicho proceso, ese es el caso de los relojes en tiempo
real, modulo que no solamente llevan una cuenta más precisa por ser un dispositivo dedicado, sino que
también nos permite evitar errores como el sobrecargar las variables al exceder la capacidad de
almacenamiento.
Muchos de estos dispositivos dedicados vienen acompañados de una batería externa, para en caso de
presentar fallas en la alimentación eléctrica no se pierda el control de la cuenta y reinicie nuestro sistema
por completo desde el año 1970, además de que en la gran mayoría el uso del protocolo de comunicación
I2C, generará sistemas con una gran facilidad para vincular.
La matrícula del dispositivo que usamos en nuestro curso es: “DS3231”, el cual incorpora una
compensación por los cambios de temperatura, sin embargo al igual que cualquier dispositivo eléctrico
presenta un desfase al tiempo real, para el nuestro es de un segundo cada seis días.
En una sección posterior nos adentraremos a los protocolos de comunicación, por lo que en este
momento únicamente veremos la implementación, el diagrama de conexión entre nuestro Arduino y el
RTC DS3231, es el siguiente:

El código de implementación visto en clase para este dispositivo, es el siguiente:

1. Incluimos las librerías: comunicación #include <Wire.h>


#include "RTClib.h
I2C y la del RTC
2. Creamos un objeto del RTC RTC_DS3231 rtc;

void setup() {
3. Inicializamos el serial Serial.begin(9600);
delay(1000);

4. Revisamos la conexión con el RTC if (!rtc.begin()) {


Serial.println(("No encuentro el RTC"));
while (1);
}

// Unicamente se ejecuta una vez y se comenta para


5. La primera vez ejecutamos esta las compilaciones posteriores
sentencia, para ajustar el reloj, rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
posteriormente se conecta, ya que por
// Si lo que deseas es fijar a fecha y hora
la pila siempre llevará la cuenta del // específica ejecutarás
tiempo. // rtc.adjust(DateTime(2016, 1, 21, 3, 0, 0));
}
}
6. Creamos una función para imprimir
los valores por monitor serial. void printDate(DateTime date)
{
Serial.print(date.year());
Serial.print('/');
Serial.print(date.month());
Serial.print('/');
Serial.print(date.day());
Serial.print(" (");

9
Serial.print(date.hour());
Serial.print(':');
Serial.print(date.minute());
Serial.print(':');
Serial.print(date.second());
Serial.println();
}

void loop() {
7. Crearemos una variable tipo // Obtener fecha actual y mostrar
// por Serial
DateTime y en el guardaremos la hora DateTime now = rtc.now();
proporcionada por el RTC. printDate(now);
8. Llamaremos la función que creamos delay(3000);
para imprimir los valores de reloj, }
mandando la variable antes creada.

ALARMAS:
El principal uso de un reloj es poder programar el Arduino para ejecutar determinadas funciones en
una hora/fecha determinadas.
Como ya sabemos, la plataforma Arduino tiene un buen número de librerías que nos facilitan bastante
algunas tareas, pues la lógica ya ha sido implementada y solamente debemos conocer el API de dichas
librerías para acceder a su funcionalidad. En este caso, estaremos trabajando con la librería de gestión
de eventos y horarios conocida como “TimeAlarms”. Mediante esta librería podemos programar la
ejecución de determinadas funciones en una fecha y hora específica. La librería “TimeAlarms” depende
de la librería “Time” para conocer la fecha/hora actual, por lo que también debemos de incluirla al
realizar estas funciones.
El siguiente bloque de programación incluye el uso de la librería como lo vimos en clase y como es
costumbre anexamos una explicación paso a paso por si llegas a olvidar el tema.

1. Incluiremos todas las librerías #include <Time.h>


#include <TimeLib.h>
siguientes, ya que cada una es #include <TimeAlarms.h>
necesaria para poder colocar una #include <Wire.h>
#include "RTClib.h"
alarma.
2. Nuevamente creamos un objeto RTC RTC_DS3231 rtc;
3. En este ejemplo cambiaremos el
void setup() {
estado de un pin digital, por lo que se Serial.begin(9600);
configura como salida. delay(1000);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);

4. Creamos una variable del tipo if (!rtc.begin()) {


DateTime y la inicializamos con el Serial.println("NO HA FUNCIONADO RTC");
while (1);
dato proporcionado por el RTC }
5. Este es uno de los pasos más DateTime now = rtc.now();
setTime(now.hour(), now.minute(), now.second(),
importantes: Es necesario poner el now.month(), now.day(), now.year());
SetTime para poder generar la
variable que activará la alarma. //rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

6. Se generan las diferentes alarmas, }


// Evento a las 22:21 diario (enciende luz)
siguiendo la siguientes estructura: Alarm.alarmRepeat(22, 21, 00, EventoEnciendeLuz);
 Alarm.alarmRepeat // Evento a las 22:22 diario (apaga luz)
Alarm.alarmRepeat(22, 22, 20, EventoApagaLuz);
 Hora, minuto, segundo }
 Función que se ejecutará

10
7. Mostraremos la hora por serial, para void printDate(DateTime date)
{
poder tener un mejor control de la Serial.print(date.year());
hora actual que tiene nuestro sistema Serial.print('/');
Serial.print(date.month());
Serial.print('/');
Serial.print(date.day());
Serial.print(" (");
Serial.print(") ");
Serial.print(date.hour());
Serial.print(':');
Serial.print(date.minute());
Serial.print(':');
Serial.print(date.second());
Serial.println();
}

8. Preguntaremos nuevamente cual es la void loop() {


// Obtener fecha actual y mostrar por Serial
hora y agregaremos la función DateTime now = rtc.now();
Alarm.delay la cual procesa en el printDate(now);
fondo las alarmas y llamara a las Alarm.delay(1000);

funciones indicadas. }

void EventoEnciendeLuz()
{
Serial.println("Encendiendo Luz!!!");
digitalWrite(13, HIGH);
}

void EventoApagaLuz()
{
Serial.println("Apagando Luz!!!");
digitalWrite(13, LOW);
}

11
2. SENSORES: CLASIFICACIÓN Y CARACTERÍSTICAS.

Se le conoce como un transductor al elemento con la capacidad de poder transformar una variable física
en otra de un dominio diferente, existen transductores de entrada los cuales se usan para medir variables
del mundo real y representarlas en el mundo digital, también existen transductores de salida, los cuales
transformaran una variable digital en un movimiento, iluminación, sonido, etc.
Los sensores por sus principios de transducción se pueden clasificar en:
 Piezoresistivos.
 Capacitivos.
 Piezoeléctricos.
 Ultrasónicos.
 Magnéticos.
 Térmico.
 Fotoeléctrico.
 Químico eléctrico.
 Resistivo.
A continuación, se escriben los sensores clasificados por su variable física a medir:
 Flujo
 Biométricos
 Corriente
 Presión
 Nivel y proximidad
 Posición, velocidad y aceleración
 Humedad y temperatura
 Fuerza y deformación.
 Calor, luz y visión.
Esta última clasificación será la que se usa a lo largo del curso debido a que nos ayuda a relacionar más
rápidamente la necesidad de los sistemas a los diferentes sensores, aun cuando al principio esta
clasificación puede causar algo de confusión debido a que el mismo sensor puede ser usado para medir
diferentes variables físicas, es esto mismo lo que con la experiencia nos enseñará a valorar las opciones
que existen y elegir la óptima.
Los sensores se pueden identificar por su matrícula, sin embargo, generalmente nosotros los buscaremos
por sus características. Aquellas características que no varían conforme el tiempo se llamarán
características estáticas y aquellas que se describen en función del tiempo se llamarán características
dinámicas.
Las características estáticas nos permitirán elegir el sensor que más se ajuste a nuestra aplicación,
entre ellas se encuentran:
 Exactitud: Característica que se define como la comparación entre el valor obtenido por el
sensor y el valor real de la variable medida.
 Resolución: Con esta propiedad nosotros sabremos el cambio mínimo que el sensor puede
registrar en la variable real, por ejemplo: El sensor puede tener una resolución de 1 centímetro
[cm], es decir que si tratamos de hacer la lectura en 1.1 cm, 1.2 cm y 1.3 cm, el sensor
únicamente nos mandara la lectura de 1 cm para todas las medidas reales anteriores y
únicamente registrará un cambio en la lectura hasta llegar a 2 cm.

12
 Sensibilidad: Valor que nos expresará la magnitud de valor en la entrada, que representará un
cambio en la salida. En la mayoría de los sensores podremos reconocer este valor gracias a la
“gráfica de salida”, en dicha representación gráfica podemos observar algunas veces líneas en
las cuales su pendiente representará dicha sensibilidad, sin embargo, muchos otros son sensores
con curva de salida no lineal y se deberá realizar una caracterización en todo el rango de
funcionamiento del sensor.

Fig. 1.1: Curva de salida Temperatura vs. Voltaje

Esta propiedad también nos permitirá saber cuál es valor mínimo con el que trabaja nuestro
sensor.

 Rango: Intervalo mínimo y máximo de la variable real que nuestro sensor es capaz de leer.
 Precisión: Al nosotros realizar la medida de la propiedad física real, mientras esta permanece
inmutable y sin alteraciones en el sistema, el sensor debe de ser capaz de repetir la medida sin
variación alguna en la lectura.
 Offset: Lectura o corrimiento que el sensor emite cuando en realidad este debería de ser cero,
suele presentarse al haber altas o bajas temperaturas debido a que las lecturas de las hojas de
especificaciones son tomadas realizando la instrumentación en condiciones ideales.
 Error estático: Estos son los errores cometidos por interpretación y manipulación humana, ya
sea por tener un error al interpolar los valores de las gráficas, equivocarnos al conectar o hasta
tener equivocaciones al colocar nuestras puntas de prueba.
 Linealidad estática: Característica dependiente de los factores ambientales, esta propiedad se
identifica como la desviación entre la curva proporcionada por el fabricante en un sistema
controlado y la lectura actual.
𝑑𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑚á𝑥𝑖𝑚𝑎
% 𝑁𝑜 𝑙𝑖𝑛𝑒𝑎𝑙𝑖𝑑𝑎𝑑 = 𝑥 100
𝑣𝑎𝑙𝑜𝑟 𝑚𝑎𝑥𝑖𝑚𝑜 𝑎 𝑒𝑠𝑐𝑎𝑙𝑎 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑎
Características dinámicas:
 Tiempo de respuesta: Variable que se define como el tiempo necesario que le toma a un sensor
registrar y emitir un cambio en la lectura de la magnitud física. Es importante recalcar que este
valor es la característica propia del sensor y no del sistema, por ejemplo, para medir la velocidad
de un caudal necesitamos que nuestro sensor detecte los cambios de flujo al instante y por lo
tanto requerirá un tiempo de respuesta de microsegundos, sin embargo, para medir la

13
temperatura al ser esta una característica que lleva tiempo para su estabilización en el sistema
el tiempo de respuesta puede ser menor.
 Histéresis: Al realizar lecturas nosotros podemos llevar al sistema del valor máximo al mínimo
o del valor mínimo al máximo y dependiendo de la dirección obtendremos lecturas diferentes,
sin embargo, este no es un error de precisión, es un error de histéresis ya las lecturas tienen error
dependiendo la dirección que estén tomando los sistemas.
 Linealidad dinámica: Capacidad que tiene un sensor de ajustarse a la curva de salida
proporcionada por el fabricante al enfrentarse en pruebas reales a cambios bruscos en la señal
de entrada.
 Error dinámico: Este error en la lectura se presenta al incluir la impedancia presente en
nuestros aparatos de medición, ya que indirectamente forman un divisor de voltaje, También
puede presentarse al tomar lecturas relativas, por ejemplo, si colocamos un mechero y nuestro
sensor está muy alejado de la fuente de calor, aunado a un sistema con muchas pérdidas,
podríamos estar teniendo una lectura ineficiente en nuestro punto de interés debido a la posición
del instrumento.

14
3. SENSORES DE POSICIÓN, VELOCIDAD Y ACELERACIÓN.

Es importante recordar que las magnitudes físicas de movimiento existen de manera traslacional y
rotacional, para cada una de estas presentaciones existen sensores y actuadores.

RESISTENCIAS VARIABLES.
Utilizando la resistencia, este transductor tiene la capacidad de leer la
posición de un objeto. Existen potenciómetros lineales, pero los más
utilizados son los rotacionales y generalmente se utilizar con una fuente en
corriente directa.
Como observamos en la Fig. 5.1 Los potenciómetros constan de tres
terminales, la resistencia medida entre las terminales dos y tres es el
complemento para llegar al valor neto del potenciómetro de la resistencia
medida entre las terminales uno y dos; es decir, si nuestro potenciómetro
es de 10 kilo ohm [kohm] y entre las terminales uno y dos medimos con el
multímetro un valor de 2 [kohm] entre la terminal dos y tres tendremos un
Fig 5.1: Terminales de valor de 8 [kohm], siendo la suma entre las dos lecturas el total del
un potenciómetro y su
potenciómetro, en este caso 10 [kohm].
configuración interna
Existen diferentes presentaciones de este dispositivo:
El Preset Fig. 5.2 es una resistencia variable que tiene como finalidad ajustes finales
en el circuito donde se insertan, generalmente no se encuentran al alcance de los
usuarios, pero sí de personal técnico, a diferencia de los potenciómetros no cuentan
con un vástago para poder ser manipulado, generalmente se manipulan por medio de
un desarmador pequeño y son de una sola vuelta. Fig. 5.2: Preset.
El Trimpot Fig. 5.3 es una resistencia variable que al igual que el preset es para ajustes definitivos en el
circuito, pero además cuentan con un encapsulado que les da cierta resistencia al polvo y a la humedad.
Son multivuelta por lo que el ajuste es más fino que en el caso de los presets o los potenciómetros.

Fig. 5.3 Trimpot. Fig. 5.4 Potenciómetro. Fig. 5.5: Potenciómetro lineal.

Por último el Potenciómetro Fig. 5.4 es una resistencia variable que cuenta con un vástago para poder
ser manipulado y variar su resistencia, es ampliamente utilizado en controles de volumen, ajustes entre
otras aplicaciones en donde el usuario le es permitido ajustarlo.
Potenciómetro de movimiento lineal, Fig. 5.5. Funciona de la misma manera que los anteriores, pero a
diferencia de ellos no hace lecturas de movimientos rotacionales, si no lineales. Generalmente son
utilizados para distancias cortas, del orden de centímetros.

15
Sea usado cualquiera de los elementos anteriores, las resistencias variables deben de ser utilizadas en
un circuito divisor de corriente para hacer la lectura (Cap. 2. Acondicionamiento de sensores resistivos).
Por último, es importante saber las características de nuestra resistencia variable, ya que existen:
 De una sola vuelta: Solo pueden girar 270° y la salida puede tener una forma lineal o
logarítmica, recordemos que las formas más fácil de instrumentar son las que tienen una salida
lineal.
 Multivuelta: Resistencias variables de alta precisión, son muy pequeños y generalmente son
lineales.
Practica: Corrimiento gradual en persianas con un potenciómetro.

ENCODERS
Utilizados para la medición de sistemas rotacionales los encoder no tienen un límite de vueltas ni de
medición, se pueden hacer de la resolución necesaria y se pueden usar para leer movimientos lineales o
rotacionales. Existen encoder magnéticos y ópticos, actualmente por presentar menos ruido y tener más
tiempo de vida útil, son los ópticos los más utilizados.

Fig. 5.6 Elementos de un encoder.

En la Fig. 5.6 podemos observar que compuestos por una parte emisora (led infrarrojo), un disco
ranurado en medio acoplado al eje de forma mecánica y una parte receptora (fotodiodo o fototransistor)
del otro lado, al girar el disco las ranuras diseñadas en el disco permiten que la señal llegue del emisor
al receptor, la frecuencia de estas señales registrará una frecuencia y esta frecuencia se traduce a la
velocidad del eje.
La ecuación para calcular la resolución es:
En donde Res: Resolución, D: Diámetro del disco, ar: Ancho de cada ranura.
𝜋𝐷
𝑅 =
2𝑎
Como podemos observar en la Fig. 5.6 el encoder únicamente como se ha explicado hasta el momento
no tiene forma de saber si sentido de giro o su posición., para saber esto tenemos que realizar algunas
características adicionales, para esto podemos usar dos metodologías:
 Encoder incremental: Utilizando dos sensores ópticos posicionados con un desplazamiento de
¼ de ranura el uno del otro o poniendo los sensores en la misma posición, pero desplazando las
ranuras, se generarán dos señales de pulsos digitales desfasada en 90º o en cuadratura. A estas
señales de salida, se les llama comúnmente A y B. Mediante ellas es posible suministrar los
datos de posición, velocidad y dirección de rotación del eje. Si se incluye la señal de referencia,
se le denomina I (índice). Usualmente, si la señal A adelanta a la señal B (la señal A toma valor

16
lógico “1” antes que la señal B, por ejemplo), se establece el convenio de que el eje está rotando
en sentido horario, mientras que, si B adelanta a A, el sentido será antihorario. Podemos
observar las lecturas antes descritas en la Fig. 5.7

Fig. 5.7 Disco ranurado y señales en dirección horaria y anti horaria.

 Encoder absoluto: Los encoder absolutos como el de la Fig. 5.8 asignan a cada posición angular
un valor inequívoco, incluso durante varias revoluciones. Incluso después de una caída de
tensión el encoder detecta de forma rápida y segura la posición momentánea. Estos encoder no
utilizan código binario, utilizan código gray, el cual tiene la ventaja de registrar la variación
entre una posición y otra cambiando únicamente uno de sus bits como lo podemos observar en
la Fig. 5.8.

Fig. 5.8: Encoder absoluto

17
Fig. 5.10: Tabla de relaciones entre código decimal, binario y gray.

Practica: Recorrido de un toldo.

18
4. SENSORES DE LUZ Y COLORES.

SENSORES INFRARROJOS: EL FOTODIODO Y EL FOTOTRANSISTOR.


Este tipo de sensores ha sido estudiado en el curso de introducción a la robótica, sin embargo, en esta
ocasión entraremos más a detalle, explicando las diferentes configuraciones que se pueden encontrar,
así como diferentes configuraciones de conexión, ya que por su costo y tamaño es uno de los elementos
que más se llega a utilizar en nuestro campo.
Existen diferentes configuraciones o presentaciones para nuestros sensores infrarrojos (IR):
 Retro reflector o de barrera: Con ayuda de un objeto externo que refleja el haz de luz como
podemos observar en la Fig. 6.1 este sensor nos permite saber fácilmente si se presenta algún
objeto entre el emisor y el reflector.

Fig. 6.1: Funcionamiento del sensor retro reflectivo.

 Haz fijo o emisor receptor: Teniendo en posición opuesta el emisor y receptor, este sensor
también es usado para detectar presencia y es muy aplicado en la construcción de encoder.

Fig. 6.2: Sensores IR de haz fijo.

 Foco fijo o difuso: Esta configuración utiliza un objeto para poder rebotar el haz de luz por el
emisor hacia el receptor, son muy utilizados para medir distancias, leer el tipo de material de
un objeto o saber su color.

Fig. 6.3: Sensor de foco fijo o difuso.

19
LDR
Los LDR por su nombre en inglés: Light dependent resistor o común mente llamado fotorresistencia,
es un sensor que varía su resistencia debido a la luz incidente en él.

Fig. 6.4: Simbología eléctrica para LDR

Algunos de los símbolos eléctricos para representar este elemento son los mostrados en la Fig 6.4 y en
su esquema de conexión mostrado en la Fig. 6.5 podemos observar que se realizará con un divisor de
voltaje.

Fig. 6.5: Variantes de conexión en LDR

En la Fig. 6.5 podemos observar dos formas de conexión, en la configuración del lado izquierdo,
cuando la luz incida sobre el sensor el voltaje (Vout) se verá disminuido; en la imagen del lado derecho
cuando la luz incida sobre el sensor Vout aumentará.
Practica: Automatización de luz en ausencia de luz.

SENSOR DE COLOR
El color está definido por la capacidad del material a rechazar una longitud de onda, por ejemplo cuando
vemos un objeto de color azul se puede decir que ese objeto absorbe todas las longitudes de onda del
espectro visible, excepto la longitud de onda que corresponde al color azul y de esta esa onda rechazada
es percibida por la retina.

20
Fig. 6.6: Configuración interna de un sensor de color.

Los sensores de color se conforman por un grupo de tres diodos, cada uno con un filtro de color
utilizando el principio de que si tenemos una película de color rojo, este únicamente absorberá las ondas
de dicho color; de esta manera podremos descomponer una tonalidad en sus características RGB: rojo,
verde y azul. Entre los inconvenientes que tiene este tipo de sensores es que son sensibles a la luz del
ambiente, la cual puede generar ruidos o cambios en la lectura; no es lo mismo observar el color rojo
bajo una luz color blanca, que bajo una luz color ámbar, así como tampoco tendremos la misma lectura
si observamos bajo una luz blanca intensa, que bajo una luz blanca tenue. Es por lo anterior que este
sensor generalmente debe de tener integrado un sistema de iluminación para generar una luz ambiental
constante y también tener la capacidad de modificar el pin de ganancia incluido por la mayoría de los
fabricante.

5. SENSOR DE NIVEL Y PROXIMIDAD.

Estos sensores son utilizados tanto en aplicaciones industriales como el nivel de líquido en un sistema
de embazado, proximidad de un objeto, detección de obstáculos, etc. Como en sistemas para el hogar
como nivel de agua en un tinaco, automatización de bebidas, apertura de puertas por proximidad, etc.

ULTRASÓNICOS
Vistos en el curso introductorio, en esta sección únicamente se retoma la teoría acerca de estos sensores.
Estos sensores emitirán una onda denominada ultrasónica por estar arriba de los 20 kHz (generada de
manera capacitiva, electromagnética, óptica o piezoeléctrica) la cual rebotara con el objeto y regresara
al emisor. El tiempo en que la onda tarde en realizar el recorrido antes descrito será utilizado para poder
obtener la variable física buscada: la distancia del objeto al sensor.
Debido a que el sensor utiliza una onda ultrasónica propagada por el ambiente, es importante tener en
cuenta la temperatura, ya que en casos extremos esta variable puede generar lecturas erróneas. La
ecuación para compensar este error será la siguiente:

𝑇
𝑉 = 𝑉𝑂 1 +
273

En donde:
Vs: Velocidad del sonido real.
Vso: Velocidad del sonido a 0°C
T: Temperatura [K]

21
Debido a que el sensor se compone de dos partes (emisor y receptor) este sensor se puede configurar de
dos maneras: de forma contigua y frente a frente como lo vemos en la Fig. 6.7. Estas configuraciones
dependerán mucho de cómo nos ofrezca el fabricante su producto.

Fig. 6.7: Configuraciones en sensores ultrasónicos, izquierda contigua y derecha frente a frente.

En estos sensores tendremos zonas en donde varíe el comportamiento o también llamadas zonas de
detección:
 Zona de detección: Zona en la cual es posible detectar un objeto y una lectura confiable de su
distancia.
 Zona ciega: Zona en la que por la proximidad del objeto al sensor no puede ser identificado.
 Zona de exploración: Zona en el que las lecturas que emita el sensor son confiables.
 Zona de exploración límite Zona en la cual es posible detectar solo objetos con buenas
propiedades acústicas.

Fig. 6.8: Zonas de comportamiento de sensores ultrasónicos.

22
METODOS DE OPERACIÓN EN EL SENSOR ULTRASÓNICO.
Dependiendo de la aplicación que queramos darle a nuestro sensor ultrasónico será la configuración que
elijamos, en el siguiente apartado se describirá la mayoría de los modos de uso, en donde se explica que
criterio se tiene que tomar en cuenta a la hora de programar para elegir el correcto.
 Configuración de reflexión: Esta configuración tiene la característica principal de únicamente
detectar la presencia de un objeto cuando dentro de cierto umbral que programemos. Fig. 6.9.
 Configuración de ventana: En esta configuración se establecerán dos límites y únicamente se
registrara un cambio de estado cuando el objeto este entre el límite superior e inferior. Fig. 6.10
 Configuración de barrera ultrasónica bidireccional: Cuando se tienen materiales de difícil
detección como lo son los materiales espumosos se recurre a esta configuración, la cual se apoya
de un reflector posicionado dentro del umbral de detección, al momento de presentar otro objeto
la señal con el reflector se interrumpiría. Fig. 6.11
 Configuración de medidor de distancia: Utilizando nuevamente el principio de configuración
de ventana, se establecerán los límites inferior y superior, ahora ligando cada uno a un voltaje.
Por medio de una salida analógica posicionada entre los dos límites de voltaje, podremos medir
distancias. Fig. 6.12

Fig. 6.9: Configuración de reflexión. Fig. 6.10: Configuración de ventana.

Fig. 6.11: Configuración de barrera bidireccional. Fig. 6.12: Configuración de medidor de distancia

23
SENSOR TOUCH
Estos son sensores capacitivos con uno de los electrodos como elemento de entrada, esta entrada se
presenta como un área del trabajo que al tocarla hará que se presente una capacitancia debido a la
constancia dieléctrica del material, en esta caso la piel humana y rebasará la capacidad para la cual está
determinada el sensor, que obtendrá una salida digital en alto y cuando no regresará en automático a
una salida en bajo.

Fig. 6.13: Funcionamiento de un sensor touch.

Practica: Generar el encendido de luces mediante sensor touch.

SENSOR REED SWITCH (INTERRUPTOR DE LENGUETA)


Aun que estamos hablando de otro interruptor (switch), la particularidad que distingue al reed
switch respecto a los otros interruptores es que se ve activado por la presencia de un campo magnético.
Cuando es normal abierto los contactos se cierran en la presencia del campo; cuando es normal cerrado
se abren en presencia de un campo magnético.
Un reed switch se compone de dos laminas ferromagnéticas, generalmente compuestas de Ni y Fe,
herméticamente selladas en una cápsula de vidrio. Las hojas se superponen internamente en la cápsula
de vidrio dejando solo un pequeño espacio entre ellas, y se ponen en contacto ante la presencia de un
campo magnético adecuado. El área de contacto de ambas hojas se recubre con metales duros (rodio
o Rutenio) que elevan la vida útil de los contactos, son tan resistentes que es uno de los sensores más
utilizados en sistemas de alarmas hogareños.
Para cerrar (o abrir) los contactos de un reed switch 2 enfoques son usados generalmente.
El primero consiste en emplear un iman permanente como en la Fig. 6.14 que proporcione el campo
magnético externo necesario.
El segundo como en la Fig 6.15 se basa en colocar al reed switch en el interior de una bobina de cobre,
la cual al verse energizada por una corriente eléctrica genera el campo magnético necesario.

Fig. 6.14: Reed Switch con imán permanente. Fig. 6.15: Reed Switch con bobina de cobre.

24
SENSOR RFID
Este sensor está compuesto por un chip digital minúsculo de memoria, que puede contener una
identificación en forma de código e incluso información de diferentes cuestiones grabados en él, además
tiene adicionada una antena que permite identificar el sensor por Radio Frecuencia sin contacto a
distancias de entre nos pocos centímetros o varios metros mediante un receptor adecuado, y la otra es
que la propia señal de RF que usamos para identificarlos es capaz de alimentar el chip de la
etiqueta RFID sin necesidad de batería. Cuando la etiqueta RFID no tiene batería, se llaman pasivas y
son los equipos más económicos, al incluir la fuente de alimentación se denominan activas.
Entre todas sus características tenemos:
 Son pasivos en su mayoría y pueden permanecer inactivos durante años.
 No se rayan o degradan, ni con el tiempo ni con campos magnéticos, ni con el roce.
 No necesitan verse para realizar la identificación, porque la mayor parte de los materiales son
transparentes a las ondas RF que se usan.
 Pueden disponer de una memoria interna que contenga toda la identificación del producto o su
trazabilidad. Las hay desde 1Kb.
 Se pueden utilizar como llaves maestras para abrir cerraduras electrónicas, tanto como para
identificar productos o personas.
 Se pueden reescribir y leer tantas veces como quieras, e ir añadiendo su historia en la propia
tarjeta. Por ejemplo en una tarjeta de pago, puedes conservar las ultimas 100 compras realizadas.

Fig. 6.16: Receptor y sensor RFID.

SENSORES INDUCTIVOS.
Los sensores de proximidad inductivos sólo pueden detectar objetos metálicos. No detectan
objetos no metálicos, tales como plástico, madera, papel y cerámica. A diferencia de los
sensores fotoeléctricos, esto permite que un sensor de proximidad inductivo pueda detectar
un objeto de metal a través de plástico opaco.
Estos sensores son utilizados en la industria debido a su gran resistencia ambiental, dado que
estos sensores sólo detectan objetos metálicos, la detección no se ve afectada por el polvo
acumulado o salpicadura de aceite sobre el cabezal.

25
Entre sus ventajas está el que los sensores de proximidad inductivos de tipo de dos hilos
permiten simplificar el cableado, y pueden utilizarse tanto para circuitos NPN como PNP,
además que en su mayoría tienen un consumo de corriente bajo localizado en alrededor 1
miliamperio (mA).

Fig. 6.17: El sensor inductivo es capaz de detectar aun con elementos no metalicos en medio.

SENSOR CAPACITIVO
Son similares a los inductivos, con la principal diferencia de que los capacitivos producen un campo
electrostático en lugar de un campo electromagnético. Esto hace que los sensores capacitivos puedan
detectar objetos metálicos y no metálicos, tales como papel, vidrio, líquidos, tela, etc. En cuanto a las
formas de ejecución mecánica, tipos de alimentación y formas de conexión son idénticas a las de los
detectores inductivos.
Una de las principales aplicaciones de estos sensores es la detección a través de recipientes. Por
ejemplo, el agua tiene una constante dieléctrica mucho más alta que el plástico, esto le da la posibilidad
al sensor de detectar a través del recipiente. De esta forma se puede detectar el nivel de líquidos.

Fig. 6.18: Ejemplos de dos aplicaciones para un sensor capacitivo.

8. SENSORES DE TEMPERATURA Y HUMEDAD.

TERMISTOR.
Un termistor es un elemento de detección de temperatura compuesto por un material semiconductor
sinterizado que exhibe un gran cambio en la resistencia en respuesta a un pequeño cambio en la
temperatura. Existen dos tipos de termistor, aquellos cuya resistencia aumenta en función de la
temperatura, también llamados PTC (Positive Temperature Coefficient ) y aquellos cuya resistencia
disminuye conforme aumenta la temperatura, llamados NTC ( Negative Temperature Coefficient). Los
termistores más comunes son aquellos que tienen coeficientes de temperatura negativos (NTC).

26
La ventaja de los termistores frente a otros sensores de temperatura es el bajo precio de estos y su amplio
rango de medida, sin embargo la desventaja principal es que no son lineales, lo que dificulta la
adquisición de datos y son complicados de calibrar.

Fig. 8.1: Termistor de disco (Izquierda) Termistor de barra (Derecha).

TERMOPAR O TERMOCUPLA.

Este sensor de temperatura se compone de dos metales diferentes unidos en un extremo, cuando la unión
de los dos metales se calienta o enfría, se produce una tensión que es proporcional a la temperatura. Las
aleaciones de termopar están comúnmente disponibles como alambre.
Debido a que los termopares miden en rangos de temperatura muy amplios y son relativamente
resistentes, los termopares se utilizan muy a menudo en la industria. Los siguientes criterios son
utilizados en la selección de un termopar:
 Rango de temperatura
 La resistencia química del termopar o material de vaina
 Resistencia de abrasión y vibración
 Requisitos de instalación (es posible que tengan que ser compatibles con equipos existentes; los
agujeros existentes pueden determinar el diámetro de la sonda)
Los termopares están disponibles en diferentes combinaciones de metales o calibraciones para adaptarse
a diferentes aplicaciones. Los tres más comunes son las calibraciones tipo J, K y T, de los cuales el
termopar tipo K es el más popular debido a su amplio rango de temperaturas y bajo costo. Otros tipos
de termopares son los que se nombran a continuación:
Cobre – Constantano (Tipo T)
Están formados por un alambre de cobre como conductor positivo y una aleación de 60% de cobre y
40% de níquel como elemento conductor negativo. Tiene un costo relativamente bajo, se utiliza para
medir temperaturas bajo o 0 °C. Y como límite superior se puede considerar los 350º C, ya que el cobre
se oxida violentamente a partir de los 400º C.
Hierro – Constantano (Tipo J)

27
En este tipo de junta el hierro es electropositivo y el constantano electronegativo. Mide temperaturas
superiores que el anterior ya que el hierro empieza a oxidarse a partir de los 700º C. No se recomienda
su uso en atmósfera donde exista oxigeno libre. Tiene un costo muy bajo y esto permite que su
utilización sea generalizada.
Chromel – Alumel (Tipo K)
Una aleación de 90% de níquel y 10% de cromo es el conductor positivo y un conductor compuesto de
94% de níquel, 2% de Aluminio, 3% de manganeso y 1% de Silicio como elemento negativo. Este
termopar puede medir temperaturas de hasta 1200º C. Ya que el níquel lo hace resistente a la
oxidación. Se los utiliza con mucha frecuencia en los hornos de tratamientos térmicos. Su costo es
considerable lo que limita su utilización.
Platino rodio – Platino (Tipo R)
Tienen como conductor negativo un alambre de platino y como conductor positivo una aleación de
87% de platino con 13% de sodio. Este tipo de junta desarrollada últimamente con materiales de alta
pureza es capaces de medir hasta 1500º C si se utilizan las precauciones debidas.
Son muy resistentes a la oxidación pero no se aconseja su aplicación en atmósferas reductoras por su
fácil contaminación con el hidrógeno y nitrógeno que modifican la respuesta del instrumento.
Platino rodio – Platino (Tipo S)
El conductor positivo es una aleación de 90% de platino y 10% de Rodio mientras que conductor
negativo es un alambre de platino. Sus características son casi similares al termopar anterior con la
diferencia que no puede usarse a temperaturas elevadas porque los metales no son de alta pureza
produciendo alteraciones de la lectura a partir de los 1000º C. en adelante.

SENSOR CI LM35
El LM35 es un sensor de temperatura analógico, con una precisión calibrada de 1ºC. No necesita
circuitería externa ni ajustes de calibración para funcionar, su rango de medición abarca desde -55°C
hasta 150°C. La salida es lineal y cada grado centígrado equivale a 10mV. Es ideal para aplicaciones
remotas ya que consume menos de 60 mA de corriente, además es compatible con Arduino, PIC,
EMBED, AVR o cualquier microcontrolador.

SENSOR HUMEDO DE CONTACTO (FC28)


Un higrómetro de suelo FC-28 es un sensor que mide la humedad del suelo. Son ampliamente
empleados en sistemas automáticos de riego para detectar cuando es necesario activar el sistema de
bombeo.

28
El FC-28 es un sensor sencillo que mide la humedad del suelo por la variación de su conductividad. No
tiene la precisión suficiente para realizar una medición absoluta de la humedad del suelo, pero tampoco
es necesario para controlar un sistema de riego.
El FC-28 se distribuye con una placa de medición estándar que permite obtener la medición como valor
analógico o como una salida digital, activada cuando la humedad supera un cierto umbral.
Los valores obtenidos van desde 0 sumergido en agua, a 1023 en el aire (o en un suelo muy seco). Un
suelo ligeramente húmero daría valores típicos de 600-700. Un suelo seco tendrá valores de 800-1023.
La salida digital dispara cuando el valor de humedad supera un cierto umbral, que ajustamos mediante
el potenciómetro. Por tanto, obtendremos una señal LOW cuando el suelo no está húmedo, y HIGH
cuando la humedad supera el valor de consigna.
El valor concreto dependerá del tipo de suelo y la presencia de elementos químicos, como fertilizantes.
Además, no todas las plantas requieren la misma humedad, por lo que lo mejor es que hagáis una
pequeña calibración en el terreno real.

6. SENSORES DE FUERZA.

Galgas extensiométrica.
Una galga extensiométrica o extensómetro es un sensor, que mide la deformación, presión, carga, par,
posición, etc. y se basa en el efecto piezorresistivo, que es la propiedad que tienen los materiales de
cambiar el valor nominal de su resistencia cuando se les somete a esfuerzos y se deforman en dirección
de los ejes mecánico; entonces un esfuerzo que deforma la galga extensiométrica generará una variación
en su resistencia eléctrica.
La galga se adhiere al objeto cuya deformación se quiere estudiar mediante un adhesivo, como el
cianoacrilato. Según se deforma el objeto, también lo hace la lámina, provocando así una variación en
su resistencia eléctrica. Los materiales que suelen utilizarse para fabricar galgas son aleaciones
metálicas, como por ejemplo constantán, nicrom o elementos semiconductores como por ejemplo el
silicio y el germanio.
Las galgas extensiométricas metálicas se constituyen por una base muy delgada y fina, a la cual se le
adhiere un hilo muy fino metálico que puede ser bobinado o plegable. Las dos terminales en las que
acaba el hilo se unen a los transductores, para su fabricación se emplean diversos conductores metálicos,
como las aleaciones constantán, karma, isoelestic y aleaciones de platino.

29
Las galgas metálicas pueden ser de:
Hilo metálico
Están adheridas a una base con medidas constantes. Presentan errores cuando existen estados tensionales
y son las más sencillas. Están compuestas por una película de protección, un soporte, un hilo de medida
y las terminales de conexión.

Película metálica
Esta clase de galgas tiene una característica de fabricación similar a los circuitos impresos que tienen
bases flexibles. Se desarrollan por el medio de creación de placas utilizando fotografías, llamado el
método de fotograbado. Se conforman por una película de protección, un soporte, un pad de conexión
y de zonas anchas para reducir el efecto de tensiones transversales.

Tambien existen galgas por resistencia las cuales son un conductor eléctrico que al ser deformado
aumenta su resistencia, puesto que los conductores se vuelven más largos y finos.

30
SENSOR FSR
Estos sensores permiten detectar la presión física, pulsación y peso, el FRS está hecho de 2 capas
separadas. Cuánto más se presiona, la parte redonda de tu sensor se activa, toca el semiconductor y eso
hace que la resistencia disminuya.

Los FSR’S son básicamente una resistencia que cambia su valor (en ohmios Ω) dependiendo de la
cantidad que se presiona. Estos sensores son de bajo costo y fácil de usar pero son poco precisos.
También varían algunos de sensor a sensor tal vez 10% en cuanto la exactitud, es por la anterior
característica que estos sensores suelen usarse en intervalos o rangos y no en aplicaciones para medir
pesos exactos.
Entre sus principales características está:
 Rendimiento: Circuito Infinito/abierto (sin presión), 100KΩ (ligera presión) a 200Ω (presión máx.)
 Rango de fuerza: de 0 a 20 libras (de 0 a 100 Newtons) que se aplica de manera uniforme sobre el área
de superficie de 0,125 pulgadas cuadradas.
 Fuente de alimentación: Cualquiera este sensor utiliza menos de 1 mA de corriente (depende de las
posibles resistencias de pull-up / down utilizados y voltaje de alimentación).

31
7. OTROS SENSORES (SEGURIDAD).

SENSOR DE LLAMA
Un sensor de llama óptico es un dispositivo que permite detectar la existencia de combustión por la luz
emitida por la misma. Esta luz puede ser detectada por un sensor óptico, y ser capturado por las entradas
digitales y las entradas analógicas de Arduino.
La llama es un fenómeno de emisión de luz asociado a los procesos de combustión. La combustión es
un proceso que desprende grandes cantidades de energía en forma de calor. Durante la reacción se
generan compuestos intermedios que liberan parte de su energía mediante la emisión de luz.
El espectro de emisión de llama depende de los elementos que intervienen en la reacción. En el caso de
combustión de productos con carbón en presencia del oxígeno tenemos dos picos característicos en
ultravioleta en longitudes de onda de 185nm-260nm y en infrarrojo en longitudes de onda 4400-4600nm.

SENSOR DE GAS
Los sensores de gas son dispositivos que indican la presencia de algún gas específico, en algunos casos
pueden configurarse o, en caso de tener sensores más precisos, miden la concentración de gas. Los
sensores de gas son usados para prevenir la exposición a gases combustibles y gases tóxicos. Se
recomienda usar estos sensores en espacios confinados y pequeños debido a que su eficiencia es mayor.

32
Uno de los detectores más utilizados es el catalítico, a estos sensores también suelen llamarlos
pellistores -palabra formada por la combinación de las palabras en inglés pellet y resistor-. Su
funcionamiento es por la oxidación del gas vía catalítica.
Estos sensores están compuestos por dos elementos: un elemento detector (D) y un elemento
compensador (C), que no reacciona a los gases combustibles. Estos gases solamente quemarán en el
elemento detector, provocando un aumento de temperatura del mismo y el consecuente aumento en el
valor de su resistencia.
Este sensor catalítico es de los más utilizados para la domótica, debido a que entre sus ventajas tenemos:
 Robustez
 Manejo simple
 Fácil instalación
 Bajo costo
 Durabilidad
 Fiabilidad
 Fácil calibración
 Detección de amplia variedad de gases
Pero en sus desventajas tenemos.
 Pueden inactivarse por contaminación con otros gases.
 Para detectar la inactivación es necesario comprobar con el gas objetivo.
 Requiere presencia de oxígeno para la detección.
 Una exposición prolongada a concentraciones del gas objeto puede reducir el rendimiento del
sensor.

SENSOR DE CORRIENTE
El sensor de corriente ACS712 es una solución económica para medir corriente, internamente trabaja
con un sensor de efecto Hall que detecta el campo magnético que se produce por inducción de la
corriente que circula por la línea que se está midiendo. EL sensor nos entrega una salida de voltaje
proporcional a la corriente, dependiendo la aplicación podemos usar el ACS712-05A, ACS712-20A o
el ACS712-30A, para rangos de 5, 20 o 30 amperios respectivamente
El ACS712 podemos encontrarlo en módulos, los cuales nos facilitan sus conexión, traen una bornera
para conectar la línea que queremos medir y 3 pines, dos para conectar la alimentación y un pin para la
salida analógica.

33
El rango de corriente que podemos medir y sensibilidad varían dependiendo del modelo del integrado,
existen tres modelos los cuales detallamos a continuación:

Modelo Rango Sensibilidad

ACS712ELCTR-05B-T -5 a 5 A 185 mV/A

ACS712ELCTR-20A-T -20 a 20 A 100 mV/A

ACS712ELCTR-30A-T -30 a 30 A 66 mV/A

Para hacer las lecturas el sensor nos entrega un valor de 2.5 voltios para una corriente de 0A y a partir
de allí incrementa proporcionalmente de acuerdo a la sensibilidad, teniendo una relación lineal entre la
salida de voltaje del sensor y la corriente.
Dicha relación es una línea recta en una gráfica Voltaje vs Corriente donde la pendiente es la sensibilidad
y la intersección en el eje Y es 2.5 voltios. La ecuación de la recta seria la siguiente

Donde la pendiente es m y equivale a la Sensibilidad


Despejando tendremos la ecuación para hallar la corriente a partir de la lectura del sensor:

34

Vous aimerez peut-être aussi