Jump to content

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


Recommended Posts

Як усім відомо - температурні показання в 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.

 

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

 

 

Link to post
Share on other sites

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

Link to post
Share on other sites
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

  • Like 1
  • Sad 1
Link to post
Share on other sites
  • KomAndr featured and pinned this topic
  • KomAndr changed the title to Калібрування термісторів у Marlin
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...