Как правильно подключить датчик температуры LM35 к Arduino. Какие ошибки могут возникнуть при подключении LM35. Как написать код для считывания показаний с LM35 на Arduino. Как откалибровать датчик LM35 для точных измерений температуры.
Особенности датчика температуры LM35
Датчик LM35 является популярным выбором для измерения температуры с помощью Arduino благодаря следующим характеристикам:
- Диапазон измерения температуры: от -55°C до +150°C
- Точность: ±0.5°C при комнатной температуре
- Линейная зависимость выходного напряжения от температуры: 10 мВ/°C
- Низкое энергопотребление: менее 60 мкА
- Простое подключение по трем выводам
Эти характеристики делают LM35 отличным выбором для любительских и учебных проектов по измерению температуры. Однако для корректной работы датчика с Arduino необходимо учитывать некоторые нюансы подключения и калибровки.
Схема подключения LM35 к Arduino
Правильное подключение LM35 к Arduino критически важно для получения точных показаний. Вот пошаговая инструкция:
- Подключите вывод VCC датчика LM35 к выводу 5V Arduino
- Подключите вывод GND датчика к выводу GND Arduino
- Подключите центральный вывод (OUTPUT) датчика к аналоговому входу A0 Arduino
- Добавьте конденсатор 0.1 мкФ между VCC и GND датчика для стабилизации питания
- Добавьте RC-фильтр между выходом датчика и аналоговым входом Arduino:
- Резистор 75 Ом последовательно с выходом датчика
- Конденсатор 0.22 мкФ между выходом датчика и GND
Эта схема обеспечивает стабильное питание датчика и фильтрацию помех, что критически важно для точных измерений.
Типичные ошибки при подключении LM35
При работе с датчиком LM35 новички часто допускают следующие ошибки:
- Неправильное определение выводов датчика. Важно помнить: глядя на плоскую сторону LM35, слева направо идут выводы VCC, OUTPUT, GND.
- Отсутствие фильтрующих конденсаторов, что приводит к нестабильным показаниям.
- Использование длинных проводов без экранирования, что вызывает наводки.
- Подключение датчика напрямую к 3.3В выводу Arduino вместо 5В.
Избегая этих ошибок, вы значительно повысите точность и стабильность измерений температуры.
Код для Arduino: считывание показаний с LM35
Вот базовый код для считывания температуры с датчика LM35:
«`cpp const int sensorPin = A0; const float referenceVoltage = 1.1; // Используем внутреннее опорное напряжение Arduino void setup() { Serial.begin(9600); analogReference(INTERNAL); // Устанавливаем внутреннее опорное напряжение } void loop() { int sensorValue = analogRead(sensorPin); float voltage = sensorValue * (referenceVoltage / 1023.0); float temperatureC = voltage * 100.0; // LM35 выдает 10мВ на градус Цельсия Serial.print(«Температура: «); Serial.print(temperatureC); Serial.println(» °C»); delay(1000); // Пауза в 1 секунду между измерениями } «`Калибровка датчика LM35 для повышения точности
Для повышения точности измерений с LM35 рекомендуется выполнить калибровку. Вот простой метод калибровки:
- Измерьте температуру в помещении с помощью точного термометра.
- Запишите показания вашего датчика LM35 при той же температуре.
- Вычислите коэффициент коррекции: (реальная температура) / (показания LM35).
- Умножайте все последующие показания LM35 на этот коэффициент.
Вот пример кода с учетом калибровки:
«`cpp const int sensorPin = A0; const float referenceVoltage = 1.1; const float calibrationFactor = 1.02; // Пример коэффициента калибровки void setup() { Serial.begin(9600); analogReference(INTERNAL); } void loop() { int sensorValue = analogRead(sensorPin); float voltage = sensorValue * (referenceVoltage / 1023.0); float temperatureC = voltage * 100.0 * calibrationFactor; Serial.print(«Откалиброванная температура: «); Serial.print(temperatureC); Serial.println(» °C»); delay(1000); } «`Регулярная калибровка поможет компенсировать отклонения, вызванные особенностями конкретного экземпляра датчика и условиями эксплуатации.
Улучшение стабильности показаний LM35
Для повышения стабильности показаний LM35 можно использовать следующие методы:
- Усреднение нескольких последовательных измерений
- Использование медианного фильтра для устранения выбросов
- Применение программного фильтра низких частот
Вот пример кода, реализующего усреднение измерений:
«`cpp const int sensorPin = A0; const float referenceVoltage = 1.1; const float calibrationFactor = 1.02; const int numReadings = 10; void setup() { Serial.begin(9600); analogReference(INTERNAL); } void loop() { float sum = 0; for(int i = 0; i < numReadings; i++) { int sensorValue = analogRead(sensorPin); float voltage = sensorValue * (referenceVoltage / 1023.0); float temperatureC = voltage * 100.0 * calibrationFactor; sum += temperatureC; delay(10); } float averageTemperature = sum / numReadings; Serial.print("Средняя температура: "); Serial.print(averageTemperature); Serial.println(" °C"); delay(1000); } ```Этот метод позволяет сгладить случайные колебания и получить более стабильные показания температуры.
Расширенные возможности использования LM35
Датчик LM35 можно использовать не только для простого измерения температуры, но и для более сложных задач:
- Создание системы контроля температуры с сигнализацией при выходе за установленные пределы
- Интеграция с другими датчиками для создания метеостанции
- Использование нескольких датчиков LM35 для измерения градиента температуры
- Подключение к Wi-Fi модулю для отправки данных в облако
Вот пример кода для системы контроля температуры с сигнализацией:
«`cpp const int sensorPin = A0; const int alarmPin = 13; const float referenceVoltage = 1.1; const float calibrationFactor = 1.02; const float maxTemp = 30.0; // Максимально допустимая температура void setup() { Serial.begin(9600); analogReference(INTERNAL); pinMode(alarmPin, OUTPUT); } void loop() { int sensorValue = analogRead(sensorPin); float voltage = sensorValue * (referenceVoltage / 1023.0); float temperatureC = voltage * 100.0 * calibrationFactor; Serial.print(«Температура: «); Serial.print(temperatureC); Serial.println(» °C»); if(temperatureC >Этот код активирует сигнал тревоги (например, светодиод на пине 13), когда температура превышает заданный порог.
Заключение и рекомендации
Датчик температуры LM35 является мощным и гибким инструментом для измерения температуры в проектах с Arduino. Ключевые моменты для успешной работы с LM35:
- Правильное подключение с учетом фильтрации помех
- Использование внутреннего опорного напряжения Arduino для повышения точности
- Калибровка датчика для компенсации индивидуальных отклонений
- Применение методов усреднения и фильтрации для стабилизации показаний
- Творческий подход к использованию датчика в различных проектах
Следуя этим рекомендациям, вы сможете максимально эффективно использовать возможности датчика LM35 в ваших проектах на базе Arduino.
Датчик температуры 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 | К.
Д. ReimerДля заявленной работы требуется более трех проводов.
Пересмотренная схема LM35 на макетной плате с Arduino Uno в фоновом режиме. Изображение К.Д. Реймер.Поиск в Интернете датчика температуры для подключения к плате микроконтроллера Arduino выдает LM35DZ (или сокращенно LM35). Недорогой однопроводной датчик температуры от National Semiconductor. В каждой статье с практическими рекомендациями есть схема или изображение трех проводов — питания, выхода и земли, — которые соединяют датчик на макетной плате с Arduino. Небольшой код копирования и вставки, загруженный в Arduino, позволяет измерять комнатную температуру.
Изображение из «Показания температуры в помещении с помощью датчика LM35» от Rastating.За исключением одной маленькой проблемы — эта простая схема не работает.
После того, как я подключил три перемычки от LM35 на макетной плате к контактам 5V, A5 и GND на Arduino и загрузил код для отображения температуры каждую секунду в последовательную консоль, числа чередовались между нулями и случайными числами. . Число, которое я ожидал увидеть, было 28°C градусов, температура окружающей среды для моего домашнего офиса.
Нули и случайные числа от LM35 тремя проводами к Arduino. Изображение К.Д. Реймер.После прочтения многочисленных комментариев о том, что схема не работает, и множества плохих советов о том, как это исправить, я наткнулся на комментарий, в котором указывалась реальная проблема: все эти статьи с практическими рекомендациями были не чем иным, как копированием и вставкой. наживка для сайтов.
LM35 с тремя проводами, вероятно, работал на ранних платах Arduino много лет назад. (LM35 вышел в 1999 году, а первый Arduino вышел в 2006 году.) Никто не тестировал схему на более новых платах Arduino, чтобы убедиться, что она все еще работает. Обновление статей с практическими рекомендациями избавит вас от простоты измерения комнатной температуры с помощью датчика и трех проводов.
Что сегодня нужно, чтобы LM35 работал с Arduino?
Первым делом я проверил правильность подключения LM35 к Arduino.
Изображение из Instructables.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 – принципиальная схема
Принципиальная схема проекта проста. Аналоговый контакт A0 Arduino Uno используется как входной контакт. Подключите к нему контакт аналогового выхода LM35. Подайте +5 вольт на контакт Vcc LM35 и заземлите контакт Gnd. В циклической функции я постоянно измеряю температуру, а затем печатаю температуру на ЖК-дисплее 16×2 символа. Я также преобразовал температуру по Цельсию в градусы Фаренгейта по формуле, с которой, я думаю, вы все знакомы (температура C) * 9.0 / 5.0) + 32.0, затем я снова печатаю температуру в градусах Фаренгейта на ЖК-дисплее 16×2. LCD 16×2 сопрягается в 4-битном режиме с arduino. Вы можете увидеть принципиальную схему проекта ниже.
Примечание: Для измерения температуры я использовал типы данных с плавающей запятой для точного измерения температуры в десятичной форме.
Датчик температуры Lm35 ЖК-дисплей 16×2 с Arduino Uno — измерение температуры
В первом ряду ЖК-дисплея 16×2 отображается температура в градусах Цельсия или шкале Цельсия, а во втором ряду ЖК-дисплея 16×2 отображается температура в шкале Фаренгейта.