CALCULO DEL SISTEMA DE CALEFACCION
Para determinar la potencia de las resistencias eléctricas se requiere conocer la
temperatura de calentamiento de la resistencia y el tiempo de trabajo. Al finalizar la
etapa de congelación del producto, se comienza a generar el vacío dentro de la
cámara de secado, cuando se haya alcanzado el vacío mínimo, el sistema de
calefacción comenzara a funcionar.
Durante la etapa de secado primario, la temperatura se elevará 35 °C y se
mantendrá así durante todo el proceso evitando la fundición del producto. Esta
etapa es la más tardada e procesos de liofilización y el tiempo de sublimación
depende delas características del producto.
En la etapa de secado secundario se requiere elevar la temperatura hasta la
temperatura ambiente o hasta un valor de 40 °C, este valor dependerá de las
características del producto.
Las resistencias de calentamiento se diseñan de acuerdo a las medidas de las
placas intercambiadoras de calor y teniendo en cuenta que el producto no puede
sobrepasar una temperatura de 50 °C.
La longitud total de la resistencia se halla sumando la longitud de caduno de los
tramos que la componen.
Longitud = 1.01 mts.
Para la fabricación de la resistencia se eligió barra de cobre de 5 mm, por eficiencia
de calentamiento ya que un diámetro mayor, aumenta la masa de las resistencias.
Para calcular la potencia de diseño de la resistencia es necesario saber la masa de
cobre que hay en dicha longitud, para ellos recurre a un software para calcular
sección pesos por metro de material.
Para determinar la potencia se requiere conocer la temperatura de calentamiento
de la resistencia y el tiempo de trabajo: como los productos no pueden llegar a
fundirse, tomamos la temperatura máxima para el calentamiento que es de 50 °C y
teniendo en cuenta que la temperatura eutéctica propuesta es de – 10,se tiene :
La capacidad calorífica del cobre es Cp.= 385J/KgK (cengel,2007)
𝑄𝑟 = 𝑚 𝐶𝑝𝑐𝑢 ∆𝑇
𝑄 𝐽
𝑟=(0.176 𝐾𝑔)∗(385𝐾𝐺 °𝐾 )∗(313−263)°𝐾
𝑸𝒓=𝟑𝟑𝟖𝟖 𝑱
Considerando que el calentamiento se realiza en 10 min, la potencia es:
3388 𝐽
𝑃𝑜𝑡𝑟 =
600 𝑠𝑒𝑔
𝑷𝒐𝒕𝒓 = 5.64666 W.
Cada resistencia tendrá un valor de 5.64666 W cada una de 220V.
DS18B20 sensor de temperatura para líquidos con Arduino
Comentarios(17)
Luis del Valle Hernández
Recuerdo cuando compré mi primer kit de Arduino. Lo primero que hice fue
encender un LED vamos, como todo el mundo. Pero probablemente el segundo
programa que hice fue medir la temperatura con el LM35. Fue una sensación
increíble. Ahora, en este punto he aprendido que hay un componente para cada
situación. El sensor de temperatura DS18B20 es uno de los sensores más
versátiles que puedes encontrar en el mercado.
Este sensor es idóneo cuando queremos medir la temperatura en ambientes
húmedos e incluso dentro del agua. Esto es debido a que podemos comprar una
versión que viene en forma de sonda impermeable. A lo largo de este artículo
veremos las particularidades, ventajas y desventajas del DS18B20. No se trata de
un sensor de temperatura común, veremos que es algo más.
Quizás lo más complicado sea la programación ya que utiliza un protocolo poco
común dentro del mundo de Arduino, 1-Wire. No te preocupes, yo te voy a enseñar
paso a paso todo lo que tienes que hacer para conectarlo a tu Arduino y
programarlo.
Además, gracias a las librerías de Arduino la programación resulta muy sencilla, lo
podrás comprobar más adelante.
Por último decirte que este es el sensor que hemos utilizado en el proyecto IoT
Fridge Saver en el que hemos estado trabajando los últimos meses yo, Germán y
José Manuel.
Como es norma de este blog, no solo estamos aquí para copiar y pegar, también
queremos aprender. Ponte cómodo y empecemos con el tutorial del sensor de
temperatura DS18B20.
Indice de contenidos
1 Características técnicas del sensor DS18B20
2 Conexión del DS18B20 con Arduino
3 Programando el sensor de temperatura DS18B20
4 Identificar cada sensor de temperatura DS18B20
5 Accediendo a la temperatura del DS18B20 por su dirección única
6 Funciones más importantes de la librería DallasTemperature
7 Sensor de temperatura DS18B20, conclusiones
8 Otras lecturas del DS18B20
Características técnicas del sensor DS18B20
Si realmente quieres sacar todo el partido a un componente, lo primero que tienes
que hacer es dirigirte a la hoja de características técnicas del DS18B20. En este
documento vas a encontrar todo lo necesario para conectar y programar el
componente.
Lo primero que vemos es que hay diferentes formas del sensor DS18B20. A esto
se le llama encapsulado y depende de donde lo utilices (protoboard, PCB, etc…),
tendrás que elegir uno u otro.
Lo más importante de esta parte es la disposición de los pines. Para cada
encapsulado encontramos una disposición diferente. Existen tres
encapsulados: TO-92, SO y μSOP. El más adecuado para prototipar con
Arduino es el TO-92 por su fácil conexión en la una protoboard.
Imagen obtenida del Datasheet DS18B20
La única diferencia entre ellos es la forma o encapsulado. Todos tienen tres pines
útiles VDD, GND y DQ.
VDD: es la tensión de alimentación es decir, que voltaje necesita para que el
sensor de temperatura DS18B20 funcione correctamente.
Podemos alimentar desde 3V a 5,5V. Ojo con este dato ya que es muy
interesante cuando queremos trabajar con placas como Arduino
MKR1000 y NodeMCU que trabajan a 3,3V.
GND: es la toma de tierra. A este pin conectaremos la referencia 0V de
nuestro circuito.
DQ: es el pin de datos. Por este pin es por donde se recibirán todos los datos
en el protocolo 1-Wire. Este protocolo tiene una ventaja. Como su propio
nombre indica (1-Wire significa un cable en español) solo es necesario utilizar
un cable para conectar varios sensores de temperatura DS18B20. Por lo
tanto, solo utilizaremos 1 pin de Arduino para conectar múltiples sensores.
De momento ya hemos avanzado bastante, ya sabríamos como conectar el sensor
de temperatura DS18B20 a un Arduino. Faltaría la programación :). Aún así, es
interesante conocer más aspectos técnicos de este sensor.
Es importante fijarse en el consumo eléctrico si queremos utilizar el DS18B20 con
alguna placa que requiera de baterías o pilas. Eso lo vemos en la segunda página
en los parámetros que se miden en Amperios. Para este artículo no nos hace falta
ya que será alimentado a través de la red eléctrica.
Rango de temperaturas del DS18B20
Algo muy importante es saber qué rango de temperaturas es capaz de medir un
sensor de este tipo. No es lo mismo medir la temperatura ambiente de una casa
situada en Alicante que medir la temperatura de un congelador o frigorífico.
También es importante conocer el error que puede llegar a tener y la resolución del
sensor de temperatura DS18B20. Toda esta información la sacamos de la hoja de
características técnicas.
¿Quieres montar tu primer proyecto con Arduino?
Con este curso gratuito crearás un Sistema de Riego Automático con Arduino, paso
a paso y en sólo una semana.
UNIRSE AL CURSO
Aceptas que almacene tu nombre y email para poder enviarte información de
Programarfacil.
Comenzamos con el rango de temperaturas. El DS18B20 puede medir
temperaturas entre -55ºC y 125ºC. Es un rango muy amplio sin embargo, no en
todo el rango tenemos el mismo error. Ahora te estarás preguntando ¿qué es el
error de un sensor de temperatura?
DS18B20 y el error en la medición
Si viviéramos en un mundo ideal donde todos salimos del trabajo a nuestra hora,
nuestros hijos nos hacen caso y tenemos pagada la hipoteca desde hace años, un
sensor de temperatura nos mediría exactamente la temperatura que hace en un
sitio.
Pero no, no vivimos en un mundo idóneo y no salimos a nuestra hora, nuestros hijos
no nos hacen caso y nos queda mucho de hipoteca por pagar. En este mundo, el
real, un sensor de temperatura como el DS18B20 tiene errores debido a factores
externos, al ruido inherente en los circuitos eléctricos y alteraciones en el
medio físico.
No todo son noticias malas, aunque los componentes eléctricos tengan errores,
estos se pueden medir. Por lo tanto sabemos más o menos cuanto oscilará la
medición entorno a su valor real. En el caso del DS18B20 el error depende del rango
de temperaturas.
Para temperaturas entre -10ºC y 85ºC podemos tener ±0,5ºC. Para el resto de
temperaturas entre -55ºC y 125ºC el error es de ±2ºC.
Esto equivale a decir que si el sensor DS18B20 suministra una temperatura de 23ºC
el valor real estará entre 22,5ºC y 23,5ºC. Si por el contrario suministra un valor de
90ºC el valor real estará entre 88ºC y 92ºC.
Esto tampoco te debe preocupar a no ser que quieras «cocer metanfetamina» como
Walter White en Breaking Bad :)
Resolución del sensor de temperatura DS18B20
Una de las características más interesantes de este sensor es que podemos trabajar
con diferentes resoluciones. Cuando hablo de resoluciones me refiero a cual es la
variación mínima que podemos medir entre dos temperaturas.
Es lo mismo que nos sucede con los pines analógicos en Arduino o cualquier otra
placa de desarrollo. El DS18B20 admite resoluciones de 9-bit, 10-bit, 11-bit y 12-bit.
Por defecto utiliza la resolución de 12-bit.
Las variaciones para cada resolución las puedes consultar en la siguiente tabla.
RESOLUCIÓN TEMPERATURA
9-bit 0,5ºC
10-bit 0,25ºC
11-bit 0,125ºC
12-bit 0,0625ºC
Elegir una resolución u otra dependerá de la precisión que necesitemos para
nuestro proyecto. A través de la programación podremos cambiar dicha resolución
pero todo eso lo veremos más adelante.
Otras características del sensor de temperatura DS18B20
Además de medir la temperatura, el DS18B20 incorpora una memoria de 64-
bit(equivalente a 8 bytes) para almacenar el identificador o dirección única de cada
sensor.
El primer byte identifica el tipo de componente. Por ejemplo para los DS18B20 es el
número 28 en hexadecimal.
Esta dirección única es necesaria dentro del bus 1-Wire para identificar cada uno
de los sensores de temperatura DS18B20 conectados al bus de comunicación.
Gracias a que utiliza este tipo de comunicaciones, se consiguen dos cosas. Por
un lado robustez en la transmisión de los datos ya que trabaja con datos
digitales, mucho menos sensibles a los efectos adversos del ruido que las señales
analógicas. Por otro lado permite conectar muchos sensores de temperatura
con un único pin digital.
Internamente tiene otro tipo de memoria que sirve para diferentes cosas. Utiliza
el sistema de verificación de redundancia cíclica CRC para la detección de
errores en los datos. El código CRC se almacena en la memoria.
También almacena la temperatura obtenida y dispone de dos alarmas que se
disparan si la temperatura es mayor o menor que un umbral de temperatura máxima
o temperatura mínima.
Con todo estas características, el DS18B20 se convierte en un sensor bastante
potentecon unas capacidades superiores a otros en el mismo rango de precios.
Estamos hablando que el precio de este sensor oscila entre 1€ y 3€, casi
despreciable.
Resumen de las características técnicas del DS18B20
CARACTERÍSTICA VALOR
Voltaje de alimentación 3V a 5,5V
VDD voltaje de alimentación
GND Tierra
DQ Datos
Rango de temperaturas -55ºC a 125ºC
Error (-10ºC a 85ºC) ±0,5ºC
Error (-55ºC a 125ºC) ±2ºC
Resolución programable 9-bit, 10-bit, 11-bit o 12-bit (default)
Conexión del DS18B20 con Arduino
Una vez que entendemos cómo funciona el sensor de temperatura DS18B20 y,
sobre todo, cuales son sus características técnicas más importantes, vamos a pasar
al montaje eléctrico con Arduino. Como supondrás, todo este montaje se hace
entorno al protocolo 1-Wire.
Esto no es único del DS18B20, cualquier otro componente que trabaje con el
protocolo 1-Wire, utilizará la misma configuración eléctrica.
Ya hemos visto que podemos trabajar con diferentes encapsulados. En este tutorial
voy a centrarme en el TO-92 y más concreto el que viene en forma de sonda
impermeable. Si tienes otro modelo o incluso el mismo sin sonda los pasos serán
prácticamente los mismos.
#1 ¿Cómo conectamos los cables de la sonda DS18B20 a una protoboard o a
Arduino?
Estamos acostumbrados a que cualquier componente que compremos venga con
conectores fáciles de utilizar o con algún cable tipo dupont semirigido. En este caso,
la sonda impermeable lleva unos cables normales sin conectores de metal.
En principio esto podría ser un impedimento pero podemos resolverlo de diferentes
formas. Mi opción puede que no sea la más óptima o la más elegante, pero es la
que mejor se adapta a la hora de prototipar con cualquier placa ya sea un Arduino
o un ESP8266.
Simplemente voy a coger un cable dupont hembra (este tipo de cables son los que
suelen venir en casi todos los kit de Arduino) y conectaré cada terminal en cada
cable dupont.
Es interesante aunque no obligatorio que los cables sean del mismo color, así no te
equivocarás. Ahora seguramente los puristas (entre ellos yo) estarán diciendo,
«vaya chapuza de conexiones :)». Efectivamente es una chapuza, aunque no es la
conexión definitiva ;)
El objetivo es ponernos en acción lo más rápido posible, no entrar en parálisis
por análisis. Tenemos que ser ágiles y empezar a trabajar ya. Solo así
coseguiremos avanzar y por lo tanto aprender.
Mi opción final ha sido soldar los cables y dejar en el extremo un conector de metal
para prototipar rápido.
#2 Identificando los cables y pines del DS18B20
La distribución de los pines dependerá del encapsulado. En cualquier caso siempre
vamos a trabajar con tres pines. Un pin para alimentación VDD, un pin para tierra
GND y un pin para la transmisión de datos DQ.
Con el modelo TO-92 no vamos a tener ningún problema. Estos serían los pines.
Sin embargo, cuando compramos un DS18B20 en una sonda impermeable no
vemos el propio sensor, solo vemos los cables.
Tenemos diferentes configuraciones de colores en los cables. En concreto vamos a
encontrar tres.
El tipo clave 1 donde:
Cable rojo: VDD
Cable negro: GND
Cable amarillo: DQ
Imagen obtenida del Datasheet Waterproof
El tipo clave 2 donde:
Cable rojo: VDD
Cable verde: GND
Cable amarillo: DQ
El tipo clave 3 donde:
Cable rojo: VDD
Cable verde: DQ
Cable amarillo: GND
Si tenemos el tipo A, no tendremos problema solo hay una configuración. Si
tenemos alguno de los otros, tendremos un problema :(
No sabemos como se debe de conectar así que la recomendación es primero buscar
el fabricante (tarea muy complicada si lo has comprado en Aliexpress o alguna otra
tienda de China). La segunda opción es probar las dos conexiones para ver cual es
la que funciona.
Elige primero el tipo 2, es la configuración mas habitual y lo mismo tienes suerte
como yo :)
Para finalizar esta sección te dejo un resumen de todas las conexiones.
SENSOR TIPO 1 SENSOR TIPO 2 SENSOR TIPO 3 PIN DS18B20
Negro Verde Amarillo GND
Rojo Rojo Rojo Vdd
Amarillo Amarillo Verde DQ
Aunque los colores más típicos son los que he comentado aquí, también puedes
encontrarte otras configuraciones de colores. He podido comprobar como hay
sondas impermeables del DS18B20 donde el cable verde es de color azul. Sigue
los mismos pasos expuestos anteriormente para identificar cada conector.
#3 Conexión de los pines del sensor de temperatura DS18B20 con Arduino
Ya estamos preparados para comenzar a conectar el DS18B20 a Arduino. Sin
embargo, antes de hacerlo tenemos que conocer que existen dos formas de
alimentar el DS18B20. La primera sería la más simple y sería a través del pin VDD.
La segunda opción sería hacerlo a través del propio pin de datos DQ, en modo
parásito.
En los dos modos posibles, siempre se pone una resistencia pull-up con el pin DQ.
El motivo de esta resistencia es debido a la electrónica para controlar el bus de
comunicación. Utiliza un FET de drenaje abierto que se comporta como una puerta
AND.
Cuando todos los sensores conectados al bus 1-Wire no envíen datos, la línea de
datos será igual a la tensión que suministremos (puede ser de 3V a 5,5V) debido a
la resistencia pull-up. En el momento que un sensor empieza a transmitir, la línea
cambia de estado y ya sabemos que hay un sensor transmitiendo datos.
Lo único que nos quedaría es determinar la resistencia pull-up. Como ya te he
comentado nos servirá para tener en pin DQ siempre un modo alto o HIGH. La
resistencia que se vaya a utilizar dependerá de la longitud del cable. Por norma
general utilizaremos siempre una de 4,7 kΩ.
En la siguiente tabla puedes ver la resistencia más adecuada dependiendo de la
longitud del cable de datos.
RESISTENCIA PULL-UP DISTANCIA DEL CABLE (METROS)
4,7 kΩ De 0 m a 5 m
3,3 kΩ De 5 m a 10 m
2,2 kΩ De 10 m a 20 m
1,2 kΩ De 20 m a 50 m