Цифровой термометр на датчике lm75ad

Термометр LM75A – описание

Гость нашей сегодняшней программы — LM75A. Цифровой термометр с I2C выходом. По характеристикам похож на DS18b20. Стоит раза в два дешевле. Правда, наш градусник бывает только в восьминогих корпусах, а это большое западло.Работа с этим датчиком довольно проста. Если нужно просто получать значения температуры, то достаточно тупо читать из него данные.

Никаких лишних телодвижений (респект разработчикам за продуманые «настройки по умолчанию»). Здесь я постараюсь описать не только работу с датчиком (это почти-что перевод даташита), но и возможные баги и способы их убийства.

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

Но и без них разобраться не трудно.

В подключении LM75A есть пара важных моментов, которые очень мотивируют читать даташит перед проектированием устройства. Ибо, если их не учесть — можно поймать на свою голову кучу багов.Первое, на что надо обратить внимание — питание. Градусник начинает страшно глючить, если на линиях питания появляется шум. Лечится конденсатором на 1uF (Примерно. Я поставил 680nF) между питанием lm75A и землей. Ставить его нужно как можно ближе к выводам питания. Линии, задающие адрес устройства (A0, A1, A2), тоже могут доставить неприятности. Здесь подстава заключается в том, что их нельзя оставлять висящими в воздухе (адресные пины у памяти 24Cxx это спокойно переживают — изнутри подтянуты к земле). У LM75A их нужно обязательно подтянуть или к питанию, или к земле. Иначе можно поймать непонятную багу, при которой девайс будет отвечать на адрес через раз, или будет пытаться ответить на адреса других устройств, что приведет к конфликтам. Есть еще один интересный пин — OS. Это выход с открытым стоком (open drain). Он сигнализирует о том, что температура вышла за предел (настраивается программно). Главная проблема с этим выходом в том, что он может пропустить очень маленький ток, до 100uA по даташиту. Это наводит на три грустные мысли:

1) Им нельзя зажигать светодиоды и управлять другой нагрузкой напрямую.

2) Подтягивающий резистор должен иметь большое сопротивление. Я поставил 100к, тогда ток получается 50мкА.
3) С такой слабой подтяжкой можно поймать помехи и ложные срабатывания (например, если выход OS подключен ко входу МК) Если нужно рулить с этого выхода какой-либо нагрузкой (например системой охлаждения), то нужно ставить транзисторный ключ. Причем обычным биполярным транзистором вряд-ли удасться обойтись. Нужна сборка Дарлингтона или полевик (из тех, что управляются логическим уровнем).Общение с датчиком ведется по протоколу i2c. Частота линии SCL тут ограничена 400кГц, но такая скорость вряд-ли понадобится.

Алгоритм связи примерно тот-же, что и при работе с EEPROM памятью 24Cxx. После адреса устройства мы передаем номер регистра, к которому хотим обратиться. Их всего 4.

Причем три из них 16и битные, а один — configuration — 8и битный.

После номера регистра мы либо записываем в него данные, либо даем повторный старт, и читаем данные (после повторного старта нужно будет опять послать адрес устройства)

Первый — регистр температуры. Два байта, из которых 11 бит содержат температуру, а младшие 5 бит равны 0.

Чтобы получить значение температуры делаем так:Если старший бит = 0, то (температура положительная) Сдвигаем на 5 разрядов вправо (деление на 32), чтобы избавиться от пустых младших разрядов. Делим на 8. (Т.е. умножаем на LSB = 0.125) Если старший бит = 1, то (температура ниже 0) Находим дополнение до 2 для всего регистра. Сдвигаем на 5 разрядов вправо. Делим на 8. Часто необходимости в высокой точности нету, и достаточно знать температуру с точностью до градуса, отбросив дробную часть. Тогда задача заметно упрощается. Младший байт можно смело выкинуть, и работать только со старшим: Если старший бит = 0, то ничего делать не надо — в регистре уже значение температуры в «нормальном» виде.

Если старший бит = 1, то ищем дополнение до 2. Делается это командой NEG. И ставим где-нибудь флажок, что температура < 0.

* Через мой Multiprog можно общаться с LM75A — читать текущую температуру.

Второй регистр — configuration. То-есть настройка. Он состоит всего из 1 байта.

Начнем с младшего бита.

SHUTDOWN отвечает за спящий режим.

Если он = 0, то устройство находится в активном режиме. При этом оно производит замер температуры каждые 100 мс и складывает результат в регистр Temp. Если SHUTDOWN = 1, то градусик переходит в спящий режим. При этом потребление тока снижается до 100мкА. Линия i2c продолжает работать нормально. Логика, которая управляет выводом OS отключается, и он остается в том состоянии в котором был до перевода в спящий режим. Если у нас к выходу OS подключен вентилятор для охлаждения, и мы перевели градусник в спящий режим, когда вентилятор был включен, то вентилятор так и будет работать, до тех пор, пока термометр не разбудят.

OS_COMP_INT отвечает за режим работы выхода OS.

Если он равен 0 (это, кстати режим по-умолчанию), то выход OS ведет себя так:

Когда температрура поднимается выше значения в регистре Tos — выход OS переходит в активное состояние. Он останется в этом состоянии до тех пор, пока температура не упадет ниже значения в регистре Thyst. Это режим называется OS comparator mode.

Во втором режиме, OS interrupt mode, (когда OS_COMP_INT = 1) OS ведет себя намного интереснее:

Когда температура поднимается выше Tos — выход переходит в активное состояние. И остается в нем до тех пор, пока не будет прочитано значение регистра Temp. Никакая другая сила (даже падение температуры ниже Thyst) не заставит его перейти в неактивное состояние.
А вот когда регистр температуры будет прочитан, OS тут-же переключается в неактивное состояние и находится в нем до тех пор, пока… температура не опустится ниже Thyst. Тогда он опять переходит в активное состояние и висит в нем, пока кто-нибудь не прочитает регистр температуры. Получается, что в этом режиме можно контролировать уход температуры за пределы какого-либо диапазона. Нижней границей будет Thyst, а верхней — Tos. График наглядно показывает два режима работы вывода OS:

Следующий бит, OS_POL, отвечает за полярность вывода OS и не представляет из себя ничего интересного. Если он = 0, то активный уровень низкий. Если 1, то высокий. По умолчанию = 0. Только надо помнить, что OS это выход с «открытым стоком», а значит, высокий уровень там создается подтягивающим резистором.

Потом идет пачка из двух бит — OS_F_QUE1:OS_F_QUE0. С их помощью можно настроить, сколько раз датчик будет проверять значение температуры, перед тем, как выдать сигнал тревоги. Например, если они настроены на 4 проверки, то выход OS сработает только в том случае, если 4 раза подряд замер температуры покажет, что она выше порога.

OS_F_QUE1 OS_F_QUE0 Количество проверок 0 0 1 0 1 2 1 0 4 1 1 6

Все, configuration кончился. Старшие три бита зарезервированы и = 0. Хотя записывать в них можно, и читать тоже.

После configuration, под номером 02h, идет регистр гистерезиса Thyst. Он 16и битный, хотя активны всего 9 бит (младшие 7 бит = 0). С их помощью настраивается нижний порог срабатывания сигнала OS. По умолчанию 75 градусов.

Та-же история со следующим регистром Tos (номер 03h). Задает верхний порог для сигнала OS. По умолчанию = 80 градусов.

Как видим, настройки по умолчанию дают возможность использовать выход OS для предупреждения перегрева безо всяких дополнительных манипуляций с регистрами. В общем этот датчик имеет несколько иную специфику, чем DS18b20.

Если градусник от DALLAS можно спокойно закинуть куда-угодно (паразитное питани требует всего 2 провода), то LM75A скорее подходит для измерений температуры в тех случаях, когда можно ставить градусник прямо на плату.

В таком случае проявляются все его плюсы: простота обмена (можно использовать аппаратный I2C вместо программного 1-wire) и детектор превышения температуры (в DS18b20 нечто подобное тоже было, но уж больно уныло).

PS Похожая статья есть на сайте Medved'a. В ней он, кроме прочего, привел код для работы с датчиком.

Источник: http://we.easyelectronics.ru/part/termometr-lm75a—opisanie.html

Термометр на LM75AD :AVR devices

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

Если не требуется большая точность измерений температуры и использование  корпуса soic с 8-ю ногами  приемлемо, то можно смело лепить термометр на датчике LM75AD. Это пожалуй самый дешевый цифровой термодатчик из всех что мне удалось найти в интернете.

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

А нафига вообще сдался цифровой термодатчик? Может проще взять какой нибудь терморезистор, и приделать его к контроллеру? Такой же вопрос возник у меня, и я решил заюзать терморезистор KTY81/120. Редкостный отстой скажу сразу.

Зависимость сопротивления от температуры не линейная — вот главный минус. Два одинаковых датчика дают разные показания +/- 2 градуса. Короче, ну его в пень.

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

Да и еще всё это дело нужно правильно развести на плате. Короче сплошные минусы. Ну кроме цены конечно. LM75AD на пять рублей дороже KTY81/120 =) Ценовая разница ничтожна, а плюсов у LM75AD целый  вагон:

1) Хороший диапазон измеряемых температур ( от -55 °C до +125 °C) 2) Не нужен АЦП 3) При достижении заданной температуры может дрыгнуть ногой 4) На одну шину i2c можно подключить до восьми таких датчиков

5) Есть режим энергосбережения

Конечно soic  корпус не всегда удобен, в отличии например от TO-92 в котором выпускаются датчики ds18b20 и ему подобные, но и его при желании можно прикрепить куда надо. Главное проявить немного фантазии. Например, я этим датчиком измеряю температуру аккумуляторов при зарядке. Прицепил его очень просто: В дне аккумуляторного отсека сделал дырку, и суперклеем намертво закрепил его там.

Теперь  посмотрим как работать этим датчиком. Как и у любого устройства с интерфейсом i2c, у этого термометра есть свой адрес, по которому контроллер обращается к нему. За счёт трёх входов (А0,A1,A2) можно задать для микросхемы три последних бита адреса. Благодаря этому можно подцепить к одной шине сразу 8 таких датчиков.

Если требуется еще больше, то можно организовать программный i2c, и повесить остальные датчики на него. Адрес LM75AD выглядит так: 1 0 0 1 A2 A1 A0 Алгоритм чтения и записи в регистры микросхемы, ни чем не отличается от микросхемы памяти 24Lхх. Об этом я писал ранее и повторяться не буду.

Регистры микросхемы распределены в памяти следующим образом:

Из таблицы видно что по нулевому адресу расположено то что нас интересует в первую очередь — температура датчика. Температура занимает 11 бит памяти и в один байт разумеется не поместилась. Старший байт регистра температуры содержит целую часть температуры, а младший байт — дробную, причем биты в младшем байте выровнены по левому краю (см. рисунок)

Для вычисления значения температуры нужно применить следующий мозгоразрывный алгоритм:

Если седьмой бит старшего байта температуры равен 0 тогда
Температура=СодержимоеРегистра * 0.125 Если седьмой бит старшего байта температуры равен 1 тогда Инвертируем биты  регистра температуры потом считаем по формуле

Температура=-(СодержимоеРегистра+1) * 0.125

Первая формула была явно указана в даташите, а вот надо вычислением отрицательной температуры пришлось пораскинуть мозгами. Это иногда полезно =)

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

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

SHUTDOWN — Бит управления питанием датчика. Если выставить этот бит в единицу, то датчик прекратит измерять температуру. При считывании, датчик постоянно будет выдавать последнюю замеренную температуру.

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

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

OS_COMP_INT — х.з. чё такое. Из даташита назначение сего бита я понял слабо. Путём научного тыка, было выяснено что он задает поведение вывода OS.

Когда этот бит сброшен, то на выводе OS, (в случае превышения температуры заданного порога) появится постоянное напряжение логической единицы или нуля (в зависимости от настроек).

Если же бит установлен, то при превышении температуры определенного уровня (задается спец регистром)  на ноге OS появится всего лишь короткий импульс. Но эта информация пока не проверенна по техническим причинам (спалил вывод OS)

OS_POL — Позволяет задать активный логический уровень ноги OS. Если бит сброшен — активный ноль. Если установлен — то активный уровень это логическая единица.

OS_F_QUE — эти два бита определяют сколько раз температура должна превысить заданный уровень, чтоб датчик активировал ногу OS. Доступно шесть комбинаций: OS_F_QUE_1=0 OS_F_QUE_0=0 — сработает сразу OS_F_QUE_1=0 OS_F_QUE_0=1 — после двух превышений OS_F_QUE_1=1 OS_F_QUE_0=0 — после четырёх

OS_F_QUE_1=1 OS_F_QUE_0=1 — после шести

Осталось еще два регистра. Они задают температуру при которой срабатывает нога OS и при какой температуре эта самая нога возвращается в исходное состояние. Оба регистра 2-х байтные и имеют такую структуру:

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

Как говорится соловья баснями не накормишь,  поэтому от теории переходим к практике. Вооружившись отладочной платой я сотворил термометр на микроконтроллере Atmega48 и 4-х разрядном семисегментном индикаторе.

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

Схема термометра выглядит так:

ВНИМАНИЕ! Конденсатор параллельно питанию датчика тут не для прикола. Его нужно ставить обязательно. Иначе датчик будет вместо нормальной температуры возвращать какой-то треш. Расположить его на плате необходимо как можно ближе к выводам питания датчика. Других замечаний по разводке платы нет.

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

Фьюзы микроконтроллера должны быть настроены так:

И еще небольшое замечание по поводу вывода OS. Его нагрузочная способность очень мала. Видимо из-за этого у меня сгорел этот вывод, когда я подключил к нему светодиод через резистор на 200 ом. Теперь, когда там появляется логическая единица, вместо пяти вольт там около одного вольта. Будьте осторожны, поставьте транзисторный ключ в случае необходимости.

Скачать прошивку термометра
Скачать микропаскаль

Источник: http://avrdevices.ru/termometr-na-lm75ad/

lm75 Цифровой датчик температуры STLM75

Цифровой датчик температуры STLM75 представляет собой вариант популярной микросхемы LM75 от STMicroelectronics. Наличие интерфейса I2C позволяет легко интегрировать данный датчик в микроконтроллерные проекты. Предельная простота организации обмена с микросхемой и низкая стоимость делают ее весьма привлекательной для использования.

Обозначения выводов микросхемы 
SDA Линия данных шины I2C
SCL Линия тактирования шины I2C
OS/Int Выход термостатирования
A0-A2 Линии задания младших битов адреса на шине I2С

По заявлениям производителя, STLM75 оснащена высокоточным температурным сенсором и сигма-дельта АЦП, позволяющим оцифровывать сигнал с разрешением 0.5°C.

Точность измерений датчика при этом составляет не хуже чем ±3°C в диапазоне температур от –55°C до 125°C, и ±2°C в диапазоне от –25°C до +100°C. При этом стандартная точность заявлена на уровне разрешения – 0.5°C. Микросхема работоспособна в диапазоне напряжений от 2.7 до 5.

5В и выпускается в корпусах TSSOP8 и SO8. Для работы STLM75 не требуется подключение никаких дополнительных компонентов, кроме подтягивающих резисторов I2C.

В отличие от DS1621 и других сходных вариантов, данная микросхема сразу же после подачи питания начинает измерять температуру в циклическом режиме. При этом доступ к измеренному значению возможен в любое время, без организации каких-либо задержек и дополнительных команд. В простейшем случае (без режима термостата и «спящего» режима) достаточно просто прочитать регистр температуры.

Температурный датчик использует стандартный протокол обмена по шине I2C, с поддержкой высокоскоростного режима. 3 аппаратных адресных линии позволяют подключать к одной шине до 8 независимых датчиков. Адрес микросхемы на шине выглядит как: 

Разряды 7 6 5 4 3 2 1
Значение 1 1 A2 A1 A0 R/W 

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

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

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

Регистры микросхемы STLM75

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

Состав регистров STLM75:

 – регистр команд/адреса

 – регистр конфигурации (CONF)

 – регистр температуры (TEMP)

 – регистр верхнего предела (TOS)

 – регистр нижнего предела (гистерезис) (THYS)

Регистр команд/адреса

Данный 8-ми разрядный регистр используется для задания адреса ячейки памяти температурного датчика, с которой будет осуществляться обмен по шине I2C. Используются только два младших бита, все остальные должны иметь значение «0». Адрес в регистре может принимать следующие значения:

00000000 – чтение 16-ти разрядного регистра температуры (TEMP)

00000001 – доступ к регистру конфигурации (CONF)

00000010 – доступ к регистру гистерезиса (THYS)

00000011 – доступ к регистру превышения температуры (TOS)

Регистр конфигурации

Регистр конфигурации – 8-ми разрядный регистр, используемый для задания режима работы микросхемы. После включения питания, значение всех битов регистра равно 0.

SD – бит режима «сна» 

M – бит режима работы выхода термостата (1 – режим прерывания, 0 – режим компаратора) 

POL – бит полярности выхода термостата (Активный уровень – 0) 

FT0 – бит защиты от ложных срабатываний 

FT1 – бит защиты от ложных срабатываний 

«Спящий режим» предназначен для уменьшения потребляемой мощности. Его активация выполняется путем установки в 1 бита SD. В этом режиме отключаются все внутренние элементы микросхемы, за исключением цепей, ответственных за обмен по шине I2С. Измерения температуры не производится. Вывод из «спящего режима» производится обнулением бита SD. 

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

00 – 1 измерение 

01 – 2 измерения 

10 – 4 измерения 

11 – 6 измерений

Регистр температуры. 

Регистр температуры служит для хранения последнего измеренного значения температуры. Несмотря на то, что его разрядность равна 16 битам, используются только старшие 9. При этом, возможно использование одного старшего байта, если устраивает целочисленный результат. Формат записи температуры аналогичен другим 9-ти разрядным термометрам.

Старший бит старшего байта является знаковым, позволяющим реализовывать измерение отрицательных температур по шкале Цельсия. В младшем байте используется только старший бит, фактически являющийся признаком наличия дробной части измеренного значения температуры. Вес этого бита равен 0.5°C. Все остальные биты младшего байта читаются как 0.

 

Режимы термостататирования в STLM75

Регистр верхнего предела (TOS) 

Данный 16-разрядный регистр используется для установки верхнего значения температуры, используемого при переключении выхода термостата. Формат регистра аналогичен формату регистра температуры. Начальное значение равно 80°C. 

Регистр нижнего предела (гистерезис) (THYS) 

16-разрядный регистр, используемый для задания зоны нечувствительности, необходимой в режиме компаратора. Формат регистра аналогичен формату регистра температуры. Значение после подачи питания 75°C.

Еще по теме:

Полупроводниковые датчики температуры

Преобразование кода цифровых датчиков температуры

Источник: http://uc.org.ru/node/45

Простой цифровой термометр своими руками с датчиком на LM35

Для изготовления этого простого цифрового термометра необходим температурный датчик LM35, цифровой вольтметр (любой недорогой китайский цифровой мультиметр), два маломощных диода, один резистор и несколько батареек (либо элемент типа «Крона»). Из этих компонентов можно быстро собрать простой цифровой многофункциональный термометр с диапазоном температур от -40 до +150 градусов Цельсия. Для измерения только положительных температур диоды и резистор не нужны.

Точность измерения температуры 0,1 градуса Цельсия, т.е. термодатчик для многих применений можно назвать прецизионным.

Для этого универсального цифрового термометра использованы полупроводниковые датчики температуры LM35DZ/NOPB для температуры от 0 до +100°C и LM35CZ/NOPB для температуры от -40 до +110°С в корпусах TO-92.

В datasheets некоторых производителей LM35 указана верхняя измеряемая температура +150 градусов Цельсия.

Термометр для измерения положительных температур

Такой электронный измеритель температуры можно быстро сделать своими руками. Достаточно подключить Крону (или три пальчиковые батарейки, соединенные последовательно) к датчику, а датчик к вольтметру, как показано на рисунке – и термометр готов. Датчик потребляет от источника питания ток не более 10 мкА, поэтому батарейку можно не отключать длительное время.

Схема подключения LM35 для измерения плюсовой температуры и «распиновка» датчика

Диапазон использования такого цифрового датчика очень широк: – термометр комнатный – термометр уличный – термометр для воды и других жидкостей – термометр для инкубатора – термометр для бани и сауны – термометр для аквариума -термометр для холодильника – термометр для автомобиля

– цифровой многоканальный термометр и т.д.

Термометр уличный электронный

Схема цифрового термометра для измерения температуры от минус 40 до плюс 110 градусов Цельсия с однополярным источником питания. Диоды маломощные кремниевые – КД509, КД521 и т.д. Диапазон измерения тестера надо устанавливать на 2 вольта (2000 мВ), последняя цифра будет показывать десятые доли градуса, ее следует отделить точкой.

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

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

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

Схема электронного термометра с двумя датчиками

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

Этот прибор показывает уличную температуру, датчик висит за закрытой форточкой. Время на сборку заняло 30-40 минут.

Так выглядит прибор сзади. Собран градусник по схеме с одним источником питания, двумя диодами и резистором. Поскольку отрицательное смещение на диодах составляет порядка 2-х вольт, а минимальное напряжение питания датчика 4 вольта, в качестве БП использованы спаянные последовательно 5 батареек ААА. Датчики припаяны к неэкранированным проводам длиной 2,5 метра.

На этом фото показаны два термометра. Датчик первого размещен в холодильной камере, а второго – в морозильной камере этого же холодильника. Точка на индикаторе мультиметра нарисована черным маркером.

Измерил температуру своего тела – полный порядок. Подключил точно такой же другой прибор (без точки на индикаторе) к этому же датчику и огорчился, прибор «врет» в большую сторону на 0,2 градуса. В кипящей воде не пробовал: не готовы герметичные щупы. Перед замерами батарейки в обоих приборах заменил на одинаковые новые.

На основе этого термодатчика можно сделать простой регулятор температуры, добавив компаратор с регулируемым или фиксированным порогом срабатывания и силовой ключ (оптосимистор, реле …), который будет включать нагреватель. Для построения термостата (инкубатора, например) такая схема не пойдет, LM35 необходимо подключать к устройству с функцией ПИД-регулятора, например, ТРМ210.

  • Напряжение на светодиоде
  • Схема светодиодной лампы на 220в
  • Лампа ЭРА А65 13Вт
  • Как паять светодиодную ленту
  • Светодиодная лента на 220 в
  • Простое зарядное устройство
  • Разрядное устройство для автомобильного аккумулятора
  • Схема драйвера светодиодов на 220
  • Подсветка для кухни из ленты
  • Подсветка рабочей зоны кухни
  • LED лампа Selecta g9 220v 5w
  • Светодиодная лампа ASD LED-A60
  • Общедомовой учет тепла
  • Схема диодной лампы 5 Вт 220в
  • Источник: http://firstelectro.ru/term.html

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}