Hace muchos años dirigía a un equipo de más de 10 personas que se encargaban de hacer inspecciones de gas. Uno de sus cometidos era medir la composición de los humos de las calderas y quemadores.

Cuando el técnico del gas iba a una casa a medir los gases de un calentador o caldera, utilizaba un aparato que tenía que estar calibrado. Cada año se enviaban los equipos a una empresa autorizada para hacerlo y extender el correspondiente certificado.

La calibración de estos equipos debe ser realizada por una empresa autorizada. Es obligatoria para que las medidas realizadas se consideren válidas.

En qué consiste calibrar la entrada de un sensor

Calibrar es comparar el valor que mide un sensor con una referencia para asegurarnos de que estamos midiendo bien (dentro de unos márgenes aceptables de error).

Si tenemos un termómetro que encontramos tirado por casa, utilizamos otro de cuya medida nos fiamos para comprobar que mide bien. Algo similar en el caso del peso o balanza que tenemos en el baño.

Cómo calibrar en robótica

No va a hacer falta enviar nuestros sensores a ninguna empresa. Los sensores suelen venir calibrados.

Calibrar, en nuestro caso, va a ser ajustar las mediciones de un sensor partiendo de sus valores máximos y mínimos.

Como es habitual en este blog, vamos a hablar de sensores y de su uso con placas compatibles con arduino.

En este caso, calibrar consiste en obtener el rango de valores de una variable en la situación real en que se encuentra el sensor.

Ejemplo: calibración de un sensor de luz

Como sabemos, un sensor de luz es un divisor de tensión , una resistencia que varía en función de la luz que exista en el ambiente.

El sensor proporciona un número entre 0 y 1023 que podemos usar en nuestros programas.

Tomamos un servo como indicador y cuando el sensor de luz está a 0, ponemos el servo a 0 grados y cuando está a 1023 lo ponemos a 180, que podría representar el 100%.

Vídeo: sin calibración

¿Qué sucede si en nuestra habitación el nivel de luz oscila entre 450 y 550? Que casi no se va a mover el indicador. Estará marcando 90º (500 es la mitad de 1023). Es el caso que muestra el siguiente vídeo:

Vídeo: con calibración

Sin embargo, en muchas ocasiones es interesante establecer el mínimo en 0º y el máximo en 180º. Así, el rango visible sería mucho mayor. Esto se consigue calibrando el sensor:

En vez de hacerlo a mano cada vez, lo mejor es programar la placa para que esta decida cuál es el valor máximo y el mínimo, con un poco de ayuda exterior, como hemos visto en el vídeo.

Al arrancar la placa, durante los 5 primeros segundos, hemos quitado luz con una tapa. La placa ha tomado el valor como mínimo en ese momento.

El algoritmo de calibración

Recordemos que esta palabra tan rara se refiere al procedimiento para resolver un problema en pequeños pasos, a veces de forma iterativa (repitiendo cálculos). En la figura siguiente podemos ver un algoritmo para resolver el problema del calibrado:

cómo se calibra un sensor
Algoritmo de calibración

Para entender el algoritmo, hay que recordar que arduino dispone de un reloj interno que empieza a contar cuando arranca y se mantiene en ejecución. Podemos leer permanentemente ese valor para saber si han transcurrido 5 segundos. Durante esos 5 segundos iniciales vamos a tapar y destapar el sensor para que arduino seleccione el valor máximo y el mínimo.

Cuando pasan esos 5 segundos, se lee el sensor continuamente y se mapea su valor a los grados del servo. Además, es posible que las condiciones de luz varíen y el mapeo nos de grados menores que cero o mayores que 180. Para evitarlo, ponemos las condiciones que se observan en la segunda columna.

Invitamos al lector a pensar cómo actúa el algoritmo. A continuación damos una breve explicación.

Imaginemos que el nivel de luz de la habitación es en estos momentos 356. En la primera verificación, antes de 5 segundos, tenemos que max_sensor=min_sensor=356.

Ahora, siempre antes de finalizar los 5 segundos, tapo el sensor de manera que el nivel de luz pasa a 25. max_sensor no cambia. Pero min_sensor pasa a 25.

Y así sucesivamente. Hay que tener en cuenta que hasta que pasan los 5 segundos, se ha chequeado muchas veces el nivel de luz.

La programación

Es muy interesante conocer la documentación de la página de arduino, donde nos hablan de cómo calibrar un sensor. Esta página está inglés y presenta un código que hay que escribir en el IDE. No es complejo, pero resulta más sencillo si utilizamos visualino para programar.

Como se ha podido ver en los vídeos, contamos con un sensor de luz (LDR), una placa compatible con arduino y un servo.Este «traduce» la medida de la luz en grados en su eje. Hemos acoplado al eje un listón de madera para facilitar su visualización.

Caso 1: no realizamos la calibración

En el siguiente programa nos hemos limitado a transformar los valores del sensor en un valor entre 0 y 180º (como puede verse en el primer vídeo):

cómo calibrar un sensor
Programa sin calibración

Caso 2: calibración de un sensor LDR

En el siguiente programa vemos cómo se realiza la calibración del sensor (segundo vídeo de la entrada, más arriba):

cómo programar un sensor
Programa con calibración

(Imagen de portada, pixabay)

Aula aglaia

Suscríbete a nuestra newsletter

Suscríbete a nuestra lista de correo para recibir las novedades de Aula Aglaia


Al suscribirte, aceptas nuestra política de privacidad

You have Successfully Subscribed!