MKS TFT28 (3) + MKS-DET: ловля марлина на сниффер
Начал проверять на своем зоопарке. 'Боевой репрап' у меня сейчас один функционирует, это WoodBot Mini под управлением MKS SMini (Smoothieware). Так вот, со 'смузи' MKS-DET работает как положено. Подключаем модуль к дисплею (B0, 3v3, GND), конфигурируем. Далее соблюдаем все возможные и невозможные правила электробезопасности. Я настоятельно не рекомендую эксплуатировать MKS-DET без корпуса, так как там вполне ощутимые 220 вольт по нему гуляют. Не надо делать так, как у меня на видео - это тестовый стенд, который нужно постоянно держать под наблюдением и не совать в него выступающие части тела.
Вот как это работает на SMini.
https://youtu.be/aHXnTO2C2IQ
В целом, конструкция такая: MKS-DET включается в розетку до ИБП. Принтер - соответственно, после. Когда пропадает сетевое напряжение, MKS TFT отводит на 10 мм по Z сопло и останавливается. Орет еще при этом мерзко. Через сколько-то минут ИБП гаснет, и все погружается во тьму. Затем питание (надеюсь) возвращается, и вся эта конструкция включается в режиме паузы. Остается нажать на кнопку Resume, все прогревается, Z возвращается на место и продолжается печать. На SMini это именно так и работает.
А вот с 'марлином' засада. Z не возвращается, и печать продолжается по воздуху.
Вот как это не работает с 'марлином'.
https://youtu.be/sfmmh0NKXuc
А вот так оно работает с 'репетиром'.
https://youtu.be/uyn9CDCiT9Q
Ладно, осталось попробовать Repetier-firmware. Там интересно. Восстановление отрабатывается как надо, но отображаемая высота по Z уходит в минус на те самые 10 мм. К сожалению, нет возможности прогнать эксперимент на реальном принтере, но наблюдение за процессом на тестовом стенде показывает, что реально этой ошибки в позиционировании нет.
Хорошо. Займемся подслушиванием. Для этого используем USB UART, его RX надо подцепить к RX платы, чтобы понять, что MKS TFT шлет при паузе и восстановлении. Цеплялся я маленьким зажимом от логического анализатора к резистору R5, который идет на RX 'меги'. Это такой типа сниффер последовательного порта будет, если в кульхацкерской терминологии.
При срабатывании датчика сетевого напряжения MKS TFT выдает принтеру следующее:
G91 (переход к относительным координатам)
G1 E-1 (ретракт)
G1 Z10 (подъем Z на 10)
G90 (возвращение к абсолютным координатам)
M114 (получение текущих координат)
Ничего странного или нелогичного! Максимально универсальный G-код. При конфигурации MKS TFT для Marlin или Repetier он одинаков.
А вот что происходит при восстановлении:
M104 S00 (нагрев сопла, на 0 внимание не обращайте, у меня нагреватели отключены)
M109 S00 (нагрев стола)
G92 X53.84 Y86.89 Z10.4 E265.2599 (загрузка сохраненных координат)
G91 (переход к относительным координатам)
G1 Z-10 (опускание Z на 10)
G1 E1.0 (компенсация ретракта, сделанного при остановке)
G90 (переход к абсолютным координатам)
Тоже все абсолютно логично. И где засада? Сейчас, сейчас. Все будет. Теперь воспроизводим эту последовательность действий, только уже из Pronterface. Для платы, прошитой Repetier, все четко. За исключением кривого отображения Z на дисплее. По M114 выдаются правильные координаты, что характерно. А вот в случае прошивки Marlin мы спотыкаемся на G1 Z-10. Эта команда не выполняется, хотя по M114 и по дисплею у нас Z 10.4. Если ручками дать G1 Z10 (получится Z 20.4), а потом G1 Z-10 - работает, опускается до 10.4. Но не дальше!
И вот тут рождается гипотеза. Marlin в каком-то месте думает, что у него Z в нуле. И не хочет ехать в минус! А где это искать? Мысль была только одна - программные концевики. По умолчанию стоит #define min_software_endstops true, этот параметр прокомментирован как раз словами 'если включено, то принтер не поедет дальше домашней позициии'. Ставлю #define min_software_endstops false, прошиваю, испытываю. Вуаля, работает как надо.
Теперь оно работает с 'марлином'.
https://youtu.be/ct7IrdYG81o
Остается только подумать вот о чем. Если программные концевики отключены, это ведь позволит вручную загнать голову туда, где ей быть не надо, и что-нибудь отломить?P.S. И еще немного реверс-инжиниринга для тех, кто не хочет платить за три с половиной детальки почти тысячу рублей. Простая как табуретка схема MKS-DET. Тут в Eagle.
Еще больше интересных статей
Замена нагревательного элемента на хотэнде QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Обновленный хотэнд QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
В одном из чатиков в телеге, у...
Полагаю креалити в своем слайс...
ПА-6 на горячем PEI (110-120 г...
Добрый вечер, может у кого ест...
Сегодня получил заказанный на...
Добрый день, подскажите, пожал...
Что делать если я первый раз к...