Search
Write a publication
Pull to refresh

Использование платы управления Creality v4.2.2 в DIY проектах

Level of difficultyMedium

Купил, значится, однажды я 3д принтер «народный» Ender 3 direct mellow fly rrf-e3. Ну и понеслась - ощутил все прелести «народности» сего агрегата. Получил довольно богатый комплект, продавец (Юра с канала t.me/BaambooClub привет!) положил в комплект старый боуден с штатным шаговиком, штатный дисплей 12864, штатную плату управления creality v4.2.2 и еще кучу всего интересного. В плате mellow fly rrf-e3 мне не понравилось глючность веб интерфейса, вернее подверженность влиянию помех wi-fi модуля esp. На самом деле - крайне капризная штуковина. Если есть пересечения по каналу - скорость обмена с веб мордой падает до неприличия, а если учесть навороченность современных роутеров (автоматическиепереключения каналов) то можно напрочь забыть о качественной связи с платой. На фоне этих мук решил попробовать штатную плату (creality v4.2.2). После первой же печати понял что это не мой вариант, распаянные драйвера просто невероятно шумели на фоне тихих tmc2209 fly rrf-e3. Так бы и закинул я эту плату, да вот покурив схему понял что это годная платформа для DIY.

Порывшись в сети нашел информацию что прошить ее можно простым свистком ST-LINK V2.

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

Окей, что-же теперь собрать иззапчастей? Конечно же очередную вариацию станка для протяжки ПЭТ ленты в филамент. Нашел на 3дешнике готовый проект, но беда в том что уважаемый автор не выложил исходники, а они заточены под конкретную плату управления (arduino) под конкретные каналы. Честно говоря не понимаю таких добродетелей, которые пишут код для народного станка, дабы пустить его в массы, но вот сам код вам не покажу. Бред и идиотизм. Что‑ж, такой вариант мне не подошел и я начал писать код сам, хотя я ни разу не программист и на качество и дизайн не претендую.

Основные проблемы которые всплыли — штатный дисплей с энкодером от creality — ещё то Г*. Пришлось изрядно помучится чтоб более‑менее поймать ответы энкодера. Второй момент — шаговый двигатель. Пришлось разобраться вообще в его устройстве (что и на какие обмотки подается), так‑как я не хотел делать конкретные скорости как у автора Petpull. Мой станок должен иметь реверс и четко задавать скорость с шагом 5. Третий момент — оказывается просто так подключить датчик температуры не выйдет — для таких диапазонов необходимо использовать карту опорных точек (или как‑то так, типо градуировочная таблица). Ну и, пожалуй, самое сложное — прикрутить pid. Чтоб вы понимали, я никогда сложнее этого ничего не писал на си. Почти месяц у меня ушел на то чтоб представление переписать в код. Сказано — сделано (опытные программисты попадают в обморок от реализации, но мне насрать — работает же)). Добавил на дисплей кнопку автокалибровки (делается один раз). Последним шагом добавил возможность записи коэффициентов полученных автокалибровкой в eeprom.

В итоге имеем станок для производства пэт филамента из уже не актуальной платы управления ender3.

Возможно многие из вас задаются мыслью, а на кой черт я все это сделал, когда можно было использовать marlin. Увы и ах, господа и дамы, но я не знаю как реализовать логику в марлине, да и не зачем. Целью этого проекта было доказать что старая железка может не пылиться на полке, а приносить пользу в DIY проекте, моя реализация ПЭТ станка это всего лишь одно применение. На самом деле на базе этой платы можно даже станок для самогоноварения сделать. Весь код я залил на свой github. 

Вот исходник самой прошивки.

Как собрать прошивку с помощью platformio легко гуглится в ютубе.

Для заливки прошивки на плату под STM32 и ее разблокировки необходимо использовать STM32CubeProgrammer.

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.