"Горячие клавиши" для 3D принтера
Экран с энкодером — это стандартный элемент управления 3D принтером. Чтобы просто включить преднагрев, требуется сделать 9 шагов. Горячие клавиши позволяют получить доступ к основным функциям принтера без меню и всего за одно действие.
Данный пост можно считать продолжением этого, где я начал рассказывать про этот 3D принтер.
Кнопки взял в виде мембранной клавиатуры (светофор). Такие бывают на 1-5 клавиш. Есть просто с цифрами. Модуль имеет самоклейку, на которую полагаться не стал и сделал печатное крепление на профиль. Крепление выступает вперед на 15 мм, так как пришлось сделать карман, в который убирается шлейф кнопок. 4 контакта: один общий и еще 3, каждый под свою кнопку. На плате управления подсоединяется в любые свободные цифровые контакты. На своей MKS Gen V1.4 воткнул в разъем AUX-2 на контакты 40, 42, 44 и GND (общий).
Что же требуется для получения данного функционала? Первым делом идем в Conditionals_post.h и рядом с User Interface пишем своё. Под каждую кнопку своя строка, которая имеет формат #define HAS_CUSTOM_ (PIN_EXISTS(CUSTOM_)). Ссылка на копипаст лист в конце поста.
Далее объявляем на каких контактах будут располагаться кнопки. Сделать это можно в том же файле, где хранится распиновка платы. Альтернативное место где это можно сделать — файл Configuration.h. Строка имеет формат #define CUSTOM__PIN
При нажатии на кнопку, контакт, на котором она находится, стягивается на землю. Поэтому его требуется подтянуть к питанию. Программным образом это можно сделать так: идем в Marlin_main.cpp, спускаемся к void loop() и перед ним вставляем следующее.
HAS_CUSTOM_ это то, что мы объявляли в самом первом файле. SET_INPUT_PULLUP(CUSTOM__PIN); — включение встроенных подтягивающих резисторов.
В этом же файл будет прописана и логика данных кнопок. Её расположим рядом с аналогичной аппаратной кнопкой KILL, ищем по HAS_KILL. Зеленая кнопка имеет самый простой функционал: парковка с мгновенным отключением двигателей. Если сделать через меню двигатели отключатся только при бездействии N секунд. Стандартный функционал не нарушен. "customGreenBtnCounter и CUSTOM_GREENBTN_DELAY" отвечают за обработку дребезга. Внутри "if (customGreenBtnCounter == CUSTOM_GREENBTN_DELAY)", тот код, который будет выполняться по нажатию. В данном случае в общую очередь подмешиваются наши G-code команды.
Схожие действия можно вешать на одну кнопку, это удобно. Реализуется программная карусель, при нажатии на кнопку команды сменяют друг друга, сделано это все через оператор switch, в который передается переменная флаг/счетчик (customYellowBtnFlag). На желтой кнопке реализовано 2 пресета температуры (ПЛА, АБС) и отключение.
На красной кнопке тот же функционал, но для столика.
А что будет если нажать на кнопку во время печати? Вполне резонный вопрос. При нажатии на кнопку, в основную очередь принтера подмешиваются наши команды, поэтому принтер просто их выполнит. Парковка во время печати не сработает. А вот температуру можно менять без проблем.
На эти кнопки можно поставить кучу всего. Ну вот, к примеру, вывести кнопку печать/пауза; отключение/включение охлаждения детали, можно даже с градацией; управление подсветкой; быстрое перемещение по 4 точкам стола, для калибровки, и еще много чего еще. А также действия можно совмещать. Все ограничивается только фантазией.
Остальные улучшения:
• Экран перенесён вниз
• Появилось крепление под катушку пластика
• Снята нагрузка с фитинга подающего механизма (стоит поддержка, которая крепится к раме)
Видео-версия со всем подробностями.
Прошивка и копипаст-лист залил на гитхаб. В этом же репозитории потом будут выложены все материалы по данному принтеру (STL, DXF, список комплектующих и так далее), как только я приведу их в порядок. Бо́льшая часть деталей (все необходимые для сборки) уже доступны на thingiverse.
Спасибо, что дочитали до конца, надеюсь было интересно, до скорого).
Еще больше интересных статей
Изменения в следующей версии 3D-принтер PonyBot
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
•Порт...
Скорость, температура и перевод RAMPS 1.5 на 24В
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Печать 4-мя сменными соплами в массы! Часть 1.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Работа над реализацией печа...
Комментарии и вопросы
Какую нить вы использовали? Эт...
Филамент: Chitu Systems Conjur...
И зачем оно надо? Скажем так,....
Мой принтер самосборный, а-ля...
Всем здравствуйте, владею прин...
Всех приветствую! Есть специал...
Вопрос может показаться дурацк...