Ender 3 Pro оживляем плату V4.2.7

DenDW
Идет загрузка
Загрузка
25.07.2021
2495
7
Техничка

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

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

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

15
Статья относится к принтерам:
Ender 3 Pro

Ender 3 Pro оживляем плату V4.2.7    История эта началась с того, что я, на свежекупленной плате с тихими драйверами, при чистке сопла, замкнул нагреватель хотенда с его же термистором. Выход термистора сгорел, плата решила, что перегрев и ушла в защиту. Утерев скупую мужскую слезу, начал разбираться как отремонтировать данную плату. Провозившись неделю, попросил помощи на сайте, но в итоге решил проблему сам. Собственно, здесь и предлагаю варианты решения.

    Итак, имеется плата версии 4.2.7 с тихими драйверами TMC2225 и сгоревшим выходом термистора сопла. Здесь установлен 32-х битный контроллер STM32F103RET6 в исполнении LQFP64, то есть на 64 ноги. Плата имеет заводскую прошивку Марлин 1.0.1, а так же посадочное место под гребёнку для программатора. Прошивается плата через протокол SWD (4 контактный).

Есть три варианта решения данной проблемы:

    1. Заказать новую плату

    2. Переназначить входы контроллера

    3. Заменить контроллер

    Первый вариант дорог (от 2000р за плату) и слишком прост 😊 - пропускаем.

    Второй вариант - переназначение входов контроллера. Метод самый дешёвый, однако не самый верный. Есть один минус – вам придётся самостоятельно создавать прошивки для принтера.

    Это возможно, если контроллер жив. Мой был жив и, как и указано в прошивке, находился в защите от перегрева. Узнал я об этом, когда прошил его через флешку прошивкой для высокотемпературного хотенда – принтер загрузился, а на экране горделиво красовалась температура сопла в 300 градусов. Все остальные функции плата выполняла.

    Для ремонта понадобятся паяльник с тонким жалом, микроскоп (желательно), качественный флюс, припой компьютер и прямые руки. Для начала рассмотрим теоретическую часть.Ender 3 Pro оживляем плату V4.2.7

Красным выделен сгоревший выход термистора сопла. Зелёным – свободные выходы. Нас интересует выходы PC0 и PC1. То есть нужно лишь физически отключить сигнал от PC5 и подключить его к PC0 либо PC1, а затем в прошивке изменить выход термистора. Но быстро сказка сказывается, да не быстро дело делается. Вот как это выглядит на плате.Ender 3 Pro оживляем плату V4.2.7

Размеры мягко говоря небольшие – для этого и нужен микроскоп.

Я использовал вывод PC0. Поднял 25 ножку микросхемы и соединил проводом с 8. Провод взял от обмотки статора какого-то маломощного двигателя. Получилось вот так.Ender 3 Pro оживляем плату V4.2.7

Ender 3 Pro оживляем плату V4.2.7Для надёжности закрепил провод уф-лаком:

    Теперь можно выдохнуть, ибо самая сложная часть закончилась. Берём чаш.. КРУЖКУ кофе и садимся за комп программировать. Очень советую посмотреть видео Дмитрия Соркина о программировании платы в среде VSCode. А так же этого зарубежного коллегу (у Дмитрия все настройки уже сделаны, а вот какие и где рассказывает американский товарищ)

    Качаем VSCode и Marlin с официального сайта. Так же необходимо скачать конфигурационные файлы для марлина (они поставляются отдельно). Запускаем оболочку VSCode, в ней в поисковике ищем Platformio и устанавливаем. Перезагружаем комп. Далее распаковываем марлин и конфигурационные файлы в разные папки. Ищем папку с нужным принтером и копируем все файлы в папку с марлином с заменой. Теперь запускаем VSCode и в нём открываем нашу папку с марлином и настраиваем как американский товарищ. Здесь очень важно в самой Platformio.ini указать правильно плату – иначе не соберётся прошивка. В моём случае это STM32F103RET6_creality. Теперь меняем выходы контроллера. Для этого переходим в каталоге марлина: marlin/src/pins/stm32f1 (нужный контроллер). За распиновку отвечают два файла:

pins_CREALITY_V4.h

pins_CREALITY_V427.h

во втором файле описаны двигатели, а в первом наш термистор. В нём-то и меняем наш PC5 на PC0. Ender 3 Pro оживляем плату V4.2.7Всё, собираем прошивку. Щёлкаем на значке инопланетянина, выбираем STM32F103RET6_creality_maple и щёлкаем Build. Если всё нормально прошивка появится в папке марлина в

\Marlin-2.0.x\.pio\build\STM32F103RET6_creality_maple/

Копируем bin файл на флешку, вставляем в плату и включаем принтер. Принтер запустится с новой прошивкой и работающим термистором.

    Но если для вас и второй способ оказался лёгким, то переходим к третьему варианту решения вопроса, а именно замене контроллера.

    С самого начала я выбрал именно третий путь, но до конца не довёл за ненадобностью – решил переназначением выводов – но, как вы наверное заметили – контроллер я всё же снимал. Большая часть материала ниже - практическая, но в работе не проверял, ибо до окончательного результата я не добрался (пока снимал новый контроллер и ставил старый мелькнула мысль реализованная во втором способе).

    Для ремонта в данном случае нам понадобятся помимо паяльника и микроскопа ещё и паяльная станция, сплав Розе, а так же программатор ST-Link mini V2 и программа STM32Cube (бесплатная, скачивается после регистрации).

    Просто так заменить контроллер не получится – плата не работает ни с официальной прошивкой, ни с собранной.

    Основная загвоздка заключается в том, что платы имеют свой собственный загрузчик (bootloader), который стартует первым, ищет обновление прошивки на флешке и блокирует контроллер от программирования. При подаче питания плата инициализируется, загорается синий светодиод, а также на короткое время моргает небольшой светодиод возле микросхемы CH340. Это моргание и есть запуск загрузчика. Если подключить такую плату к компу - программа выдаст следующее:Ender 3 Pro оживляем плату V4.2.7

Более подробно работа памяти в контроллере описана здесь и здесь (нужно включить русские субтитры). А так же очень хорошо работу самого контроллера описал Владислав в своей статье.

В общем нам нужно получить этот самый загрузчик. На официальном сайте он есть для версии платы 1.1.6 (в разделе исходного кода).

Система загрузки на данном контроллера определяется уровнем сигнала на ножках 60 (Boot 0) и 28 (PB2/Boot 1).Ender 3 Pro оживляем плату V4.2.7

При замыкании Boot 0 на землю работает встроенный загрузчик и изменить его невозможно. На плате как раз такой вариант. Ножка 60 через резистор R68 номиналом 10 Ком замкнута на землю:Ender 3 Pro оживляем плату V4.2.7

Что бы перевести контроллер в нужный нам режим необходимо сдвинуть (что б не потерялся) резистор влево (по фото) и замкнуть освободившийся контакт с контактом рядом стоящего конденсатора C67 (он связан с 64 ножкой контроллера VDD_3 и входом VCC программатора – то есть с питанием 3,3 В) Примерно вот так:Ender 3 Pro оживляем плату V4.2.7

Таким образом мы подаём сигнал высокого уровня на контроллер и вводим его в нужный нам режим. Он сразу определяется в программе и уже можно извлечь загрузчик. У меня получился на 1 Кб. Скачать можно с гугл диска. Вернув резистор на место мы снова получаем работоспособную плату с рабочим загрузчиком. Здесь я и остановился? так как мне было лень уже в третий раз снимать контроллер, да и второй вариант появился.

Собственно, на этом практическая часть работы заканчивается и начинается чисто теоретическая.

Думаю, что новый контроллер нужно прошить таким же способом – перевести в режим загрузки, прошить загрузчик, а затем, собрав принтер, обновить с флешки на официальную прошивку. Третий способ на мой взгляд самый правильный – у вас полностью рабочий контроллер, на который можно без всяких сложностей менять прошивки. То есть принтер в заводском исполнении. По цене сам контроллер обошёлся в 500р а программатор в 340. Таким образом ремонт совсем не дорогой выходит, при наличии нужного оборудования. Но подобные принтеры относятся к классу DIY – Сделай Сам. Да и пользуются им грамотные люди. Надеюсь эта статья поможет в решении проблем с программной частью.

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

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

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

15
Комментарии к статье