roboforum.ru

Технический форум по робототехнике.
Текущее время: 24 ноя 2024, 05:07

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Калибровка термисторов
СообщениеДобавлено: 29 дек 2013, 13:50 
Не в сети
Аватара пользователя

Зарегистрирован: 22 дек 2013, 18:08
Сообщения: 26
Откуда: Украина, г. Луганск
Здравствуйте! Мой первый пост у вас.
По вопросам настройки термистора внятной инфы у вас на форуме не нашел. Решил поделиться личным опытом.

Изначально реальная температура 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
График темп.JPG [ 1.54 МиБ | Просмотров: 9595 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 11 янв 2014, 16:55 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 12 янв 2014, 11:56 
Не в сети

Зарегистрирован: 04 мар 2012, 01:06
Сообщения: 1607
Откуда: Севастополь-Москва
есть ртутные термометры до 350С и выше. Я купил такой на барахолке за 40грн.
ими вполне можно калибровать термисторы. Сам пока не пробовал. Думаю нагреть в баночке масло и сунуть туда термометр и тестовый термистор подключённый к принтеру.

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

термистор имеет нелинейную характеристику. Поэтому надо ставить не какой попало а с подходящей кривизной в нужном диапазоне. То есть с соответствующим параметром Beta в ттх термистора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 13 янв 2014, 04:12 
Не в сети

Зарегистрирован: 19 фев 2009, 12:50
Сообщения: 30
Откуда: Москва
рав-значение можно быдл получить без бубна
в 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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 13 янв 2014, 08:09 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 14 янв 2014, 21:54 
Не в сети

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

А кто говорит про все? Речь о том чтоб он нужном диапазоне казал по возможности точно. Для этого его надо сверить с контрольным. "Разница гарантируется"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 17 янв 2014, 13:48 
Не в сети
Аватара пользователя

Зарегистрирован: 22 дек 2013, 18:08
Сообщения: 26
Откуда: Украина, г. Луганск
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 мм диаметром и дуть только в зону печати. Кто что думает о таком варианте? Выскажите мнение. Думаю стоит попробовать. Может быть создать отдельную тему?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 18 янв 2014, 01:56 
Не в сети

Зарегистрирован: 04 мар 2012, 01:06
Сообщения: 1607
Откуда: Севастополь-Москва
machupikchu писал(а):

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

думаю так и надо. гибкий шланг и можно подавать воздух разной температуры. Особенно это важно для термобоксов
Возможно трубочку придётся расплющить и дуть щелью.
Второй момент - при печати например Z-кареток прюши i3 нижние оверхенги выходят хреново, а верхние отлично.
Причина не в тепле от кровати - я клал кусочки картона для экранирования. А в жаре от нагревателя сопла которое вошкается достаточно долго по-соседсту и перегревает оверхенг. Поэтому думаю нужен теплоэкран сквозь который торчит само сопло.например пластинка слюды с воздушным зазором или хотяб достаточно длинное сопло.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 18 янв 2014, 17:09 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 10 мар 2014, 01:47 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Калибровка термистора Hot End
СообщениеДобавлено: 10 мар 2014, 13:47 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Подскажите настройки для термистора
СообщениеДобавлено: 25 мар 2014, 12:05 
Не в сети

Зарегистрирован: 26 фев 2014, 18:49
Сообщения: 6
Коллеги, подскажите, пожалуйста.

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

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

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

Заодно вопрос - на какую пасту его сажать? В чип-и-дипе продают разные, и я не понимаю, какая подходит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите настройки для термистора
СообщениеДобавлено: 25 мар 2014, 12:26 
Не в сети

Зарегистрирован: 30 окт 2013, 03:50
Сообщения: 463
Откуда: Москва
ФИО: Владимир
Ну если хочется поковыряться самому,то таблица есть по вашей-же ссылке под даташитомюА вообще в Марлине просто выбрать тип соответствующий и всё.
А клеить можно "Радиалом".

_________________
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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите настройки для термистора
СообщениеДобавлено: 25 мар 2014, 13:50 
Не в сети

Зарегистрирован: 26 фев 2014, 18:49
Сообщения: 6
Я, оказывается, не заметил сразу внизу даташит с зависимостью сопротивления от температуры и сгенеренную с помощью createTemperatureLookup.py табличку.

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

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


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите настройки для термистора
СообщениеДобавлено: 25 мар 2014, 14:46 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
tse писал(а):
Что такое "Радиал", поясни, пожалуйста. И где берут?


Это теплопроводный клей, как термопаста но еще и клеет. Можно купить у Семенова Михаила http://mkpochtoi.ru/ и в других местах добычи.


Вложения:
Комментарий к файлу: теплопроводящий клей Radial www.mkpochtoi.ru теплопроводная подложка компаунд заливочный
теплопроводящий клей Radial  www.mkpochtoi.ru теплопроводная подложка компаунд заливочный.jpg
теплопроводящий клей Radial www.mkpochtoi.ru теплопроводная подложка компаунд заливочный.jpg [ 326.68 КиБ | Просмотров: 8407 ]

_________________
Читайте !
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO