Технология датчика температуры

Изготовленный на заказ датчик датчика DS18B20 & 1-Проволочный кабель в сборе

Датчик температуры DS18B20, 1-жильный водонепроницаемый кабель + набор плат адаптера

Мы предлагаем широкий ассортимент лучших разъемов для датчиков 1-Wire DS18B20., в том числе Нанофлекс, ДисплейПорт, USB, Солнечная, САТА, HDMI, ЭТО ИДЕЯ, САС & еще много. Все кабели производятся в соответствии с самыми высокими отраслевыми стандартами.. Использование сборки сенсорной схемы для коробочных сборок позволяет вам сосредоточиться на дизайне и маркетинге., сократить расходы, и воспользуйтесь преимуществами наших сборочных линий, Процессы контроля качества, и производственный опыт.

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

Датчик температуры DS18B20: Водонепроницаемый зонд DS18B20 предназначен для использования под водой., способен работать во влажной или влажной среде, не повреждаясь водой или влагой.
Напряжение питания датчика температуры: 3.0В ~ 5,25 В;
Диапазон рабочих температур:-55 ℃ до +125 ℃ (-67 ℉ до +257 ℉);
Обеспечивает измерение температуры от 9 до 12 бит по шкале Цельсия.;
Модуль адаптера оснащен подтягивающим резистором., и напрямую подключается к GPIO Raspberry Pi без внешнего резистора.;
Используйте этот комплект адаптерного модуля, чтобы упростить подключение водонепроницаемого датчика температуры к вашему проекту..

Цифровой датчик температуры DS18B20 & Модуль XH2.54–PH2.0

Цифровой датчик температуры DS18B20 & Модуль XH2.54–PH2.0

Датчик температуры TO-92 для измерения температуры чипа DS18B20 китайского производства

Датчик температуры TO-92 для измерения температуры чипа DS18B20 китайского производства

Датчик температуры DS18B20, 1-жильный водонепроницаемый кабель + набор плат адаптера

Датчик температуры DS18B20, 1-жильный водонепроницаемый кабель + набор плат адаптера

1. Ключевые моменты о протоколе 1-Wire:
Одна линия данных:
Для связи между датчиком и микроконтроллером необходим только один провод..
Полудуплексная связь:
Данные могут отправляться в обоих направлениях, но только в одном направлении одновременно.
Паразитарная сила:
DS18B20 может питаться напрямую от линии передачи данных во время связи., устраняя необходимость в отдельном источнике питания в некоторых случаях.
Уникальные адреса устройств:
Каждый датчик DS18B20 имеет уникальный 64-битный серийный код, который позволяет микроконтроллеру идентифицировать и адресовать отдельные датчики на шине..
Этапы связи с DS18B20:
1.1 Импульс сброса:
Микроконтроллер инициирует связь, переводя линию данных на низкий уровень на определенное время. (импульс сброса).
1.2 Импульс присутствия:
Если на шине присутствует DS18B20, он ответит коротким импульсом, указывая на свое присутствие.
1.3 команда ПЗУ:
Микроконтроллер отправляет команду ПЗУ либо на чтение уникального 64-битного кода конкретного датчика, либо на чтение уникального 64-битного кода конкретного датчика. (“Матч ПЗУ”) или адресовать все датчики на шине (“Пропустить ПЗУ”).
1.4 Функциональная команда:
В зависимости от желаемой операции (как чтение температуры), микроконтроллер отправляет датчику определенную функциональную команду.
1.5 Передача данных:
Данные передаются побитно, когда датчик подтягивает линию данных к низкому уровню, чтобы отправить ‘0’ и позволив линии подняться на высокий уровень, чтобы отправить «1».

2. Подробное объяснение протокола связи 1-Wire DS18B20.
Причина широкого использования датчиков DS18B20 во многом связана с его уникальным протоколом связи. – 1-Протокол проводной связи. Этот протокол упрощает требования к аппаратным соединениям и обеспечивает эффективный способ передачи данных.. В этой главе будет глубоко проанализирован рабочий механизм и процесс обмена данными однострочного протокола связи, чтобы заложить прочную основу для последующей практики программирования..
2.1 Основы протокола однопроводной связи
2.1.1 Особенности протокола связи 1-Wire:
Протокол однопроводной связи DS18B20 также называется “одиночный автобус” технология. Он имеет следующие особенности: – Единая шинная связь: Для двунаправленной передачи данных используется только одна линия данных., что значительно снижает сложность проводки по сравнению с традиционным методом связи с многопроводными датчиками.. – Подключение нескольких устройств: Поддерживает подключение нескольких устройств к одной шине данных., и идентифицирует и передает данные через идентификационные коды устройства. – Низкое энергопотребление: Во время общения, устройство может находиться в режиме ожидания с низким энергопотреблением, когда не участвует в общении. – Высокая точность: С более коротким временем передачи данных, это может уменьшить внешние помехи и повысить точность данных.
2.1.2 Формат данных и временной анализ однопроводной связи
Формат данных протокола однопроводной связи соответствует определенному правилу синхронизации.. Он включает в себя время инициализации, время записи и время чтения:
Время инициализации: Хост сначала запускает отсчет времени обнаружения присутствия (Пульс присутствия) опустив автобус на определенный период времени, и датчик затем отправляет импульс присутствия в ответ.
Время записи: Когда хост отправляет время записи, сначала он сбивает автобус примерно на 1-15 микросекунд, затем отпускает автобус, и датчик тянет автобус вниз 60-120 микросекунды на ответ.
Чтение времени: Хост уведомляет датчик о необходимости отправки данных, отключая шину и отпуская ее., и датчик выведет бит данных на шину после определенной задержки.

Аналоговые устройства DS18B20+, 1-проводной цифровой термометр с программируемым разрешением MAXIM

Аналоговые устройства DS18B20+, 1-проводной цифровой термометр с программируемым разрешением MAXIM

DS18B20 12-битный 1-проводной цифровой датчик температуры с 1 Метр кабеля

DS18B20 12-битный 1-проводной цифровой датчик температуры с 1 Метр кабеля

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

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

2.2 Программная реализация передачи данных
2.2.1 Инициализация и сброс однолинейной связи
На уровне программного обеспечения, инициализация и сброс связи 1-Wire — это первый этап связи.. Ниже приведен псевдокод для реализации этого процесса.:

// Функция инициализации связи OneWire
недействительный OneWire_Init() {
// Переведите шину в режим ввода и включите подтягивающий резистор.
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
// Подождите, пока автобус остановится
Задержкамикросекунды(1);
// Отправить импульс сброса
OneWire_Reset();
}

// Функция сброса связи OneWire
недействительный OneWire_Reset() {
// Спустить автобус
SetPinMode(DS18B20_PIN, ВЫХОД_LOW);
Задержкамикросекунды(480);
// Выпустить автобус
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Задержкамикросекунды(70);
// Дождитесь появления пульса
если (!WaitForOneWirePresence())
// Пульс не обнаружен, возможно датчик не подключен или инициализация не удалась
HandleError();
Задержкамикросекунды(410);
}

// Ожидание наличия пульса
bool WaitForOneWirePresence() {
вернуть ReadPin(DS18B20_PIN) == 0; // Предположим, что низкий уровень — это наличие сигнала.
}

2.2.2 Операции чтения и записи данных

Операции чтения и записи данных являются основной частью связи датчиков.. Следующий код показывает, как записать байт на однопроводную шину.:
// Записать байт на однопроводную шину
void OneWire_WriteByte(байтовые данные) {
для (интервал я = 0; я < 8; я++) {
OneWire_WriteBit(данные & 0х01);
данные >>= 1;
}
}

// Записать немного на однопроводную шину
недействительный OneWire_WriteBit(битовые данные) {
SetPinMode(DS18B20_PIN, ВЫХОД_LOW);
если (данные) {
// Отпустите шину при написании 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Задержкамикросекунды(1);
} еще {
// Продолжайте тянуть шину вниз, когда пишете. 0
Задержкамикросекунды(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Задержкамикросекунды(1);
}

Далее идет функция чтения байта:
// Считать байт с однопроводной шины
байт OneWire_ReadByte() {
байтовые данные = 0;
для (интервал я = 0; я < 8; я++) {
данные >>= 1;
если (OneWire_ReadBit())
данные |= 0x80;
}
возвращать данные;
}

// Почитай немного с однопроводной шины
бит OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, ВЫХОД_LOW);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Задержкамикросекунды(3);
bool результат = ReadPin(DS18B20_PIN);
Задержкамикросекунды(57);
вернуть результат;
}

2.2.3 Механизм проверки связи OneWire

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

байтовые данные = 0x55; // Предположим, что данные для отправки

OneWire_WriteByte(данные); // Запись данных в шину OneWire

байт readData = OneWire_ReadByte(); // Считайте данные с шины OneWire.

если (чтение данных != данные) {
HandleError(); // Если считанные данные не совпадают с записанными данными, обработать ошибку