Калібрування екструдера!
Добрий день, будівельники 3d-принтерів. Після завершення будівництва принтера у мене виникло питання: "А як принтер дізнається, скільки оборотів треба зробити, що б перемістити головку на 1 мм і видавити 1мм пластика?». Простіше кажучи, ю я задався питанням про те, як калібрувати принтер. Сьогодні я опишу процес калібрування екструдера.
Як не дивно, але почнемо з прошивки. Перш за все, треба повідомити принтеру, що у нас немає нагрівального елементу:
Шукаємо рядок #define TEMP_SENSOR_0 -1
і замінюємо її на #define TEMP_SENSOR_0 0
Якщо інші сенсори не рівні 0, то їх теж треба занулити.
Тобто в прошивці все повинно тепер виглядати так:
![Калібрування екструдера 3d-принтера, diy life (екструдера) Калібрування екструдера 3d-принтера, diy life](https://images-on-off.com/images/149/kalibrovkaekstrudera3dprinteradiylife-a5bee174.png)
відключаємо датчик температури екструдера
Інакше Pronterface відмовиться крутити холодний екструдер і видасть такий напис: «echo: cold extrusion prevented @».
Тепер треба підрахувати кількість кроків двигуна, необхідні для видавлювання 1 мм пластика.
Формула проста, але доведеться зробити пару вимірів:
steps per mm = micro steps per rev * gear ratio / (pinch wheel diameter * pi)
де:
micro steps per rev - кількість мікрошагов двигуна для 1 обороту
gear ratio - співвідношення кількості зубів в редукторі екструдера
pinch wheel diameter - діаметр западини штовхає гвинта (той що з зубчиками)
У моєму випадку параметри наступні:
micro steps per rev = 3200
Оскільки я використовую движки Nema 17, з кроком в 1,8 градуса (повний оборот 200 кроків) в режимі мікрошага 1/16, тобто 3200 мікрошагов на повний оборот
gear ratio = 39/11
(39 зуб на великий шестірні і 11 на маленькій)
pinch wheel diameter = 5-7мм
(Ось цей параметр і потрібно підібрати. Або дуже добре виміряти, тому що цей діаметр у всіх різний)
У мене за формулою вийшло 504.426
Заносимо це число в прошивку в змінну #define DEFAULT_AXIS_STEPS_PER_UNIT останнім (виділено жовтим кольором):
![Калібрування екструдера 3d-принтера, diy life (pinch wheel diameter) Калібрування екструдера 3d-принтера, diy life](https://images-on-off.com/images/149/kalibrovkaekstrudera3dprinteradiylife-0c463ace.png)
установка кроку екструдера
Тобто перменная має вигляд #define DEFAULT_AXIS_STEPS_PER_UNIT (X-step, Y-step, Z-step, E-step). Ось замість E-step і треба вписати число. Має вийти наступне:
![Калібрування екструдера 3d-принтера, diy life (3д принтер) Калібрування екструдера 3d-принтера, diy life](https://images-on-off.com/images/149/kalibrovkaekstrudera3dprinteradiylife-0599f41c.png)
записуємо крок екструдера
Далі заливаємо прошивку в принтер і дивимося наскільки ми вгадали з числом Робиться це в такий так - знімаємо з екструдера нагрівальну частину, щоб пластиковий пруток просто входив в зятягівающій механізм і виходив. Вставляємо пруток в механізм, що б його трохи затягнуло. На пруток приклеюємо ізоляційну стрічку / скотч на відстані 5-10 см від краю екструдера і ставимо лінійку, але краще штангенциркуль:
![Калібрування екструдера 3d-принтера, diy life (3d принтер своїми руками) Калібрування екструдера 3d-принтера, diy life](https://images-on-off.com/images/149/kalibrovkaekstrudera3dprinteradiylife-cd7696d2.jpg)
робимо позначку на прутки
У програмі Pronterface просимо екструдер витягнути пруток на 50 мм (натискаємо кнопку extrude):
![Калібрування екструдера 3d-принтера, diy life (калібрування) Калібрування екструдера 3d-принтера, diy life](https://images-on-off.com/images/149/kalibrovkaekstrudera3dprinteradiylife-917ea7bf.png)
витягуємо 50мм прутка
Якщо ми побачимо наступну картину (екструдер засмоктав рівно 50 мм прутка), то все чудово:
![Калібрування екструдера 3d-принтера, diy life (3d принтер) Калібрування екструдера 3d-принтера, diy life](https://images-on-off.com/images/149/kalibrovkaekstrudera3dprinteradiylife-8ebed15d.jpg)
екструдер затягнув рівно 60 мм прутка
Заміри краще проводити штангенциркулем - точність буде вище. Якщо пруток затягнуло нема на 50 мм, значить помилки в розрахунках. Заміряємо довжину затягнутого прутка з точністю до 0,1 мм
Далі формула проста: new step per mm = (steps per mm * 50mm / заміряну довжину mm)
Записуємо нове значення в прошивку, заливаємо її в принтер і повторюємо виміри знову і знову до тих пір, поки екструдер НЕ буде ідеально відміряти пруток.
Можна було спочатку нічого не брати до уваги, а відразу проводити експерименти, але тоді точність розрахунків виходить маленької - похибка в десятки кроків.
Значення параметра можуть варіюватися від 140 до 1300 кроків на 1мм. Якщо у вас виходить в таких межах - все відмінно! Якщо хочете отримати високу точність калібрування - дайте завдання екструдеру втягнути рівно 1 метр прутка, тоді помилка в розрахунках, якщо і була, відразу буде помітна
спасибі за чіткі і цінні інструкції, додам тільки, що відключення датчиків температури вашим способом на Менделя 1,5 (Gadgets3D) не пройде (при компіляції з встановленими 0 значеннями Ардуіно прога лаялася на змінні, що використовуються в LCD панелі). Як відключити використання LCD на поверхні не знайшов, але знайшов що є параметр #define EXTRUDE_MINTEMP 170 В ньому замінив 170 на 0, компільнул, відправив на плату і екструдер дозволив крутитися колеса без прогріву. Після коригування значення за вашим методом відміряти стало як в аптеці (хоча поляк говорив що скинув найостаннішу вилизану прошивку), до цього похибка на 50 мм була близько 5 мм.