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

Спеціальний зонд датчика DS18B20 & 1-Монтаж дроту

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

Ми пропонуємо широкий асортимент найкращих роз'ємів датчиків 1-Wire DS18B20, включаючи Nanoflex, DisplayPort, USB, Сонячна, SATA, HDMI, ЦЕ ІДЕЯ, SAS & багато іншого. Усі кабелі виготовляються відповідно до найвищих промислових стандартів. Використання сенсорної схеми для зборки коробок дозволяє зосередитися на дизайні та маркетингу, зменшити витрати, і скористайтеся перевагами наших складальних ліній, Процеси контролю якості, та виробничий досвід.

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

Датчик температури DS18B20: Водонепроникний зонд DS18B20 призначений для використання під водою, здатний працювати у вологому середовищі, не пошкоджуючись водою чи вологою.
Напруга живлення датчика температури: 3.0V ~ 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 команда ROM:
Мікроконтролер надсилає команду ROM або для читання унікального 64-бітного коду певного датчика (“Матч ПЗУ”) або для адресації всіх датчиків на шині (“Пропустити ROM”).
1.4 Команда функції:
Залежно від бажаної операції (як температура читання), мікроконтролер надсилає певну функціональну команду датчику.
1.5 Передача даних:
Дані передаються побітово, з датчиком, підтягуючи лінію даних до низького рівня, щоб надіслати a ‘0’ і дозволити лінії піднятися високо, щоб надіслати «1».

2. Детальне пояснення протоколу зв’язку 1-Wire DS18B20
Причина, чому датчики DS18B20 широко використовуються, в основному пов’язана з його унікальним протоколом зв’язку – 1-Протокол дротового зв'язку. Цей протокол спрощує вимоги до апаратних з’єднань і забезпечує ефективний спосіб передачі даних. У цьому розділі детально проаналізовано робочий механізм і процес обміну даними протоколу зв’язку з 1 лінією, щоб закласти міцну основу для подальшої практики програмування..
2.1 Основи протоколу зв'язку 1-Wire
2.1.1 Особливості протоколу зв'язку 1-Wire:
DS18B20 1-Wire Communication Protocol також називається “один автобус” технології. Він має такі особливості: – Одношинне спілкування: Для двонаправленої передачі даних використовується лише одна лінія даних, що значно зменшує складність підключення в порівнянні з традиційним багатодротовим методом зв’язку датчиків. – Підключення кількох пристроїв: Підтримує підключення кількох пристроїв до однієї шини даних, ідентифікує та спілкується за допомогою ідентифікаційних кодів пристрою. – Низьке енергоспоживання: Під час спілкування, пристрій може перебувати в режимі очікування з низьким енергоспоживанням, коли не бере участі в спілкуванні. – Висока точність: З меншим часом передачі даних, це може зменшити зовнішнє втручання та підвищити точність даних.
2.1.2 Формат даних і аналіз часу 1-провідного зв'язку
Формат даних протоколу зв’язку 1-wire відповідає певному правилу синхронізації. Він включає час ініціалізації, час запису та час читання:
Час ініціалізації: Хост спочатку починає відлік часу виявлення присутності (Пульс присутності) шляхом зупинки автобуса на певний період часу, а потім датчик надсилає у відповідь імпульс присутності.
Напишіть терміни: Коли хост надсилає час запису, він спочатку тягне автобус приблизно на 1-15 мікросекунди, потім випускає автобус, і датчик затягує автобус 60-120 мікросекунди для відповіді.
Прочитайте хронометраж: Хост сповіщає датчик про надсилання даних, потягнувши шину вниз і відпустивши її, і датчик виведе біт даних на шину після певної затримки.

Analog Devices DS18B20+, Однопровідний цифровий термометр MAXIM з програмованою роздільною здатністю

Analog Devices DS18B20+, Однопровідний цифровий термометр MAXIM з програмованою роздільною здатністю

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

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

Датчик DS18B20 призначений для збору температури та вологості в холодильному складі

Датчик DS18B20 призначений для збору температури та вологості в холодильному складі

2.2 Програмна реалізація передачі даних
2.2.1 Ініціалізація та скидання 1-лінії зв'язку
На програмному рівні, Ініціалізація та скидання зв’язку 1-Wire є першим кроком зв’язку. Нижче наведено псевдокод для реалізації цього процесу:

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

// Функція скидання зв'язку OneWire
void OneWire_Reset() {
// Спустіть автобус
SetPinMode(DS18B20_PIN, ВИХІД_НИЗЬКИЙ);
Затримка мікросекунд(480);
// Відпустіть автобус
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Затримка мікросекунд(70);
// Дочекайтеся наявності пульсу
якщо (!WaitForOneWirePresence())
// Пульсу не виявлено, можливо, датчик не підключений або не вдалося виконати ініціалізацію
HandleError();
Затримка мікросекунд(410);
}

// Очікування наявності пульсу
bool WaitForOneWirePresence() {
повернути ReadPin(DS18B20_PIN) == 0; // Припустимо, що низький рівень є наявністю сигналу
}

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

Операції читання та запису даних є основною частиною комунікації датчиків. Наступний код показує, як записати байт в однопровідну шину:
// Записати байт в однопровідну шину
void OneWire_WriteByte(байт даних) {
для (int i = 0; i < 8; i++) {
OneWire_WriteBit(даних & 0x01);
даних >>= 1;
}
}

// Напишіть трохи на однопровідну шину
void OneWire_WriteBit(бітові дані) {
SetPinMode(DS18B20_PIN, ВИХІД_НИЗЬКИЙ);
якщо (даних) {
// Під час письма відпустіть автобус 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Затримка мікросекунд(1);
} інше {
// Продовжуйте тягнути шину низько під час письма 0
Затримка мікросекунд(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Затримка мікросекунд(1);
}

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

// Почитайте трохи з однопровідної шини
біт OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, ВИХІД_НИЗЬКИЙ);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Затримка мікросекунд(3);
логічний результат = ReadPin(DS18B20_PIN);
Затримка мікросекунд(57);
повернути результат;
}

2.2.3 Механізм перевірки зв'язку OneWire

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

байт даних = 0x55; // Припустимо, що дані, які потрібно надіслати

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

byte readData = OneWire_ReadByte(); // Зчитування даних із шини OneWire

якщо (readData != дані) {
HandleError(); // Якщо зчитані дані не збігаються із записаними даними, виправити помилку