Marlin 1.1.* для Anycubic Chiron

Landgraph
Идет загрузка
Загрузка
01.06.2020
1162
15
печатает на Anycubic Chiron
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

2
Статья относится к принтерам:
Anycubic Chiron

Приветствую уважаемых участников сообщества!

Сомоизоляция выдалась относительно продуктивной в плане разных 3D-принтерных развлечений.

Дошли, наконец, руки до перепрошивки моего Anycubic Chiron. Особенно хотелось попробовать так широко разрекламированную везде функцию Linear Advance. Ну и заодно попробовать какие-нибудь ещё функции Марлина.

Не буду ходить вокруг да около, исходники лежат в репозитории на GitHub: Landgraph/Marlin

Конечно, возможно я плохо искал, но я не нашёл Marlin для Anycubic Chiron. Поймите меня правильно - да, я тоже нашёл кастомные прошивки для Anycubic Chiron на базе Marlin. Во-первых, не всегда прошивки предоставляются в виде исходных кодов (отдельная беда). Во-вторых, даже те прошивки, что удалось найти в исходных кодах - это один-два коммита, значительно отличающихся от базовой прошивки доступной в репозитории Anycubic Chiron 1.3.0 (ссылки будут в конце). И даже особо сравнить не получалось исходники между собой, чтобы понять что изменилось относительно базовой прошивки.

Собственно поэтому я решил собрать свой Marlin с необходимыми изменениями для работы на Anycubic Chiron (а также, полагаю, на Anycubic Mega, но нужны некоторые изменения и тесты). Кстати, недавно встречал подобные отзывы в одном из обзоров на ютюбе - автор также искал Marlin для тестов и, судя по контексту, не нашёл.

Итак, что я сделал?

Взяв исходную прошивку из репозитория Anycubic Chiron (v1.3.0) - нашёл коммит с минимальной, на мой взгляд, разницей с Marlin. У меня получилось, что прошивка для Chiron собрана на базе Marlin 1.1.0-RC8. Т.е. даже не релизная версия.

Немного поразбиравшись в прошивке сделал следующие выводы:

  1. Сенсорный экран является отдельным и независимым устройством, осуществляющим коммуникацию с платой через один из доступных последовательных портов. Идея понравилась, есть потенциалИсходный код производителя тесно интегрирован в код Marlin
  2. Поломана функциональность команды G5 (кривые Безье), на этот код повешена функциональность потери питания
  3. Скорости, ускорения и т.п. настройки значительно ограничены прошивкой, поэтому все эксперименты с ускорениями 1800, 500 и т.п. - были впустую

Далее я вынес крупные блоки кода производителя в отдельные файлы VendorCode.cpp и VendorCode.h.

После этого приступил к чистке исходного кода от вкраплений кода производителя. Где-то удалось вырезать функционал в файлы с кодом производителя, где-то пришлось изолировать код с помощью define'ов, вернув при этом на место исходный код Marlin.

После предварительной чистки кода удалось подготовить патч и перенести изменения производителя на новую версию Marlin. Как это было - можете посмотреть в истории изменений. Также теперь можно легко использовать diff для просмотра разницы между разными версиями кода.

Теперь же и ребейз изменений на новую версию исходного кода Marlin стал менее ресурсоёмким.

Таким образом у меня получился код Marlin с изменениями для Anycubic Chiron, а не прошивка для Anycubic Chiron на базе Marlin, для меня это важно.

Пока что работа над чисткой кода ещё не закончена, кому интересно - можете посмотреть на текущий результат и присоединиться к работе. На данный момент я уже почти месяц сижу на новой прошивке и не вижу принципиальной разницы с родной прошивкой - т.е. у меня нет дискомфорта от того, что что-то работало в заводской прошивке, а в новой не работает. За исключением калибровки поверхности - не могу проверить.

Я не буду утверждать, что у меня получилось что-то совершенно новое или уникальное, но меня этот вариант устраивает значительно больше, чем те, что я находил.

Также появилась возможность плавно перенести изменения в Marlin 2.0. Только, если честно, я пока не уверен стОит ли. На мой взгляд - Marlin 2.0 получил много архитектурных изменений для поддержки разного железа, а на счёт функционала - не уверен.

Также теперь можно пользоваться всеми возможностями последней версии Marlin 1.1.* на Anycubic Chiron (включая, но не ограничиваясь Linear Advance).

Планы на будущее

  • Продолжить чистку исходных кодов от кода производителя
  • Нормально переименовать файлы
  • Рассмотреть возможность выкинуть лишние файлы типа дополнительной поддержки последовательного порта
  • Улучшить начальные настройки принтера. Было бы классно скооперироваться с другими владельцами принтера и подобрать лучшие настройки на базе общего опыта
  • Добавить поддержку Marlin 2.0 (если найдётся достаточное основание этого, ну или кто-нибудь поможет в разработке в том же ключе)
  • Проверить/отладить калибровку датчиком (сам датчик забыл в другом городе, не могу протестировать)
  • Добавить поддержку других принтеров от Anycubic (судя по исходникам - добавить пару файликов с обозначениями пинов). Но тут проблема - мне не на чем это тестировать. В первую очередь я бы добавил поддержку Anycubic Mega

В качестве заключения

Также, после переезда принтера в дом с честным заземлением выяснилось, что есть большая разница во включении вилки в розетку. Да-да, Вы не ослышались. Перевернув вилку в розетке я получил периодическое (раз в минуту-две) моргание дисплея/подсветки. Решилось переворачиванием вилки. Думаю, где-то подтекает между фазой и землёй.

А также выяснились проблемы с работой кода G5 (даже не родной прошивке): принтер периодически зависал в произвольном месте печати. Пока что отказался от данной функции.

Ссылки

  1. Моя версия изменений для Marlin с поддержкой Anycubic Chiron - https://github.com/Landgraph/Marlin
  2. Официальная прошивка Marlin - https://github.com/MarlinFirmware/Marlin
  3. Репозиторий Anycubic с прошивкой Chiron v1.3.0 - https://github.com/ANYCUBIC-3D/ANYCUBIC_CHIRON_V1.3.0
  4. Кастомная прошивка на базе Marlin 1.1.9 - https://github.com/dkoch83/Marlin-1.1.9_Anycubic_Chiron
  5. Кастомная прошивка на базе Marlin 2.0 - https://github.com/coolio986/Marlin_2.0.x_Anycubic_Chiron

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

2
Комментарии к статье

Комментарии

02.06.2020 в 06:43
0

а что в Anycubic Chiron такого нестандартного, что туда vanilla Marlin не годится?

02.06.2020 в 08:28
0

Кратко: подключение экрана

Сначала я думал, глядя на скриншоты марлина, что на Chiron значительно перелицованный марлин, учитывая, что всюду лежали сильно кастомные марлины под него.

Разобравшись, оказалось, что на плату прошит, по сути, марлин без поддержки экрана. Сам экран, по факту, оказался самостоятельным устройством с подключением к плате через последовательный порт. У используемого контроллера их, вроде бы, три.

Таким образом не тратятся и так скудные ресурсы микроконтроллера на рисование графического интерфейса. Но есть и минусы - ограниченность этого самого интерфейса. Хотелось бы, конечно, немного добавить, при чем не через эмуляцию файловой системы.

02.06.2020 в 08:59
0

Кратко: подключение экрана

ну так 2й марлин подключение TFT через последовательный порт умеет штатно. зачем пилить кастом?

02.06.2020 в 10:12
0

А можете ткнуть где именно он это поддерживает? Я не нашел :(

02.06.2020 в 10:32
0

всего лишь нужно 2й порт прописать. TFT экран выступает принт-сервером на отдельном порту

02.06.2020 в 12:21
0

Я не на 100% уверен, но судя по тому, что я видел - он не работает принт сервером в обычном смысле, у него реализован собственный gcode-подобный командный интерфейс. Что и создает проблемы сопряжения марлина со стоковым дисплеем.

Хотя тут можно попробовать и конвертер прилепить. Но нужно ли это?.. 

02.06.2020 в 08:31
0

Да, там есть ещё изменения в коде, которые надо пересмотреть, тк есть некоторое ощущение, что на самом деле это просто заплатки, которые появились позднее выхода исходной прошивки. И базируются они на более новой кодовой базе марлина, не являясь самостоятельными изменениями.

02.06.2020 в 13:31
1

Вот моя адаптированная версия на последний багфикс марлина. Работа с дисплеем отдельно вынесена. Если будете заливать, то проверьте параметры конфигурации т.к у меня изменен оффсет датчика автоуровна и драйвера перенастроены.
Важно: это тестовая версия и она находится на этапе отладки и тестирования

https://github.com/alexnv/anycubic_chiron_marlin/tree/chiron-bugfix-1.1.x

02.06.2020 в 22:31
0

Приветствую! Классно узнать ещё кого-то, кто мало того, что счастливый обладатель Chiron, так ещё закопался в прошивку! :)

У меня несколько вопросов:

  1. Не пробовали увеличивать ускорения/скорость/jerk?
  2. А что за прошивка v1.4.0, я в официальной репе такую не видел? Там только 1.2.7 и 1.3.0 выложены.
  3. Включали Linear Advance? Шумит? Какой K-factor удалось поставить? У меня пока 1.1, но мне не нравятся пропуски после ретракта.

А ещё у Вас сделано примерно то же, что и во многих других репозиториях :( Изменения применены в два коммита (скорее в один). В результате, лично мне, сложно понять что и откуда взялось, а также на сколько это соответствует заводской прошивке и не поломает ли мне принтер. Как Вы сами упоминаете - в прошивке есть какие-то изменения, которые не известно как себя поведут на некотором произвольном (стоковом) принтере. Я пока постарался сделать прошивку максимально соответствующую стоку, кто уже кастомизировал свой принтер уже будет знать что и как настраивать, остальные могут без опаски заливать "как есть". А кто сильно переживает - вся история изменений в репозитории.

Для примера можете глянуть у меня dev-ветку chiron_1.3.0 в которой я пошагово отделял код вендора от остального марлина https://github.com/Landgraph/Marlin/commits/dev/chiron_1.3.0 . Собственно на базе этой ветки был подготовлен патч для релизной ветки.

03.06.2020 в 07:52
0

Включали Linear Advance? Шумит? Какой K-factor удалось поставить? У меня пока 1.1, но мне не нравятся пропуски после ретракта.

LA с К >= 1 это еще тот кактус. не рекомендуется к использованию.

03.06.2020 в 08:16
0

И как тогда быть? Это же боуден, у меня и так уже трубка стоит с меньшим диаметром, фитинги обновил...

ну или я не правильно понимаю процесс настройка адванса :) выбираю наиболее равномерную линию из шаблона, но мне не нравится что при этом на последнем отрезке пути идёт утоньшение.

03.06.2020 в 08:17
0

И как тогда быть? Это же боуден, у меня и так уже трубка стоит с меньшим диаметром, фитинги обновил...

или укорачивать трубку, или ставить директ


или не использовать LA/PA


03.06.2020 в 11:30
0

На директ принтер легко переделывается, нужна всего 1 распечатанная каретка и пару метров провода. Печать сразу становится лучше, особенно petg.

03.06.2020 в 09:45
0

Приветствую!

  1. Ускорения пробовал увеличить, приводит к тому, что идут пропуски шагов, особенно по Y. Принтер тяжелый. Рекомендую оставить стоковые
  2. Версия взята как увеличение от https://www.thingiverse.com/thing:3866011 я её обновил до последнего багфикса + поправил несколько багов
  3. LA включил, сейчас стоит 0.16, но это для моего сопла и пластика. Результат более-менее, но насилуется очень сильно экструдер

Коммит один, но в нем видно что менялось :) это нормальная практика. Прошивка максимально приближена к стоку, по сути добавлено там только работа с экраном + восстановление после потери питания

05.06.2020 в 13:25
0

Внесу свои пять... хм... пфенингов. Есть такой замечательный (вот тут должен быть зубовный скрежет и фейсом об тейбл) сайт drucktipps3d.de. Как можно заметить он на немецком, а это отнюдь не нативный язык для тех кто с английским через пятую на десятую. Там есть весьма и весьма изумительные вещи и товарисч alfrank. Именно там я нашел и самую свежую прошивку (ссылки) с комментами  на аникубик и (!!!!!!) даже прошивку дисплея для аникубик! Кстати прошивка для дисплея от официалов оказалась непригодной. 

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

3D визуализация — Часы

Большая поставка материалов для 3D печати от компании Esun уже на складе!

Выбираем бюджетный 3D-сканер в 2020 году

Поливалки для газона.

Ключик для горячего кубика

Удивительно живучая штука