Термодатчик ds18b20: Цифровой датчик температуры DS18B20: описание, подключение, схема, характеристики

Датчик температуры DS18B20. Описание, характеристики, подключение, распиновка, datasheet

DS18B20 — цифровой датчик температуры фирмы Dallas. Отправляет данные о температуре, используя только один цифровой вывод и специальный протокол, называемый 1-Wire. Вы можете подключить несколько датчиков к одному контакту. Датчик измеряет температуру в градусах Цельсия.

Содержание

Технические характеристики DS18B20

  • Датчик можно питать напряжением от 3 до 5,5В
  • Датчик может измерять температуру от -55 до 125 °C
  • Датчик имеет цифровое разрешение от 9 до 12 бит
  • Точность измерения +/- 0,5 °C в диапазоне от -10 до 85 °C
  • Точность измерения: + /- 2 °C для диапазона от -55 до 125 °C
  • Дрейф измерения +/- 0,2 °C

Распиновка DS18B20

Схема подключения DS18B20

Что такое разрешение?

В технических характеристиках сообщается, что датчик DS18B20 может измерять температуру с различным разрешением. Разрешение — это как у линейки: миллиметры между сантиметрами. Так же и c разрешением у DS18B20 — это шаг между последовательными ступенями градусов Цельсия.

Разрешение выбирается с помощью количества бит. Диапазон выбора от 9 до 12 бит. Выбор разрешения влечет за собой определенные последствия. Чем выше разрешение, тем дольше придется ждать результат измерений.

Для 9 битного разрешения есть 2 шага между последовательными уровнями:

То есть, вы можете прочитать температуру с разрешением 0,5 °C. Для 9 битного разрешения время измерения составляет 93,75 мс. То есть, вы можете выполнять 10,6 измерений в секунду.

Для 10 битного разрешения есть 4 шага между последовательными уровнями:

  • 0,0 °C
  • 0,25 °C
  • 0,5 °C
  • 0,75 °C

В этом случае мы считываем температуру с разрешением 0,25 °C. Время измерения для 10 битного разрешения составляет 187,5 мс, что позволяет выполнить 5,3 измерений в секунду.

Для 11 битного разрешения есть 8 шагов между последовательными уровнями:

  • 0,0 °C
  • 0,125 °C
  • 0,25 °C
  • 0,375 °C
  • 0,5 °C
  • 0,625 °C
  • 0,75 °C
  • 0,875 °C

То есть разрешение составляет 0,125 °C. Время измерения для 11 битного разрешения составляет 375 мс. Это позволяет выполнить 2,6 измерения в секунду.

Для 12 битного разрешения есть 16 шагов между последовательными уровнями:

  • 0,0 °C
  • 0,0625 °C
  • 0,125 °C
  • 0,1875 °C
  • 0,25 °C
  • 0,3125 °C
  • 0,375 °C
  • 0,4375 °C
  • 0,5 °C
  • 0,5625 °C
  • 0,625 °C
  • 0,6875 °C
  • 0,75 °C
  • 0,8125 °C
  • 0,875 °C
  • 0,9375 °C

Следовательно, разрешение составляет 0,0625 °C. Время измерения для 12 битного разрешения в районе 750 мс. То есть вы можете сделать 1,3 измерений в секунду.

Что такое точность измерения?

Ничто в мире, и особенно в электронике, не является совершенным. Можно только приближаться к совершенству, тратя все больше и больше денег и сил. Так же и с этим датчиком. Он имеет некоторые неточности, о которых вы должны знать.

В технических характеристиках сказано, что в диапазоне измерения от -10 до 85 °C датчик DS18B20 имеет точность на уровне +/- 0,5 °C. Это значит, что, когда в комнате у нас температура 22,5 °C, то датчик может вернуть нам результат измерения от 22 до 23 °C. То есть, может показать на 0,5 °C больше или меньше. Все это зависит от индивидуальной характеристики датчика.

В диапазоне от -55 до 125 °C погрешность измерения может возрасти до +/- 2 °C. То есть, когда вы измеряете что-то с температурой 100 °C, то датчик может показать температуру от 98 до 102 °C.

Все эти отклонения могут несколько отличаться для каждой температуры, но при измерении одной и той же температуры, отклонение всегда будет одинаковым.

Что такое дрейф измерения?

Дрейф измерения — это наиболее худшая форма неточности. Суть дрейфа измерения заключается в том, что при измерении постоянной температуры — при одном измерении датчик может показывать одну температуру, а при последующем другую (на величину дрейфа).

Дрейф датчика температуры DS18B20 +/- 0.2 °C. Например, когда в комнате постоянная температура составляет 24 °C, датчик может выдавать результат в диапазоне от 23,8 °C до 24,2 °C.

Скачать datasheet DS18B20 (379,0 KiB, скачано: 1 169)

Датчик температуры Arduino DS18B20: описание, применение, схема подключения

Приборы для измерения – это самый необходимый компонент для плат Arduino. Для замеров температуры используется компоненты с отличающимися друг от друга характеристиками. Датчик DS18B20 используют для замеров температур воды, потому как одна из популярных его модификаций обрамлена герметичным корпусом.

Что представляет собой DS18B20?

Dallas DS18B20 – это цифровой датчик измерения температуры, оснащенный микроконтроллером, способный запоминать изменения в памяти, оповещать о нарушении температурных рамок(которые можно регулировать), изменять точность замеров, взаимодействовать с основным контроллером Arduino. DS18B20 выполнен в миниатюрном корпусе, в трех различных модификациях, одна из которых позволяет измерять температуры в жидкостях.

Датчик подключается через 3 выхода:

  1. Первый – питание VDD (красный).
  2. Второй – данные DQ (желтый или другой цвет).
  3. Третий – земля GND (черный).

Из-за возможности реализации схемы с фантомным питанием, можно подключить датчик через два провода: DQ и VDD. Но по-хорошему, лучше подобного подключения избегать. Также, к основной плате Arduino можно подключить на один пин выходы DQ с двух сенсоров.

Виды датчика:

  1. 8-Pin SO (150 mils) — DS18B20Z+
  2. 8-Pin µSOP — DS18B20U+
  3. 3-Pin TO-92 — DS18B20+

Третий можно использовать без дополнительных средств защиты для измерения температур в морозильной камере, бойлере, инкубаторе, бассейне и в других областях применения.

На рисунке изображен даллас DS18B20+ в герметичном корпусе

Характеристики:

  1. Диапазон измерения температур -55 °С до +125 °С.
  2. Погрешность максимум 0,5 °C, без дополнительной калибровки при t от -10 °С до +85° С).
  3. Питание 3,3-5 В.
  4. Для соединения с Arduino UNO необходимо 3 контакта.
  5. К одной линии связи доступно подключение вплоть до ста двадцати семи датчиков, потому как датчик содержит собственный 64-битный код в постоянной памяти.
  6. Каждый датчик имеет персонализированный серийный номер.
  7. Протокол 1-Wire используется для передачи информации.
  8. Доступно подключение через два провода напрямую к линии связи по схеме фантомного питания. Но такой режим не рекомендуется использовать при температурах от 100° С, так как нет гарантий правильных замеров в таких условиях.
  9. Два вида памяти — статическая память с произвольным доступом или полупроводниковая оперативная память (SRAM) и энергонезависимая память EEPROM.
  10. В EEPROM записываются два однобайтовых регистра контроля TH, TL, по которым можно верхний и нижний предел диапазона температур.

Применение

DS18B20 замеряет температуру и передает данные в цифровом виде. При этом, можно настроить нужно разрешение, выставив количество бит точности, тем самым подогнав под определенный параметр разрешающую способность:

  • 9 бит – 0,5С;
  • 10 бит — 0,25С;
  • 11 бит — 0,125С;
  • 12 бит — 0,0625С.

Порядок работы датчика:

  1. При подключении источника питания, DS18B20 будет находится в начальном состоянии.
  2. Затем, подается команда «преобразование температуры» на Arduino UNO для замера t.
  3. Результат, полученный от датчика, сохранит свое значение в двух байтах регистра t, а сам элемент схемы вернется с начальное состояние.
  4. При работе схемы через внешнее питание, микроконтроллер регулирует состояние конвертации.
  5. При выполнении команды линия находится в низком состоянии, а закончив – переходит в высокое.

Это работает со стандартной схемой подключения, так как на шину должен постоянно поступать высокий уровень сигнала. Поэтому, при соединении по схеме паразитного питания выше описанный метод не сработает.

В оперативную память сохраняются:

  • 1-2 байты – данные измеряемой температуры;
  • 3-4 байты – пределы изменения t;
  • 5-6 байты – резерв;
  • 7-8 байты – нужны для точных замеров t;
  • 9 байт — циклический избыточный код, устойчивый к помехам;

Подключение датчика

Для подключения в схеме обязательно должен присутствовать резистор «Подтяжки», сопротивлением 4,7 кОм. Соединение происходит по интерфейсу 1-Wire по шине данных.

Схема подключения одного датчика

Для соединения нужно:

  1. DS18B20 – 1 штука.
  2. Ардуино УНО – 1 штука.
  3. Резистор 4,7 кОм.
  4. Макетная плата под пайку.
  5. Коннекторы.
  6. USB-кабель для соединения с ПК.

Нормальная схема включения одного датчика.

Подключайте по представленной выше схеме. Учитывайте, что DQ можно подключить к аналоговому пину ввода / вывода A1 (еще называют цифровой A15). Резистором притяните линию данных к питанию, как показано на схеме макетной платы.

Вот как схема выглядит в реальной жизни.

Фантомная схема включения одного датчика

Следует помнить, что подключение датчика температуры DS18B20 к Ардуино с фантомным питанием сказывается на быстродействии и стабильной работе датчика. Не рекомендуется применение этого варианта включения в схему без крайней нужды.

Схема подключения нескольких датчиков

Для подключения нескольких датчиков используйте всю туже макетную плату, только подключайте их параллельно.

Программная часть

Скачать библиотеку для работы с датчиком и другими устройствами на 1-Wire, можно на Github по ссылке. Для установки, загрузите архив с сервера и разархивируйте по адресу «Мои документы» – «Ардуино» – «libraries» или другое место, где вы ее разместите.

Виды скетчей и библиотек

Для написания программы можно использовать несколько библиотек:

  1. OneWare – основная, с помощью которой можно использовать самые простые скетчи для работы одного или нескольких датчиков, подключённых по нормальной и фантомной схеме питания.
  2. DallasTemperature — Рекомендуется использовать библиотеку для комфортного взаимодействия с устройствами, особенно если их подключается к плате несколько. Некоторые моменты в логике с помощью библиотеки можно упростить.

В скетчах применяется только первая или две библиотеки в паре. Чтобы запустить работу измерителя температуры, запустите Ardiuino IDE, скопируйте в него код и загрузите в контроллер.

Три варианта скетчей для обработки и считывания данных с датчика можете скачать по ссылке.

Использование и применение

Применяется программируемый датчик Ардуино в различных задачах, в том числе в схемах для умных домов. С помощью легко настраиваемого сенсора можно решать, как простые, так и сложные задачи:

  1. Определение t воды в аквариуме для рыб. Особенно актуальный способ в летнюю жару. Сенсор среагирует на показатель, который оказался за пределами нормы и оповестит вас об этом по каналам связи. Естественно, можно подвязать дополнительное действие при нагревании воды, например, запускать Аэрацию.
  2. Оповещение о нагретой воды в бойлере. При достижении определенной t в бойлере, на компьютер, или подключенный LCD-дисплей вам поступит уведомление. Можно с схему добавить реле, которое будет отключать бойлер. Конечно, современные водонагревающие устройства могут оснащаться автоматикой и термостатом, но часто с помощью дополнительных датчиков реализуются более сложные системы управления умным домом, чем автономная автоматика водонагревателя.
  3. Замер температуры в холодильной витрине. Комплект из нескольких датчиков на достаточно простой схеме может замерять и выдавать температуру в каждой секции витрины. Выставленный диапазон значений может указывать, когда температура вышла за пределы нормы и уведомлять о нарушениях стационарного режима.
  4. Замер точного градуса воды в чайнике. Выпитый натощак стакан теплой воды помогает запустить желудок. При этом нужно выпить подогретую до температуры тела воду. Самодельный термодатчик способен решить подобную задачу, определив градус с точностью до 0,5 °С.
  5. Определение температуры воды в ванной, джакузи, бассейне. Набирая воду для водных процедур, нужно, чтобы она была комфортной. С помощью терморегулятора Arduino можно определить комфортный уровень и подобрать нужный градус для себя. Дополнительно, пороговыми значениями температуры можно реагировать на снижение или увеличения t воды и держать все время воду подогретой.
Естественно, датчик можно использовать и в системах для промышленности: водонагревательные станции, морозильные комнаты, замеры t вязких веществ на предприятиях.

Заключение

Цифровой датчик DS18B20 работающий в паре с Arduino UNO (или платами NANO и MEGA) по своим характеристикам может использоваться для решения серьезных задач, где нужны точность замеров, измерение температуры жидкости и мониторинг нужного градуса жидкости в температурном диапазоне.

Особенностью данного датчика является собственная память и содержание в ней 64-битного кода, позволяющего подключать вплоть до 127 датчиков на одну линию. Еще одной фишкой есть возможность подключения по схеме фантомного питания, когда вместо трех, используется два провода (питание и данные). Земля не подключается.

Датчик температуры DS18B20. Влияние саморазогрева на точность измерений. — StopTest.ru

// Arduino UNO, Atmega 328P,  robotdyn.com

/******************************************/

#include <OneWire.h>     // подключаем библиотеку для управления устройствами по Протоколу 1-Wire, в нашем случае термодатчиками DS18B20

OneWire DS18B20(4);      // с помощью конст-ра библиотеки опр-ем условное название объекта OneWire и номер выв. к которому он подключен

                         // в данном случае объект OneWire называется так же как называется и сам датчик

#define POWER_MODE 0     // Определяем режим питания датчиков, 0 - внешнее, 1 – паразитное (#define задает имя и значение константе)

#define POWER_DS18B20 6  // Определяем вывод 6 платы для подачи питания на датчик и светодиод

 

#define TIME_OUT 750            // задаем время (мс) между командами 44h ("измерить температуру") и BEh ("читать температуру")

byte conf[3]={0x00,0x00,0x7F};  // третий элемент массива это байт для записи в регистр конфигурации для установки разрешения

                                // разрешение преобразования температуры может устанавливаться:

                                // 1F (9 бит;0.5°C;93.75мс), 3F (10 бит;0.25°C;187.5мс)

                                // 5F (11 бит;0.125°C;375мс),7F (12 бит;0,0625°C;750мс)

uint16_t i;

uint32_t ms1, ms2;              // переменные для хранения промежуточных значений пройденного времени

boolean go, count;              // логическая переменная

float temperature;              // переменная типа float для хранения значения измеренной температуры

byte data[9];                   // массив для размещения девяти байт после чтения памяти датчика 18B20

                      

void setup() {  

  Serial.begin(250000);                //инициализируем работу с монитором порта в Arduino IDE (инструменты/монитор порта)

  pinMode (POWER_DS18B20, OUTPUT);    

  digitalWrite(POWER_DS18B20, HIGH);   // подаем питание на датчик через вывод POWER_DS18B20 для изменения регистра конфигурации

  DS18B20.reset();                     // инициализация датчика для работы с оперативной памятью

  DS18B20.write(0xCC, POWER_MODE);     // 0xCC - команда пропуск ROM

  DS18B20.write(0x4E, POWER_MODE);     // 0x4E - команда на запись байта конфигурации в оперативную память

  DS18B20.write_bytes(conf, 3);        // передаем данные из массива conf в оперативную память датчика

  DS18B20.reset();                     // инициализация датчика для работы с энергонезависимой памятью

  DS18B20.write(0xCC, POWER_MODE);     // 0xCC - команда пропуск ROM

  DS18B20.write(0x48, POWER_MODE);     // 0x48 - команда записи байта конфигурации из операт. памяти в энергонез.память

  digitalWrite(POWER_DS18B20, LOW);    // отключаем питание датчика        

}

void loop() {  

  if (Serial.read() == 'r') {          // символ "r" является командой на вкл. датчика и начало процесса измер-я темп-ры

    go = true;                         // устанавливаем флаг начала процесса измерения температуры

    digitalWrite(POWER_DS18B20, HIGH); // подаем питание на датчик

    ms2 = millis();                    // фиксируем начало периода вывода значений температуры в монитор порта

  }

  if (go == true) {    

    if (count==0) {

      DS18B20.reset();                    // инициализация датчика для измерения температуры

      DS18B20.write(0xCC, POWER_MODE);    // 0xCC - команда пропуск ROM

      DS18B20.write(0x44, POWER_MODE);    // 0х44 - команда на выполнение преобразования температуры

      count=!count;                       // установим флаг, что выполняется процесс преобразования температуры

      ms1 = millis();                     // фиксируем начало периода обращения к датчику

    }

    if ((millis() - ms1) > TIME_OUT) {    // условие, выполняющееся если прошел период времени, превышающий TIME_OUT (мс)  

      DS18B20.reset();                    // инициализация датчика для чтения памяти

      DS18B20.write(0xCC, POWER_MODE);    // команда пропуск ROM,  

      DS18B20.write(0xBE, POWER_MODE);    // 0хBE - команда чтения памяти

      DS18B20.read_bytes(data, 9);        // читаем девять байт из памяти датчика побайтно и сохраняем в массив data

      int16_t raw = (data[1]<<8)|data[0]; // обработка байтов регистра измер-ой темп-ры (операция сдвига, операция ИЛИ)

      temperature = (float)raw / 16;      // преобразуем полученные данные в значение температуры в градусах Цельсия

      count=!count;                       // сбросим флаг процесса преобразования температуры

    }

    if (( millis() - ms2) > 1000) {       // условие выполняется каждую секунду и выводит знач. темп. в монитор порта,

      ms2 = millis();

      Serial.print(temperature,4);        // выводим температуру, после запятой оставляем 4 знака

      Serial.print(" ");

      Serial.println(i++);                // выводим счетчик секунд

    }

  }

}

Схема подключения датчика температуры ds18b20 к arduino

DS18B20 представляет собой стандартный температурный датчик, разработанный и изготовленный на цифровой основе. Его очень просто эксплуатировать за счет простоты конструкции, а также его адаптивных возможностей к работе с Arduino Processing LCD.

Главными его преимуществами являются:

  • Наличие всего одного контакта для получения полезного сигнала. Это дает возможность подключения огромного количества идентичных сенсоров DS18B20 к одному Arduino Processing LCD.
  • Цифровая система функционирования.
  • Возможность подключения огромного количества идентичных сенсоров к одному пину Arduino Processing LCD.
Подключение DS18B20 к Arduino Подключение DS18B20 к Arduino

Подключение датчика DS18B20 к Arduino

Все датчики типа DS18B20 имеют несколько форм-факторов, которые могут существенно облегчить работу с ними. Право выбора самого форм-фактора всегда, само собой, остается за клиентом. Сегодня на рынке преобладают 3 варианта этой продукции, а именно: 8Pin SO (150 mils), 8Pin µSOP и 3Pin TO92. Информация, которую мы почерпнули, свидетельствует о том, что китайские производители также предлагают приобрести датчик 3Pin TO92, снабженный специальной влагозащитной оболочкой. Это даст вам возможность погружать аппарат в жидкость, использовать во время плохой погоды и в других случаях. У всех сенсоров всегда имеется 3 выходных контакта: черного, красного и белого цветов. Они соответствуют значениям GND, Vdd и Data соответственно.

Дополнительное удобство эксплуатации DS18B20 для Arduino Processing LCD обеспечивается тем, что он может быть подключен к электросети через белый контакт. В этом случае вы будете использовать всего пару контактов вместо тех трех, которые требуются для нормального подключения. Датчик способен функционировать при напряжении в сети от 3 до 5,5 Вольт, а также фиксировать изменения температуры, если она находится в диапазоне от -55 до плюс 125 по Цельсию. Погрешность, которую может выдавать термостат при измерении температуры, составляет 0,5 градуса по Цельсию.

Очень приятным обстоятельством при использовании датчика DS18B20 для Arduino Processing LCD является то, что параллельно к одному аппарату можно подключить до 127 датчиков DS18B20 одновременно.

Трудно представить себе ситуацию, в которой это может потребоваться. Но если установить, например, один датчик в холодильнике, а другой — в морозилке, это будет весьма полезно. Опять же в таком случае у вас останется просто огромное количество свободных пинов для «Ардуино».

Что нужно, чтобы настроить работу датчика DS18B20 для Arduino Processing LCD

Из программного обеспечения вам в обязательном порядке потребуются:

  • Программа Arduino IDE.
  • База данных OneWire library, примечательная тем, что она значительным образом упрощает работу как с самим Arduino, так и со всеми датчиками, включая DS18B20.
  • Скетч.

Программу «Ардуино» можно скачать с ее официального сайта — там есть ее последняя версия в открытом доступе.

База данных OneWire Library может быть скачана на OneWireProjectPage. При этом желательно загружать к себе на компьютер самую свежую ее версию.

Программа Arduino Программа Arduino

Программа Arduino IDE

Из оборудования вам в обязательном порядке потребуются:

  • Nano-датчик для измерения температурных показателей DS 18B20 в количестве минимум одного экземпляра.
  • Контроллер «Ардуино».
  • Термостат.
  • Коннекторы в количестве 3 штук.
  • Плата для монтажных работ.
  • Кабель, который будет обеспечивать подключение «Ардуино» к вашему компьютеру посредством USB-соединения.

Кабель, описанный в последнем пункте, необходим для программирования Arduino Processing LCD. После того как скетч будет успешно загружен на плату, ее можно будет смело подсоединять к независимому источнику питания.

Nano-датчик DS 18B20Nano-датчик DS 18B20

Nano-датчик температуры DS 18B20

Подключение датчика DS 18B20 к Arduino Processing LCD

Чтобы правильно произвести подключение датчика к системе «Ардуино», необходимо действовать в соответствии со следующим алгоритмом:

  • Черный контакт температурного датчика нужно подключить к GND-системе «Ардуино».
  • Красный контакт температурного датчика нужно подключить к +5V системы «Ардуино».
  • Красный контакт температурного датчика может быть подключен к любому свободному цифровому пину в системе «Ардуино».
  • Подключить к внешней обвязке системы специальный резистор на 4,7 килоома.

Полная схема подключения датчика температуры DS 18B20 к системе Arduino Processing LCD показана на изображении ниже.

Схема подключения датчиков температуры DS 18B20 Схема подключения датчиков температуры DS 18B20

Схема подключения датчиков температуры DS 18B20 к системе Arduino

Установка базы данных OneWireLibrary

После успешной закачки архива с базой данных на свой компьютер, ее необходимо импортировать в систему «Ардуино». В панели управления программой необходимо выбрать следующие пункты Sketch – «Импортировать базу данных» — «Добавить базу данных». После этого — выбрать скачанный вами на персональный компьютер архив. Если вы столкнулись с непредвиденными трудностями во время импорта базы данных в систему, следует более тщательно ознакомиться с инструкцией по управлению базами данных в «Ардуино».

Загрузка скетча в систему

Как правило, нужный скетч всегда есть в базе данных OneWireLibrary в категории «примеры». Вам нужно перейти в панели управления программой по такому алгоритму: “Файл” — “Примеры” — OneWire и выбрать пример, который будет содержать название подключаемого датчика температуры.

Эта функция используется для того, чтобы в базу данных могла поступать информация обо всех датчиках температуры DS 18B20 и отображаться на мониторе системы «Ардуино».

Какой тип питания выбрать

Все датчики температуры типа DS 18B20 для Arduino Processing LCD могут работать в обычном или так называемом «паразитном» режиме. При этом если обычный режим подключения предусматривает нормальное функционирование всех 3 коннекторов, то «паразитический» — только 2. Что бы получать правильную и точную информацию со всех датчиков, нужно выбрать правильный режим питания в скетче:

  • чтобы воспользоваться «паразитным» режимом, необходимо ввести dswrite (0x44,1) в 65-й строке;
  • обычным режимом — ввести dswrite (0x44) в 65-й строке.

В обязательном порядке следует убедиться в том, что введенные вами названия пинов являются правильными.

Подключение DS18b20 к программе Arduino Подключение DS18b20 к программе Arduino

Подключение термодатчика DS18b20 к программе Arduino

Как подключить несколько датчиков температуры DS 18B20 одновременно

Подключение нескольких датчиков температуры типа DS 18B20 к Arduino Processing LCD возможно. Это обеспечивается базой данных OneWirelibrary, способной считывать всю информацию со всех подключенных устройств одновременно.

Если речь идет о подключении большого числа датчиков (например, если их больше 10), должны быть использованы резисторы с более низким показателем сопротивления (к примеру, 1,5 килоома или меньше).

Если же вы собрались подсоединять больше десятка датчиков DS 18B20, могут быть проблемы с их точностью. В таком случае можно установить резистор (сопротивление — примерно 100 Ом) между белым контактом на аппарате «Ардуино» и белым контактом на каждом датчике.

Подключение DS18b20 к программе Arduino Подключение DS18b20 к программе Arduino

Автор, специалист в сфере IT и новых технологий.

Получил высшее образование по специальности Фундаментальная информатика и информационные технологии в Московском государственном университете имени М.В. Ломоносова. После этого стал экспертом в известном интернет-издании. Спустя время, решил попробовать писать статьи самостоятельно. Ведет популярный блог на Ютубе и делится интересной информацией из мира технологий.

Подключение DS18b20 к программе Arduino Подключение DS18b20 к программе Arduino Загрузка...
Схема расположения датчиков температуры DS18B20, технические характеристики, эквиваленты и таблица данных

Конфигурация контактов

№:

ПИН-код

Описание

1

Земля

Подключите к заземлению цепи

2

Vcc

Питание датчика, может быть 3.3 В или 5 В

3

Данные

Этот вывод выводит значение температуры, которое можно прочитать, используя однопроводный метод

DS18B20 Технические характеристики датчика

  • Программируемый цифровой датчик температуры
  • Связь с использованием 1-Wire метода
  • Рабочее напряжение: от 3 В до 5 В
  • Температурный диапазон: от -55 ° C до + 125 ° C
  • Точность: ± 0.5 ° C
  • Выходное разрешение: от 9 до 12 бит (программируется)
  • Уникальный 64-битный адрес позволяет мультиплексировать
  • Время преобразования: 750 мс при 12-битном
  • Программируемые опции сигнализации
  • Доступен как To-92, SOP и даже как водонепроницаемый датчик

Примечание: читайте дальше, чтобы узнать, почему эти параметры важны. Также DS18B20 лист данных можно найти в нижней части страницы

Альтернативные датчики температуры

Термопара, TMP100, LM75, DHT11, SHT15, LM35DZ, TPA81, D6T

DS18B20 Эквивалентные датчики

DS18S20

Где использовать датчик DS18B20

DS18B20 - это 1-проводной программируемый датчик температуры от Maxim.Он широко используется для измерения температуры в жестких условиях, таких как химические растворы, шахты или почва и т. Д. Сужение датчика является прочным, его также можно приобрести с водонепроницаемой опцией, облегчающей процесс монтажа. Он может измерять широкий диапазон температур от -55 ° C до + 125 ° с приличной точностью ± 5 ° C . Каждый датчик имеет уникальный адрес и требует только один вывод MCU для передачи данных, поэтому он является очень хорошим выбором для измерения температуры в нескольких точках без ущерба для большинства ваших цифровых выводов на микроконтроллере.

Как использовать датчик DS18B20

Датчик работает по методу 1-проводной связи. Для этого требуется только контакт данных, подключенный к микроконтроллеру с подтягивающим резистором, а два других контакта используются для питания, как показано ниже.

DS18B20 Microcontroller Circuit Diagram

Подтягивающий резистор используется для поддержания линии в высоком состоянии, когда шина не используется. Измеренное датчиком значение температуры будет сохранено в 2-байтовом регистре внутри датчика.Эти данные можно прочитать с помощью однопроводного метода, отправив последовательность данных. Существует два типа команд, которые должны быть отправлены для считывания значений: одна - это команда ПЗУ, а другая - команда функции. Значение адреса каждой памяти ПЗУ вместе с последовательностью приведено в таблице данных ниже. Вы должны прочитать его, чтобы понять, как общаться с датчиком.

Если вы планируете сопрягать его с Arduino , вам не нужно беспокоиться обо всем этом.Вы можете разработать легкодоступную библиотеку и использовать встроенные функции для доступа к данным.

Приложения

  • Измерение температуры в тяжелых условиях
  • Измерение температуры жидкости
  • Приложения, где температура должна измеряться в нескольких точках

2D-модель

DS18B20 Temperature Sensor Dimensions

,
matmunk / DS18B20: библиотека Arduino для 1-проводного датчика температуры Maxim Integrated DS18B20.
перейти к содержанию Зарегистрироваться
  • Почему GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграции
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • Мобильный
    • Отзывы клиентов →
    • Безопасность →
  • команда
  • предприятие
  • Проводить исследования
    • Исследуйте GitHub →
    учиться и внести свой вклад
    • Темы
    • Коллекции
    • Тенденции
    • Learning Lab
    • Руководства с открытым исходным кодом
    Общайтесь с другими
    • События
    • Общественный форум
    • GitHub Education
.

Отправить ответ

avatar
  Подписаться  
Уведомление о