Купил, значится, однажды я 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.