MKS Robin Nano 2.0. Новый хит?
Владельцы Robin Nano, вы еще хотите SKR, тогда мы идем к вам. 😊
В тексте использовано цитирование jmz
Выход обновленного Flying Bear Ghost 5 и MKS Robin Nano 2.0 произошли практически одновременно. Но про медведя обзор не написал только ленивый, а про Robin Nano 2.0 я что-то не видел.
Я, естественно, понимаю, что первое это уже принтер, а второе – запчасть к нему. Но интересен сам подход к обновлениям продуктов. На оба были большие замечания у пользователей. И если у медведей большинство обновлений имеют спорный характер, то что же у MKS?
Основные претензии к MKS Robin Nano 1.1/1.2 были
• Отсутствие подключения по UART драйверов двигателей.
• Исходники прошивки на сайте не выкладывались, или выкладывались с большим лагом. При этом чтобы скомпилировать ее требовался коммерческий и крайне неудобный компилятор IAR IDE.
• FSMC-интерфейс подключения экрана с SPI-шиной для тача. К шлейфовому разъему интерфейса ничего кроме TFT35 от тех же MKS ничего не подключишь.
Что же предлагает MKS теперь?
Первое, что бросается в глаза – отсутствие разъема подключения шлейфа. Вместо него два 10-пиновых разъема. И да на первый взгляд это стандартный RepRap Full Graphic Smart Controller-интерфейс.
По схеме от MKS интерфейс имеет следующий вид:
На первый взгляд ничего необычного энкодер, бипер, один SPI на два устройства с сигналами выбора, прячущимися за LCD_D4 и LCD_D6.
Но экран TFT, а не LED12864. И поддержка такого типа подключения появилась в официальном Marlin только в последней актуальной на данный момент версии 2.0.6.1. Для подключения MKS предлагает использовать экран MKS TS35 v2.0.
Можно выбрать 3 режима.
#define SPI_GRAPHICAL_TFT - Upscaled 128x64 Marlin UI:
#define TFT_320x240_SPI (#define TFT_480x320_SPI) - Цветной Marlin UI со стандартной системой меню
#define TFT_LVGL_UI_SPI - интерфейс от MKS на графической библиотеке LVGL:Jmz : >>>SPI_GRAPHICAL_TFT и TFT_LVGL_UI_SPI фирменный интерфейс MKS используют синхронный блокирующий вывод на экран, во время которого основной цикл Marlin останавливается. Контроль температуры и выдача импульсов на шаговые двигатели выполняются, но все остальное, например чтение SD карты или прием данных с COM порта, уже нет. Интенсивное использование меню в процессе печати приводит к опустошению буфера команд и снижению скорости печати (автоматически, при заполненности буфера менее 50%). В особо запущенных случаях команды в буфере могут закончиться совсем.
Реализация TFT_320x240_SPI (TFT_480x320_SPI) интерфейса разделена на 2 асинхронные части - одна часть рисует интерфейс с использованием графический примитивов, вторая - отрисовывает картинку на экран. Это позволило во-первых разделить внешний вид интерфейса (320х240 или 480x320) и физическое взаимодействие с экраном (FSMC или SPI), а во-вторых сделать отрисовку картинки неблокирующей основной цикл - вывод данных на экран осуществляется в фоновом режиме с использованием DMA. Соответственно обязательными требованиями к плате для возможности подключения SPI экрана являются наличие аппаратного SPI и поддержка DMА. <<<Jmz
И да! STM32F1 все это имеет.
Все идет к тому, что TFT_320x240_SPI (TFT_480x320_SPI) и DMA-SPI будут новыми стандартами при работе с TFT-дисплеями.
Использование стандартных разъемов позволяет сконфигурировать подключение не только родного экрана MKS TS35 v2.0, но и любые LED12864 экраны.
К слову, можно сказать, что подключение Smart-экранов и Raspbery по Uart никто не отменял. Их можно подключить либо через переходник в разъем WiFi, либо допаять гребенку из 4-х штырьков в готовые отверстия рядом с разъемом WiFi. Естественно, WiFi-модуль в этом случае установить будет невозможно, используете возможности Smart-экранов и Raspbery.
Смена интерфейса общения с экраном с FSMC на TFT_SPI освободила на процессоре множество GPIO, которых так не хватало в ревизиях 1.x Robin Nano.
MKS использовало их для работы с драйверами шаговых двигателей.
Три GPOI на общий SPI-интерфейс, и индивидуальные UART на каждый драйвер. При этом обеспечивается работа как с TMS2208UART, так и с TMS2209. Выбор режима работы осуществляется джамперами на штырьковых интерфейсах Jm3, Jm5.
Работа в режиме «Sensorless» (без физических концевиков) в «железе» выполняется установкой перемычек в разъем J20, никаких дополнительных проводников.
Превышение момента на драйвере E0 коммутируется на пин концевика «Z+», на драйвере E1 коммутируется на пин концевика «E1». Интересная фича, теперь можно попробовать отлавливать появление пробки в хотэнде.
Как следствие появился разъем концевика «E1» с простейшим аппаратным антидребезгом. Непонятное излишество, вроде как бонус.
Размеры платы, посадочные отверстия, расположение USB-разъема и microSD не изменились. Предыдущие версии RobinNano можно легко заменить на 2.0. без различных переходников.
Размеры экрана MKS TS35 v2.0 (он же MKS TFT35 v2.0) увеличены по сравнению с более ранней версией TFT35 на 15мм. Зарезервировано посадочное место под установку энкодера. Самого энкодера нет. Пробовал ставить и настраивать в Marlin-е EC11, получилось плохо. В 70% случаем перемещается на 2 позиции в 30% на одну. В версии Marlin в репозитории MKS есть какой-то фикс на эту тему, но если честно, то их прошивку не ставил.
Несмотря на увеличение размеров MKS TS35 v2.0 можно установить в посадочные места для MKS TFT35 ранних версий.
• Появилась кнопка «Reset»
• Появилась «гребенка» с перемычкой для питания устройств, посаженных на шину I2C, нее же можно снять 3.3V для коммутации периферии напрямую на GPIO процессора.
UART.
В версиях MKS Robin Nano 1.x по умолчанию была установлена скорость обмена по UART 115200. И только на этой скорости была возможна стабильная печать по UART. В определенных случаях ее не хватало и возникало опустошение приемного буфера в плате. Увеличение размера буферов MAX_CMD_SIZE, RX_BUFFER_SIZE решает часть проблем с опустошением буферов, но делает управление менее отзывчивым, особенно на моделях с длинными перемещениями
Для MKS Robin Nano 2.0. В исходника в репозитории MKS установлена дефолтная скорость для 250000.
Стабильность работы пока с Octoprint еще не проверял.
Несколько слов про WiFi (просто ликбез).
Относительно скоростной WiFi всегда был фишкой Robin Nano всех версий. Скорости не так чтобы «Вжих! и все», но и в разы быстрее чем в ESP3D. MKS связывают CPU материнки не только по UART, но также используют сигналы управления. В обычном режиме скорость UART стандартная, при передаче файла управляющие сигналы переключают передачу на скорость в 2Мбита и гонят при помощи DMA. Соответсвенно, со стороны STM32 тоже разбора нет - приняли через DMA, записали в файл. После передачи обратно в 115200 переключаются.
Прошивка
С появлением Marlin 2.0. программисты MKS развернулись не на шутку. Перешли с IAR IDE на PlatformIO в MS Visual Studio Code. Прошивка стала по-настоящему открытой. Последняя версия в репозитории MKS:
https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware
Быстрый WiFi в данной прошивке работает только под GUI TFT_LVGL_UI_SPI от MKS.
MKS настолько все ругали закрытой прошивкой, что программисты MKS сделали запрос на включение части их кода в официальный Marlin 2.0.6. И запрос приняли. Прошивку можно скачать и настроить из официального репозитория Marlin.
Быстрый Wifi в данной версии не поддерживается.
Как альтернатива использования прошивки от MKS есть «форк» Marlin 2.0.6.1 от Сергея Терентьева, настроенный под Robin Nano 1.1, 1.2. Под 2.0 настраивается легко.
https://github.com/Sergey1560/Marlin_FB4S
Быстрый Wifi в данной версии поддерживается под любым GUI.
В итоге, что мы имеем.
Инженеры MKS путем минимальных изменений добавили в свою плату то, что давно есть у конкурентов (BTT), но сделали это с максимальной совместимостью с предыдущими версиями. Все изменения идут только «в плюс» устройству. Вроде от MKS этого не ждали, а они сделали.
В настоящее время плата вместе с экраном продается только в официальном магазине MKS. При этом стоимость составляет ~2000Р с учетом доставки.
У SKR v1.3 аналогичный комплект стоит 3300.
Поддержка TFT_320x240_SPI и TFT_480x320_SPI для HAL LPC1768 была портировна в официальный Marlin и опробована на SKR 1.4 в конце августа. https://github.com/MarlinFirmware/Marlin/pull/19139
Но в репозитории bigtreetech ее работа окончательно не оформлена. #define TFT_320x240_SPI (#define TFT_480x320_SPI) в Configuration.h отсутствуют.
Владельцам Robin Nano 1.1, 1.2, FlyingBear Roborn 2.0, которых не устраивает текущий функционал плат могут подумать над переходом на Robin Nano 2.0.
Из плюсов по сравнению с SKR v1.3:
• Полная совместимость по монтажу с предыдущими версиями. Не нужно печатать ни переходников, ни работать напильником.
• Быстрый WiFi для передачи GCode-а с Cura.
• Меньше цена.
• Возможность использования любого актуального GUI, в том числе TFT_320x240_SPI (TFT_480x320_SPI)
Что в пользу SKR v1.3:
• Изучена вдоль и поперек.
• Нативная поддержка NeoPixel.
PS. Пользуясь случаем прорекламирую еще одну идею Сергея Терентьева. В свободном разъеме драйвера есть и 12/24В и GPIO, почему бы не повесить туда управление подсветкой? Подробнее здесь.
PS2. Благодарю jmz за помощь в подготовке данного поста.
Еще больше интересных статей
Voron 0.1. Как не стоит собирать КИТ наборы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Перед тем как начать мой рассказ - я бы хотел сразу пояснить зачем я во...
Изготовление деталей для 3D принтеров из металла
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
В конструкции 3D принтера очень удобно использовать детали из листовой...
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Я всё в контексте нейлона. 80-...
очень хочется, чтобы такой пор...
Спасибо за информацию.
Какую смолу лучше всего исполь...
Мосты в пару см у меня норм пе...
Друзья, можете подсказать каки...
Добрый день. Замучал принтер )...