Датчик температуры LM35 Arduino
Датчик температуры LM35 ArduinoКонтакты Заказать звонок Написать письмо Оптовикам Статьи
36
2016
Описание
LM35 это прецизионный интегральный датчик температуры с широким диапазоном температур, высокой точностью измерения, калиброванным выходом по напряжению. Именно эти качества определили популярность датчика. LM35 не полный аналог датчика температуры TMP35 компании Analog Devices. Серия датчиков TMP35, TMP36, TMP37 этой фирмы имеет другие параметры, другие схемы подключения. LM35 обеспечивает измерение температуры с точностью ±0.25 °C в комнатных условиях и с точностью ±0.75 °C в полном диапазоне рабочих температур -55 … +150 °C, без внешней калибровки или подгонки выходного напряжения. Низкая цена датчика объясняется подгонкой и калибровкой датчиков на этапе изготовления.
Низкое выходное сопротивление, линейное значение выходного напряжения и прецизионная калибровка делают датчик LM35 крайне удобным для подключения к измерительным цепям. Датчик может использоваться как с однополярным напряжением питания, так и с двух полярным. В связи с тем, что датчик потребляет ток только 60 мкА, у него очень низкий уровень собственного разогрева, менее 0.1 °C при неподвижном воздухе. Датчик LM35 допускает работу в диапазоне температур -55 … +150 °C, LM35C работает в диапазоне -40 … +110 °C (от -10 °C с улучшенной точностью). LM35 выпускается в корпусе TO-46, датчики LM35C, LM35CA и LM35D – в корпусе TO-92. Для LM35D возможны также исполнения в корпусах SO-8 и TO-220.
Технические характеристики
Значение температуры калибровано в шкале Цельсия
Линейное значение напряжения на выходе с коэффициентом 10 мВ/ °C
Гарантирована точность 0.5 °C (при 25 °C)
Параметры нормированы для полного диапазона температур -55 … +150 °C
Удобны для использования в устройствах с удаленным подключением датчиков
Работает в широком диапазоне напряжения питания 4 – 30 В
Потребляемый ток менее 60 мкА
Низкий уровень собственного разогрева – 0. 08 °C при неподвижном воздухе
Нелинейность только ±0.25 °C
Низкое выходное сопротивление – 0.1 Ом, при токе нагрузки 1 мА
Дополнительно
Объект детекции | Температура |
Страна регистрации бренда | Китай |
Страна-производитель товара | Китай |
Тип | Проводные |
Накладной |
Комментарии
0Пока не было комментариев.
Прокомментировать
Для покупки регистрация не обязательна! Если хотите сделать заказ, — просто добавьте нужные вам товары в корзину, укажите свои данные и нажмите кнопку «Оформить заказ». Мы свяжемся с вами в ближайшее время. Оплата — перевод на карту-ключ счета ПБ — онлайн без комиссии картой любого банка (LiqPay) — безналичный расчет без НДС для юридических лиц — наличными или картой при доставке (только Новой Почтой при заказе от 100 грн) — наличными или через терминал в нас в магазине Нашли дешевле? Напишите нам об этом в чат — кнопка в левом нижнем углу экрана. В сообщении укажите ссылку на активную страницу такого же товара в украинском интернет-магазине и мы пересмотрим цену. Доставка — Новая Почта — Укрпочта (только при предоплате) — Самовывоз (можете также вызвать курьера Глово по Ивано-Франковску) Отправка товара происходит каждый рабочий день. Гарантия и возврат — возврат в течение 14 дней, если товар не подошел — гарантия от 6 месяцев на товары собственного изготовления |
Lm35 подключение к ардуино
В этом уроке мы покажем вам, как можно сделать простой термометр на Arduino, используя обычный ЖК-дисплей 16×2 и датчик температуры LM35.
Значения будут преобразованы в градусы Цельсия и Фаренгейта. Все комплектующие для проекта можно найти на АлиЭкспресс или, например, на Амперке.
Шаг 1. Необходимые детали
Для сборки нашего Ардуино термометра нам понадобится ряд деталей, которые мы можем найти на любых интернет-магазинах:
- 1 x Arduino UNO (может быть любая плата Arduino)
- 1 х макет
- 1 x USB-кабель
- 1 x 16×2 ЖК-дисплей
- 1 датчик температуры LM35
- 1 x 10k Потенциометр
- 1 x 220 Ом резистор
- 1 x 9 В Батарея и зажим (опционально для большей мобильности)
- 18 проводов перемычек
Шаг 2.

Вставьте ЖК-дисплей, потенциометр и LM35 в макет. Их расположение не имеет значения, поместите их так, как вам нравится.
Шаг 3. Подключение ЖК-дисплея
Это самая сложная часть — теперь вам нужно сделать большую часть соединений. Они заключаются в следующем:
- LCD Pin → Arduino Pin
- 4 → 12
- 6 → 11
- 11 → 5
- 12 → 4
- 13 → 3
- 14 → 2
- LCD Pin → Контакт макетной платы
- 1,5,16 → GND (Земля)
- 2 → 5 В
- 15 → 5 В (используя резистор на 220 Ом!)
Шаг 4. Подключение потенциометра и LM35
Здесь соединения следующие:
Потенциометр
Одна из сторон идет к GND (Земля), противоположная — к питанию 5 В. Средний контакт подключается к контакту 3 ЖК-дисплея
LM35
См. Рисунок выше.
Шаг 5. Загрузка кода
После подключения всего, подключите Arduino к компьютеру и загрузите код, который ниже. Добавлены несколько комментариев, чтобы объяснить некоторые части кода.
Шаг 6. Заключение
Наслаждайтесь термометром который вы сделали своими руками. Не стесняйтесь изменять код по своему вкусу и улучшать проект, добавляя больше датчиков и прочее.
LM35 — Прецизионный аналоговый датчик температуры, на выходе которого формируется напряжение пропорционально температуре по шкале Цельсия.
Характеристики датчика:
- Диапазон температур: − 55°C … 150°C ±0.5 при 25°C, доступный 0°C … 110°C
- Разрешение: 10.0 mV/°C
- Напряжение на выходе при 25°C: 250мВ.
- Напряжение питания: от 4.0 В до 30 В.
Особенности работы с датчиком:
На выходе датчика формируется напряжение пропорционально температуре по шкале Цельсия, величина напряжения 10.0 mV на 1°C, то есть, если температура датчика 25°C на выходе датчика будет 250mV. С этим связаны сложности при работе с Arduino.- Не возможно измерение отрицательных температур, 0°C это 0 вольт на выходе датчика, чтобы измерять весь диапазон нужно подавать отрицательное напряжение, но даже если оно будет подано, встроенный аналого-цифровой преобразователь в Arduino не может измерять отрицательное напряжение.
- Низкое разрешение встроенного АЦП Arduino и нестабильность опорного напряжения в случаи использования в качестве опорного напряжение питания 5 вольт. Решается использованием встроенного в Arduino UNO источника опорного напряжения 1.1 вольт, в этом случаи верхний придел температур, которые могут быть измерены, 110°C
При использовании датчика с Arduino UNO, доступный диапазон температур 0°C … 110°C.
Схема подключения датчика:
Датчик аналоговый и соответственно подключать его нужно на аналоговый вход Arduino, в данном случаи подключен на вход А0. Дополнительные библиотеки для Arduino не требуются, просто загружаем код ниже.
Открываем «монитор порта» и видим точные показания температуры с высоким разрешением.
Видео:
Еще один полезный прибор, который часто используется в современных устройствах — это датчик температуры. Даже в вашем компьютере есть сразу несколько датчиков температуры, с помощью которых система следит за перегревом ключевых компонентов — процессора, видеокарты, блока питания, и прочих узлов. Самый же популярный пример использования датчика температуры дома — термостат. Это устройство, которое постоянно следит за температурой воздуха, и регулирует подачу энергии в систему отопления. Смежный пример — котел для нагрева воды.
В нашем уроке мы используем датчик TMP35. Вместо него можно использовать любой другой похожий датчик: TMP35, TMP37, LM35, LM335 и подобные. Выглядит датчик как обычный транзистор:
Можно легко спутать, так что рекомендую всегда внимательно читать маркировку на таких устройствах (да и вообще сначала всегда читайте, потом подключайте :). Конкретно этот датчик имеет следующие характеристики:
- напряжение питания: от 2,7 до 5,5 В;
- погрешность: 2 градуса;
- измеряемая температура: от 10°C до 125°C
- потребляемый ток: 50 мкА.
Подключение
Датчик TMP35 имеет три вывода (три ноги). Если посмотреть на датчик со стороны этих выводов и срезом вверх, как показано на рисунке,
то слева будет — положительный контакт питания (+2. 7 — 5.5В),
по центру — выход на контроллер,
и справа — отрицательный контакт питания (земля).
Датчик аналоговый, а значит на его выходе мы имеем не 0 или 1, а напряжение в диапазоне от 0 до 5 вольт. Следовательно, мы должны вспомнить раздел про аналого-цифровое преобразование (АЦП) сигналов в Arduino. Держа в уме, что у Ардуино Уно есть шесть аналоговых входов (A0-A5), подключаем наш датчик по следующей схеме:
Внешний вид макетаПринципиальная схема
Вот так должна выглядеть собранная схема.
Программа
Подключив датчик температуры к Ардуино, начинаем писать программу. Первое что мы сделаем, это выведем необработанный сигнал с аналогового входа в последовательный порт, для того чтобы просто понять, как меняется значение на входе A0. Нам понадобится простая программа:
Внимание, математика! В программе можно заметить выражение:
Оно необходимо для того, чтобы преобразовать аналоговый сигнал датчика в градусы Цельсия. Дело тут вот в чем. Все аналоговые датчики имеют важную характеристику — отношение количества вольт к единице измеряемой величины. Например, в спецификации к нашему датчику tmp35 написано, что каждый градус измеряемой температуры, соответствует 10 милливольтам напряжения на выходе. Исходя из этих рассуждений, прочитанное с помощью analogRead значение мы сначала преобразуем к количеству Вольт:
Такая процедура называется нормировкой. Здесь 1023 — максимальное значение, которое может вернуть нам 10-битный АЦП, встроенный в Ардуино Уно.
5 — рабочее напряжение АЦП.
Затем преобразуем эти вольты в градусы Цельсия:
Превращаем вольты в милливольты (*1000), и делим на 10 ( то самое число из спецификации! ).
В общем, даже если ничего не понятно, загружаем программу на Ардуино и наблюдаем за температурой окружающего воздуха. Например, у нас в лаборатории датчик оценил температуру следующим образом:
Вполне себе правдивое значение. А теперь поднесем прибор к открытому окну (на улице зима -10°C):
Работает! Датчик незамедлительно регистрирует снижение температуры.
Теперь добавим в программу некое действие, которое будет совершаться если температура упадет ниже заданного нами порога. Пусть этот порог будет равен 15°C. Самое простое, что мы можем сделать — это зажигать на Ардуино штатный светодиод #13. Получается такая вот программа:
Кто-то забыл закрыть окно — температура резко опустилась ниже 15 — светодиод зажигается. Закрываем окно, активно дышим — светодиод гаснет. А теперь представьте, что вы зажигаете не светодиод, а подаете сигнал на реле, которое включает обогреватель в комнате. Получается готовый термостат!
Немного изменив программу можно отслеживать не понижение, а превышение заданного уровня. Например, удобно будет следить за температурой внутри, скажем, серверной, и при увеличении температуры до 40 градусов, включать вытяжку!
LM35: не очень простой датчик температуры для Arduino | К.

Для заявленной работы требуется более трех проводов.
Пересмотренная схема LM35 на макетной плате с Arduino Uno в фоновом режиме. Изображение К.Д. Реймер.Поиск в Интернете датчика температуры для подключения к плате микроконтроллера Arduino выдает LM35DZ (или сокращенно LM35). Недорогой однопроводной датчик температуры от National Semiconductor. В каждой статье с практическими рекомендациями есть схема или изображение трех проводов — питания, выхода и земли, — которые соединяют датчик на макетной плате с Arduino. Небольшой код копирования и вставки, загруженный в Arduino, позволяет измерять комнатную температуру.
Изображение из «Показания температуры в помещении с помощью датчика LM35» от Rastating.За исключением одной маленькой проблемы — эта простая схема не работает.
После того, как я подключил три перемычки от LM35 на макетной плате к контактам 5V, A5 и GND на Arduino и загрузил код для отображения температуры каждую секунду в последовательную консоль, числа чередовались между нулями и случайными числами. . Число, которое я ожидал увидеть, было 28°C градусов, температура окружающей среды для моего домашнего офиса.
После прочтения многочисленных комментариев о том, что схема не работает, и множества плохих советов о том, как это исправить, я наткнулся на комментарий, в котором указывалась реальная проблема: все эти статьи с практическими рекомендациями были не чем иным, как копированием и вставкой. наживка для сайтов.
LM35 с тремя проводами, вероятно, работал на ранних платах Arduino много лет назад. (LM35 вышел в 1999 году, а первый Arduino вышел в 2006 году.) Никто не тестировал схему на более новых платах Arduino, чтобы убедиться, что она все еще работает. Обновление статей с практическими рекомендациями избавит вас от простоты измерения комнатной температуры с помощью датчика и трех проводов.
Что сегодня нужно, чтобы LM35 работал с Arduino?
Первым делом я проверил правильность подключения LM35 к Arduino.
LM35DZ поставляется в корпусе TO-92, подобно транзистору. Пластиковый корпус цилиндра с одной плоской стороной и тремя штифтами, торчащими снизу. Подключить питание и землю в обратном порядке довольно просто. Лучший способ запомнить распиновку — посмотреть на плоскую сторону LM35: левый контакт — питание, центральный — выход, а правый — заземление.
В моей схеме правильно подключен LM35.
Два других LM35, которые у меня были, тоже вели себя так же, когда я включил их в схему. С моим мультиметром, настроенным на милливольты, и положительным наконечником щупа на выводе, все три имели прыгающие напряжения. Это не проблема программного обеспечения. Чего-то не хватало в схеме.
Три распространенные причины, по которым простая схема для LM35 не работает.
Китайские подделки с eBay
Покупая электронные компоненты на eBay, всегда есть риск приобретения китайских подделок. Вот почему я никогда ничего не покупаю на eBay. Если что-то выглядит слишком хорошо, чтобы быть правдой, возможно, это подделка.
Я покупаю все свои электронные детали у Jameco Electronics, компании из района залива Сан-Франциско, с которой я сотрудничаю в течение многих лет. Хотя возможно, что контрафактные детали могут попасть в их цепочку поставок, я считаю это маловероятным.
Несколько проблем, которые у меня были с компонентами, возникли из-за моей собственной глупости, например, подключение питания и земли к неправильным контактам. Я всегда покупаю дополнительные компоненты — много, если недорого, несколько, если дорого — на случай, если что-то лопнет и пойдет сизый дым.
Ненадежное питание через USB-кабель
Когда Arduino получает 5 В постоянного тока от USB-кабеля, не каждый компьютер может обеспечить надежное питание для каждого USB-порта. Любые изменения мощности могут повлиять на то, как Arduino работает внутри себя и во внешних схемах.
Блок питания постоянного тока от 7 до 12 В, подключенный к цилиндрическому разъему, или аккумулятор, подключенный к контактам VIN и GRN, может питать Arduino. Любой из них отключит питание от USB-кабеля и будет использовать встроенные регуляторы мощности для получения 3,3 В и 5 В постоянного тока.
Я подключил свой Arduino Uno к USB-концентратору с питанием, который обеспечивает полную мощность для каждого порта, а также провел испытания с настенной розеткой 9 В постоянного тока, подключенной к разъему цилиндра. Я не заметил каких-либо измеримых различий между ними.
Трех проводов было недостаточно
Множество плохих советов о том, какие дополнительные компоненты нужны для работы LM35 с Arduino, кажутся правилом, а не исключением. Именно здесь становится полезным техническое описание LM35, в котором представлены другие примеры схем в дополнение к простой схеме. В частности, LM35 с демпферной цепью RC.
Изображение из таблицы данных LM35 (Texas Instruments) Предполагается, что LM35 представляет собой удаленный датчик на конце коаксиального кабеля (один провод с заземленным экраном). Один из способов помешать кабелю действовать как антенна, мешающая датчику, — добавить резисторно-конденсаторный (RC) демпфер между выходом и землей. Шунтирующий конденсатор между питанием и землей устраняет нежелательные электромагнитные помехи (EMI).
Добавление этих трех компонентов закрепило LM35 в качестве датчика температуры для Arduino.
Просмотрев так много статей с практическими рекомендациями, я остановился на «Считывании температуры в помещении с помощью датчика LM35» путем растирования в качестве основы для моего собственного проекта. Он ясно объясняет, как работает LM35, использует внутреннее опорное напряжение Arduino для большей точности, а код копирования и вставки работает без изменений с исправленной схемой.
Я добавил демпфер RC с резистором 75 Ом и танталовым конденсатором 0,22 мкФ, а также шунтирующий конденсатор 0,1 мкФ, чтобы изменить простую схему.
В техническом паспорте указан конденсатор емкостью 0,2 мкФ или 1 мкФ в резистивно-емкостном демпфере. Как мне указала служба поддержки Jameco, 0,2 мкФ уже много лет не является стандартным значением. Ближайшее стандартное значение было 0,22 мкФ, и Jameco использовала это значение как танталовые конденсаторы. (Поскольку они стоят в два раза дороже керамических дисковых конденсаторов, я купил 20 вместо 100.) Я выбрал 0,22 мкФ, поскольку 1 мкФ вообще не работал (последовательная консоль сообщала об нуле каждую секунду).
LM35 в переработанной схеме требует несколько минут, чтобы цифры успокоились, а затем последовательно отображали комнатную температуру на последовательной консоли.
Изменена схема LM35, сообщающая о комнатной температуре. Изображение К.Д. Реймер.Если я прикоснусь к LM35 большим и указательным пальцами, цифры подскочат до 42°C, пока я не отпущу, а затем медленно стабилизируются до комнатной температуры.
Пересмотренная схема LM35, сообщающая о скачке температуры. Изображение К.Д. Реймер.LM35 теперь работает, как заявлено, хотя и с несколькими дополнительными компонентами, с Arduino.
Измерение комнатной температуры с помощью датчика температуры LM35 с Arduino
EG Projects
Измерить температуру помещения с помощью Arduino очень просто, используя любой доступный на рынке коммерческий датчик температуры. Я собираюсь измерить температуру с помощью недорогого и эффективного датчика температуры с аналоговым выходом lm35 с Arduino. Для этого урока нам понадобится плата Arduino (Uno, Maga, Lenardo и т. д.) и датчик температуры Lm35. Lm35 — это старейший датчик температуры с аналоговым выходом, все еще работающий и доступный на рынке. Некоторые другие старые аналоговые датчики температуры, такие как TMP36, также доступны на рынке, но они не популярны среди студентов, любителей и создателей электронных проектов. Я подготовил хороший учебник по распиновке Lm35, в котором рассказывается о его внутренней структуре и работе. Я также вывел формулу измерения температуры для датчика температуры lm35. Я предлагаю вам пройти это руководство, если вы новичок и мало знаете о датчике температуры lm35. Это поможет вам понять код ниже.
- Lm35 Распиновка, работа, формула измерения температуры и внутренняя структура.
16×2 ЖК-дисплей, отображающий значение температуры lm35 с Arduino Uno
Lm35 Датчик температуры работает
LM-35 Измерение температуры в помещении
Выходное напряжение Lm35 пропорционально температуре по Цельсию/градусам Цельсия. Разрешение Lm35 по Цельсию/градусу Цельсия составляет 10 милливольт. 10 милливольт представляют один градус Цельсия/градус Цельсия. Таким образом, если Lm35 выдает 100 милливольт, эквивалентная температура в градусах Цельсия/Цельсия будет 100/10 = 10 градусов Цельсия/Цельсия. Lm35 может измерять от -50 градусов по Цельсию/по Цельсию до 150 градусов по Цельсию/по Цельсию.
Аналоговый контакт Arduino используется для считывания аналоговых выходных сигналов с датчика. Принципиальная схема проекта приведена ниже. На контакт № 1 Lm35 подайте 5 В, заземлите контакт № 2, а третий, средний контакт, является выходным контактом. Он дает сигнал напряжения, который на самом деле является температурой конкретного места.
Примечание. LM35 — датчик абсолютной температуры. Он может измерять температуру окружающей среды только в диапазоне от 100 до 500 футов. Поэтому, если вы используете Интернет и сопоставляете свои показания температуры с теми, которые указаны для вашего города на сайте прогнозов погоды, то ваши показания не будут такими же, как у них. Это будет близко, но не то же самое.
Преобразование напряжения датчика температуры Lm35 в температуру
Теперь одним из самых сложных моментов является преобразование напряжения, генерируемого/выводимого датчиком lm35 на выходе, в шкалы Цельсия или Фаренгейта. Для этого вам нужно сначала просмотреть лист технических данных датчика температуры и узнать о характеристиках датчика.
Основная суть из техпаспорта: LM35 Температура на выходе в градусе Цельсия. Он увеличивает выходной сигнал на 1 при изменении температуры на каждые 10 мВ.- когда датчик выдает напряжение 500 мВ, температура в градусах Цельсия составляет 50 градусов по Цельсию.
- Для выходной температуры 400 мВ в градусах Цельсия составляет 40 градусов по Цельсию.
- Для 600 мВ температура составляет 60 градусов Цельсия.
Теперь разрешение Lm35 и его характеристики позволяют вывести формулу для преобразования исходного выходного напряжения Lm35 в температуру по Цельсию/по Цельсию.
- Аналоговые контакты Arduino могут измерять до +5 вольт ИЛИ напряжение, при котором он работает нормально +5 вольт.
- Разрешение аналогового вывода Arduino составляет 1023, начиная с 0. При входе +5 вольт оно достигает 1023.
Максимальное выходное напряжение - Lm35 составляет 1500 мВ (при 150 градусах Цельсия). 1500 мВ равно 1500/1000 = 1,5 вольта. Итак, Lm35 на макс выдает 1,5 напряжения.
- Количество аналоговых выводов Arduino для 1,5 вольт равно (1,5 / 5) * 1023 = 307,5. При +5 вольт 1023, а при 1,5 вольт 307,5.
- Новое разрешение Arduino-Lm35 = 307,5/150 = 2,048. Теперь, если аналоговый вывод Arduino считает 2,048, это равно 1 градусу изменения температуры по Цельсию / Цельсию LM35.
Та же самая вышеприведенная формула/уравнение есть в коде и работает отлично.
LM35 с Arduino – измерение комнатной температуры
Arduino uno измерение температуры с помощью датчика температуры Lm35 – принципиальная схема
Принципиальная схема проекта проста.
Примечание: Для измерения температуры я использовал типы данных с плавающей запятой для точного измерения температуры в десятичной форме.
Датчик температуры Lm35 ЖК-дисплей 16×2 с Arduino Uno — измерение температуры
В первом ряду ЖК-дисплея 16×2 отображается температура в градусах Цельсия или шкале Цельсия, а во втором ряду ЖК-дисплея 16×2 отображается температура в шкале Фаренгейта.