DS18B20 : 액체 용 온도 센서

DS18B20

다음과 같은 다양한 습도 및 온도 센서를 사용할 수 있습니다. LM35. 일부는 Arduino와 함께 특정 용도로 모듈에 내장됩니다. 그러나 일반적으로 건조 온도, 즉 대기 온도를 측정합니다. 그러나 작동하는 구체적인 모델이 있습니다. 액체의 온도를 측정하며 DS18B20이라고합니다.. 이 매개 변수를 알아야하는 액체 유형을 가지고 플레이하는 좀 더 이국적인 DIY 프로젝트에 유용 할 수있는 특이성입니다.

실제로 DS18B20은 액체 내부의 온도를 측정 할뿐만 아니라 내부의 온도를 측정하는 데 매우 유용 할 수 있습니다. 습한 환경 및 일부 액체 아래. 따라서 환경에 습기가 많은 경우 공기 온도를 측정하는 데 사용할 수도 있습니다. 그리고 제가 말했듯이, 액체에 담그어 온도를 측정 할 수 있다는 점은 매우 실용적으로 만드는 특징 중 하나입니다.

DS18B20은 무엇입니까?

글쎄, 나는 이미 꽤 명확 해 졌다고 생각한다. 그것은 기체 또는 액체 매체의 온도를 측정 할 수있는 전자 센서이다. 또한 DS18B20의 다른 패키지 또는 패키지, 기본 이미지에 표시되는 기본 이미지 또는 일부 PCB, 수중 프로브 등에 통합 될 수도 있습니다. 프로젝트의 경우 원하는 형식에 따라 가장 적합한 형식을 선택해야합니다.

예를 들어, 일반적인 TO-92 외에도 microSOP도 있습니다. 통합 가능 Arduino에서 가장 적합한 것은 TO-92입니다. XNUMX 개의 핀으로 연결을 위해 브레드 보드에 삽입하기가 매우 쉽습니다.

핀아웃

Ds18b20 핀

El DS18B20 핀아웃 식별하기 쉽습니다. 예를 들어 가장 인기있는 패키지 중 하나 인 Dallas TO-92 패키지를 참조하면 1 개의 핀이 있음을 알 수 있습니다. 앞쪽, 즉 둥근 부분을 뒤로하고 명문이있는 평평한면을 보면 왼쪽 핀은 3이고 오른쪽 핀은 1입니다. 따라서 2은 GND 용입니다. 또는 접지, 3는 데이터 용이고 XNUMX은 공급 전압 용입니다.

여기서 우리는 이렇게 말해야합니다. 알아야 할 가치:

  • 핀 1 : Arduino의 GND 핀, 즉 0v에 연결해야합니다.
  • 핀 2 :이 핀은 DQ 또는 데이터로, 센서에서 측정 한 온도를 1-Wire로 알려진 특정 프로토콜을 통해 Arduino로 보내고 Arduino IDE를위한 특수 라이브러리와 기능이 필요합니다. 이 프로토콜로 여러 센서를 연결하는 데 하나의 Arduino 핀만 사용할 수 있습니다.
  • 핀 3 : 3 ~ 5,5v로 전원을 공급할 수 있으므로 Arduino의 5v 출력에 연결할 수 있습니다.

DS18B20 기술적 특성 및 데이터 시트

항상 그렇듯이 기술적 특성을 아는 것이 흥미 롭습니다. 센서의 작동 방식을 파악하여 손상되지 않도록하고 무엇보다도 측정 한계가 어디에 있는지 알 수 있도록합니다. 측정하려는 값이 그 사이에 있지 않으면 도움이되지 않으며 다른 대안을 찾아야합니다.

이렇게하려면 다음을 다운로드하는 것이 가장 좋습니다. 제조업체 데이터 시트, 달라스에있는 것처럼 여기에서 볼 수 있습니다. 필요한 모든 정보를 찾을 수 있습니다. 모든 DS18B20은 유사 할 수 있지만 제조업체 또는 패키지에 따라 일부 변경 사항이있을 수 있습니다.

하지만 단점에 관계없이 여기에 몇 가지 기본 기술 데이터:

  • 온도 범위: -55 ~ 125ºC로 매우 낮은 온도와 높은 온도에서 기체 나 액체에서 측정이 가능합니다.
  • 실수: DS18B20은 측정에 잘못된 값을 제공 할 수있는 외부 노이즈 또는 외란에 민감합니다. 오차 한계는 플러스 마이너스 2ºC이지만 -10ºC에서 85ºC 사이의 온도에서 즉 한계에 가까워지지 않을 때는 XNUMX도에 불과할 수 있습니다.
  • 해결: Arduino 아날로그 핀으로 감지 할 수있는 여러 해상도 또는 최소 변형으로 작업 할 수 있습니다. 9 비트, 10 비트, 11 비트 및 12 비트 (기본값)를 지원합니다. 즉, 0,125도에서 0,125/0,0625도, XNUMX/XNUMX에서 XNUMX/XNUMX도, XNUMX에서 XNUMXºC 또는 XNUMXºC에서 각각 측정 할 수 있습니다. 프로그래밍 코드를 통해이 프로그래밍을 변경할 수 있습니다.
  • 전원 전압: 3 ~ 5,5v
  • 가격: 1 ~ 3 유로

Arduino와 통합

Arduino 연결 다이어그램-DS18B20

있지만 연결하는 다양한 방법, 가장 적합한 것은이 다이어그램에서 볼 수있는 것입니다. Arduino 보드의 해당 연결에 GND 핀을 사용하면 전원 공급 장치가 동일하고 Arduino IDE의 프로그래밍 코드에서 선택한 Arduino 아날로그에 대한 데이터가 매우 간단합니다. 하지만 4,7k 풀업 저항을 설정하는 것도 좋습니다 (센서 프로브 케이블의 거리가 더 멀면 저항이 낮아야합니다. 예를 들어 5k의 3,3m, 10의 2,2, XNUMXk의 경우…). 데이터 핀을 위해 항상 높게 유지하십시오.

Arduino IDE에서 프로그래밍 DS18B20 및 매우 특별한 프로토콜과 잘 통합되어 있으므로 라이브러리를 다운로드하는 것이 좋습니다. 달라스 온도 y 원와이어 환경에서. 그리고 기본 코드는 내가 보여주는 다음 예제와 같을 수 있습니다.

#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); 
}

더 많은 정보 - Arduino 프로그래밍 매뉴얼 (무료 PDF)


코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.