Постарался подробно описать установку прошивки Marlin 1.1.9 на Anycubic i3 MEGA с нюансами в виде драйверов двигателей.
- Качаем прошивку Marlin 1.1.9 отсюда: https://github.com/davidramiro/Marlin-Ai3M/releases/latest. Отсюда для наших TMC2208 v2.0 необходим один файл — Marlin-AI3M-v1.4.3-TMC2208_reversed.hex. Его и качаем. Для TMC2208 при коннекторах с оригинальным положением, скачать Marlin-AI3M-vx.x.x-TMC2208.hexДля TMC2208, где вы уже перевернули коннекторы, скачать Marlin-AI3M-vx.x.x-TMC2208_reversed.hexДля оригинальных драйверов, качаем Marlin-AI3M-vx.x.x-stock_drivers.hex.
- Шить будем из под Cura 15, настраивать из под Repetier-Host(можно видеть лог команд). Найти Cua 15 можно тут — https://ultimaker.com/en/products/ultimaker-cura-soft… Последнее качаем отсюда — https://www.repetier.com
- Убеждаемся, что Cura настроена верно (смотрим свои мануалы), из меню MACHINE выбираем INSTALL CUSTOM FIRMWARE… и выбираем скачанный файл.
- Закрываем, ставим Repetier-Host.
- После установки и запуска Repetier-Host в конфигурации (верхнее меню) можно сменить язык на русский и зайти в настройки принтера там же или по сочетанию CTRL+P. Настроить принтер, выбором порта и скорости, так же, как и в вашем ПО для печати. Более никаких настроек не надо, сохраняем, возвращаемся в программу и жмем самую первую кнопку Подсоединить. Если все прошло успешно, иконка сменится.
- Справа в Repetier-Host набор вкладок, среди которых есть вкладка УПРАВЛЕНИЕ. Переходим в нее, в поле G-Code вписываем команду M502 (сброс значение прошивки на дефолт) и жмем отправить. Смотрим лог, если все ок, вписываем M500 (сохранить значения в EEPROM) и жмем отправить.
Собственно, все. Выкл/вкл принтер. Наслаждаемся тихим счастьем.
В прошивке много хороших нововведений, очень долго переводить все (расписано всё тут: https://www.thingiverse.com/thing:3249319), отмечу лишь по моему мнению самые значимые:
- Возможность полуавтоматической калибровки стола по 25 точкам. Прошивка создаст в памяти плоскость, принимая во внимание изгиб стола. Калибровка проводится БЕЗ необходимости трогать подстроечные винты стола!
- Еще лучше качество печати, благодаря добавлению Linear Advance, S-Curve Acceleration и некоторых настроек рывка и ускорения.
- Гораздо более эффективный нагрев стола с помощью PID-control.
- Возможность калибровки экструдера и PID.
- Возможность одной командой менять пластик в процессе печати.
Если у вас стол кривой (вогнутый/выгнутый/изогнутый/отслоившийся/перекошенный), то эта функция для вас!
Расскажу в подробностях, как откалибровать, запомнить и радоваться…
- Вставьте SD карту и войдите в меню PRINT.
- Зайдите в пункт меню Special menu путем его выбора и нажатия кнопки с круговой стрелкой (далее буду называть эту кнопку ВВОД).
- В этом меню (внутри, для любого пункта) эта кнопка является кнопкой исполнения команды (аналог Enter).
- Нагрейте стол выбором пункта Preheat bed(включится нагрев до 60 градусов). Если вы используете чаще иную температуру, то нагрейте стол заранее до нужной через стандартное меню принтера.
- Выровняйте предварительно нагретый стол с помощью четырех винтов по вашему усмотрению или, если вы считаете, что со столом все в порядке — пропустите этот шаг. (После калибровки и в процессе её более не придется к ним притрагиваться).
- Выберите пункт Start Mesh Leveling.
- Сопло переместится к первой калибровочной точке. НЕ РЕГУЛИРУЙТЕ СТОЛ ВИНТАМИ, регулировка происходит на уровне прошивки!
- Из личного опыта, лучше всего использовать чек из магазина. При калибровке им, доведите сопло до момента, как чек слегка начнет закусывать, поднимите сопло на 0.02мм вверх и переходите к следующей точке.
- Используйте пункты меню для поднятия или опускания сопла на выбранное расстояние (не забываем про схему «Выбрал пункт — Нажми ввод (копку с круговой стрелкой)). Если необходимо сделать несколько движений, то каждый раз надо выбрать пункт меню, потом подтвердить. Пример: для поднятия сопла на 0.04, надо выбрать 0.02, нажать ввод и еще раз выбрать 0.02 и нажать ввод.
- По окончанию калибровки точки перейти к настройке следующей, спустившись в меню ниже и выбрав пункт Next Mesh Point.
- Повторяйте последнее два пункта до тех пор, пока все 25 точек не будут откалиброваны.
- Ваш принтер издаст звук, подождите секунд 20 и сохраните, выбрав пункт Save EEPROM.
- Перезагрузите принтер.
После выравнивания:
- Что бы быть уверенным, что созданная карта стола используется при каждой печати и не сбрасывается, зайдите в настройки принтера, а конкретно в стартовый GCode (start GCode).
- Найдите команду парковки (выглядит, как G28 или G28 Z0) и вставьте под этой строкой следующие команды:
Теперь ваш принтер будет знать кривизну стола и будет держать сопло на одинаковом расстоянии даже в изогнутых местах.
При замене хотенда или сопла рекомендую провести процедуру заново.
По просьбе выкладываю пост о прошивках (Firmware) для 3D принтеров. Данный пост разделен на две части. Первая часть посвящена новичкам и ее я решил оформить в качестве FAQ, надеюсь подобное изложение материала будет кратким, понятным и ответит на большинство вопросов. Во второй части — экзотика, прошивки, которые давно покрылись слоем пыли и совсем молодые или специализированные прошивки. Эта статья так же войдет в книгу «3D Ликбез».
Более подробно про настройку написано в этой статье.
В. Что такое прошивка для принтера?
О. Прошивка для 3D принтера — это написанный программный код, основной задачей которого является считывать и воспроизводить G-code (Специально разработанный код для ЧПУ станков). Это основная задача прошивки. Дополнительный функции, такие как вывод информации о процессе печати, печать с SD карты памяти, управление принтером через интерфейсы — это все дополнительные функции, и в разных прошивках набор этих дополнительных модулей разнообразен, как и сама идея каждой отдельной прошивки.
В. Что можно настроить в прошивке?
О. Практически все, что душе угодно. Начиная от банальной настройки вашего принтера «что бы двигалось», вплоть до переназначением пинов на плате, добавления новых функций, изменения пунктов меню.
В. Какую прошивку выбрать для новичка?
О. Если вы собираете принтер самостоятельно, то для начала стоит освоить прошивку под названием Marlin. В подавляющем большинстве случаев используется именно эта прошивка, даже заводских принтерах.
В. В чем принципиальная разница между прошивками?
О. Прошивки можно разделить по типу поддерживаемого «железа» (микроконтроллера) и на разные ветви одной базовой прошивки, причем последние могут идти как параллельная версия, так и полностью переработанная. Подробнее о прошивках в конце статьи.
В. Я купил/собрал 3D принтер, что дальше, куда заливать прошивку?
О. Для начала включите принтер. Если вы приобрели принтер у производителя, скорее всего прошивка в него уже залита, и лезть в первый же час работы не стоит. Я понимаю, что очень хочется, но если возникнут проблемы сперва обратитесь к производителю.
А вот если принтер был куплен как кит набор или вы его собрали самостоятельно, вероятнее всего электроника «голая» без прошивки, и тогда ее нужно загрузить в ваш комплект электроники. Ну и третий вариант, если вы чувствуете себя уверенным пользователем и готовы на эксперименты, смотрите вторую часть статьи.
В. Как залить прошивку в электронику?
О. В 90% случаев у вас на руках имеется Arduino mega 2560 + Ramps 1.4. Или любая другая плата на основе Arduino mega 2560. (В противном случае, читайте вторую часть статьи). Если это так, то вам потребуются программы: Arduino IDE(для работы с файлами прошивки), Pronterface (для настройки и управлением принтера), и сама Marlin.
Первым делом устанавливаем Arduino IDE, и пытаемся подключить Arduino Mega к компьютеру. Если это удалось, и нашлись и установились все драйверы, то радуйтесь, можно двигаться дальше, в противном случае у вас либо Mega основанная на usb чипе ch340g, либо мертвая плата. Платы на ch340g дешевле, но к ним нужно искать специальный драйвер, на всякий случай оставлю его здесь.
И перед тем, как начать настраивать прошивку, просто залейте ее в arduino, дабы убедиться, что электроника жива, а не ломать себе голову тем, что я конфигурирую-конфигурирую да не выконфигурирую.
Напомню, что пошаговая инструкция хорошо описана в этой статье.
В. Я прошил принтер, но двигатели едут не туда/температура неправильно показывается, не загорается дисплей.
О. Самое время настроить прошивку, для этого открываем в Arduino IDE файл configuration.h и начинаем читать комментарии. Опять же, в статье, упомянутой выше есть полный перечень настроек, но почитать на русском языке о всех возможностях прошивки будет не лишним.
В. Нужно каждый раз менять конфигурацию прошивки и прошивать электронику, или можно как то быстрее менять настройки?
О. Сам ни раз натыкался на это, а реальная проблема была, когда первый раз начал калибровать delta принтер, каждый раз вносить изменения, перепрошивая принтер это смерти подобно. На такие случаи придумали записывать настройки в энергонезависимую память, т.н. EEPROM. Данная функция включается в конфигурации и позволяет в том же pronterface записывать изменения в принтер из консоли при помощи M-команд.
А теперь давайте подробней рассмотрим каждую из прошивок. Разобьем их пожалуй по поддерживаемой электроники.
Прошивки для Arduino (Atmel):
1) Marlin — это пожалуй самая популярная и распространенная прошивка. Поддерживает множество кинематик, реализован автоуровень стола. Поддерживает целый ряд дисплеев, и целую пачку различной электроники. В целом прошивка достаточно раздута и некоторые функции сделаны либо коряво, либо не полностью. Но это проблема всей децентрализованой разработки.
2)Marlin Kimbra — Итальянское ответвление от основной ветки. Основные фишки это:
-Поддержка всех возможных кинематик в одной прошивке с удобными настройками.
-Поддержка многоцветных экструдеров, мультиэкструдеров, смесителей В и т.п. (Multyextruder NPr2, 4/6 цветный экструдер только с двумя моторами, двойной экструдер «DONDOLO«, MKr4 система для 4-ех экструдеров но используя два драйвера и 8 реле)
-Поддержка авто корректировки уровня стола. данная функция доступна только для декартовых принтеров.
-Поддержка лазера.
-Имеет поддержку авто калибровки дельта принтеров. (Лично мне не удалось толком ее настроить, т.к. постоянно срабатывало прерывание калибровки из за превышения количества итераций.)
-Так же имеет онлайн конфигуратор, позволяя выбрать конструкцию принтера, что будет удобно для новичков.
3)Marlin RichCattell— практически единственная прошивка для Arduino, в которой реализована полная авто калибровка Дельта принтеров. Проект не обновлялся с 11 июня 2015 года. RIP
4) Repetier-Firmware— «Быстрая и дружественная прошивка» — так написано в описании на GitHub. Эта прошивка была полностью переработана, основываясь на таких прошивках как: Teacup;В Grbl;В Marlin. Стоит отметить, что в этой прошивке реализована более быстрая загрузка файлов с компьютера на внутреннюю флешку. В остальном имеет мало значительных отличий от Marlin, но попробовать стоит. Имеется удобный онлайн конфигуратор
5) Teacup — основная задача данной прошивки — высокая производительность и чистота кода. Написана на чистом СИ, без применения C++. Более подробно можно ознакомиться в этой статье.
6) Grbl— бескомпромиссная прошивка для ЧПУ фрезерного станка, на основе Arduino. Не поддерживает экструдеры, поэтому не может быть использована в качестве прошивки для 3D принтера. Самое главное достоинство — серьезно проработанный код, без лишних непонятных фич, как в marlin.
7) sjfw — Прошивка основана на Marlin, Sprinter и Teacup. Создатель судя по всему, забавный парень:
Дословно, это означает, что он не рекомендует использовать данную прошивку никому. Все, что вы делаете, делаете на свой страх и риск. , далее:
Я ценю любые отчеты об ошибках и забавные истории о том, как это программное обеспечение сожгло Ваш дом дотла. Вы можете найти меня на открытом IRC канале #reprap. Или связаться по электронная почте scribblej@yahoo.com.
Последнее обновление 2012 год.RIP
8) Aprinter — Малоизвестная прошивка, имеет по сути все те же Имеется онлайн конфигуратоор, но не поддерживает Ramps 1.4, хотя в описании поддержка присутствует.
9) Sprinter — Последнее обновление в 2013 году. Поддерживает старую электронику, такую как: Ramps 1.3, Sanguinololu, Gen 3, Gen6. RIP
Прошивки для Arduino Due
1)Marlin4Due — Прошивка, созданная для Arduino Due, на основе Marlin, но она так же заброшена и не поддерживается на данный момент. RIP
2) Marlin Kimbra v4.2.x-получило поддержку Arduino due. В остальном нет принципиальных отличий
3)Repetier-Firmware — так же поддерживает Arduino due.
4)RepRap Firmware — хотя данная прошивка и поддерживает Arduino mega 2560, но все же основной упор сделан все же на DUE. Главная особенность — конфигурирование прошивки ведется путем записи файла на флешку, и большая часть интерфейса и команд реализована при помощи отдельных кусков g-кода. Так же проработана система управления через веб интерфейс. Исходники здесь.
Прошивки для плат на основе 32-битных процессоров ARM.
1) Smoothie Project — Проект, который набирает большую популярность. (по большей части благодаря китайцам) Ребята спроектировали жутко навороченную плату с поддержкой интернета, возможностью гибко конфигурировать как саму прошивку, так и внешние выводы платы (в оригинальной Smoothieboard). Тем самым вы легко можете получить как 3д принтер, так и чпу станок, так и гравер, просто закидывая разные конфиг файлы на флешку.
От себя скажу, что работал с оригинальной плате, и она жутко замороченная и не реально дорогая. Но братья китайцы всегда сопрут спасут. Выпустив платы «MKS S-base» и В «MKS SMini», которые без плясок с бубном работают на той же прошивке.
2) Redeem — Прошивка написанная специально для платформы BigleBon. Это не единственная прошивка для бигла, можно хоть напрямую влить дистрибутив GNU Linux, но возникают серьезные проблемы с самим ПО, так как оно заточено под ЧПУ станки (Linux cnc, он же EMC). Если бы кто то смог адаптировать наконец это или подобное решение под Rasbery PI (или многочисленные аналоги), то мы бы могли перейти на принципиально новый уровень, но пока увы это очень сложно
Прошивки для других процессоров и платформ:
1) Sailfish — Прошивка для старых Makerbots. Интерес составляет пожалуй чисто исторический. RIP
2)ImpPro3D — одна из первых прошивок. была создана семерыми учащимися центральной школы Лилии. (Франция) Прошивка использовалась совместо с электроникой на основе все той же Arduino, но полностью переразвели плату, для работы с драйверами L298. На сколько я понял, за основу была взята прошивка Sprinter. На данный момент проект заброшен, но ознакомиться со всем проектом можно на официальном сайте.
Меня радует то, что люди начинают задумываться о производительности и чистоте кода, это говорит о том, что в среду 3D принтеров приходят специалисты.
З.Ы. Не забываем добавляться в «Лигу 3D принтеров», задавать вопросы, делиться опытом, а так же в новостное сообщество «3D печатники».
Любые вопросы, вы можете задать мне лично в VK: http://vk.com/tigeer
Всем удачи и спасибо за внимание, ваш ласковый и нежный Tigeer
106Используемые источники:
- https://mc-dos.ru/marlin-1-1-9-anycubic-i3-mega/
- https://mc-dos.ru/marlin-1-1-9-%d0%ba%d0%b0%d0%bb%d0%b8%d0%b1%d1%80%d0%be%d0%b2%d0%ba%d0%b0-%d1%81%d1%82%d0%be%d0%bb%d0%b0/
- https://pikabu.ru/story/proshivki_dlya_3d_printera_3d_likbez_4321027