Измерение температуры терморезистором NTC

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Измерение температуры терморезистором NTC

#1

Сообщение RedSky » 07.01.2018{, 23:53}

Вычисление температуры по упрощённому уравнению Стейнхарта-Харта (учитывается только коэфициент В ).
Только для AVR контроллеров, в качестве опорного в АЦП используется напряжение питания (для ардуино ничего менять не надо).
Вход: in - значение от аналогового входа.
Выходы: T - температура.
Err - неисправность датчика (обрыв или кз).
Параметры пользователя:
B - коэфициент из даташита (при 25/100С).
Ra - сопротивление нижнего плеча делителя, кОм (см. схему).
R25 - сопротивление при 25С, кОм, из даташита.
Значения вводить с десятичной точкой, даже если они целые.
NTC подключается между плюсом питания и входом ардуино. Ra подключается между входом ардуино и минусом.

На большую точность измерений данный блок не претендует - погрешность в диапазоне 0-100С 1-2 градуса. Для устранения наводок желательно включить между входом контроллера и землёй ёмкость 0,1-1 мкф, можно также
использовать программный RC фильтр, при этом нет необходимости использовать экранированный кабель.
Схема подключения датчика в архиве.
NTC.zip
(7.85 КБ) 494 скачивания
Обновил блок для 7й версии (в новом редакторе). Теперь можно без проблем использовать любое количество блоков в проекте (терморезисторы должны быть одинаковыми). Пересчёт сопротивления в температуру упрятал в функцию для экономии памяти. У брал выход ошибки т. к. особого смысла кроме расхода памяти в нём нет (то же делается отсечкой аномальных значений). Добавил выбор разрешения АЦП (для разных контроллеров). В остальном без изменений.
NTC_new_(Code_-_Professional).ubi
(70.78 КБ) 266 скачиваний
Последний раз редактировалось RedSky 21.03.2022{, 21:41}, всего редактировалось 5 раз.

Pelletizer
Рядовой
Сообщения: 91
Зарегистрирован: 12.09.2019{, 07:10}
Репутация: 5
Имя: Дмитрий

Измерение температуры терморезистором NTC

#2

Сообщение Pelletizer » 21.03.2022{, 21:01}

RedSky писал(а):
07.01.2018{, 23:53}
Вычисление температуры по упрощённому уравнению Стейнхарта-Харта (учитывается только коэфициент В ).
Вход: in - значение от аналогового входа.
Выходы: T - температура.
Err - неисправность датчика (обрыв или кз).
Параметры пользователя:
B - коэфициент из даташита (при 25/100С).
Ra - сопротивление нижнего плеча делителя, кОм (см. схему).
R25 - сопротивление при 25С, кОм, из даташита.
Значения вводить с десятичной точкой, даже если они целые.
NTC подключается между плюсом питания и входом ардуино. Ra подключается между входом ардуино и минусом.

На большую точность измерений данный блок не претендует - погрешность в диапазоне 0-100С 1-2 градуса. Для устранения наводок желательно включить между входом контроллера и землёй ёмкость 0,1-1 мкф, можно также
использовать программный RC фильтр, при этом нет необходимости использовать экранированный кабель.
Схема подключения датчика в архиве.
NTC.zip
Обновил блок для 7й версии (в новом редакторе). Теперь можно без проблем использовать любое количество блоков в проекте (терморезисторы должны быть одинаковыми). Пересчёт сопротивления в температуру упрятал в функцию для экономии памяти. У брал выход ошибки т. к. особого смысла кроме расхода памяти в нём нет (то же делается отсечкой аномальных значений). Добавил выбор разрешения АЦП (для разных контроллеров). В остальном без изменений.
NTC_new_(Code_-_Professional).ubi
Добрый вечер, блоки отлично работают, не подскажите как снять ограничение +125 градусов, после пересечения данного значения показывает -273, хотя у меня есть 3D принтер, который использует такой же датчик и он спокойно отображает +300

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

Измерение температуры терморезистором NTC

#3

Сообщение RedSky » 21.03.2022{, 21:38}

Ох, давно блок делал. Не помню всей математики. Добавочное сопротивление желательно использовать номиналом как NTC при рабочей температуре.
То есть к примеру NTC при 25 градусах 10 килоом, при 125 градусах 1 килоом. Значит и Ra нужно 1 килоом. Так гарантировано попадёте в диапазон АЦП.

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

Измерение температуры терморезистором NTC

#4

Сообщение VNL64T » 12.03.2024{, 04:09}

Доброго здоровья..
Возник вопрос ..
А зачем вообще устраивать делитель напряжения.
Почему бы не использовать просто напряжение аналогового входа полученного после термистора с известными данными ? (при подаче напряжения на термистор с стабилизатора допустим в 5В)
Создав карту сопоставления температура = напряжение после термистора на аналоговом входе..
или я что-то не понимаю.. Спасибо...
Последний раз редактировалось VNL64T 12.03.2024{, 04:22}, всего редактировалось 1 раз.

WildCat
Лейтенант
Сообщения: 425
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Измерение температуры терморезистором NTC

#5

Сообщение WildCat » 12.03.2024{, 04:13}

VNL64T писал(а):
12.03.2024{, 04:09}
или я что-то не понимаю..
Я не понял.
Каким образом без делителя измерить напряжение на термисторе?

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

Измерение температуры терморезистором NTC

#6

Сообщение VNL64T » 12.03.2024{, 04:26}

Да туплю.. спасибо..

Ответить

Вернуться в «Датчики и энкодеры»