Настройка двигателей 3д принтера
Качество напечатанных моделей напрямую зависит от механики принтера, а именно от её правильной настройки. Любые элементы принтера со временем изнашиваются, поэтому настройку принтера необходимо проводить хотя бы раз 5-6 кг отпечатанного филамента. С помощью коротких инструкций, описанных в этом гайде, вы сможете быстро и легко настроить механику вашего принтера: натяжение ремней, ток на двигателях, шаги двигателей, ускорение, рывки и скорость.
Что включает в себя механика
В 3D-принтерах любой конструкции всегда содержатся одни и те же вещи: Оси и направляющие, по которым перемещаются элементы принтера и двигатели с ремнями, которые приводят эти элементы в движение. В классической конструкции принтера есть как минимум 3 мотора (по одному на каждую ось), 3 направляющие (по одной на каждую ось) и плата электроники, которая управляет двигателями. Последнее можно с натяжкой назвать частью механики, но так как она управляет двигателями, она же косвенно влияет на качество модели.
Дефекты печати из-за неполадок в механике
Перед тем как менять что-либо в принтере, необходимо определиться, что именно нужно настроить. Зачастую дефекты видны визуально. В нашем блоге есть статья о большинстве дефектов печати, в которой подробно расписаны причины их появления. Далее список дефектов и с каким элементом механики они связаны:
Смещение слоёв - Ремни, Ток двигателей, Направляющие
Неправильная геометрия модели - Направляющие, Шаги двигателей, ремни
Как можно увидеть, все вышеуказанные проблемы не мешают самому процессу печати, но результат оставляет желать лучшего. Иногда ошибки в механике могут полностью остановить работу принтера. Поэтому лучше не доводить ситуацию до крайностей и при появлении каких-либо проблем сразу начать проверку и настройку 3D-принтера.
Как сохранять настройки
Для исправления некоторых дефектов нужно изменять программные настройки принтера. Поэтому, перед регулировкой механики необходимо понять, как правильно сохранять настройки внутри принтера. Для этого есть 3 пути:
Запись параметров в меню самого принтера
Все настройки находятся в соответствующем меню принтера
Перепрошивка принтера с новыми параметрами
В зависимости от вашей прошивки, в данной инструкции будут указаны участки кода для прошивки MARLIN в файле configuration.h
Запись параметров через GCODE команды
Сначала мы вводим параметры в принтер, а затем сохраняем их в EEPROM - внутреннюю память микроконтроллера. Либо вставляем все необходимые настройки в начале GCODE. О том, как это сделать, читайте в нашей статье про работу с GCODE и создание макросов.
Какой бы из вариантов вы не выбрали, стоит быть осторожным при использовании любых команд. Вы не сможете как-либо навредить принтеру при изменении настроек, но если вы ошибетесь, то придется долго искать причину возможных дальнейших проблем.
Инструкции по настройке
Теперь можно приступать к настройке самого принтера. Если вы решили настроить сразу несколько параметров, то лучше использовать порядок регулировок как в статье, так как некоторые из настроек связаны друг с другом и при использовании неверного порядка, настраивая один элемент механики вы собьете настройки другого элемента. Например, нельзя настраивать шаги двигателя перед натяжкой ремней, так как изменившаяся длина ремней приведет к изменению “истинных” шагов на миллиметр двигателей. Также перед настройкой необходимо убедиться в отсутствии люфтов в раме принтера, затянуть все ремни.
Ремни
Первое, с чего следует начать настройку принтера,- это ремни. Они прямо влияют на геометрию модели и при слишком сильном натяжении именно они вызывают множество проблем: смещение слоев, изменение геометрии, рябь. Сначала стоит удостовериться в целостности ремня. Для этого просмотрите весь ремень, в особенности участки, где ремни изгибаются. Если ремень изжил своё, то можно увидеть увидеть участок ремня, где расстояние между зубцами сильно увеличилось и между ними видна металлическая проволока (корд). Это значит, что пришло время полностью менять ремень.
Порванный ремень с лопнувшими кордами
Если ремень цел или вы уже заменили его, то можно приступать к следующему шагу. В зависимости от конструкции вашего принтера, необходимо отодвинуть ролик, через который проходит ремень. Натяжение должно быть таким, чтобы каретка или стол двигались без усилий, но при этом при быстром передвижении ремень не должен проскакивать зубцы на шестерне двигателя. Настройте натяжку ремней на каждой оси принтера по данному методу.
Совет: если в вашем принтере из комплекта шел натяжитель ремня в виде пружины, крепящейся на самом ремне - уберите его. Из-за гибкости этого натяжителя будут возникать дефекты печати, например, торчащие углы на модели. Лучше настроить ремень без использования данного натяжителя.
Натяжитель ремня
Ток двигателей
Как мы знаем из школьного курса физики, мощность двигателя зависит от напряжения и силы тока. Так как напряжение на всей электронике принтера везде одинаково, то единственно, что можно изменить - ток на двигателе. Точнее следует сказать максимальный ток, который драйвер будет подавать на моторы. Для изменения этого предела необходимо залезть внутрь корпуса и найти плату принтера. На ней вы увидите драйвера принтера. Нас интересует маленький потенциометр на самом драйвере (на картинке ниже он указан как подстроечный резистор).
Пример расположения потенциометра на драйвере
Для настройки вам понадобится вольтметр и маленькая крестовая или плоская отвертка. Перед дальнейшими шагами необходимо рассчитать максимальный ток, подаваемый на моторы. Для разных драйверов используются разные формулы, самые популярные будут указаны в таблице ниже:
Vref = Imax * 1,25 для R100
Vref = Imax * 2,5 для R050
Чтобы понять какую формулу использовать необходимо найти резистор с подписью R100 или R050 на драйвере. Они располагаются рядом с чипом драйвера.
Vref = Imax * 1,41
Для всех драйверов одна формула
Значение максимального тока (Imax) зависит от двигателя, которым управляет драйвер. Это можно узнать из спецификации двигателя или по наклейки на нём. Далее указаны токи для самых популярных моделей двигателей:
17HS4401 - ток 1,7 А
17HS8401 - ток 1,8 А
17HS4402 - ток 1,3 А
Подставив значение в формулу, мы получим значение Vref для максимального тока, подаваемого на двигатель. Но при таком значении двигатель будет сильно греться, поэтому полученное значение Vref необходимо умножить на 0,7. Например, для двигателя с максимальным током в 1,5 А и драйвером TMC 2208:
Vref = 1,5 * 1,41 * 0,7 = 1,48 В
Теперь полученное значение можно использовать при настройке на самом принтере. Для этого отключите провода, идущие к моторам, включите принтер и поместите один щуп вольтметра в центр подстроечного резистора, а второй щуп к отрицательной клемме на блоке питания (также можно использовать отрицательную клемму на плате принтера и контакт на драйвере, обозначенный как GND). Вы увидите некоторое значение на экране вольтметра. Поверните подстроечный резистор по часовой стрелке, чтобы уменьшить значение Vref и против часовой, чтобы увеличить.
Внимание: не следует указывать значение Vref выше максимального рассчитанного для вашего двигателя! Иначе двигатель в скором времени сломается!
Когда вы настроите значение на драйверах, то можете выключить питание принтера, присоединить провода моторов и собрать корпус обратно. На этом настройку драйверов можно считать законченной.
Шаги двигателей
При настройке шагов двигателей вам понадобится линейка. Для удобства можно использовать программу Repetier-Host. Настройка для каждой из трех осей происходит по одному и тому же алгоритму:
Ставим каретку в нулевые координаты (Autohome или G28)
Передвигаем каретку на некоторое расстояние
Измеряем, на какое расстояние прошла каретка
Рассчитываем правильное количество шагов на миллиметр по формуле:
Истинные шаги на миллиметр = текущие шаги на миллиметр * указанное расстояние / пройденное расстояние
Например, в принтере было указано 100 шагов/мм, приказываем принтеру переместится на 80 мм, а принтер проходит 87,5 мм. Тогда правильное значение шагов на миллиметр будет равняться 100 * 80 / 87,5 = 91,42 шагов/мм. Для удобства измерений можно закрепить на столе линейку, а на каретке тонкий предмет, например, иголку или булавку. Тогда можно будет крайне точно измерить пройденное расстояние. Для измерения расстояния в экструдере используется частично отличающийся алгоритм:
Вставляем пластик в экструдер
Обрезаем его прямо у выходного отверстия
Отдаем принтеру команду вытянуть пластик на некоторое расстояние (минимум 100 миллиметров)
Снова обрезаем пластик
Измеряем длину полученного отрезка пластика
Используем формулу из предыдущего алгоритма
Далее данные настройки нужно вставить в прошивку в строке:
Вместо X,Y,Z и E0 должны стоять значение шагов на миллиметр для каждой из осей соответственно. Иначе, необходимо вставить в начальный GCODE данную строку:
M92 Ennn Xnnn Ynnn Znnn
Вместо nnn в каждом из параметров необходимо подставить шаги на миллиметр для каждой оси. Если вы хотите настроить шаги только не для всех осей, то можно убрать ненужные параметры.
Ускорение
Данный параметр отвечает за скорость изменения скорости. То есть насколько быстро принтер будет изменять свою скорость. Это влияет на характер перемещения хотенда относительно стола. Если ускорение слишком маленькое, то принтер будет медленно печатать, если же оно слишком большое, то внешняя поверхность модели будет обладать визуальными дефектами: около каждого из углов будут видны угасающие волны как на картинке ниже.
Для настройки ускорения нужно следовать простым шагам:
Нарезать модель стандартного тестового кубика с толщиной стенок равной одному диаметру сопла, без заполнения и верхних слоев, дно 2-3 слоя;
Открыть GCODE файл в блокноте;
Найти команду G28 в самом начале и вставить после неё данные строки:
M201 X5000 Y5000
Сохраните изменения, напечатайте модель по полученному GCODE и отметьте при каких параметрах P и T она печаталась;
Откройте тот же GCODE файл и измените значения P и T во второй строке, добавив к каждому из них по 500;
Повторите пункты 4-5 как минимум 3 раза;
В результате вы получите несколько тестовых кубиков, на части из которых будут видны волны у углов. Выберите кубик, напечатанный с наибольшими параметрами P и T, но чтобы на нём не было видно волн. Цифра в параметре P будет искомым значением ускорения. Чтобы сохранить данное значение необходимо найти в прошивке 2 строки:
Вместо X и Y следует поставить ускорение, в два раза выше найденного ранее. А вместо nnn необходимо поставить найденное ранее значение ускорения. Иначе необходимо вставить строку в начальный GCODE:
В параметрах P и T нужно поставить значение найденного ускорения. После этого настройку ускорения можно считать завершенной.
Рывок
Рывком обозначается то, с какой скорости начинать ускорятся. Он влияет на модель схожим образом, как и ускорение: создает рябь около углов модели. Но также увеличивается выпячивание углов, если рывок слишком мал. Настройка рывка также схожа с настройкой ускорения:
Нарезать модель стандартного тестового кубика с толщиной стенок равной одному диаметру сопла, без заполнения и верхних слоев, дно 2-3 слоя.
Открыть GCODE файл в блокноте
Найти команду G28 в самом начале и вставить после неё данные строки:
Сохраните изменения, напечатайте модель по полученному GCODE и отметьте при каких параметрах X и Y она печаталась
Откройте тот же GCODE файл и измените значения X и Y во второй строке, добавив к каждому из них по 2
Повторите пункты 4-5 как минимум 3 раза
В результате у вас получится несколько кубиков. Найдите кубик на котором не будет ряби, напечатанный при наибольших параметрах X и Y. Это и будет значением рывков для вашего принтера. Чтобы сохранить их необходимо найти в прошивке строку:
Необходимо подставить значения рывков для осей X и Y соответственно. Иначе необходимо подставить в стартовый GCODE команду:
Вместо nnn нужно подставить значение рывка, найденное ранее. На этом завершается настройка рывков.
Скорость
На самом деле существует множество различных параметров скоростей, значения для которых сильно разнятся. Далее рассмотрим основные из них:
Этот параметр отвечает за перемещение сопла без выдавливания пластика. Значение находится в пределах от 80 до 120 мм/с. Ограничивается только максимальной скоростью, с которой могут вращаться двигатели. Не влияет на модель
Скорость печати первого слоя
Данная скорость важна, так как она косвенно влияет на адгезию модели к столу. Обычно находится в пределах от 15 до 30 мм/с
Скорость печати стенок
-Скорость печати внутренних стенок
Обычно ставится около 60 мм/с, влияет только на прочность модели. Зависит от максимального количества пластика, который может продавить экструдер через сопло
-Скорость печати внешних стенок
Обычно около половины от скорости печати внутренних стенок (30 мм/с).Влияет не только на прочность модели, но и на внешний вид: чем ниже данная скорость - тем ровнее будут стенки.
Скорость печати заполнения
Стандартным значением является 80 мм/с, влияет только на прочность модели
Скорость печати дна/крышки
Обычно выставляется от 20 до 40 мм/с, от неё зависит качество верхнего слоя модели: чем ниже значение - тем ровнее крышка.
Все вышеуказанные параметры подбираются экспериментальным путем. Обычно действует простое правило: выше скорость - ниже качество. Поэтому не стоит пытаться найти идеальное значение для всех ситуаций. Лучше найти значения для быстрой печати, качественной печати и среднее, которое будет использоваться для большинства моделей.
Проверка настроек
Последним этапом настроек любого из вышеописанных параметров будет проверка результата. Если вы записывали параметры в прошивке или сохраняли их в EEPROM, то можете использовать команду M503. Она выведет все настройки принтера на компьютер. Для проверки настроек на практике можно распечатать несколько тестовых моделей:
На каждой из вышеуказанных моделей будет хорошо видны дефекты, если они ещё остались после настройки механики.
Иногда владельцу 3д-принтера приходится этим заняться. Поведаю хабра-сообществу о своём способе. Прошу заметить, что руководство подробное, но приводит к отличным результатам — прилипает модель на отлично и не отклеивается в процессе печати.
Для начала отмечу, что своё мастерство я оттачивал на принтере SmartCore Aluminium, приобретённом здесь.
Установка нагревательной платформы
Нагревательную (или не нагревательную, зависит от принтера) платформу для начала надо выставить по высоте. Для этого существует концевик для оси Z.
Концевой выключатель — электрическое устройство, применяемое в системах управления в качестве датчика, формирующего сигнал при возникновении определенного события, как правило, механическом контакте пары подвижных механизмов.
С помощью затяжного и прижимного болтов этот концевик можно регулировать по высоте.
Нужно выставить его так, чтобы поверхность платформы чётко касалась сопла экструдера.
Для дальнейшей калибровки будем использовать Pronterface из пакета ПО Printrun.
Преимуществом этого пакета вижу наглядное и удобное управление соплом и платформой принтера, но если кому-то удобнее использовать Repsnapper, он тоже вполне подойдёт. Cura не подойдёт для калибровки, за неимением необходимого для этого функционала.
Для продолжения давайте убедимся, что при нажатии на кнопку «Калибровка» («Home», изображен белый домик), платформа поднимается и упирается вплотную, но не пытается двигаться дальше, к соплу.
Так-как на моём принтере прошивка взята с напрямую с репозитория SmartCore Aluminium (пусть и не напрямую с Marlin), сопло выезжает на середину платформы. Если у вас это не так, и сопло остаётся в углу по нулевых координатах — ничего страшного, для дальнейшей калибровки это не принципиально.
Калибровка
- Нажать на калибровку оси Z
- Если упирается угол в сопло (центр должен упираться, как мы добились отрегулировав высоту концевика во время подготовки), то по чуть-чуть прижимаем болт платформы на этом углу, пока не появится минимальный просвет.
- Устраняем минимальный просвет, но не больше. В идеале у нас должно сопло стоять чётко впритык по всем углам и центру при нажатии на калибровку оси Z. Именно такого результата нам нужно добиться для качественной печати, о контроле результата позже.
- Теперь нужно убедиться, что при нажатии на будет появляться просвет. Если этого не произошло, можно немного отпустить болт, прижимающий этот угол и, нажимая последовательно то зелёный домик, то кнопку «0.1», повторять до получения желаемого результата.
После того, как мы закончили калибровку на всех пяти точках и контрольно прошлись по ним так, что не пришлось ничего менять, можно переходить к проверке результата калибровки.
Проверка
Для проверки я использую простую модель, нарисованную в FreeCAD и cгенерированный gcode в Cura. Пластик чем точнее диаметром, тем лучше — я беру здесь из-за заявленной точности и разнообразия цветов. Впрочем, для проверки будем использовать натуральный цвет ABS-пластика.
Смысл простой маленькой проверочной модели, наверное, ясен — экономия средств и времени.
Именно в такой последовательности есть смысл проверять. Впрочем, если вы уверены в своей калибровке, то можете сразу начать с шага 2. Ну если у вас уже есть опыт и вы абсолютно уверены в своей калибровке, то можете сразу перейти к шагу 3 — распечатывать 5pad.gcode.
Разница в количестве и расположении изделий.
Я же опишу проверку первого шага, поскольку остальные аналогичны.
Предположим, одна сторона платформы слишком высоко откалибрована. Это очень легко обнаружить в результате:
Вид сверху:
И что важнее сейчас для нас — вид снизу:
— вот так выглядит ободная кайма Cura, если сопло расположено слишком высоко к платформе. Пластик падает не точно, иногда цепляясь за соседние линии.
Рассмотрим обратную ситуацию — если сопло слишком прижато к платформе:
Как видим, здесь тоже не всё гладко, пластик, стремясь заполнить доступное пространство, налазит на соседние линии, а на следующем слое повторно цепляется сопло, вмазывается вновь по доступному пространству. Впрочем, надо отметить, что прилипает в таком случае модель очень хорошо, а дефект калибровки не виден на следующих слоях. Более того, может быть даже не заметен вовсе, если вы выберете в Cura подложку для прилипания модели к столу.
Наконец, желаемый и правильный результат:
Здесь вы видите небольшое нагорание, но оно связано с неубранным кусочком нити, что хорошо видно на фото вида снизу. Подобные нагорания присущи скорее предыдущему случаю, когда сопло слишком прижато. А в остальном — ровные линии, плотно уложенные. Так и должно быть. Примите поздравления — калибровка центральной точки, значит, успешна.
Нормальная ситуация, если такой результат получен на стекле при температуре 100 градусов. При этом, если стекло обезжирено и ровное, то после окончания калибровки, отлипать в процессе печати не будет. Вы можете попробовать отодрать деталь от нагретой платформы после печати. Пока не остынет до 90-80 градусов, у вас это может, даже и не получится, без повреждения стекла. Также, может быть важным отсутствие сквозняка, который влияет на не менее важную равномерность прогрева поверхности платформы.
Вот общие фото для удобства сравнения:
Вид сверху:
Вид снизу:
Дальнейшая проверка аналогична по своей сути, но распечатать следует 4pad.gcode — охватывает немного большую центральную область. И 5pad.gcode — покажет качество калибровки по углам.
Всем удачной калибровки!
На завершение развлекательное видео, на котором отображено наслаждение результатом:
Настройка экструдирования. Проверка и настройка точности длины подаваемого пластика
Это самая первая отстройка, которую необходимо сделать перед настройкой потока и слоя.
Для настройки можно вынуть трубку из хотенда, но если вы боитесь его трогать, то нужно вынуть пластик из трубки до колеса податчика и снять трубку из крепежа. Пруток пластика должен торчать.
Для измерений нам нужна будет точка начала, которая при выимке трубке будет концом трубки, а при варианте с другой стороны, началом будет конец крепежа.
Обрезаем торчащую нить заподлицо фиксатору, что бы нить была вровень отверстия.
Далее, для проведения всех манипуляций, нам понадобится программа Repetier-Host. Там и консоль удобней и значения EEPROM проще редактировать.
Заходим в приложение, подключаем принтер и нажимаем ALT+E. На экран выводятся значения EEPROM.
Прежде всего необходимо нагреть экструдер, иначе принтер не даст начать давить пластик. Делаем это командой M109 S180, которая скажет принтеру нагреть сопло до 180 градусов, нам будет достаточно, все равно он не принимает участия.
Как только нагреется сопло, нам надо подать из катушки некое удобное количество пластика, удобное для расчетов. 100мм или 200мм, которое будет проще измерить. Выдавим 100 командой G1 F400 E100.
Как только подача прекратится, можно отключить нагрев сопла командой M109 S0. Тем временем у нас торчит пруток пластика теоретически длинной 100мм.
Теперь необходимо так же заподлицо отрезать этот кусок и приступить к его измерению.
Как видно, нам выдавило 102мм пластика. По-этому нам надо пересчитать количество шагов/мм. Делается это следующим образом:
Процедуру можно повторить несколько раз для более точной настройки или для убеждения, что все сделано верно.
Настройка потока
Печатаем кубик 20мм на 20мм (скачать модель кубика) со следующими настройками:
Должно получиться в слайсере так:
Печатаем и приступаем к измерениям. Измеряем все стенки в нескольких местах. Скажем на каждой стенке провести по 3 измерения в разных ее местах. В итоге получим 12 значений, среди которых считаем среднее арифметическое.
Скажем, среднее арифметическое у нас получилось 0.44. Рассчитываем величину потока:
100% установленного потока * текущую толщину линии (печатаем соплом 0.4) / измеренную толщину. Получаем 100*0.4/0.44 = 90.9. Так же можно округлить до 91% и это значение вносим в настройки слайсера.
Далее печатаем кубик снова, что бы убедиться в верности новых настроек. Если результатом не довольны, провести калибровку еще раз.
«Магические числа»
Автор данного исследования: CHEP. Материал о магических числах является вольным переводом.
Вдаваться глубоко в теорию работы шагового двигателя не буду. Это всегда можете найти в сети интернет, иначе получится учебник.
Что же за «магические числа»?
Микрошаги это дробление каждого шага на некоторое количество шагов. Этим и управляет драйвер двигателя. Микрошаг является менее точным положение. Во-первых, точности привода мешает геометрическая неидеальность ротора и статора двигателя, неидеальные обмотки, зазоры в подшипниках вала и т.п. В результате двигатель выполняет шаги всегда с некоторой погрешностью (как правило, 5% от величины полного шага), причем абсолютное значение погрешности постоянно для любого выбранного микрошагового режима! Кроме того, во многих драйверах управление двигателем также далеко от идеального, что приводит к дополнительной неравномерности перемещения в режиме микрошага.
В принтере Anycubic i3 MEGA на оси Z стоят ходовые валы со следующими параметрами:
- Внешний диаметр: 8мм
- Шаг: 2мм
- Подъем гайки за 1 оборот: 8мм
В виду нехитрых расчетов, зная, что двигатель делает 200 шагов на оборот и за этот оборот подъем по оси Z составит 8мм, получаем 8мм/200шагов = 0.04мм. Это и есть «магическое число».
Перед тем как приступить к калибровке необходимо подготовить и загрузить прошивку. От программы, по которой работает принтер, зависит качество и надежность печати.
Как я писал ранее, в качестве внутреннего ПО был выбран проект Marlin. Рассмотрим все необходимые действия для получения работоспособной прошивки для описанной выше конфигурации.
СРЕДА РАЗРАБОТКИ
ИСХОДНИК ПРОШИВКИ
Текущая версия Marlin для работы над прошивкой Marlin-1.1.0-RC8. Для скачивания прошивки в первоисточнике перейдите по ссылке.
ПОДКЛЮЧЕНИЕ КОНТРОЛЛЕРА
НАСТРОЙКА ПРОШИВКИ
ВКЛАДКА Configuration.h
Устанавливаем скорость обмена порта
Я установил достаточно большую скорость обмена. Здесь нужно осознавать, что работоспособность на выбранной скорости определяется не только платой контроллера, но и программой управления. Я использую Repetier Host. Она прекрасно справляется с такой скоростью :).
Выбираем плату контроллера
Этой строкой указываем, что будем использовать силовую плату RAMPS 1.4 с одним экструдером, вентилятором и обогреваемым столом. В комментариях тип платы описан следующим образом:
// RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)
Описание плат управляющего контроллера, поддерживаемые прошивкой, находятся во вкладке Boards.h.
Определяем какой экструдер будем использовать:
В случае, если используется блок питания с программным отключением, прошивка поддерживают возможность управлять таким БП. Для этого необходимо описать тип БП. Поскольку в моем случае управление БП не поддерживается, то:
Так как корпус принтера является открытым, то различные внешние возбудители (сквозняки и пр.) могут сильно влиять на температуру нагревателей. Для более точного поддержания температуры нагревателей я рекомендую использовать PID регулировку. В этом случае потребуется калибровка нагревателей! Она проходит в автоматическом режиме и опишу этот процесс ниже по тексту статьи. На данном этапе достаточно только включить PID регуляторы хотэнда и стола с коэффициентами регулировки по умолчанию.
Более свежие прошивки имеют в своем составе большое количество настроек, повышающих безопасность работы принтера. В частности контроль скорости нарастания температуры, минимальное и максимальное значение температуры на нагревателях и даже длину непрерывной экструзии. Мне кажется, использование данных фишек совсем не повредит. Посему настраиваем минимальную и максимальную температуру нагревателей:
Запрещаем холодную экструзию проволоки. При температуре ниже 170 гр. С подача осуществляться не будет:
Запрещаем непрерывную подачу пластика более 200 мм:
Включаем температурную защиту нагревателей:
Далее переходим к настройке механики. Концевые датчики положения в моей конструкции предполагают начало отсчета координат из минимального значения по всем трем осям:
Для правильной работы оптических концевиков потребуются подтягивающие резисторы:
При использовании оптических концевиков инвертируем значение логического сигнала:
Поскольку выводы, снимающие сигналы с концевых датчиков, поддерживают прерывания включаем обработку событий от концевиков по прерыванию, что существенно сэкономит машинное время:
По концевикам осталось только обозначить направление движения к начальной точке:
Для повышения точности печати, с целью исключения люфта при начале движения и во время остановки двигателей лучше включить захват положения двигателей всех осей и экструдера даже без движения:
Следующие строки определяют направление вращения приводов для движение в нужном направлении. Напоминаю, что значения приведены для конфигурации Mendel Prusa I3.
При использовании экструдера, содержащего редуктор потребуется установить:
Использованные мной драйверы немного слабоваты. По этой причине на большой скорости движения в Z направлении заметны существенные глюки. Значит сразу лучше ограничить скорость при возврате каретки в начальное положение:
Для программного контроля перемещения в рабочем пространстве установим границы перемещения после установки принтером начальной точки:
Для точного перемещения по осям прошивка должна знать на сколько шагов требуется прокрутить двигатель при перемещении на 1мм:
В этой строке прописаны значения осей X, Y, Z, E (экструдера). Все значения, кроме E вполне совпадают с расчетными величинами (по крайней мере у меня). К значению Е вернемся позже. Теорию можно прочесть на форуме RepRap.
Далее ограничиваем ускорения для перемещений по всем осям. Я ограничил все значения, кроме ускорения вращения экструдера на половину от значений по умолчанию:
Для перехода на русский язык в меню управления принтером:
и SD карты памяти:
Основные параметры настроены, можно приступать к калибровке! Но, раз уж мы ковыряем прошивку, сразу доработаем все необходимое для реализации работы в меню контроллера без ПК.
Опишем температуру преднагрева для PLA и ABS пластика:
Если интересно знать статистику работы принтера. Для сохранения статистики в EEPROM включим:
Данная фишка позволит сохранять в энергонезависимой памяти контроллера следующую информацию:
Информацию можно получить из принтера по команде M78.
Также рекомендую включить настройки температурной безопасности:
Режимы требуется настраивать индивидуально для каждой модели принтеров. Описание параметров приведу в части статьи, описывающей вкладку Configuration_adv.h.
Если с настройками по умолчанию энкодера работать неудобно (слишком быстро перепрыгивает между разделами меню или не устраивает направление вращения), то следующие разделы помогут тонко отстроить работу энкодера:
// ЧИСЛО ИМПУЛЬСОВ ЭНКОДЕРА НА ОДИН ШАГ. ДЛЯ ЭКОДЕРОВ С ВЫСОКИМ РАЗРЕШЕНИЕМ
// ТРЕБУЕТСЯ УВЕЛИЧИТЬ ЗНАЧЕНИЕ
// ИЗМЕНЕНИЕ НАПРАВЛЕНИЯ ВРАЩЕНИЯ
ВКЛАДКА Configuration_adv.h
Прошивка поддерживает большое количество дополнительных настроек, очень помогающих в работе. Хотелось бы сразу описать те, которые я активно использую. Для перехода к расширенным настройкам открываем вкладку Configuration_adv.h.
Настройки режимов защиты по температуре:
После включения параметра THERMAL_PROTECTION_HOTENDS при нагреве хотэнда по командам M140 или M190 принтер будет отслеживать прирост температуры! Если за период времени WATCH_TEMP_PERIOD температура не увеличивается на WATCH_TEMP_INCREASE ГРАДУСОВ, то принтер остановится и потребуется полная перезагрузка.
Для нагревателя стола тот же алгоритм защиты и переменные при условии включения THERMAL_PROTECTION_BED:
Если для отвода тепла от платы контроллера используется вентилятор, то разумно использовать его включение программно и подключить через дополнительную недорогую плату. В прошивке при этом требуется:
1. Определить пин контроллера, задействованный для управления вентилятором охлаждения:
Очень интересная настройка:
позволяет запускать вентилятор обдува фактически на любой рабочей скорости. Для этого на установленное в настройке время в миллисекундах задается максимальная стартовая скорость. После запуска установится рабочая скорость.
Для более детального управления вентилятором обдува радиатора задаем пин, скорость вращения и температура включения:
В предыдущих статьях я упоминал, что драйвер шагового двигателя оси Z при параллельном подключении двух двигателей, существенно перегревается. Прошивка позволяет подключить второй двигатель на драйвер неиспользуемого двигателя экструдера:
Пожалуй, это все самые необходимые настройки вкладки.
ВКЛАДКА Language_RU.h
После перехода на русский язык мне не понравился перевод параметров. Я сделал перевод под себя. Для этого во вкладке Language_RU.h изменил константы:
ОТЛАЖЕННАЯ ПРОШИВКА
Тем, кто собрал таки свою Прушу, выкладываю свою версию прошивки. Прошивка полностью отлажена и позволит сразу запустить принтеры ZDV Prusa I3 и ZDV Prusa I3 v2.
УПРАВЛЯЮЩАЯ ПРОГРАММА
Читайте также: