Опис ds1621. Датчик температури DS1621 Детальний опис датчика. Поліпшення точності вимірювань

Мікросхема є термометром і термостатом «в одному флаконі» з цифровим введенням та висновком, яка гарантує точність вимірювання та контролю з похибкою плюс – мінус 0,5 гр. Цельсія. Якщо використовувати датчик DS1621 у ролі термометра, дані повинні оброблятися через I2C/SMBus послідовну шину в додатковому дев'яти - бітному коді з точністю молодшого розряду плюс - мінус 0,5 гр. Цельсія.

Для додатків, яким потрібна підвищена роздільна здатність контрольованої величини температури, необхідно вважати додаткові регістри і виконати нескладні арифметичні операції, для того щоб отримати більш ніж 12-бітового дозволу (при цьому ціна найменшого розряду становить 0,0625 гр. Цельсія). Мікросхема DS1621 має три адресні входи, таким чином з'являється можливість підключити до однієї шині до восьми датчиків DS1621.

Застосовуючи датчик DS1621 у ролі термостата, DS1621 є регістри TH (підвищена температура) і TL (знижена температура). При перевищенні поточної температури рівня TH вихід датчика перейде в активний стан і продовжуватиме залишатися в ньому, поки поточна температура не опуститься нижче за позначку TL. Таким чином, реалізується управління із заданою гістерезисом.

Опис висновків датчика DS1621

  • SDA -виведення даних шини I2C.
  • SCL -виведення тактового сигналу шини I2C
  • Tout -вихід термостату.
  • Vdd -виведення харчування плюс.
  • GND -виведення живлення, мінус.
  • A0..A2 -лінія молодших біт.

Принцип роботи датчика DS1621

Принцип виміру ґрунтується на нестабільності частоти коливань при зміні температури. Для реалізації цього принципу виміру в структуру мікросхеми включено два генератори.

Перший з них має високу температурну стабільність. Його робоча частота відповідає температурі – 55 гр. Цельсія і практично не змінюється. Робоча частота другого генератора, навпаки, змінюється пропорційно зміні температури. Спеціальні лічильники здійснюють підрахунок імпульсів за рівний проміжок часу і на основі різниці, проводиться розрахунок поточної температури, який представлений у вигляді 9-розрядного двійкового коду.

Дані поділяються на старший та молодший байти. Якщо будь-яких цілей необхідне ціле значення температури, потрібно використовувати, лише старший байт. Молодший байт має тільки один інформаційний біт — LSB, який реалізує дискретність в 0,5 гр. Цельсія. Залишилися біти молодшого байта завжди дорівнюють нулю.

Реєстр стану

Мікросхема DS1621 має у своєму розпорядженні кілька режимів роботи. Налаштування та контроль даних режимів здійснюється за допомогою регістру станів. Існують такі біти:

  • DONE -прапор завершення перетворення. Встановлюється після закінчення перетворення.
  • THF -прапор "висока температура". Встановлюється зі збільшенням температури вище порога TH. Прапор скидається програмно або вимкненням живлення.
  • TLF -прапор "низька температура". Встановлюється при зменшенні температури нижче за поріг TL. Прапор скидається програмно або вимкненням живлення.
  • NVB -прапор запису даних в незалежну пам'ять датчика. Встановлений прапор вказує на те, що запис не завершено. Приблизний час запису даних у комірки становить 10 мс.
  • POL -Вибір полярності виходу Tout. Високе значення відповідає прямій полярності, низьке означає зворотну полярність. Цей біт енергонезалежний.
  • ISHOT -біт управління циклом вимірів. Одноразове вимір відбувається за високого логічного рівня даного біта. Його зазвичай застосовують під час створення енергозберігаючих систем. Низький логічний рівень даного біта, дозволяє виконання перетворення у постійному режимі. Біт цей енергонезалежний.

Команди обміну

Обмін даними з датчиком DS1621 відбувається за типовим протоколом I2C. Датчик бере участь у ньому як SLAVE - пристрій. Його SLAVE - адреса має вигляд наступного вигляду:

де ХХХ - стан ліній А0-А2 мікросхеми. Для взаємодії з DS1621 використовуються такі команди:

  • 22h -"Зупинення перетворення" - команда виконує закінчення роботи схеми перетворення температури. Зайвих даних для роботи не потрібно.
  • AAh -"Читання температури" - Підсумком роботи команди - два байти даних, які містять величину виміряної температури.
  • A1h -"Установка TH" - команда вибору верхнього порога спрацювання термостата. Після цієї команди потрібна передача двох байтів значення порога.
  • A2h -"Установка TL" - команда вибору нижнього порога спрацювання термостата. Після цієї команди необхідна передача двох байтів значення порога.
  • A8h -"читання температурного лічильника". Команда діє лише читання і дозволяє вважати дані лічильника, частота роботи якого залежить від температури.
  • A9h -"Читання стабільного лічильника". Команда діє лише читання і дозволяє вважати дані лічильника, частота роботи якого залежить від температури.
  • AСh -"Регістр конфігурації". Якщо біт дорівнює R - проводиться запис регістра конфігурації, при W - читання.
  • EEh -"Старт лічильника" - команда запуску вимірювання температури. Зайвих даних не потрібно.

Поліпшення точності вимірювань

У датчику DS1621 можливе підвищення точності температури, що вимірювається. Для цього доступні величини лічильників стабільного N та залежного від температури N генератора. Знаючи виміряне значення температури T значення лічильників можна отримати точне показання застосувавши формулу:

T = T - 0.25 + (N-N) / N

Режим термостату DS1621

У датчика DS1621 також є режим роботи в ролі термостата. Для управління виконавчими пристроями є цифровий вихід Tout, що встановлюється залежно від температури. Рівні включення та вимкнення виходу виставляються в регістрах TH і TL, а полярність виходу вибирається бітом POL регістру конфігурації.

Мікросхема DS1621 це термометр і термостат із цифровим введенням/виводом, що забезпечує точність ±0.5°C. При використанні термометра дані зчитуються через I2C/SMBus послідовну шину в додатковому 9-бітному коді з ціною молодшого розряду ±0.5°C. Для додатків, які потребують більш високої роздільної здатності, користувач може прочитати додаткові регістри і зробити прості арифметичні дії, щоб досягти більш ніж 12-бітового дозволу (з ціною найменшого розряду 0.0625°C). Мікросхема DS1621 забезпечує 3 адресні входи, щоб дозволити користувачам підключити до 8 DS1621 до однієї шині.
При використанні термостата, мікросхема DS1621 має у внутрішній енергонезалежній пам'яті (EEPROM) програмовані користувачем контрольні точки з перевищення температури (TH) і зниження температури (TL). Один спеціальний логічний вихід спрацює, коли TH досягнуть, і вихід залишатиметься активним доти, доки температура не впаде нижче TL (програмований гістерезис).
Мікросхема DS1621 пропонується у 300mil, 8-контактному PDIP та 150mil, 8-контактному SOIC. Для додатків, яким не потрібна точність ±0.5°C, доступна мікросхема DS1721 зі зниженою точністю ±1°C, дешевша повністю сумісна мікросхема (тільки в корпусі SOIC).
Мікросхема DS1621 підтримується демонстраційним комплектом DS1702k.
Відмітні особливості:
±0.5°C точність з 0°C до 70°C
9-бітовий дозвіл, що розширюється до 12-бітового
спеціальний логічний вихід для термостатування
Налаштування термостатування енергонезалежні та програмуються користувачем
Дані передаються через I2C/SMBus послідовний інтерфейс
3 адресні входи (8 DS1621 може бути використано на одній шині)
Діапазон робочої напруги від 2.7В до 5.5В
8-контактні PDIP або 150mil, 8-контактні SOIC корпуси
DS1621 8-PIN DIP (300-MIL)
DS1621S 8-PIN SOIC (150-MIL)
DS1621V 8-PIN SOIC (208-MIL)

Принципова схема саморобного термостата, який призначений для роботи з системою опалення на основі електрокотла. В основі схеми лежить мікросхема DS1621. Мікросхема DS1621 це термометр і термостат із цифровим введенням/виводом, що забезпечує точність ±0.5°С.

При використанні термометра дані зчитуються через l2C/SMBus послідовну шину в додатковому 9-бітному коді з ціною молодшого розряду ±0.5°С.

Для додатків, які потребують більш високої роздільної здатності, користувач може прочитати додаткові регістри і зробити прості арифметичні дії, щоб досягти більш ніж 12-бітового дозволу (з ціною найменшого розряду 0.0625°С). Мікросхема DS1621 забезпечує 3 адресні входи, щоб дозволити користувачам підключити до 8 DS1621 до однієї шині.

При використанні даної мікросхеми в якості термостата, дані про ту температуру, яку потрібно підтримувати зберігаються у внутрішній енергонезалежній пам'яті (EEPROM) у вигляді контрольних точок, що задаються користувачем з перевищення температури (ТН) і по зниженню температури (TL). Різниця між ТН та TL утворює гістерезис.

Коли температура недостатня (TL і нижче) на виведенні мікросхеми 3 встановлюється низький логічний рівень. Коли достатня температура (ТН і вище) на цьому висновку логічна одиниця.

Мікросхема DS1621 випускається у 8-контактному PDIP та 8-контактному SOIC корпусах.

Принципова схема

На малюнку 1 показано схему підключення даної мікросхеми до персонального комп'ютера.

Рис. 1. Принципова схема термостата для електрокотла.

Програмне забезпечення, з яким працюватиме термостат по рис.1 разом із персональним комп'ютером можна знайти у , завантажити програму - Завантажити (1,5 МБ).

Після завдання температури за допомогою персонального комп'ютера його можна відключити від схеми на рис.1. Задані дані збережуться в пам'яті мікросхеми, і ця схема працюватиме самостійно, підтримуючи задану температуру за допомогою симістора VS1, керуючи ним живленням ТЕНу опалювального котла.

Рис. 2. Схема термостата мікроконтролера ATTINY2313.

Комп'ютер, з успіхом, можна замінити схемою управління та контролю на основі мікроконтролера, наприклад, схема на ATTINY2313, показана на малюнку 2. Це закінчений самостійний пристрій, який може підтримувати температуру в приміщенні в межах від 10 до 40 град, за Цельсієм, і одночасно служити термометром, що показує конкретну температуру у приміщенні.

Температура відображається на дворозрядному світлодіодному цифровому індикаторі. Управління трьома кнопками. S1 служить для включення та вимкнення термометра.

А кнопками S2 та S3 можна встановити температуру, яку потрібно підтримувати. Світлодіод HL1 служить для індикації включеного електрокотла. Коли ТЕН котла працює, він блимає.

Прошивка МК

НЕХ-файл для програмування мікроконтролера знаходиться за цим посиланням: Завантажити (1,9 КБ).

Мікроконтролер працює із вбудованим генератором частотою 4 МГц. При програмуванні у Features потрібно вибрати:

int. RC OSC. 4 MHz; Start-up time: 14 CK + 0 ms;

Brown-out detection disabled; поставити галочку на Serial program downloading (SPI) enabled;

Фьюзи: (поставити галочки) SUT1, SPIEN, SUTO, CKSEL3, CKSEL2, CKSELO

Деталі

Монтаж виконувався на макетних друкованих платах. Трансформатор Т1 - готовий трансформатор TAIWAN 110-230V 6-0-6V 150тА, силовий, малопотужний, з вторинною обмоткою на 6V. Вірніше, у нього дві вторинні обмотки 6-0-6V і струм до 150тА, з'єднані послідовно. Тут використовується лише одна обмотка. Первинна обмотка на 230V, але містить відведення для 110V.

Потрібно вибрати омметром висновки первинної обмотки з найбільшим опором між ними, і їх підключити в електромережу. Світлодіодні індикатори АЛСЗЗЗА досить старі. Їх можна замінити будь-якими семисегментними цифровими світлодіодними із загальним катодом.

Кожухін В. А. РК-08-16.

Література: 1. Термометр для ПК на DS1621 – cxem.net/mc/mc136.php.



Пристрій простий, без калібрування та мікроконтролерів.

Це неймовірно простий термометр підключається до будь-якого вільного порту послідовного. Не використовуються будь-які програмовані компоненти та мікроконтролери. Точність вимірів становить до 0,5°C без калібрування. Воно так дешево, що я зробив його для кожного використовуваного мною комп'ютера. Це так приємно мати температуру на панелі завдань Windows, Що багато друзів попросили мене зробити такий пристрій!

Зробіть собі точний термометр

ДЦей проект досить легкий для новачків, однак, можливо можуть бути труднощі, пов'язані з апаратною несумісністю послідовного порту на різних комп'ютерах. У версії з одним датчиком потрібна лише мікросхема датчика, регулятор напруги та кілька діодів та резисторів. Зробіть його і дізнатися секрети IIC шини, як реалізувати IIC шину використовуючи лише два резистори та пару стабілітронів, як керувати ним на послідовному порту використовуючи Visual Basic. Компоненти, що використовуються, легко доступні в радіо інтернет-магазинах.

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

Температура відображається як на панелі завдань Windows, так і за її межами (див. рисунок).

Встановлюється у будь-який вільний COM порт ПК.

Діапазон вимірювань -20...+125°C (-4...257°F).

Базова точність та роздільна здатність 0.5°C.

Шкала Цельсія(°С) та Farenheit(°F).

Дані записуються в текстовий файл, що легко читається (добре для Excel).

Частота дискретизації 1, 5, 30 чи 60 секунд.

Один або два датчики температури (з можливістю розширення до 8)

Живлення з COM-порту, зовнішнє джерело не потрібне.

Легко зробити, не екзотичні програмні та апаратні частини.

Не потребує калібрування.

Зробити ПК термометр легко. Я докладно опишу версію з елементами поверхневого монтажу. Ті, хто не знайомі з пайкою маленьких SMT елементів, будуть раді дізнатися, що плата для похідних елементів також доступна.

Для початку необхідно зібрати всі елементи, крім плат. Ось список елементів:

Номер Тип Опис
U1, U2 DS1621 або DS1631 Цифровий датчик температури

Пластиковий корпус SO8 (SMD) або DIP (Вивідний)

U3 LM2936Z-5.0 Регулятор напруги з ультра низькими втратами, корпус ТО92 (в обох варіантах)
D1, D2 LL4148 Маленький імпульсний діод (на кшталт 1N4148)
DZ1, DZ2 MMSZ5V1 Стабілітрон 5,1В 0,5W.
C1, C2 47 мкФ/16В Електролітичний конденсатор
C3, C4 100нФ Низьковольтний керамічний конденсатор (SMD 1206)
R1, R2 4700 Ом 5% Резистор 0,25W (SMD 1206)
COM DB9F 9-контактний роз'єм “мама”, прямий (SMD) або кутовий (Вивідний)

Це збільшений вигляд зібраної SMT плати (Невелика плата – це виносний датчик температури).

Як тільки я зібрав усі елементи, я роздрукував плату у її реальному розмірі, щоб перевірити розміри всіх елементів щодо неї. Якщо елемент занадто великий або маленький, я можу виправити плату або пошукати відповідний елемент перед початком роботи.

Після того, як усі елементи перевірені, я роблю плату. Так як вона одностороння, ви можете легко витравити її самостійно. Це займає менше години і не вимагає жодних особливих матеріалів за методом, описаним тут.

Плата має бути бездоганно чистою (без слідів окислення та відбитків пальців) для гарного травлення та паяння. Протріть її м'яким абразивом до блиску (кухонна мочалка, сталева вата і навіть офісна гумка). Не забувайте віддзеркалити рисунок плати перед печаткою! Я люблю SMT плати, тому що необхідно свердлити не так багато стомливих отворів перед паянням.

Для паяння потрібен паяльник з тонким жалом, гострий пінцет та тверда рука. Я кріплю плату до столу під час паяння. Насправді я прикріплюю її до друку, щоб полегшити перевірку під час паяння.

Щоб випадково не переплутати елементи, тримайте їх в оригінальній упаковці до необхідності. Я пропоную вам розпочати пайку з дрібних елементів (резистори, діоди…) і закінчити великими (електролітичний конденсатор), високі елементи можуть ускладнити доступ до дрібних.

Не завдавайте занадто багато припою, і будьте обережні, щоб не перегріти елементи (особливо діоди та мікросхеми). Якщо потрібно, нехай елемент охолоне. Більшість елементів полярні, тому будьте обережні, щоб не переплутати їх. Катод діода (K) відзначений чорним кільцем, негативне виведення електролітичних конденсаторів чорною смужкою. Якщо ви віддаєте перевагу використанню танталових конденсаторів, пам'ятайте, що їх маркування перевернуто, і чорною смугою позначають позитивний висновок!

Тримайте око на фотографії і завжди перевіряйте двічі, поки не переконаєтесь у тому, що немає жодної різниці.

Ті, хто не має досвіду в пайці SMT елементів, можуть бути стурбовані пайкою мікросхеми датчика.

Я чистю жало паяльника перед кожною точкою паяння, і використовую дуже тонкий припій, щоб наносити максимально малу кількість припою. Я наношу невелику кількість припою лише на майданчик призначений для виведення 1.

Я ставлю мікросхему на плату, і коли її висновки збігаються з майданчиками, я чищу жало і грію контакт 1, доки він не припаяється. Я перевіряю, що мікросхема, як і раніше, стоїть правильно (всі контакти по центру відповідних майданчиків). Якщо вона перемістилася, я нагріваю контакт 1 і переміщаю її, або я, як і раніше, паяю інші контакти, очищаючи жало і використовуючи мало припою. Останнім кроком є ​​пропаювання контакту 1, спочатку припаяного дуже невеликою кількістю припою.

Регулятор напруги LM2936Z5 потребує спеціальної підготовки до паяння. У мене були наскрізні отвори, але я хотів припаяти його на SMT стороні плати. На малюнку показано як зігнути та укоротити контакти.

Друкована плата розрахована на встановлення між контактами роз'єму послідовного порту. Це остання частина паяння. Не забувайте припаяти висновки 7 та 8 на протилежному боці друкованої плати.

Я зазвичай очищаю плату від залишків флюсу за допомогою розчинника, наприклад, ацетону, і дозволяю платі повністю висохнути перед включенням. Як тільки плата перевірена і працює, я наношу прозорий шар лаку-спрею для захисту міді від окислення.

Останній крок полягає в завантаженні та встановленні програмного забезпечення. Якщо вас бентежать підказки Microsoft Installer (... італійською мовою) ці скріншоти (перший і другий) допоможуть зробити все правильно.

При першому запуску необхідно вибрати номер послідовного порту, до якого підключена схема, і ви будете готові до отримання температури. Успіхів!

Як це працює?

Схема є похідною від програматора Claudio Lanconelli PonyProg. Ключовим компонентом є датчик температури DS1621 Dallas Semiconductor. Це цифровий датчик температури, а це означає, що він вимірює температуру і перетворює її на цифрові значення (двійкові числа, тобто послідовність з нулів та одиниць, як байти у комп'ютері).

Просто подайте стабілізоване живлення 5В, і DS1621 здатний передавати температури довкіллячерез послідовну шину IIC (Inter-Integrated Circuit шину, також пишеться I2C). Це стандартна схема передачі розроблена Philips Semiconductors для з'єднання безлічі мікросхем разом, використовуючи лише дві лінії: тактову (SCL) та дані (SDA).

Див. документація, щоб отримати більш детальну інформацію про роботу шини, а зараз достатньо знати, що будь-який I2C чіп має свою власну адресу (число в діапазоні від 0 до 127) та набір команд. Таким чином, ви можете підключити багато мікросхем паралельно і все ще бути в змозі спілкуватися з кожною окремо, починаючи кожне повідомлення з відповідною адресою.

Прямо із заводу, всі DS1621 поставляється базовою адресою ($40), але ви можете налаштувати його, поєднуючи адресні висновки (А0, А1, А2), з 5В або GND відповідно (див. таблицю). Таким чином, ви можете підключити до 8-ми мікросхем датчиків паралельно на шину, хоча програмне забезпечення, що поставляється, підтримує і заносить в таблицю тільки два (ви можете додати більше датчиків, змінивши програмне забезпечення).

Так що ми можемо живити DS1621 від 5В постійного струму і підключити його SCK і SDA проводів I2C інтерфейсу ПК, чи не так? На жаль, комп'ютери не мають роз'ємів 5В постійного струму та портів I2C, тому ми повинні хакнути їх!

Хак#1: Фантомне живлення COM-порту

Датчик температури не вимагає багато енергії для роботи, так чому б не усунути потребу живлення, "крадячи" живлення з сигналів вже доступних на порті RS232?

12В від ліній RS232 передаються на регулятор через діоди D1, D2, фільтрується C1 та регулюється до +5В на LM2936-Z5. Це спеціальний регулятор, здатний працювати з мінімальною вхідною напругою та зберігати кожен мА. LM2936 здатний регулювати з такою низькою вхідною напругою як 5,2 (найбільше послідовних портів живляться лише 6В). Для порівняння, звичайні регулятори 78L05 вимагають принаймні 6.7В на вході і споживає в 100 разів більше струму, необхідного LM2936-Z5.

Хак#2: Примушуємо COM-порт вдавати, що це I2C-шина.

Програмне забезпечення ПК термометра емулює проводи I2C-шини двома контактами COM-порту, доступного на всіх материнських платах.

В якості лінії SCL використовується RTS (Request To Send, контакт 7), а SDA використовується лінія, спочатку розроблена для DTR послідовного порту (Data Terminal Ready, висновок 4). Ці сигнали доступні з Visual Basic установкою DTR та RTS властивостей об'єкта MSComm.

Ви не можете подати сигнал з порту COM на DS1621 безпосередньо, так як рівні напруги повинні бути адаптовані. Відповідно до стандарту EIA-RS232, у більшості комп'ютерів вихідна напруга досягає +15В постійного струму і падає до -15В постійного струму на роз'ємі COM порту, тому ми повинні обмежити їх зручнішими напругами від 0 до +5В постійного струму перед підключенням до DS1621 SDA та SCL проводів. Стабілітрона 5.1В та обмежувального резистора 4700 достатньо для цієї мети.

Якщо ви подивитеся на схему уважно, ви помітите, що висновок SDA з'єднаний також із контактом CTS (Clear To Send, контакт 8). Таким чином, програмне забезпечення ПК термометра може контролювати логічний рівень SDA, щоб читати відповіді мікросхеми, що робить цю лінію двонаправленою. Хоча теоретично послідовний порт вимагає від'ємного сигналу з входу, сигнали в діапазоні 0 ... 5В постійного струму добре працюють практично на будь-якому комп'ютері на землі.

Програмне забезпечення

Програмне забезпечення постачається заздалегідь скомпільованим і з інсталятором (setup.exe), але для тих, хто цікавиться програмуванням, увімкнено вихідний код.

Я написав програму у Visual Basic. Я зробив це прямим шляхом, навмисне уникаючи оптимізації, яка зробить код менш читабельним.

Функції шини I2C згруповані у файл, який можна повторно використати інших програм. Він надає функції для всіх основних операцій I2C шини: таких як запуск та зупинка шини, або відправлення та отримання одного байта.

Основна програма забезпечує функції, температури(chipaddress), який дає I2C-шині команду, щоб отримати температуру від мікросхеми.

Щоб прочитати температуру мікросхеми в Visual Basic все, що вам потрібно, це запитати температуру ($&48), де $ і 48 є адресою для першої мікросхеми, $H49 є адресою другої мікросхеми, і так далі відповідно до таблиці вище. Моя програма використовує два датчики, але не так важко змінити її для підтримки до 8 мікросхем.

Перший раз, коли ви запустите програму, ви отримаєте попередження про те, що не існує конфігураційного файлу (він буде автоматично створений в кінці сесії) і налаштування будуть за замовчуванням. Виберіть послідовний (COM) порт, який ви використовуєте, якщо ваш пристрій включає U2 для читання температури зовнішнього повітря, інтервал між вимірюваннями, одиниці вимірювання і якщо ви хочете логування температури в файл "pc_thermometer.txt" (ASCII текстовий файл, який ви можете імпортувати в Excel для обробки чи побудови графіка).

Перевірте поле "start minimized", якщо воно увімкнено, то при наступних запусках програма не відкриватиме вікно на робочому столі, а буде мінімізована на панелі завдань, забезпечуючи "іконку температури". Це мій кращий спосіб використання програми.

При натисканні на значок відкривається вікно.

Завантажити файли до проекту

Оригінал статті на англійській мові(переклад: Олександр Касьяновдля сайту cxem.net)

Мікросхема DS 1621, виробництва Dallas Semiconductors , призначена для виконання функцій термометра та термостату. Можливості мікросхеми дозволяють проводити вимірювання в діапазоні температур від -55 до +125 градусів Цельсія. Крок відліку температури становить 0,5 градуса. DS 1621 оснащена інтерфейсом I 2C. У режимі термостата можлива автономна робота.

Призначення висновків

  • SDA- Лінія даних шини I2C
  • SCL- лінія тактового сигналу шини I2C
  • Tout- Вихід термостата
  • Vdd- плюсовий виведення харчування
  • Vss- мінусовий виведення живлення
  • A0..A2- Лінії формування молодших бітів адреси

Принцип роботи

Датчик температури DS 1621 для вимірювання використовує принцип нестабільності частоти коливань зміни температури. Для цього до її складу входять два генератори. Перший має високу температурну стабільність. Його частота відповідає температурі -55 градусів і практично не схильна до змін. Частота роботи другого генератора, навпаки, змінюється пропорційно до температури. Спеціальні лічильники імпульсів роблять підрахунок за однаковий часовий інтервал і на основі різниці обчислюють значення температури. Це значення в 9-розрядному двійковому коді доступне користувачеві. Дані розбиваються на старший і молодший байти. Якщо досить ціле значення температури, можна користуватися лише старшим байтом. Молодший байт має лише один інформаційний біт LSB, що забезпечує дискретність 0.5 градуси. Інші біти молодшого байта завжди дорівнюють 0.

Мікросхема DS 1621 має декілька режимів роботи. Налаштування та відстеження цих режимів здійснюється за допомогою регістру станів. Є такі доступні біти:

  • DONE– Прапор закінчення перетворення. Встановлюється після завершення перетворення.
  • THF- Прапор "висока температура". Встановлюється при перевищенні порога TH. Скидається програмно або вимкненням живлення.
  • TLF- Прапор "низька температура". Встановлюється при меншій температурі, ніж значення порога TL . Скидається програмно або вимкненням живлення.
  • NVB– прапор запису даних на енергонезалежну пам'ять. Встановлений прапор засвідчує незавершеність запису. Час запису комірки становить приблизно 10 мс.
  • POL- Полярність виходу Tout. Високе значення відповідає прямій полярності, низьке – зворотній. Біт енергонезалежний.
  • ISHOT- Управління циклом вимірювань. За високого логічного рівня вимір виконується одноразово. Цей режим використовується в енергозберігаючих системах. Низький логічний рівень біта, дозволяє виконання перетворення на безперервному режимі. Біт енергонезалежний.

Робота з DS1621

Команди обміну

Обмін даними з DS 1621 проводиться за стандартним протоколом I 2C. Мікросхема бере участь у ньому як slave-пристрою. Slave-адреса DS 1621 має вигляд 1001ххх, де ххх – стан ліній А0-А2 мікросхеми. Для роботи з DS 1621 використовуються такі команди:

  • 22h– «Зупинення перетворення» - команда завершує роботу схеми перетворення температури. Додаткові дані для роботи не потрібні.
  • AAh– «Читання температури» - Результатом роботи команди є два байти даних, що містять значення виміряної температури.
  • A 1h– «Установка TH» - команда встановлення верхнього порогу спрацьовування термостату. Після цієї команди потрібно передача двох байтів значення порога.
  • A 2h- "Установка TL" - команда встановлення нижнього порога спрацювання термостата. Після цієї команди потрібно передача двох байтів значення порога.
  • A 8h- "Читання температурного лічильника". Команда працює тільки на читання та дозволяє вважати дані лічильника, частота роботи якого залежить від температури.
  • A 9h- "Читання стабільного лічильника". Команда працює тільки на читання та дозволяє вважати дані лічильника, частота роботи якого не залежить від температури.
  • A Сh- "Регістр конфігурації". Залежно стану біта R /W проводиться запис чи читання регістра конфігурації. Формат даних - байт.
  • EEh- "Старт лічильника" - команда початку вимірювання температури. Додаткові дані не потрібні.

Підвищення точності вимірів

Датчик температури DS1621 дозволяє підвищити точність вимірювання. Для цього користувачу доступні значення лічильників стабільного N і температурнозалежного N генератора. Знаючи виміряне значення температури T та значення лічильників можна скористатися формулою:

T = T - 0.25 + (N-N) / N

Також бажане калібрування датчика з визначенням необхідних поправок. Облік цих поправок повинен проводитись у контролері.

Режим термостату

Мікросхема DS 1621 може працювати як термостата. Для цього є вихід Tout, що встановлюється залежно від значення температури. Пороги включення та вимкнення виходу задаються значеннями в регістрах TH і TL. Полярність виходу встановлюється бітом POL регістру конфігурації.



Поділіться з друзями або збережіть для себе:

Завантаження...