KREMEN Реклама
KREMEN Реклама

Кастом модификация прошивки Marlin для 3D принтера

MichaelStoneCNC
14.07.2024
Кастом модификация прошивки Marlin для 3D принтера

Бюджет по договоренности

Объявление закрыто

Описание

Требуется модифицировать актуальную прошивку Marlin по следующему ТЗ:

Нужно реализовать кинематику кранового типа, которая отсутствует в стоке в данный момент.

1) В качестве платы управления планируется использована BIGTREETECH BTT Octopus Motherboard, так как она имеет большой запас выходов на моторы на будущее, но необходимо также предусмотреть возможность работы с другими распространенными 32 битными платами имеющими на борту не менее 5 выходов для драйверов шаговиков.
2) За основу прошивки взять официальную текущую Marlin Firmware (версия 2.1.2.4 или новее)
3) Проект планируется собирать в Visual Studio Code + PlatformIO.
4) За основу можно взять кинематику «SCARA», модифицировав её, создав копию под именем «CRANE», определяемую в configuration.h
5) Преобразование координат:
Z – обычное управление мотором (шаги на мм),
Башня принтера вращается вокруг своей оси на 360 градусов (не более) одним мотором (шаги на градус)
Вылет стрелы одним мотором (шаги на мм), также будет дополнительный мотор на противовес позади стрелы с указанием шагов на мм (его движение будет зависеть от выдвижения стрелы пропорционально).
Параметры моторов также должны быть конфигурируемы через configuration.h при определении кинематики «CRANE».
Экструдеров планируется до 2шт (выход через одно сопло), настройки стандартные (шаги на мм филамента)
Итоговое количество моторов на принтер при 2 экструдерах – до 6шт.

Принтер может находится в некотором смещении координат относительно центра. (В конфигурационном файле должны быть переменные смещения оси вращения башни принтера относительно начала координат). Также предусмотреть G код для настройки данных параметров на лету и дальнейшего сохранения в EEPROM (или его аналог на 32 битных контроллерах)
6) Скорость движения печатающей головки должна определяться по вектору движения, а не зависеть от радиуса стрелы. (вроде бы уже реализовано для SCARA кинематики)
7) Предусмотреть также слепую зону принтера (минимальный радиус), в котором принтер не сможет работать. Эта настройка также должна присутствовать в Configuration.h в определении «CRANE»
8) Для парковки поворотной оси («головы» принтера) будут использованы 2 сенсора (в зависимости от последовательности их срабатывания будет определяться направление вращения парковки (для того, чтобы не «свернуть» принтеру голову). Эта опция также должна быть включаема через определение «CRANE» для функции парковки данной оси. Парковка должна быть доступна для всех осей, кроме экструдеров.
После парковки (срабатывания сенсора) осуществлять движение на размер отступа, определяемого в configuration.h, после чего «обнулять» текущие координаты, точнее устанавливать их в минимальную позицию вылета стрелы, в 0 градусов для поворотной оси, ось Z должна парковаться в последнюю очередь.
9) Планируется использование bed – leveling как в авто режиме, так и в ручном.
10) Все изменения прошивки отмечать блоками комментариев с обязательным тегом «CRANE» для простоты их нахождения в проекте.


Возможна работа на регулярной основе, по ходу развития концепции принтера!