Калибровка термисторов

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

Калибровка термисторов

Сообщение machupikchu » 29 дек 2013, 13:50

Здравствуйте! Мой первый пост у вас.
По вопросам настройки термистора внятной инфы у вас на форуме не нашел. Решил поделиться личным опытом.

Изначально реальная температура HotEnd (многие его ласково называют "горячий конец") гораздо ниже температуры показываемой в пронтерфейсе.
Перебирал в прошивке (Marlin) варианты - так и не нашел подходящего. Более того, в результате переборов типа термистора в configuration.h принтер вообще перестал реагировать на смену термистора. Как это понимать не знаю. То есть тип термистора меняем, а реакции никакой. Пока не залил прошивку из архива - так и не полегчало.

Сопротивление моего термистора при комнатной температуре приблизительно равно 126 кОм. По этому не ясно, то ли это 100к термистор, то ли 200к, то ли хз что такое. Плата у меня Gen6, сопротивление в делителе напряжения термистора было 4,7кОм.

Попытался воспользоваться командой автонастройки PID (M303 Stemp)... Кстати. А вы знаете, что такое PID? Я вот не знал. Оказывается это вот что такое http://ru.wikipedia.org/wiki/%D0%9F%D0% ... 0%BE%D1%80 Так вот. Результат от использования команды не дал ничего.
То есть полученные данные я внес в конфиг, но стало еще хуже. Температура колебалась около назначенной с амплитудой 10 градусов не достигая t-target даже за несколько минут.

Как компромиссный вариант был куплен китайский пирометр. Приблизительно измерена t HotEnd и я начал печатать наобум. То есть ставил температуру 230, вместо 185 градусов (печатаю PLA) и печатал. Но скачки температуры...

Стало нестерпимо интересно, что же там за температура? В измерениях принимали участие три термометра. 1-й пирометр (ИК термометр известной китайской фирмы Noname). По моему мнению его показаниям вполне можно верить +-5 градусов, но им сложно измерять температуру маленьких объектов. Сложно точно навести. Его либо надо жестко закрепить на каком-то штативе, но даже в этом случае пятно измерения температуры будет наверное больше площади HotEnd. 2-й электронный термометр на базе DALLAS 18B20. Имеет хорошую точность, но диапазон до 126 градусов и инерционен сильно. Он занижает температуру охлаждаясь через подключенные провода. Имеет пластиковый корпус с низкой теплопроводностью. Я его использовал для проверки показаний пирометра. Такой же DALLAS у меня установлен в термостабилизации стола (у меня на плате Gen6 нет контроля темп. стола). Там он вполне уместен. 3-й термометр это термопара, которая шла в комплекте к мультиметру UNI-T UT30C. Очень быстро реагирует. На него в основном и полагался, проверив его пирометром и далласом. Вроде не врет. Примотал его на термопасте к HotEnd фум-лентой.

Но тут еще проблема, как узнать значение raw, которое фигурирует в thermistortable.h в отношении к температуре? Я так и не нашел простых способов. Пришлось обратиться к другу, он пишет. Говорит на Си. Что это значит? я без понятия. Всегда, когда вижу строки кода я впадаю в депрессию. Так вот. Он посмотрел код. Матюгнулся 3 раза (вы когда-нибудь видели программиста, который не ругается читая чужой код?) и вписал в temperature.cpp вот такое:

#ifdef PIDTEMP
pid_input = analog2temp(current_raw[e], e);
SERIAL_ECHOLN((1023 * 16 - current_raw[e]) / 16);

Эта черная магия, видимо, стала выдавать в консоль значение АЦП по температуре. Я правда просил его сделать, чтоб оно не сыпало как попало, а усредняло за несколько секунд и выдавало среднее, но он так устал, читая чужой код!

В итоге я начал с шагом 5 градусов менять температуру и записывать raw в таблицу. Время измерения для каждой точки около 1,5 минуты, пока перестанет ползти температура на тестере. Оказалось, что в районе моих 185 градусов (реальных, а не установленных около 240) для печати PLA зависимость raw от t снижалась практически до 1 raw на градус. А о измерении температур в районе 230 градусов для ABS вообще не стоит и мечтать. Там разрешения падает менее 1 raw на градус. Так наобум решил сместить рабочую точку повыше по напряжению, так как значение raw при температуре близкой к 250 градусам устремлялось к минимальному. То есть raw, естественно, обратнопропорционален температуре. Резистор 4,7 кОм подтяжки к +5В заменил на 1 кОм. Странно, но это помогло. Я сначала думал, что просто вырастет значение raw, но разрешение не улучшится. Но оно значительно возросло. Я для себя это так и не смог однозначно объяснить. То ли АЦП сам по себе нелинеен в районе низких напряжений. То ли что-то в коде прошивки. То ли я увеличил ток через термистор и это привело к такому результату.

Нужно было внести данные в thermistortable.h. В принципе можно внести и "непричесанные" данные как есть с шагом как получилось. Но я боялся, что где-то мог допустить ошибку в измерениях и какой-то участок характеристики окажется проваленным или выпученным. Для того, чтоб получить значения raw от температуры с шагом 5 градусов можно было данные из таблицы внести в ЭВМ и апроксимировать, как меня учили в институте. Но я взял листок в клеточку и нарисовал график. Как меня учили в школе. Потом ликалом апроксимировал точки. Списал данные в thermistortable.h с шагом в 5 реальных градусов.

В итоге, как говорят, "с поносом наладилось". Разрешение в районе 190 градусов возросло до 4 raw на градус. Теперь при печати колебания температуры +-2 градуса, что считаю вполне себе ничего. С автонастройкой PID больше не затевался. Поставил пресет для Mendel Kp=63 Ki=2.25 Kd=440.

Единственное температуру для печати PLA все же завышаю на 10 градусов - 195 вместо 185. Если ставить 185 проскальзывает подача. Связываю это с тем, что измерения проводились в покое без охлаждения. Экструдер был замотан т.е. утеплен. По этому "поправку на ветер" таки пришлось ввести. Хотя можно данные в thermistortable.h сдвинуть.

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

А вот вопрос, если кто знает. Что вот это за такое? В общем там коментарии конечно есть. Это да. Но как в той известной песне: "Нет, все понятно! Но что конкретно? Что ты имела ввиду?"

#ifdef PIDTEMP
//#define PID_DEBUG // Sends debug data to the serial port.
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104 sets the output power in %
#define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term
#define K1 0.95 //smoothing factor withing the PID
#define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the

Я пытался раскоментировать первые две строки, но тогда проект не компиллится... Остальные три строки так и не понял до конца что значат, и на что влияют.


Всех с наступающим!
Вложения
График темп.JPG
Аватара пользователя
machupikchu
 
Сообщения: 26
Зарегистрирован: 22 дек 2013, 18:08
Откуда: Украина, г. Луганск

Re: Калибровка термистора Hot End

Сообщение IliaMoroz » 11 янв 2014, 16:55

По автоматической регулировке ПИД читаем тут:
http://blog.lincomatic.com/?p=773
или тут:
http://www.soliwiki.com/PID_tuning
Аватара пользователя
IliaMoroz
 
Сообщения: 677
Зарегистрирован: 21 фев 2013, 07:06
Откуда: г. Харьков

Re: Калибровка термистора Hot End

Сообщение karabas2011 » 12 янв 2014, 11:56

есть ртутные термометры до 350С и выше. Я купил такой на барахолке за 40грн.
ими вполне можно калибровать термисторы. Сам пока не пробовал. Думаю нагреть в баночке масло и сунуть туда термометр и тестовый термистор подключённый к принтеру.

Добавлено спустя 7 минут 22 секунды:
machupikchu писал(а):Здравствуйте! Мой первый пост у вас.
По вопросам настройки термистора внятной инфы у вас на форуме не нашел. Решил поделиться личным опытом.

термистор имеет нелинейную характеристику. Поэтому надо ставить не какой попало а с подходящей кривизной в нужном диапазоне. То есть с соответствующим параметром Beta в ттх термистора.
karabas2011
 
Сообщения: 1607
Зарегистрирован: 04 мар 2012, 01:06
Откуда: Севастополь-Москва

Re: Калибровка термистора Hot End

Сообщение Qwq » 13 янв 2014, 04:12

рав-значение можно быдл получить без бубна
в configuration_adv.h есть секция
Код: Выделить всё
//Show Temperature ADC value
//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
//#define SHOW_TEMP_ADC_VALUES
Qwq
 
Сообщения: 30
Зарегистрирован: 19 фев 2009, 12:50
Откуда: Москва

Re: Калибровка термистора Hot End

Сообщение IliaMoroz » 13 янв 2014, 08:09

Вы не поверите! :shock:
Обычно нам нужны не все значения термистора, а близкие к рабочему диапазону (Pla 185-200, Abs 235-260). И зачем полный (длительный) танец с бубном, с па, финтами, и термометрами?
P.S. Я сам люблю танцевать с бубном. Порой не плохо получается...
Аватара пользователя
IliaMoroz
 
Сообщения: 677
Зарегистрирован: 21 фев 2013, 07:06
Откуда: г. Харьков

Re: Калибровка термистора Hot End

Сообщение karabas2011 » 14 янв 2014, 21:54

IliaMoroz писал(а):Вы не поверите! :shock:
Обычно нам нужны не все значения термистора, а близкие к рабочему диапазону (Pla 185-200, Abs 235-260). И зачем полный (длительный) танец с бубном, с па, финтами, и термометрами?
P.S. Я сам люблю танцевать с бубном. Порой не плохо получается...

А кто говорит про все? Речь о том чтоб он нужном диапазоне казал по возможности точно. Для этого его надо сверить с контрольным. "Разница гарантируется"
karabas2011
 
Сообщения: 1607
Зарегистрирован: 04 мар 2012, 01:06
Откуда: Севастополь-Москва

Re: Калибровка термистора Hot End

Сообщение machupikchu » 17 янв 2014, 13:48

Hi!

Qwq писал(а):рав-значение можно быдл получить без бубна
в configuration_adv.h есть секция
Код: Выделить всё
//Show Temperature ADC value
//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
//#define SHOW_TEMP_ADC_VALUES


Не нашел такого у себя...

IliaMoroz писал(а):Обычно нам нужны не все значения термистора, а близкие к рабочему диапазону (Pla 185-200, Abs 235-260). И зачем полный (длительный) танец с бубном, с па, финтами, и термометрами?


Хотелось иметь общее представление о форме характеристики термистора.

За ссылки спасибо.

А по моему вопросу видимо ответа ни у кого нет? Хотя меня уже это не особо волнует. Проблем сейчас с температурой никаких нет.

Я вот теперь что думаю. Мне охлаждение не нравится. Все существующие варианты громоздки. Мне кажется, что охлаждать всю деталь да еще и стол за одно - это излишне и неэффективно. А вот если взять компрессор (типа как в паяльной станции или аквариумный) и трубочку скажем 2 - 3 мм диаметром и дуть только в зону печати. Кто что думает о таком варианте? Выскажите мнение. Думаю стоит попробовать. Может быть создать отдельную тему?
Аватара пользователя
machupikchu
 
Сообщения: 26
Зарегистрирован: 22 дек 2013, 18:08
Откуда: Украина, г. Луганск

Re: Калибровка термистора Hot End

Сообщение karabas2011 » 18 янв 2014, 01:56

machupikchu писал(а):
Я вот теперь что думаю. Мне охлаждение не нравится. Все существующие варианты громоздки. Мне кажется, что охлаждать всю деталь да еще и стол за одно - это излишне и неэффективно. А вот если взять компрессор (типа как в паяльной станции или аквариумный) и трубочку скажем 2 - 3 мм диаметром и дуть только в зону печати. Кто что думает о таком варианте? Выскажите мнение. Думаю стоит попробовать. Может быть создать отдельную тему?

думаю так и надо. гибкий шланг и можно подавать воздух разной температуры. Особенно это важно для термобоксов
Возможно трубочку придётся расплющить и дуть щелью.
Второй момент - при печати например Z-кареток прюши i3 нижние оверхенги выходят хреново, а верхние отлично.
Причина не в тепле от кровати - я клал кусочки картона для экранирования. А в жаре от нагревателя сопла которое вошкается достаточно долго по-соседсту и перегревает оверхенг. Поэтому думаю нужен теплоэкран сквозь который торчит само сопло.например пластинка слюды с воздушным зазором или хотяб достаточно длинное сопло.
karabas2011
 
Сообщения: 1607
Зарегистрирован: 04 мар 2012, 01:06
Откуда: Севастополь-Москва

Re: Калибровка термистора Hot End

Сообщение machupikchu » 18 янв 2014, 17:09

Вот вот. И я примерно о том же думаю. Менять температуру воздуха, это мне кажется не то, что надо, а вот регулировать силу потока можно. Куплю капельницу, сделаю на конце медный мундштук диаметром 3 мм для начала и попробую такой вариант. А можно и толстую иглу от капельницы попробовать... там диаметр внешний 2,5 мм.
Аватара пользователя
machupikchu
 
Сообщения: 26
Зарегистрирован: 22 дек 2013, 18:08
Откуда: Украина, г. Луганск

Re: Калибровка термистора Hot End

Сообщение karabas2011 » 10 мар 2014, 01:47

Обнаружил что партия термисторов с репрапворлда слегка не того. После прогрева до 260-265 сопротивление увеличивается и делается при 25С не 100-110k а 170-300k. Видать эти термисторы только для кровати.
Пришлось доставать высокотемпературные и, соответственно, снимать с них характеристику.
Взял судовой ртутный термометр до 350С, налил в консервную банку подсолнечного масла и поставил на газовую плиту, прикрепил к термометру термистор. Перепрошил марлин с раскоментированой M105. И принялся мерять. Почему-то график в пронтерфейсе рисуется зизагом. Приходится много раз снимать показания и всё равно разброс значительный. Где-то к 230С всё уже нормализуется и изменяется медленно. Догнал до 265С тут банка начала подтекать и возникла угроза возгорания. Решил что этого хватит и промерял ещё раз на остывании. Потом по кривулям вывел среднюю, модифицировал таблицу и прошил ещё раз. Теперь во всём диапазоне должен казать с примерно одинаковой точностью
karabas2011
 
Сообщения: 1607
Зарегистрирован: 04 мар 2012, 01:06
Откуда: Севастополь-Москва

Re: Калибровка термистора Hot End

Сообщение om2804 » 10 мар 2014, 13:47

У термистора характеристика не прямолинейная. Поэтому на низких температурах точность будет много меньше
Аватара пользователя
om2804
 
Сообщения: 2044
Зарегистрирован: 30 апр 2012, 20:03
Откуда: Архангельск
Skype: om2804
прог. языки: С/С++/C#

Подскажите настройки для термистора

Сообщение tse » 25 мар 2014, 12:05

Коллеги, подскажите, пожалуйста.

Есть вот такие термисторы:
http://www.geeetech.com/10pcs-100kohm-n ... p-632.html

Использовать буду в экструдере.

Где взять для них таблицу коэффициентов?
Как правильно подключить к RAMPS?

Заодно вопрос - на какую пасту его сажать? В чип-и-дипе продают разные, и я не понимаю, какая подходит.
tse
 
Сообщения: 6
Зарегистрирован: 26 фев 2014, 18:49

Re: Подскажите настройки для термистора

Сообщение Vovich70 » 25 мар 2014, 12:26

Ну если хочется поковыряться самому,то таблица есть по вашей-же ссылке под даташитомюА вообще в Марлине просто выбрать тип соответствующий и всё.
А клеить можно "Радиалом".
Printer: Prusa
Firmware: Marlin
Host: Pronterface
Slicer: Kisslicer Slic3r1.2.9
Filament: ABS - 1.75
Nozzle: 0.2-0.4 mm
Electronics: Arduino MEGA 2560 + RAMPS 1.4
Vovich70
 
Сообщения: 463
Зарегистрирован: 30 окт 2013, 03:50
Откуда: Москва
ФИО: Владимир

Re: Подскажите настройки для термистора

Сообщение tse » 25 мар 2014, 13:50

Я, оказывается, не заметил сразу внизу даташит с зависимостью сопротивления от температуры и сгенеренную с помощью createTemperatureLookup.py табличку.

Вопрос - сгенеренной таблички достаточно? Или, если есть даташит, лучше сформировать табличку на его основе?

Добавлено спустя 5 минут 5 секунд:
Vovich70 писал(а):А клеить можно "Радиалом".


Что такое "Радиал", поясни, пожалуйста. И где берут?

Я, поскольку не профи совсем, за материалами для радиолюбительства хожу в чип-и-дип. Там есть вот такое:
http://www.chipdip.ru/catalog-show/thermal-grease/
Есть ли среди них подходящее?
tse
 
Сообщения: 6
Зарегистрирован: 26 фев 2014, 18:49

Re: Подскажите настройки для термистора

Сообщение avr123.nm.ru » 25 мар 2014, 14:46

tse писал(а):Что такое "Радиал", поясни, пожалуйста. И где берут?


Это теплопроводный клей, как термопаста но еще и клеет. Можно купить у Семенова Михаила http://mkpochtoi.ru/ и в других местах добычи.
Вложения
теплопроводящий клей Radial  www.mkpochtoi.ru теплопроводная подложка компаунд заливочный.jpg
теплопроводящий клей Radial www.mkpochtoi.ru теплопроводная подложка компаунд заливочный
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

След.

Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 14