Металл2024 Реклама
Метобр2024 Реклама

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

AndyBig
Идет загрузка
Загрузка
06.09.2020
2323
6
Личные дневники

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

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

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

12

Свободного времени не слишком много, но потихоньку продолжаю дорабатывать кастомную прошивку для платы MKS DLP.

В конце заметки есть видео с демонстрацией всего этого но я и сам не люблю когда видео преподносят как единственный вариант.

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

Главное меню:

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

Особо рассказывать не о чем. Пункты "Файлы", "Сервис" и "Инфо". Вверху слева - часы с календарем (число и месяц). Если прилепить на плату 3-вольтовую батарейку типа CR2016 или CR2032, то часы не будут сбиваться при отключении питания. По идее, CR2032 должно хватать лет на 10 :)

Для чего часы с календарем? Ну, просто, по принципу "почему бы и нет" :) А кроме того, я планирую сделать нечто вроде скринсейвера в виде часов. Не трогаешь включенный принтер минут 30 (будет настраиваться) - он переходит в режим скринсейвера с имитацией настольных часов :) Двигатель при этом может отключаться для большей экономичности и исключения нагрева драйвера на плате. Кстати, снижение тока удержания уже реализовано - в настройках можно прописать время в секундах после последнего движения и ток для экономичного режима удержания. Правда, при полном отключении двигателя будет аннулироваться обнуление оси и нужно будет заново ее хомить.

Меню "Инфо":

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

1. Версия прошивки контроллера и ПЛИС.

2. Время работы засветки, дисплея, вентилятора и общее время печати принтера.

3. Ссылка на проект.

4. Автор дизайна.

С п. 1 все понятно. Поясню только, что версия ПЛИС берется из самой ПЛИС и это версия ее родной китайской прошивки. В ПЛИС я пока не планирую лезть, это отдельный (и, скорее всего, не менее сложный, чем прошивка) вопрос.

Пункт 2 - это просто статистика. Дисплеи иногда дохнут. Вентиляторы тоже. И мне, например, было бы любопытно знать сколько дисплей успел отработать перед тем как скончался. Для этого эти счетчики и служат :) Дальше будет реализована возможность сброса счетчиков. Заменили дисплей - сбросили соответствующий счетчик.

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

Меню "Сервис" > "Язык":

MKS DLP - продолжаю пилить свою прошивку. Часть 4.Английский и русский. В прошивку достаточно легко можно добавить и другие языки с кириллицей или латинницей. Чуть сложнее, но тоже можно добавить языки со своими дополнительными символами. С иероглифическими языками уже могут возникнуть сложности. При переключении языка новый выбор сохраняется в EEPROM, то есть выбранный язык будет работать и после выключения-включения питания.

Меню "Сервис" > "Настройки":

MKS DLP - продолжаю пилить свою прошивку. Часть 4.Вот честно - я пока не очень понимаю какие настройки можно добавить в это меню. Вообще-то все настройки можно задать через конфигурационный файл, и в общем-то никакие из них нет нужды дергать так часто, что это нужно выносить в меню.

Пока что я вынес сюда настройку высоты подъема платформы на паузе и включение-выключение звука.

Ввод числовых значений (настройки, параметры печати и т.п.):

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

Реализовал все, что мне казалось правильным и нужным :)

1. Кнопки "+/-" и "." работают только если редактируемый параметр может быть отрицательным или дробным соответственно.

2. Если после входа в этот экран первой будет нажата любая цифровая кнопка, то старое значение заменится соответствующей цифрой. Если кнопка ".", то заменится на "0.". То есть нет необходимости стирать старое значение, можно сразу начинать вводить новое.

3. Кнопка "АС", обнуляющая значение.

При нажатии кнопки "Назад" новое значение не применится. Чтобы его применить, нужно нажать "ОК". При изменении значений настроек (из меню "Сервис" > "Настройки") новые значения применятся только до выключения питания. Чтобы они сохранились и при выключении, нужно после изменения параметров нажать в меню "Сервис" > "Настройки" кнопку сохранения (с иконкой дискеты).

Меню "Файлы":

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

Проводник по файлам на USB-флэшке. Отображает файлы в виде иконок, как на скриншоте выше, или в виде списка:

MKS DLP - продолжаю пилить свою прошивку. Часть 4.Выводит только известные прошивке типы файлов. Работает с каталогами и русскими именами файлов. В режиме иконок рисуется предпросмотр из файлов для печати. Каталоги в режиме иконок обозначаются соответствующими иконками, а в режиме списка выделяются желтым. Кроме того, в режиме списка на экран вмещается больше пунктов и для файлов можно видеть их время и дату последнего изменения.

Наверху в строке пишется текущий каталог. Например, если углубиться в два каталога, там будет выведен полный путь - "/alterupd/images/":

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

Сейчас прошивка понимает файлы .pws и файлы настроек. Да, настройки можно загрузить из файла прямо в этом файловом менеджере. Сам файл настроек - это текстовый файл с именами и значениями параметров:

MKS DLP - продолжаю пилить свою прошивку. Часть 4.Строчки, начинающиеся с символа "#" считаются комментариями и игнорируются. Игнорируются так же пробелы и знаки табуляции, так что можно форматировать как удобно. Настройки применяются сразу же после их загрузки, выключать и включать принтер не требуется :) При нахождении ошибки в файле настроек на экран будет выведено сообщение с указанием номера строки и типа ошибки:

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

При успешной загрузке так же будет сообщено об этом:

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

И да, загруженные из файла настройки сразу же сохраняются в EEPROM.

При выборе отслайсенного файла открывается просмотр этого файла:

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

Отсюда можно этот файл удалить или начать его печать. Пока удаление и печать еще не реализованы, сейчас как раз над этим и работаю :)

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

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

Для самой печати, в принципе, уже готовы все части - и движение оси, и вывод изображений на УФ-дисплей, и включение засветки... Надо только собрать все это в кучу и заставить эту кучу работать правильно. Чем я сейчас и занимаюсь :)

Меню "Сервис" > "Ось Z":

MKS DLP - продолжаю пилить свою прошивку. Часть 4.

Тут все стандартно для LCD-принтеров. Выбор шага движения оси, движение вверх и вниз, обнуление (хомление), задание нулевой точки платформы (калибровка) и аварийный останов мотора. Сама процедура управления мотором взята из Мерлина 2.0.6. Выдраны три файла (endstops, planner, stepper), из которых было безжалостно удалено 70% кода (было 350 КБ, осталось 120 КБ). Работает отлично :)

Выбор шага я сделал по своему вкусу - 10, 1, 0.2 и 0.05 мм. Вот на Фотоне мне не хватает шага 0.05 :)

Все это демонстрируется с работающим мотором в видео, тут же я только опишу основные моменты.1. Ускорение и скорость задаются в настройках. Причем, отдельно для режима печати и отдельно для режима свободного перемещения.Так же в настройках задаются: работа концевиков (инвертирован или нет), направление движения оси (инвертировано или нет), шаги на мм, направление обнуления (вверх или вниз), значение высоты после обнуления, минимальная и максимальная высота движения платформы, скорости быстрого и медленного движения при обнулении, рабочий ток мотора, время до переключения в пониженный режим удержания, ток мотора в пониженном режиме удержания.

2. Обнуляться умеет как по нижнему концевику (стандартно), так и по верхнему - задается в настройках.

3. Пока ось не обнулена (домик на кнопке "Домой" красный), скорость движения снижена и возможность движения ограничена концевиками - платформа не поедет выше верхнего или ниже нижнего концевиков.

4. После обнуления (домик на кнопке "Домой" становится зеленым) скорости движения повышаются до заданных в настройках и вместо физических концевиков начинают действовать заданные в настройках ограничения минимальной и максимальной высоты.

5. На высоте менее 30 мм платорма движется со сниженной скоростью. Это сделано во избежание расплескивания смолы при опускании платформы в ванну со смолой или ее подъема оттуда.

6. Корректно отрабатываются ситуации с неработающими или замкнувшими концевиками. При этом выводится соответствующее сообщение об ошибке.

7. Если попытаться задать ноль платформы при необнуленной оси, то будет не просто сообщено о необходимости обнуления, но и предложено сразу провести эту процедуру.

8. Перед обнулением запрашивается подтверждение, что в ванне или на платформе нет остатков предыдущих моделей. Во избежание продавливания дисплея.

9. Пока ось находится в движении, покинуть это меню нельзя, кнопка "Назад" не работает. Это сделано для того, чтобы кнопка аварийной остановки мотора была в быстрой доступности.

10. Нет остановки после первого движения. Поясню: в том же Фотоне (и Оранже тоже) поставьте шаг 10 мм и три раза подряд нажмите кнопку "Вверх" или "Вниз". Ось должна проехать 30 мм. Но после первых 10 мм она остановится и опять начнет движение, проехав уже без остановки оставшееся расстояние. Я это победил и ось не останавливается после первого шага :)Вот на сегодняшний день что уже готово и как работает. Может быть у кого-то появятся мысли что из этого можно изменить или что добавить...

И видео, показывающее все это вживую :)

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

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

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

12
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама