блок измерения NTC

измерение температуры по таблице

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

блок измерения NTC

#1

Сообщение pan » 08.01.2018{, 15:54}

Изображение


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

Изображение
Вложения
myNTC_(CODE).ubi
(23.7 КБ) 483 скачивания
Последний раз редактировалось pan 08.01.2018{, 18:09}, всего редактировалось 3 раза.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

блок измерения NTC

#2

Сообщение AVGN » 08.01.2018{, 16:03}

Как вовремя. Мучаю как раз термистор. Хоч роботу приклячить реакцию на жар и холод.

Отправлено спустя 10 минут 1 секунду:
Вы с каким термистором тестили (сопротивление, "%")?
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

блок измерения NTC

#3

Сообщение pan » 08.01.2018{, 16:19}

любой термистор. пробовал и с 10ком и с 100ком

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

блок измерения NTC

#4

Сообщение AVGN » 08.01.2018{, 16:34}

У меня что то все 10к +/- 5%. Наверно грубый термометр получится.
Сижу с утра думаю как калибровать... проектик пилю для измерения сопротивления и падения напряжения на термисторе.
Все в монитор порта сбрасывать . Затем видимо в Ваш блок показания сопротивлений вставить.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

блок измерения NTC

#5

Сообщение pan » 08.01.2018{, 16:55}

AVGN писал(а):
08.01.2018{, 16:34}
как калибровать.
подключаете к Омметру, и измеряете сопротивление при этом замеряя температуру по возможности более точным термометром

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

блок измерения NTC

#6

Сообщение AVGN » 08.01.2018{, 17:10}

Попробую вот так
NTC test.JPG
Должно выглядеть вот так
NTC tes_icd.PNG
Вложения
NTC test R U блок_дисплей.flp
(124.64 КБ) 261 скачивание
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

блок измерения NTC

#7

Сообщение pan » 08.01.2018{, 17:16}

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

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

блок измерения NTC

#8

Сообщение belyx » 25.06.2018{, 19:35}

объясните почему в блоке NTC test R U _1 именно такая формула расчёта : R = (10230000/U) - 10000;
читал тут-тоже не понял

pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25.02.2018{, 17:56}
Репутация: 24
Имя: sonata

блок измерения NTC

#9

Сообщение pony sonata » 25.06.2018{, 20:33}

u - напряжение, 10000 величина резистора 10К, 10230000 наверн значение ацп 1023, умноженное на величину термистора 10000 (10к)

Отправлено спустя 2 минуты 46 секунд:
з.ы. не в обиду, но стремненькая статья

Отправлено спустя 2 минуты 42 секунды:
вот более удачная http://arduino-diy.com/arduino-thermistor

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

блок измерения NTC

#10

Сообщение pan » 26.06.2018{, 21:58}

belyx писал(а):
25.06.2018{, 19:35}
объясните почему в блоке NTC test R U _1
понятия не имею. это не мой блок. просто некоторые правила не читают..

o1eg
Рядовой
Сообщения: 13
Зарегистрирован: 19.03.2019{, 10:52}
Репутация: 0
Имя: Олег

блок измерения NTC

#11

Сообщение o1eg » 02.03.2020{, 09:20}

Подскажите пожалуйста новичку по блоку myNTC_(CODE), Uo - это +5v? а U - это аналоговый пин на ардуино?

Изображение
Последний раз редактировалось o1eg 02.03.2020{, 10:08}, всего редактировалось 1 раз.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

блок измерения NTC

#12

Сообщение Phazz » 02.03.2020{, 09:40}

Да

Brand2
Лейтенант
Сообщения: 414
Зарегистрирован: 26.02.2018{, 21:27}
Репутация: 41
Откуда: Haifa
Имя: Alex

блок измерения NTC

#13

Сообщение Brand2 » 02.03.2020{, 11:07}

Я для калибрации терморезистора беру цифровой термометр и подключаю терморезистор к ардуино,в ком порт 1 раз в сек вывожу измеренную величину на аналоговом входе.
Связываю вместе терморезистор и датчик термометра и помещаю в стакан с водой.Наливаю сначала холодную и записываю показания ком порта и данные термометра.Постепенно повышая температуру до максимальной .
Потом все эти данные ввожу в блок нелинейного масштабирования.
Когда нет цифрового термометра,использую ds1820b,это еще более удобно ,для этого сделал небольшой проект.
Снимаю данные наливая в стакан от холодной воды до темп 70-80 градусов.
В ком порт выводятся синхронно данные термистора и ds1820b,остается эти данные занести только в блок масштабирования.
Получается довольно точно .
В блок масштабирования нет необходимости вносить все показания,достаточно через 5 градусов,так как термисторы имеют довольно линейную характериситку.
Единственное условие,что резистор Ra нужно использовать только с тем терморезистором,с которым снимались показания.
TEMP_CALIBRATION.flp
(74.35 КБ) 124 скачивания

AlexRyg
Рядовой
Сообщения: 18
Зарегистрирован: 19.04.2020{, 19:35}
Репутация: 0
Имя: Алексей

блок измерения NTC

#14

Сообщение AlexRyg » 19.04.2020{, 20:12}

pan писал(а):
08.01.2018{, 15:54}
Изображение


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

Изображение
Интересует эта тема, но:
1. Нет картинки схемы подключения (не грузится)
2. у меня термощуп для духовки, втыкается в приготавливаемый продукт. Принцип на терморезисторе. Сопротивление при 25 град. 83 кОм. При нагревании сопротивление уменьшается. Какой должен быть дополнительный резистор? 10 К или примерно 80-90 К?
3. Константа Rres String=9900 реальное сопротивление резистора в омах/ ul добавлять обязательно - это величина терморезистора или дополнительного резистора?
4. Res_table = 32330, 25194, 19785, 15651, 12468, 10000, 8072, 6556, 5356, 4401 что это за таблица? Как эти данные вычислить для своего резистора и терморезистора? В пояснениях написано "таблица сопротивлений в Омах". Если Таблица сопротивлений терморезистора, то при какой температуре первое значение получить и какой шаг?

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

блок измерения NTC

#15

Сообщение AlexCrane » 20.04.2020{, 08:42}

AlexRyg, Если почитать параметры пользователя и описание то все понятно
1. Схема viewtopic.php?f=74&t=2969#p85997
2. 82к
3. Rres String=82000 реальное сопротивление дополнительного резистора
4. таблица - начало Tinit с шагом Step. Сопротивление замеряете эталонным термометром при соответствующих температурах
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

блок измерения NTC

#16

Сообщение Labu559 » 20.04.2020{, 13:31}

AlexRyg писал(а):
19.04.2020{, 20:12}
Интересует эта тема
Может Вас заинтересует несколько расширенный подход к решению задачи? Если это так, с позволения Ув. участников данного обсуждения внесу несколько небезосновательных дополнений, для превращения показометра в что-то напоминающее прибор. Сразу предупреждаю, что этот пост не противоречит всему сказанному выше, а есть попыткой расширить применённую методику. Доказывать теоремы не буду, но аксиомы приведу стараясь применять максимально бытовую терминологию.
Точность любого измерения зависит от:
1. Соотношения входного сопротивления прибора с выходным сопротивлением датчика. Чем больше разница, тем больше прибор будет искажать полученный сигнал. Применяем это в нашей кухне: «Разработчики микроконтроллеров ATmega определили, что для сохранения максимальной точности внутреннее сопротивление источника сигнала на аналоговом входе не должно превышать 10 кОм. В частности, это требование должно быть учтено при использовании на аналоговых входах платы Ардуино резисторных делителей. Эквивалентное сопротивление делителя должно быть не более 10 кОм.»
У Вас одно плечо делителя уже 82 кОм.
2. Разность минимального и максимального значений с датчика должна сответствовать начальному и конечному значениям диапазона измерителя. В нашем случае при питании измерительной части (делителя) 5В и таком же ИОН АЦП невозможно получить значение
даже отдалённо приближающееся к 1023 отсчётам для 10-разрядного АЦП. Имеем сужение измерительного диапазона в 2 раза при сбалансированном измерительном полумосте, или при равных сопротивлениях его плеч!
3. Температурная нестабильность АЦП совмещённой в одном корпусе с ИОН и другими цепями выделяющими тепло при работе.

Пока достаточно, теперь решения по пунктам, которые есть моей личной упрощённой интерпретацией полученой информации из разных источников, в первую очередь АВР документации и не претендует на 100% достоверность (очень жду поправок):
1. При старте преобразования МК отключает аналоговый вход и все манипуляции последовательного приближения значения АЦП применяются к внутреннему конденсатору выборки-хранения (ВКВХ). Всё это делается/рекоммендуется производителем 250 раз в секунду, таким образом, очевидно, что чем больше сопротивление изм.делителя, тем больше вероятность что ВКВХ недозарядится до полной емкости (напряжения). Ставим на выходе с делителя буферный конденсатор заведомо большей емкости ВКВХ. Убиваем 2-х зайцев – снимаем ограничение в 10кОм и сглаживаем пульсации.

2. Если у нас диапазон измерения АЦП равен 5 В, а мы измеряем сигнал с максимальным напряжением 2,5В, то точность измерения будет в 2 раз меньше, чем для сигнала с диапазоном 0 … 5 В. Выход- уменьшать напряжение ИОН, или на АREF подать половину питания измерительной схемы превратив её из полумоста в полный мост. (КИПовцы, ау! Это мы уже проходили). Доп. информация здесь!

3. Раз уж не поскупились на два дополнительных резистора в измерительную схему и конденсатор, может раскошелимся на TL431 для
внешнего ИОНПоказать
ADC_AVR.JPG
(термостабильность 0,005% на градус!) и 2,5В тоже в тему. См. ссылку выше.

Если мы выполним указанные выше 3(всего) взаимонезависимых пункта, может сможем обойтись только таблицей от производителя для известных терморезисторов и уравнением Стейнхарта — Харта для неизвестных? Как мыслите КИПовцы? Если такое продолжение/дополнение текущей темы Вам интересно, в следующий раз будем мозговать об подборе резисторов в плечи измерительной схемы и об повышении разрешения АЦП с помощью оверсемплинга! Есть начальный опыт который вместе с Ув. Александр_Светлый приобрели при конструировании ампер-вольтметра на АTtiny13 и ТМ1637.
Всем удачи!

P.S. Если Вы начнёте делать калибровку при питании от USB для отправки данных в UART, то после линейного стабилизатора Ардуинки, на измерительном полумосте и ИОН будет 5В минус падение напряжения на стабилизаторе, это около 4,5. Это не так критично, но лучше запитать Ардуинку через вход питания (7-12В). Термистор всё-таки лучше поставить в верхнее плечо полумоста, тогда при росте температуры для терморезистора с отрицательным ТКС будет расти значение АЦП (см. диаграмму от AVGN, в #6), а при выходе из строя, горячей замене, неконтакте датчика на входе ардуинки будет 0 .
Вложения
Reprap-Hotend-Thermistor-NTC-3950-100K.pdf
(462.31 КБ) 91 скачивание
ResistorNominal_E-24.pdf
(544.99 КБ) 62 скачивания

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

блок измерения NTC

#17

Сообщение Di123 » 10.09.2020{, 09:13}

Labu559, с тэлкой перегнули конечно же тут такой точности не получить
и вы ошибаетесь с ацп оно будет не половине равно
даже по таблице автора видно что он взял грубо говоря мост на 50/50
и по его значениям видно что ацп зафиксирует максимум 32330 + 9900 = 42230 ом это соответствует 1023 у него

отсюда следует что имеем на весь ацп 42230/1023=41,3
на порт ацп прийдётся 32330/41,3=782,8
на измеряемый диапазон прийдётся 32330 - 4401=27929 это 676
отсюда у автора 50 гр/676 ацп = 0,074 гр на шаг
тоесть о
Labu559 писал(а):
20.04.2020{, 13:31}
(термостабильность 0,005% на градус!)
тут и близко не пахнет

даже если взять ацп на 12 бит то получим 0,018 гр на шаг что тоже весьма много для термостабилизации

а если взять диапазон 0-100гр то и более того ....

а вот если взять ацп на 16 бит то стабить тысячные доли куда бы не шло ещё

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

блок измерения NTC

#18

Сообщение Labu559 » 10.09.2020{, 11:48}

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

Вы можете "гнуть тэлку" сколько хотите, но каким боком процитировання мной (из статьи другого Ув. мной Автора, с указанием ссылки) ТЕРМОСТАБИЛЬНОСТЬ ИОН
Labu559 писал(а):
20.04.2020{, 13:31}
(термостабильность 0,005% на градус!)... ... См. ссылку выше.
имеет отношение к Вашим "расчётам" ТОЧНОСТИ измерения температуры термистором, исходя из разрядности АЦП?

В чём Вы меня обвиняете? В цитировании данных из статьи, которую Вы не читали, или в том, что не открывали документацию на ТЛ431,
или не понимаете что такое термостабильность Источника Опорного Напряжения.

Хорошо, постараюсь лично для Вас, если Вы постараетесь для меня:
1) Откройте пожалуйста предоставленный документ
tl431rus.pdf
(731.08 КБ) 58 скачиваний
на русском языке, или оригинальный от Texas Ins. в статье на английском для более детального изучения :) .
2) Первый приведённый параметр: Эквивалент полного температурного коэффициента ...30 ppm/°C
3) Постарайтесь прочитать и уяснить все слова ниже.

30 ppm/°C- это Part Per Million (или единиц на миллион) или 30х10 в -6 степени, или 0,00003 на градус, или 0,003% на градус.
- значит на столько допускается уход ИОН на TL431/LM431/ и т.д. при изменении температуры на один градус в диапазоне рабочих температур прибора, заявленых производителем.
Почему у нас меньше, чем в статье- разные производители(около 30-и), разные технологии производства которые совершенствуются, разные методики метрологических измерений, а значит и разные данные в Datasheet для каждого производителя и номера версии Документа одного производителя.
4) Сравните с информацией в Google, Wiki, где угодно.
5) Откройте Datasheet на любой термистор и просмотрите таблицу сопротивлений - это нелинейный прибор и Ваш расчёт... ой :(
6) Исправте Ваше сообщение согласно нового понимания написаного, что-бы этот бред больше никто не читал. Это раздел не для новичков!
Огромное Вам спасибо за терпение и удачи!
Последний раз редактировалось Labu559 10.09.2020{, 12:30}, всего редактировалось 1 раз.

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

блок измерения NTC

#19

Сообщение Di123 » 10.09.2020{, 12:28}

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

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

блок измерения NTC

#20

Сообщение Labu559 » 10.09.2020{, 13:41}

Может Вы и верно говорите для своих задач. :smile37:
Надеюсь Вы уже выводили значения АЦП в монитор порта, как показания, стабильные или стабильно прыгают? Вы можете добиться значения АЦП хотя бы близкие к 0 или 1023 отсчёта с обычным делителем на резисторе и терморезисторе (10кОм и 10 кОм к примеру) изменением температуры терморезистора, или у Вас будет около 500 +- 200 отсчётов во всём диапазоне температур в лучшем случае? И в этом диапазоне (грубо от 300 до 700) значения прыгают на сколько? Разделите эти 400 отсчётов на ширину прыжков показаний в порту (точность?), а ведь это происки питания. Можно на базе этих показаний рассчитывать ПИД? Посчёлкайте реле, поуправляйте нагрузкой ШИМом. Энтузиазм поувял? У некоторых Ардуину вышибает, а мы измерять будем?
У АВР предусмотрено/рекомендуется производителем вообще програмно отключать всё периферию на время преобразования АЦП, дабы исключить шумы ядра как источника гармоник внутреннего ИОНа, а Вы говорите об питании измерительного моста от общей АМС1117.
Право, не знаю что ответить, действительно не понимаю суть происходящего, наверное мне нужно переосмысление своего поведения! :(
Калькулятор здесь.
ThermistorCalc.png
Беру бан за свой счёт, дальше без меня.
Последний раз редактировалось Labu559 14.09.2020{, 12:16}, всего редактировалось 1 раз.

Ответить

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