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 за помощь в подготовке данного поста.
Еще больше интересных статей
Активная термокамера для Flashforge Adventurer 5M
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Умерли термисторы и концевик по y, creality ender 3 s1
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Можно. Если я не ошибаюсь, так...
и чем это отличается от самого...
Очень много неточного, неопред...
Решил я свой старенький Anet A...
Bambu Lab X1 Сarbon работал но...
Печатал вот такую штуку (детал...
Доброго времени сутокВыстраива...