Технология на температурен сензор

Персонализирана сензорна сонда DS18B20 & 1-Жичен кабелен монтаж

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

Ние предлагаме широка гама от най-добрите 1-Wire DS18B20 сензорни конектори, включително Nanoflex, DisplayPort, USB, Слънчева, SATA, HDMI, ТОВА Е ИДЕЯ, SAS & много повече. Всички кабели са произведени по най-високите индустриални стандарти. Използването на монтаж на сензорна верига за изграждане на кутия ви позволява да се съсредоточите върху вашия дизайн и маркетинг, намаляване на разходите, и да се възползваме от предимствата на нашите поточни линии, QA процеси, и производствен опит.

Сензорът DS18B20 комуникира чрез “1-Тел” протокол, което означава, че използва една линия за данни за цялата комуникация с микроконтролер, което позволява множество сензори да бъдат свързани към една и съща линия и идентифицирани чрез техния уникален 64-битов сериен код; тази единична линия за данни се изтегля високо с резистор и сензорът предава данни, като издърпва линията ниско през определени времеви интервали, за да изпрати битове информация.

DS18B20 Температурен сензор: Водоустойчивата сонда DS18B20 е предназначена за използване под вода, способен да работи в мокра или влажна среда, без да бъде повреден от вода или влага.
Захранващо напрежение на температурен датчик: 3.0V ~ 5.25V;
Диапазон на работната температура:-55 ℃ до +125 ℃ (-67 ℉ към +257 ℉);
Осигурява от 9-битови до 12-битови измервания на температурата по Целзий;
Адаптерният модул е ​​оборудван с издърпващ резистор, и се свързва директно към GPIO на Raspberry Pi без външен резистор;
Използвайте този комплект адаптерен модул, за да опростите свързването на водоустойчивия температурен сензор към вашия проект.

DS18B20 Сонда за цифрова температура & XH2.54 към PH2.0 модул

DS18B20 Сонда за цифрова температура & XH2.54 към PH2.0 модул

Произведен в Китай DS18B20 сензор за температура TO-92 на чип

Произведен в Китай DS18B20 сензор за температура TO-92 на чип

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

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

1. Ключови точки относно протокола 1-Wire:
Единична линия за данни:
Необходим е само един проводник за комуникация между сензора и микроконтролера.
Полудуплексна комуникация:
Данните могат да се изпращат и в двете посоки, но само една посока в даден момент.
Паразитна сила:
DS18B20 може да се захранва директно от линията за данни по време на комуникация, премахване на необходимостта от отделно захранване в някои случаи.
Уникални адреси на устройства:
Всеки сензор DS18B20 има уникален 64-битов сериен код, който позволява на микроконтролера да идентифицира и адресира отделни сензори в шината.
Стъпки на комуникация с DS18B20:
1.1 Нулиране на импулса:
Микроконтролерът инициира комуникация чрез издърпване на ниско ниво на линията за данни за определен период от време (импулс за нулиране).
1.2 Пулс на присъствие:
Ако DS18B20 присъства в автобуса, ще реагира с кратък импулс, което показва неговото присъствие.
1.3 ROM команда:
Микроконтролерът изпраща ROM команда или да прочете уникалния 64-битов код на конкретен сензор (“Съвпадение на ROM”) или за адресиране на всички сензори в шината (“Пропуснете 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 комуникационен протокол също се нарича “единичен автобус” технология. Има следните характеристики: – Комуникация с единична шина: За двупосочно предаване на данни се използва само една линия за данни, което значително намалява сложността на окабеляването в сравнение с традиционния многожичен сензорен метод за комуникация. – Връзка с множество устройства: Поддържа свързване на множество устройства към една шина за данни, и идентифицира и комуникира чрез идентификационни кодове на устройства. – Ниска консумация на енергия: По време на комуникация, устройството може да бъде в състояние на готовност с ниска мощност, когато не участва в комуникация. – Висока прецизност: С по-кратко време за предаване на данни, може да намали външната намеса и да подобри точността на данните.
2.1.2 Формат на данните и анализ на времето на 1-wire комуникация
Форматът на данните на 1-wire комуникационния протокол следва специфично правило за синхронизация. Той включва времето за инициализация, време за писане и време за четене:
Време за инициализация: Хостът първо стартира времето за откриване на присъствие (Пулс на присъствие) като свали автобуса за определен период от време, и след това сензорът изпраща импулс за присъствие в отговор.
Напишете време: Когато хостът изпрати време за запис, първо спира автобуса за около 1-15 микросекунди, след това освобождава автобуса, и сензорът дърпа автобуса надолу 60-120 микросекунди за отговор.
Прочетете времето: Хостът уведомява сензора да изпрати данни, като издърпа надолу шината и я освободи, и сензорът ще изведе бита за данни в шината след известно забавяне.

Аналогови устройства DS18B20+, MAXIM 1-жилен цифров термометър с програмируема резолюция

Аналогови устройства DS18B20+, MAXIM 1-жилен цифров термометър с програмируема резолюция

DS18B20 12-битов 1-жилен цифров температурен сензор с/ 1 Метър кабел

DS18B20 12-битов 1-жилен цифров температурен сензор с/ 1 Метър кабел

Сензорна сонда DS18B20, предназначена за събиране на температура и влажност в хладилни складове за хладилна верига

Сензорна сонда DS18B20, предназначена за събиране на температура и влажност в хладилни складове за хладилна верига

2.2 Софтуерна реализация на комуникация на данни
2.2.1 Инициализиране и нулиране на 1-линейна комуникация
На софтуерно ниво, инициализирането и нулирането на 1-Wire комуникация е първата стъпка от комуникацията. По-долу е псевдокодът за прилагане на този процес:

// Функция за инициализация на комуникация OneWire
void OneWire_Init() {
// Настройте шината на входен режим и разрешете издърпващия резистор
SetPinMode(DS18B20_ПИН, INPUT_PULLUP);
// Изчакайте автобусът да спре
Закъснение Микросекунди(1);
// Изпратете импулс за нулиране
OneWire_Reset();
}

// Функция за нулиране на комуникацията OneWire
невалиден OneWire_Reset() {
// Дръпни автобуса
SetPinMode(DS18B20_ПИН, OUTPUT_LOW);
Закъснение Микросекунди(480);
// Освободете автобуса
SetPinMode(DS18B20_ПИН, INPUT_PULLUP);
Закъснение Микросекунди(70);
// Изчакайте наличието на пулс
ако (!WaitForOneWirePresence())
// Не беше открит пулс, може би сензорът не е свързан или инициализацията е неуспешна
HandleError();
Закъснение Микросекунди(410);
}

// Изчакване за наличие на пулс
bool WaitForOneWirePresence() {
върнете ReadPin(DS18B20_ПИН) == 0; // Да приемем, че ниското ниво е наличие на сигнал
}

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

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

// Напишете малко на еднопроводна шина
void OneWire_WriteBit(битови данни) {
SetPinMode(DS18B20_ПИН, OUTPUT_LOW);
ако (данни) {
// Освободете автобуса, когато пишете 1
SetPinMode(DS18B20_ПИН, INPUT_PULLUP);
Закъснение Микросекунди(1);
} друго {
// Продължете да дърпате шината ниско, когато пишете 0
Закъснение Микросекунди(60);
}
SetPinMode(DS18B20_ПИН, INPUT_PULLUP);
Закъснение Микросекунди(1);
}

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

// Прочети малко от еднопроводната шина
бит OneWire_ReadBit() {
SetPinMode(DS18B20_ПИН, OUTPUT_LOW);
SetPinMode(DS18B20_ПИН, INPUT_PULLUP);
Закъснение Микросекунди(3);
bool резултат = ReadPin(DS18B20_ПИН);
Закъснение Микросекунди(57);
върнат резултат;
}

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

Комуникационният протокол OneWire използва прост механизъм за проверка в процеса на обмен на данни, обикновено чрез четене обратно на записаните данни, за да се провери коректността на данните. Следва примерен код за проверка на записаните данни:

байт данни = 0x55; // Да приемем, че данните за изпращане

OneWire_WriteByte(данни); // Записвайте данни в шината OneWire

byte readData = OneWire_ReadByte(); // Прочетете обратно данни от шината OneWire

ако (readData != данни) {
HandleError(); // Ако прочетените данни не съвпадат с записаните данни, обработете грешката