термистор 10к чтение правильной температуры

fayvlad
Offline
Зарегистрирован: 27.03.2014

Здраствуйте, делаю экструдер (filament extruder) к 3д принтеру, мне нужно управлять скоростью мотора и управлять температурой, к мотору руки еще не дошли, а вот с температурой столкнулся вот с такой проблемой:

поставил стекляный термистор 10ком, в народе - ntc thermistor MF58, нашел библиотеку, которая работает с ними ссылка, данные вроди и адекватные выводит - 30*С в комнате, но датчик DS18b20 показывает 24-25*С. Ну такой разброс в 5 градусов не очень важный, но решил проверить на высоких температурах, на принтере нагрел hotend до 200*С притулил термистер - показывает 170*С. После этого подключил провода от того термистора, что стоит в hotend к ардуине - тоже 160*С показывает. Проблема в программе. Кто работал с терморезисторами, возможно у кого то есть наработки и примеры  или сталкивался с такой проблемой?

 

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

fayvlad
Offline
Зарегистрирован: 27.03.2014

Нашел прошивку к принтеру, вот все что с температурой связано, как найти где вычисляет температуру оно - сложно разобратся, возможно такую таблицу делать надо? Там с 147 строки значения заданы для 10к термистора. вот еще логика обработки

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
axill
Offline
Зарегистрирован: 05.09.2011

есть еще вот такой генератор кода http://aterlux.ru/index.php?page=article&art=ntcresistor

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Незадача в том, что у него В не 25 на 100 , а 25 на 50.......  похоже проще по таблице  считать.....

axill
Offline
Зарегистрирован: 05.09.2011

По моей ссылке там разные варианты расчета, в том числе с таблицей. На выходе по любому сгенерит код для AVR

в примитивном варианте по двум точкам. Кстати две точки (ноль и 100 градусов) можно и дома замерить в талом льде из морозилки и в кипящей воде.

 

fayvlad
Offline
Зарегистрирован: 27.03.2014

а как с генерированным кодом работать? Как правильно понять какой терморезистор 25/100 или 25/50 ?

у меня при 25*С 10ком а при 100*С 0.7ком

Radjah
Offline
Зарегистрирован: 06.08.2014

По уму надо сначала тарировку делать, а потом уже применять.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

fayvlad пишет:

а как с генерированным кодом работать? Как правильно понять какой терморезистор 25/100 или 25/50 ?

у меня при 25*С 10ком а при 100*С 0.7ком

http://aterlux.ru/index.php?page=article&art=ntcresistor

Вводите R1 = 10,   R2 =  0.7  нажимаете "Построить таблицу" и рассматриваете результат

 

 

axill
Offline
Зарегистрирован: 05.09.2011

fayvlad пишет:

а как с генерированным кодом работать? Как правильно понять какой терморезистор 25/100 или 25/50 ?

у меня при 25*С 10ком а при 100*С 0.7ком

понять достоверно можнл или по информации продавца или из даташита производителя по маркировке

в противном случае достоверно знать нельзя и остается строить табличку с измерениями. У вас 25/10к, но этого мало. Две точки измерения это самый минимум, чем больше точек тем точнее.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Вроде термисторы очень нелинейны и двух-трех точек не хватит. Нужно строить полноценную калибровочную таблицу.

axill
Offline
Зарегистрирован: 05.09.2011

По моей ссылке расписана и часть теории, в частности там есть такой комментарий:

*Из-за нелинейности параметров термистора, расчёт температуры на основе таблицы, построенной по двум точкам, будет грубым и полученное значение может на десятки градусов отличаться от действительного при измерении высоких и низких температур. Для точного измерения в широком диапазоне выберите одну из предзагруженных R/T характеристик, соответствующую вашему термистору, или перечислите список значений R/R1 вручную.
trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

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

А ещё наверху есть возможность ввести параметры рассчёта, в том числе и коэффициент В при разных T1/T2