Перейти до публікації

Калібрування термісторів у Marlin


Рекомендовані повідомлення

Як усім відомо - температурні показання в 3D принтерах більш фіктивні, ніж реальні. Деякі перевіряють пірометром, деякі термопарою і запам'ятовують різницю. Мені набридло користуватися папугами і я зважився на колупання прошивки, а зокрема редагування thermistor_x.h В основному при покупці в Китаї, продавці не вказують модель термістора, встановленого в екструдері або силіконовій грілці. Нещодавно, купивши термістор  HT-NTC100K, взагалі не знайшов його температурну таблицю і від продавця домогтися виразного відвіра не вийшло, пішов у непритомність і мовчання!

Перепробувавши безліч варіантів у прошивці, зупинився на термісторі №5, різниця у показаннях - 20°

5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup)

І так, прикрутив термопару до кубика хотенду на каптон. 🙂 Прогрів хотенд до робочої температури 230С і порівняв показання.

image.thumb.png.9d0e2b019fcab5635490672b6f5f3f3e.png

Як видно – різниця в 23°. Те саме зробив потім зі столом

image.thumb.png.756c7f55fa021799f48e84f3bef7c255.png

Така сама різниця в 22°С.

Тепер найцікавіше. Пам'ятаємо, що у прошивці вказані типи термісторів hotend & BED - 5 Відкриваємо у прошивці Configuration.h та виставляємо хотенду 6, столу 7.

#define TEMP_SENSOR_0 6
.
.
.
#define TEMP_SENSOR_BED 7

Тепер на шляху \Marlin\src\module\thermistor робимо копії оригінальних файлів

image.thumb.png.3650f2188a07007a15114b79048813f0.png

 

Відкриваємо текстовим редактором, я користуюсь  Notepad++,  оригінальний файл thermistor_5.h та копіюємо масив даних:

 

image.thumb.png.5b4acd6d4236b5ce81e01fd969e9e151.png

Відкриваємо перший файл, що редагується thetmistor_6.h і копіюємо в нього дані замість існуючих в ньому. Можна повністю замінити вміст файлу thetmistor_6.h на вміст thetmistor_5.h, але потрібно змінити посилання на номер таблиці:

 

image.thumb.png.5fb889cb40b7d39746252c0fe7be90a9.png

 

Тепер логіка зміни для хотенду. Нас цікавлять значення таблиці у діапазоні від 160 до 250С. Для тугоплавких пластиків краще використовувати термопару, це окрема тема для розмови, але повернемося до наших значень.

За кімнатної температури 20_25С термістор повинен мати опір близько 100кОм.

Перший стовпець у масиві - це значення термістора в омах або значення компаратора, нам це не важливо, видно що при кімнатній температурі значення термістора буде 986 якихось одиниць. Другий стовпець - температура відповідна цим значенням. Нижче на скріні видно звідки я почав зміни у другому стовпці масиву даних, змінюючи температуру на 20С, а вище зменшив крок. Для наочності зробив порівняння в екселі та пофарбував 🙂 

image.thumb.png.163c2133c74d38681363ce5950c8a59d.png

 

Виправлений масив із даними:
const short temptable_6[][2] PROGMEM = {
  { OV(   1), 713 },
  { OV(  17), 300 }, // top rating 300C
  { OV(  20), 295 },
  { OV(  23), 290 },
  { OV(  27), 285 },
  { OV(  31), 280 },
  { OV(  37), 270 },
  { OV(  43), 260 },
  { OV(  51), 250 },
  { OV(  61), 240 },
  { OV(  73), 230 },
  { OV(  87), 220 },
  { OV( 106), 210 },
  { OV( 128), 200 },
  { OV( 155), 190 },
  { OV( 189), 180 },
  { OV( 230), 170 },
  { OV( 278), 160 },
  { OV( 336), 150 },
  { OV( 402), 140 },
  { OV( 476), 130 },
  { OV( 554), 120 },
  { OV( 635), 110 },
  { OV( 713), 100 },
  { OV( 784),  90 },
  { OV( 846),  80 },
  { OV( 897),  50 },
  { OV( 937),  40 },
  { OV( 966),  30 },
  { OV( 986),  20 },
  { OV(1000),  10 },
  { OV(1010),   0 }
};

  

За таким же принципом змінюємо значення у файлі thermistor_7.h, але діапазон беремо від 30° і до 130° Тут нас цікавить температура при 40, 60, 70, 100, 120 градусах.

Не буду нудити описами –нижче мої значення, порівняти з оригіналом можете самостійно.

BED thermistor_7.h  
const short temptable_7[][2] PROGMEM = {
  { OV(   1), 713 },
  { OV(  17), 300 }, // top rating 300C
  { OV(  20), 290 },
  { OV(  23), 280 },
  { OV(  27), 270 },
  { OV(  31), 260 },
  { OV(  37), 250 },
  { OV(  43), 240 },
  { OV(  51), 230 },
  { OV(  61), 220 },
  { OV(  73), 210 },
  { OV(  87), 195 },
  { OV( 106), 185 },
  { OV( 128), 170 },
  { OV( 155), 165 },
  { OV( 189), 150 },
  { OV( 230), 140 },
  { OV( 278), 130 },
  { OV( 336), 120 },
  { OV( 402), 100 },
  { OV( 476),  90 },
  { OV( 554),  80 },
  { OV( 635),  70 },
  { OV( 713),  60 },
  { OV( 784),  55 },
  { OV( 846),  50 },
  { OV( 897),  45 },
  { OV( 937),  40 },
  { OV( 966),  30 },
  { OV( 986),  20 },
  { OV(1000),  10 },
  { OV(1010),   0 } // to allow internal 0 degrees C
}; 

 

image.thumb.png.27d7b30d44b081feef16609e7c34f6b1.png

Як видно за результатами, температура на дзеркалі відповідає реальній. Серветка виступає у ролі надрукованої деталі на поверхні столу.🙂 Фотографію хотенду не робив, там результат такий самий.

Але є нюанс, а саме зі свідченнями термістора на столі. На цьому принтері стоїть силіконова грілка потужністю 200Вт. Напруга стандартного БП піднято до 14в. Розмір столу 230х330мм 3мм алюмінію АМГ-6. та дзеркало 200х300. При стокових установках Thermal Protection у файлі Configuration_adv.h - Ви отримуватимете помилку Thermal Raneway  Так як для досягнень нових температурних значень потрібно набагато більше часу.

 

Із цієї ситуації є три виходи:

 

  1. Замінити силіконовий нагрівач більш потужний 12в 300Вт і більше або 220в 500-600Вт, із заміною мосфета на твердотільне реле;
  2. Замінити БП на 24в, знизити діапазон шим регулювання потужності столу, замінити нагрівач хотенду та всі вентилятори на 24 вольтові;
  3. Загрубити значення температурного сторожа  🙂 #define WATCH_BED_TEMP_PERIOD  у файлі Configuration_adv.h

Стіл із зазначеними параметрами та "обвісом" нагрівається, до чесних 100°, за 18хв. Так, якщо хочеться швидкого "нагрітися" і друкувати - потрібно вживати заходів!!!

 

П.С. Не забуваємо, що після калібрування термісторів, або заміні термістора чи нагрівача - ОБОВ'ЯЗКОВО треба калібрувати PID нагрівачив. Для тих хто не дуже розбирається - нижче посилання на файли автоматичного калібрування PIDів у вигляді G-кодів. Достатньо запустити файл і дочекатися завершення калібрування. Нові значення автоматично вносяться у пам'ять EEPROM

ЗАУВАЖЕННЯ: як що Ви набумаєте скинути пам'ять EEPROM - скинуться значення PID калібровки і доведеться повторювати калібрування PID.

 

Правильних Вам температур на табло принтера!

 

 

Посилання на повідомлення
Поділитися на інших сайтах

От себя ещё добавлю, что грелка силиконовая китайская держится на двустороннем скотче 3M 468MP. Он держит до 120 градусов. А если китаец не обезжирил грелку, то и того меньше. На своем опыте получал отслаивание грелки от обезжиренного алюминия при температуре 135 градусов. Не отпадала, конечно, но уже были проблемы.

Посилання на повідомлення
Поділитися на інших сайтах
19 минут назад, Magg_ot сказал:

А если китаец не обезжирил грелку

То мы ее намажем герметиком и надежно приклеим пробковым уплотнителем. laugh

hbNJwcORkFR_7xtcjdi1jxpxGi5ROEtUfDhHFmTwREith-GLinq79LAtKCBIIdzHmZGAZXuM01jNDDB4aat0GLWAmvdx_Wh8MyqT1ydb811MmOfLtmR_weGx4tgP8cZpzp5GJ71xo5G7MNuKIahwYQA0Uiz2t1fSmSJFq2QdS-pzGQiBKq7kl5zFZOfihaVqFXsx48ItLoULY9QmQuCRtCqf1BlNaOdRZH30tx9Ap2PCM2DAkoPk3zNvzsxlK220ZaG-OmjQygyhXM8APD63hg9tDjn-7GFgr6gVadmmeqMOX8leoHkUNZYvohc30fqM-NngZsjLaGWTaAFKpQ_dZOCCWx8bOX2A5rlLill33shmjG2AokjPwFDF2_7K10K48d2QfN_SGOT0lQkrbRk1zlMTTLb9uqE9Hjc6v4701FpuIY57EA6sMqiE5RQtgAbT0ox1Ty0c68hwCYTYrVFNL0aePu4eSWhkrmbuvI6oZfWJleZjs-Y1ssMrzpkiaz3St9e0kagx--84uxZBVbOgEO9SOi6sdMM9Hzbw16RVXjO4u7A8o-nkjZZOyY3chdrZdNqNxH2aDtrlhyr9MkXgxMgDSFBk1o4YDMDKJu7bkXj_GQDGKDCvR8-N1TZSz64nIk4hbZhBkzoK7wa5NRXhQvJVjKOZJVJo=w1679-h944-no M-LpnYH1K_pznNUdJ0mcH1Fay5dlopoNVZ7iVi_x4vEaU9yj70m0I9KBkSRI8sT8uL_5Wssvc70ymCXK3GqneZzm09-DMytFafbWgtQrMA5z8ngxkTaWUtorKWkSkxWLwWjmWuOE57VwpI9-l1Mtrxb1qg5H_NcY3t5PPkbO3lrnfPcC8wlx8L6l3gxQWpOYsbfsUpSfNr_keoDrubCxORgiWPH_GZrzC32THPl5qiUaOyrxRcN6t8f8KYT7Ab_89r55KAhZjWDCttE8GyceVsqwsSB4zKxl8hfe9IsdyQpCqKwZdFYQJFBxg3i8o8SyxftFNjs3izO6zBuu0q4FmacVJHXQ9CH_ilkXyLD83iYLgSnwVaOCF2KOcLead72ZtfqbfLR3qQPoYPYJM5Fct5sUbn9_fTfSPDAip67DVqPHRZ2ertjbrhC3oxWywOMYNk66EFB9HARBER-2mfBkrpdZDKvKU22-eMZ4okiCOo8ylJM1V0kHc1Mn0vtkitq8utHK6DfxXDb364_0C8XMcQv6zASR1YT1wrNb-AY49VOPXaiUjKRnVojoDXfaluM2n6wnGlVkPnh54i6KnnIF_yVc4VnENQLu-tbE-YukUD9rKZ4NKA2XThhaj-790J2FZiveP1zubVIrz23ry49XR42Qh7LVD1me=w1679-h944-no

Посилання на повідомлення
Поділитися на інших сайтах
  • KomAndr зробив важливою та закріпив темі

Файлы для ленивых по настройке ПИД Хотэнда и Стола

AutoPID ALL(E0+E-1).gcode AutoPID HotBed E-1.gcode AutoPID Hotend E0.gcode

Посилання на повідомлення
Поділитися на інших сайтах
  • KomAndr змінив заголовок на Калібрування термісторів у Marlin
  • 1 місяць потому...
Посилання на повідомлення
Поділитися на інших сайтах

Приєднуйтесь до обговорення

Ви можете опублікувати повідомлення зараз, а зареєструватися пізніше. Якщо у вас є акаунт, увійдіть в нього для написання від свого імені.

Гість
Відповісти в тему...

×   Вставлено в вигляді відформатованого тексту.   Вставити у вигляді звичайного тексту

  Дозволено не більше 75 емодзі.

×   Ваше посилання було автоматично вбудоване.   Відобразити як посилання

×   Ваш попередній контент був відновлений.   Очистити редактор

×   Ви не можете вставити зображення безпосередньо. Завантажте або вставте зображення за посиланням.

×
×
  • Створити...