DS18B20: um sensor de temperatura para líquidos

DS18B20

Existem vários sensores de umidade e temperatura disponíveis, como o LM35. Alguns embutidos em módulos para uso específico com o Arduino. Mas geralmente, eles devem medir a temperatura seca, ou seja, a temperatura do ar. Mas existe um modelo concreto que funciona para mede a temperatura em líquidos e é chamado DS18B20. Uma peculiaridade que pode ser útil para alguns de seus projetos DIY mais exóticos, onde você também brinca com algum tipo de líquido para o qual precisa saber este parâmetro.

Na verdade, o DS18B20 não mede apenas a temperatura dentro de líquidos, mas pode ser muito útil para medir a temperatura em ambientes úmidos e também sob algum líquido. Portanto, você também pode usá-lo para medir a temperatura do ar se o ambiente estiver muito carregado de umidade. E como eu disse, a possibilidade de mergulhar em um líquido para medir sua temperatura é uma das características que o torna incrivelmente prático.

O que é DS18B20?

Bem, acho que já ficou bem claro, é um sensor eletrônico capaz de medir a temperatura de meio gasoso ou líquido. Além disso, existem encapsulamento ou embalagem diferente do DS18B20, como o básico que você vê na imagem principal, ou também pode ser integrado em alguns PCBs, sondas submersíveis, etc. Para o seu projeto você deve escolher o formato mais adequado de acordo com o que deseja.

Por exemplo, além do típico TO-92, existe também o microSOP. Possivelmente para integrar com o Arduino o mais apropriado é o TO-92, já que com seus três pinos é muito fácil inserir na placa de ensaio para conexão.

Pinagem

Pinos Ds18b20

El Pinagem DS18B20 é fácil de identificar. Por exemplo, tomando como referência o pacote Dallas TO-92, que é um dos mais populares, você pode ver que ele possui três pinos. Se você colocar de frente, ou seja, com a seção arredondada para trás e olhando para a face plana onde aparecem as inscrições, o pino da sua esquerda é 1 e o da sua direita é 3. Portanto, 1 seria para GND ou terra, 2 é para dados e 3 para tensão de alimentação.

Aqui temos que dizer que, valores que você deve saber:

  • Pino 1: você deve conectá-lo ao pino GND do Arduino, ou seja, a 0v.
  • Pino 2: este pino é DQ ou data, aquele que enviará as temperaturas medidas pelo sensor para o Arduino através de um protocolo particular conhecido como 1-Wire e que precisará de uma biblioteca especial e funções para o IDE do Arduino. Isso permitirá usar apenas um pino Arduino para conectar vários sensores com este protocolo ...
  • Pino 3: pode ser alimentado de 3 a 5,5 V, para que você possa conectá-lo à saída de 5 V do Arduino.

Características técnicas e folha de dados do DS18B20

Como sempre, é interessante saber as características técnicas do sensor para saber como funciona, para não o danificar, e sobretudo para que saibamos onde estão os seus limites de medição, pois se os valores que queremos medir não estão entre eles não nos ajudará nem a ti deve procurar outra alternativa.

Para fazer isso, é melhor baixar um folha de dados do fabricante, como aquele em Dallas que você pode ver aqui. Lá você encontrará todas as informações necessárias. E lembre-se que embora todos os DS18B20 possam ser semelhantes, dependendo do fabricante ou embalagem você pode encontrar algumas mudanças ...

Mas, independentemente das peculiaridades, aqui estão algumas dados técnicos básicos:

  • Faixa de temperatura: -55 a 125ºC, portanto, pode medir em gás ou líquido a temperaturas muito baixas e também altas.
  • Erros: o DS18B20 é sensível a ruídos externos ou distúrbios que podem fornecer valores errôneos nas medições. A margem de erro é de mais 2ºC negativos, embora em temperaturas entre -10ºC e 85ºC, ou seja, quando não estamos próximos dos limites, pode ser apenas meio grau.
  • Resolução: Você pode trabalhar com várias resoluções ou variações mínimas que você pode detectar com os pinos analógicos do Arduino. Suporta 9 bits, 10 bits, 11 bits e 12 bits (padrão). Ou seja, pode medir de meio a meio grau, de um quarto a um quarto de grau, de 0,125 a 0,125ºC, ou de 0,0625ºC respectivamente. Você pode alterar essa programação por meio do código de programação.
  • Tensão de alimentação: 3 a 5,5 V
  • Preço: 1 a 3 €

Integração com Arduino

Diagrama de conexão do Arduino - ds18b20

Apesar de haver várias maneiras de conectá-lo, o mais adequado é o que você vê neste diagrama. É bem simples, com o pino GND na conexão correspondente da placa Arduino, a fonte de alimentação é a mesma e depois os dados para o analógico do Arduino que você escolheu em seu código de programação no IDE do Arduino. Mas também é bom definir um resistor pull-up de 4,7k (se a distância do cabo da sonda do sensor for maior, a resistência deve ser menor, por exemplo, para 5m de 3,3k, para 10 de 2,2, XNUMXk, ...) para o pino de dados e, portanto, mantê-lo sempre alto.

Para a programação em Arduino IDE e sua boa integração com o DS18B20 e aquele protocolo muito particular, é recomendado que você baixe as bibliotecas Temperatura de Dallas y OneWire do meio ambiente. E o código base, pode ser algo como este exemplo que mostro:

#include <OneWire.h>
#include <DallasTemperature.h>

// Pin donde se conecta el bus 1-Wire (DQ)
const int pinDatosDQ = 9;

// Instancia a las clases OneWire y DallasTemperature
OneWire oneWireObjeto(pinDatosDQ);
DallasTemperature sensorDS18B20(&oneWireObjeto);
 
void setup() {
    // Iniciamos la comunicación serie a 9600 baudios
    Serial.begin(9600);
    // Iniciamos el bus 1-Wire del sensor
    sensorDS18B20.begin(); 
}
 
void loop() {
    // Indicamos que tome la temperatura
    Serial.println("Midiendo temperatura");
    sensorDS18B20.requestTemperatures();
 
    // Lee y muestra la temperatura (recuerda que puedes conectar más de uno con 1-wire)
    Serial.print("La temperatura del sensor 0 es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(0));
    Serial.println(" C");
    Serial.print("La temperatura del sensor x es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(1));
    Serial.println(" ºC");
    
    delay(1000); 
}

Mais informações - Manual de programação do Arduino (PDF grátis)


Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.