Как перепрошить creality ender 3 на arduino
Автор использовал Arduino Uno, но в большинстве случаев такой под рукой нет, потому что как правило в многочисленных проектах пользуются более дешёвой и простой Arduino Nano. Поэтому заказывать Uno отдельно не потребуется. Процесс прошивки с её помощью схож с использованием Arduino Uno, но есть пара особенностей.
1. В Arduino IDE в скетче Arduino ISP раскоментировать #define USE_OLD_STYLE_WIRING
2. Подключить Arduino Nano как показано на рисунке (удобнее всего кабелями типа Dupont, или из корпусов системных блоков на худой конец)
3. Использование конденсатора обязательно (без него данный способ работать не будет)
4. Кабель желательно покороче и чтобы штекер не выпадал из раъема ардуины.
Всё дальнейшие действия выполнять согласно вышеуказанной видеоинструкции
Прошивка без конденсатора, Arduino Nano или любая другая
1. Подключаем Arduino Nano(Или вашу Arduino) к компьютеру.
2. В Arduino IDE выбираем плату Arduino Nano(Или вашу Arduino)
4. Заходим в папку Atmega_Board_Programmer и открываем Atmega_Board_Programmer.ino
5. В начале файла видим строки #define и названия чипов Atmega. Нужно закомментировать(Поставить перед строкой //) всё, кроме #define USE_ATMEGA1284 true
6. Загружаем прошивку в Arduino Nano(Или вашу Arduino)
7. Отключаем плату от компьютера. Соединяем с платой Ender-3 так, как показано в первом способе с конденсатором.
8. Подключаем Arduino Nano(Или вашу Arduino) к компьютеру.
9. В Arduino IDE Заходим Инструменты->Монитор порта. Выбираем нужную скорость порта. Когда выберете правильную — на экране появятся примерно такие надписи:
10. Жмем G и получаем примерно такой вывод:
11. Все готово! можно отключать Arduino Nano(Или вашу Arduino) от компьютера и прошивать Ender-3 прошивкой Marlin напрямую по USB кабелю. В вышеупомянутом видео Сергея Ирбиса объясняется как это сделать
Допилинг Ender 3 32bit (board 4.2.2, 4.2.7), собираем и прошиваем Marlin, VSCODE

Качаем исходники github.com/MarlinFirmware…/archive/bugfix-2.0.x.zip
Качаем конфигурашки github.com/MarlinFirmware…/archive/bugfix-2.0.x.zip
Распаковываем исходники и из ZIP-а конфигурашки Configurations-bugfix-2.0.x.zip\Configurations-bugfix-2.0.x\config\examples\Creality\Ender-3 Pro V1.5 содержимое копируем в Marlin-bugfix-2.0.x\Marlin проекта(с заменой фалов.
Отрываем в VSCODE проект

Идем в platformio.ini и прописываем default_envs = STM32F103RET6_creality

И все :), собираем (Build All рядом с Open, см картинку выше). Она там похрюкает и накачает зависимостей.
Creality Ender-3 Нюансы прошивки программатором USBASP.
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Статья относится к принтерам:
Причина подтолкнувшая к написанию данного поста — те сложности, которые возникли у меня, новичка, после перегрева экструдера, с последующим наплавлением на него огромного кома пластика и решения перепрошить принтер.
Приключения с очисткой хот и кул-енда паяльником и горелкой опустим и перейдём к заявленной теме.
Видео с алгоритмом можно посмотреть на буржуйском видео. Но вы не сможете выполнить инструкцию до конца потому, что указанные в ссылках драйвера для USBASP глючат.
Или уважаемого Сергея Ирбиса в приложенном видео к статье. Расписано хорошо, но используется программатор Arundino UNO. Поэтому процесс его программирования можно пропустить.
Кому интересно изучить возможности программатора, читаем статью ‘ПРОГРАММАТОР AVR :: AVRDUDE :: USB-программатор USBasp’.
И так! Разбор полётов.
Повторюсь: С драйверами libusb_0.1.12.1 и libusb_1.2.4.0, указанными на буржуйском сайте программатор работать не будет. Они встанут, но работать не будут.
После установки драйвера v3.0.7, COM порт не появится в настройках. Управление идёт напрямую.
2. Если вы взяли переходник с 10pin на 6pin, то придётся немного потрудиться. 6pin разъём слишком широкий, поэтому нужно немного его сточить со стороны контактов GND/RST(RESET) и оставить 0,75-1мм. Иначе он не встанет на контакты.
3. В TH3D выбираем программатор ‘USBasp’ и смело заливаем загрузчик в принтер. После успешной заливки, не забываем отключить программатор и подключить к ПК принтер напрямую.
4. Редакция настроек прошивки в TH3D (Configuration.h)
Я у себя раскомментил (убрал в прошивке ‘//‘):
— //#define USER_PRINTER_NAME ‘CHANGE ME’
Изменил имя принтера: ‘CHANGE ME’ на ‘Ender-3‘
Включил русский язык на принтере, благодаря правке строки: ‘#define LCD_LANGUAGE en’
После прошивки, внизу экрана висит надпись: ‘TH3D U1.R2.7 готов.‘ Исправил строку ‘#define UNIFIED_VERSION ‘TH3D U1.R2.7‘ ‘, заменил на ‘Ender-3‘. Теперь внизу экрана гордая надпись: ‘Ender-3 готов.’
5. После успешной установки загрузчика, меняем в TH3D как в видео программатор ‘USBASP’ на ‘AVRISP mkII‘ и прошиваем принтер.
Надеюсь, данные нюансы сэкономят и ваши нервы, и алкоголь.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Ender 3: How to Install a Bootloader and Update Marlin Firmware
This guide will show you how to install a bootloader and update the Marlin firmware on your Ender 3 or Ender 3 Pro. If you’re using an Ender 3 V2, then there’s a different guide for updating firmware on the Ender 3 V2.
Why update your Ender 3’s firmware?
Most Ender 3s ship with a customized, outdated Marlin firmware version that lacks thermal runaway protection and other safety features.
If you use OctoPrint, you may even have seen the following error message: «Warning! Your printer’s firmware is known to lack mandatory safety features (e.g. thermal runaway protection). This is a fire risk.» Many 3D printer fires happen as a result of thermal runaway.
What is thermal runaway?
In a nutshell, your printer contains both a temperature sensor, or «thermocouple», and a heating element. When you start a print, your heating element reads data from the thermocouple and continues to heat until reaching the predefined print temperature. Thermal runaway is a condition that exists when the thermocouple becomes dislodged or damaged and your printer continues heating, forever, until something like this happens (read: ):
Watch the video:
What is thermal runaway protection?
Thermal runaway protection is a feature of most modern firmware that shuts down the heating element if the thermocouple isn’t responding properly. To get technical, it generally polls for a temperature change every N seconds and expects an increase. No increase? Shut it down.
Guide overview
Before updating the Creality Ender 3 firmware, we’ll load a custom bootloader onto the Ender 3 using a cheap Arduino Uno or Arduino Uno clone. You can pick an Uno up for about $15 on Amazon.
What’s a bootloader?
A bootloader is a program that loads an operating system when a computer (in this case, the printer) is turned on. Because the Ender 3 doesn’t come with a bootloader, we’ll need to install one. This will allow the printer to boot using a newer version of the Marlin firmware. After installing the bootloader, we’ll be able to easily update the firmware in the future, too.
This guide will work for Mac, Windows, and Linux!
Let’s get started!
| Arduino Uno | × | 1 |
| Jumper wires, female-to-female | × | 5 |
| Jumper wires, female-to-male | × | 1 |
| Mini USB to USB cable | × | 1 |
Howchoo is reader-supported. As an Amazon Associate, we may earn a small affiliate commission at no cost to you when you buy through our links.
Похожие публикации:
- Где писать css код в html
- Как сделать полоску под текстом в css
- Как сделать прозрачный фон в html css
- Как сделать рамку в html css
Ender 3: How to Install a Bootloader and Update Marlin Firmware

This guide will show you how to install a bootloader and update the Marlin firmware on your Ender 3 or Ender 3 Pro. If you’re using an Ender 3 V2, then there’s a different guide for updating firmware on the Ender 3 V2.
Why update your Ender 3’s firmware?
Most Ender 3s ship with a customized, outdated Marlin firmware version that lacks thermal runaway protection and other safety features.
If you use OctoPrint, you may even have seen the following error message: “Warning! Your printer’s firmware is known to lack mandatory safety features (e.g. thermal runaway protection). This is a fire risk.” Many 3D printer fires happen as a result of thermal runaway.

What is thermal runaway?
In a nutshell, your printer contains both a temperature sensor, or “thermocouple”, and a heating element. When you start a print, your heating element reads data from the thermocouple and continues to heat until reaching the predefined print temperature. Thermal runaway is a condition that exists when the thermocouple becomes dislodged or damaged and your printer continues heating, forever, until something like this happens (read: ):

2 – Add the U8glib library

In the main menu, navigate to File > Examples or Example Sketches and select Arduino ISP.
Then, navigate to Manage Libraries and install the U8glib library.
3 – Install the Sanguino board

Next, we’ll need to install the Sanguino board.
Open Arduino Preferences and paste the following under Additional Boards Manager URLs:
https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
Then, navigate to the Boards Manager and install Sanguino.
4 – Upload the sketch to your Arduino Uno

Connect your Arduino Uno (or Arduino Uno clone) to your computer using a USB cable.
Under Tools, select Arduino Uno as the board.
Then, select either Arduino Uno or COM as the port, depending on your computer.
Finally, click Upload to upload the Arduino ISP sketch. After uploading, keep the Uno connected to your computer.
| The Arduino will need to remain connected to your computer for the entire process. Therefore, you’ll need to move your computer to wherever your printer is (or vice-versa). |
5 – Connect the Arduino to your Ender 3

Turn your printer OFF. Then, use the small hex key that came with your printer to remove the 3 screws from the Ender 3 control box—this is the box located beneath your bed.
Finally, use your “Dupont” jumper wires to connect your Arduino to your printer as follows:
Arduino Ender 3 bootloader connections
| Ender 3 Pin | Arduino Uno Pin |
|---|---|
| MISO | MISO |
| 5V | 5V |
| SCK | SCK |
| MOSI | MOSI |
| RESET | ~10 |
| GND | GND |
Matching up the pins
You may have noticed these pins aren’t labeled on either the Ender 3 or Arduino Uno. No worries—you might also have noticed there’s an identical small 2×3 header (2 rows of 3 pins in each row) on both the Arduino and Ender 3. We basically want to “match up” the two headers, with the exception of the RESET pin.
Use the attached Ender 3 Arduino wiring diagram to connect the two headers properly.
| Your Ender 3’s screen will light up as you connect things and it begins to draw power from your USB port. |
6 – Burn the bootloader

Select the Sanguino board from the Tools menu. Then, change the Programmer from AVRISP mkII to Arduino as ISP. Finally, click Burn bootloader.
When the process is finished, you’ll see a message stating “Output bootloader burned successfully”.
Troubleshooting
If you run into issues, try the following:
- Double-check your settings and connections
- Swap out your jumper wires in case yours are defective
- Make sure you downloaded the Arduino IDE directly from the Arduino website (not the Windows store)
- If you see an error such as the one below (especially if you’re running macOS), try installing the TH3D United Firmware Package and running the included preconfigured Arduino IDE instead of the normal Arduino IDE. Then, select Sanguino (1284P Boards) as the board. If you’re using a Mac, don’t forget to follow the Mac setup instructions for the TH3D Arduino IDE.
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14 avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01 avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude: stk500_disable(): unknown response=0x12 Error while burning bootloader.
When the bootloader is done burning, carefully disconnect the jumper wires from your Ender 3, secure the control box cover, and unplug the Arduino from your computer.
7 – Download and prepare the latest Marlin firmware

Download the latest Marlin release to your computer and unzip it.
Then, navigate to Marlin/example_configurations/Creality/Ender-3 and copy all those files into the Marlin directory, replacing all files when prompted.
8 – Connect and transfer the firmware

Connect a mini USB to USB cable between your computer and the Ender 3’s front USB port. If you’re already using OctoPrint with the Ender 3, simply move the USB cable from the Raspberry Pi to your computer.
Back in the Arduino IDE, select File > Open and locate the Marlin.ino file from the Marlin directory you unzipped early.
Then, make sure the port is still selected as Sanguino or Sanguino (1284P Boards), the programmer is Arduino as ISP, and the proper serial port is selected.
Finally, click the Upload button. The firmware transfer process should take about a minute.
9 – Wrapping up

Disconnect your computer and power on your printer. Your printer will take a bit longer than normal to start up. You should now see a different boot screen since your firmware has been updated.
Up next
Next, set up OctoPrint on your Ender 3 and improve your printing experience!
Прошивка Ender 3 V2: как обновить / установить Marlin

Вы можете обновить прошивку Ender 3 V2, используя только карту Micro SD! Прочтите пошаговое руководство, как это сделать.
Новые функции, новая прошивка
Новый Ender 3 V2 от Creality — это обновленная версия успешной Ender 3. V2 имеет несколько новых функций, таких как прикрепленные натяжители ремня, ручка экструдера, полноцветный сенсорный дисплей и многое другое. Еще одна отличительная особенность — модернизированная 32-битная материнская плата, принтер поставляется с материнской платой Creality V4.2.2 или V4.2.7 (бесшумная).
Большинство плат для V2 теперь поставляются с установленной версией прошивки Marlin 2.0, с которой старые 8-битные платы справиться не могли. Если вы не знакомы со словом «прошивка», это программа, которая соединяет программное обеспечение принтера (слайсер и модели для печати) с его оборудованием (двигателями, датчиками). Ее можно рассматривать как спасательный круг для принтера, и она сохраняется во встроенной памяти материнской платы.
Marlin, известна своей надежностью и частыми обновлениями, является одним из самых популярных вариантов прошивки. Прошивка работает на C ++, работает со многими обновлениями 3D-принтеров и включает в себя функции безопасности, такие как защита от теплового разгона.
В этой статье мы объясним, как установить прошивку Marlin на ваш Ender 3 V2. Это руководство также можно использовать для оригинальных принтеров Ender 3, на которых установлена материнская плата V4.2.2 или V4.2.7. Однако шаги по обновлению микропрограммы ЖК-дисплея для исходного Ender 3 не потребуются
Старое, новое и будущее

В прошлом материнские платы Creality были не очень стабильными и имели тенденцию к сбоям. Поскольку это были 8-битные платы с меньшим объемом памяти, материнские платы Creality первого поколения (V1.X и Melzi) не могли работать с Marlin 2.0 со всеми функциями. Установка новой прошивки на эти платы также была немного сложнее: для этого требовался загрузчик (например, Arduino Uno), Cura или кабель ISP для USB.
Однако в новых материнских платах V4.2.2 и V4.2.7 больше места, 32-битный процессор для быстрой работы и предустановленный загрузчик, что упрощает процесс установки. Благодаря этим новым функциям вы можете загружать новую прошивку, используя слоты для карт Micro SD, а у V2 их два: один на материнской плате и один на ЖК-дисплее.
Платы довольно новые, поэтому для них пока не так много вариантов прошивки, но со временем их будет больше. V2 поставляется со стандартной прошивкой Creality, которая является измененной версией Marlin. Между тем, Marlin уже выпустила конфигурации для V2 и более старых Ender 3, которые были обновлены для материнских плат V4.2.2 или V4.2.7.
Новый процесс обновления прошивки Ender 3 включает использование файла BIN на карте Micro SD и прошивку как на плате, так и на ЖК-дисплее. В этой статье мы сосредоточимся только на процессе загрузки прошивки Marlin, которая может не работать для других разновидностей прошивки, таких как RepRap или Repetier.
Зачем нужны обновления?

Хотя стандартная прошивка Creality может быть более стабильной, чем новые варианты прошивки, новые версии Marlin имеют больше функций печати. В стандартной прошивке также отключены некоторые функции Marlin 2.0. Примером может служить линейное продвижение, которое прогнозирует нарастание давления в экструдере для получения качественной печати с меньшим недо- и избыточным выдавливанием.
Вы также можете изменить стандартную прошивку, если хотите использовать обновления на Ender 3, такие как BLTouch, датчик окончания филаменту, экструдер с редуктором и другие. Это связано с тем, что для некоторых обновлений, таких как BLTouch или датчик окончания филамента, необходимо активировать определенные функции в прошивке.
Что вам понадобится

- 2 карты Micro SD (только одна входит в комплект Ender 3 V2)
- Прошивка, совместимая с Ender 3 V2
- Устройство, ноутбук или компьютер с парой программ, включая программу архивирования файлов, такую как 7-Zip и Microsoft Virtual Studio Code (VS Code).
- Программа-архиватор файлов необходима только в том случае, если вы используете предварительно настроенный файл прошивки, который загружается в виде файла RAR. 7-Zip — это бесплатная программа для архивирования файлов с открытым исходным кодом, которая может распаковывать файлы RAR.
- Вам понадобится VS Code, если вы планируете вручную редактировать код прошивки. Если вы хотите это сделать, убедитесь, что вы также загрузили плагины PlatformIO и Auto Build Marlin на VS Code.
Шаг 1. Загрузите базовую прошивку

- Выключите питание принтера, отсоедините кабель питания и извлеките карту Micro SD материнской платы.
- На своем устройстве создайте папку с надписью «Ender 3 V2 Firmware» или другим легко узнаваемым именем.
- Загрузите вариант прошивки для своего Ender 3 V2.
Предварительно настроенная прошивка CREALITY
Если вам не нужно настраивать прошивку, мы рекомендуем использовать Creality. Они время от времени меняют типы файлов, предлагаемые на их веб-сайтах, поэтому у вас будет либо файл BIN, либо файл RAR со сжатым файлом BIN. Если вы загрузили файл BIN, убедитесь, что вы также загрузили папку с надписью «DWIN_SET».
С предварительно настроенным микропрограммным обеспечением вам не нужно редактировать файлы исходного кода, поэтому вы можете перейти к шагу 4.
Прошивка с возможностью пользовательской настройки
- Разархивируйте и извлеките архивные папки «Marlin-2.0.x» и «Configurations-release-2.0.x.x».
- В обеих извлеченных папках найдите папку второй степени с тем же именем, что и ее исходная папка.
- Скопируйте каждую из папок второй степени (не исходные папки!) По очереди и вставьте их во вновь созданную папку «Ender 3 V2 Firmware».
Шаг 2: настройте Marlin

- Откройте папку с конфигурациями, а затем откройте папку «config».
- Откройте папку «Примеры», прокрутите вниз и откройте папку «Creality».
- Найдите и откройте папку «Ender-3 V2» и скопируйте в нее все файлы.
- Откройте папку «Marlin-2.0.x», затем найдите и откройте папку «Marlin», содержащую файл «Configuration».
- Вставьте скопированные файлы в папку «Марлин».
- При появлении запроса щелкните, чтобы заменить файлы с таким же именем.
Шаг 3. Подготовка и редактирование в Microsoft VSCode

- В Microsoft VS Code откройте плагин PlatformIO и нажмите «Открыть проект».
- Откройте папку «Marlin-2.0.x», содержащую INI-файл «PlatformIO». Если вы хотите внести изменения в свою прошивку, это можно сделать здесь.
- После того, как все ваше редактирование (или отсутствие редактирования) будет выполнено, щелкните галочку на нижнем терминале в VS Code, чтобы собрать прошивку в виде файла BIN с помощью подключаемого модуля Auto Build Marlin. Если вы не видите галочку, перейдите к плагину Auto Build Marlin и скомпилируйте прошивку оттуда.
- Подождите, пока в нижней части терминала не появится зеленая линия, указывающая, что сборка прошла успешно.
Шаг 4: поиск файла прошивки BIN

Теперь вам нужно найти файл прошивки BIN, чтобы вы могли его загрузить; никакие другие типы файлов не будут работать с прошивкой вашей материнской платы. Этот процесс отличается в зависимости от того, использовали ли вы предварительно настроенную прошивку Creality или прошивку с возможностью пользовательской настройки.
Предварительно настроенная прошивка CREALITY
- Скопируйте BIN-файл.
- Подключите карту Micro SD материнской платы к устройству.
- Очистите его полностью (удалите или переместите все что там есть).
- Вставьте файл BIN на карту Micro SD.
- Найдите файл RAR и щелкните его имя правой кнопкой мыши.
- Наведите курсор на опцию 7-Zip и нажмите «Извлечь сюда». Должна появиться новая папка с тем же именем, что и у файла RAR.
- Откройте извлеченную папку, а затем откройте папку с надписью «Mainboard» и скопируйте файл BIN.
- Подключите карту Micro SD материнской платы к устройству.
- Очистите его полностью (удалите или переместите все что там есть).
- Вставьте файл BIN на карту Micro SD.
Прошивка с возможностью пользовательской настройки
- Перейдите в папку «Marlin-2.0.x», найдите и откройте папку «.pio».
- Откройте папку сборки, а затем откройте папку с именем, начинающимся с «STM32» (имена могут отличаться в зависимости от материнской платы).
- Найдите и скопируйте самый последний (по времени) BIN-файл. Не меняйте название микропрограммы, так как при изменении названия она не сработает.
- Вставьте карту Micro SD материнской платы в устройство.
- Очистите его полностью (удалите или переместите все что там есть).
- Сохраните файл прошивки BIN на карту Micro SD.
Шаг 5: Форматирование другой карты Micro SD

- Вставьте карту Micro SD в устройство и удалите или переместите все файлы на карте.
- Щелкните правой кнопкой мыши значок диска Micro SD и выберите «Форматировать».
- Отформатируйте карту Micro SD до файловой системы «FAT32» и размера выделения «4096 байт».
- Отсоедините кабель LCD-дисплея и снимите экран с крепления.
- Отвинтите четыре болта, скрепляющие корпус, и найдите слот для карты Micro SD на печатной плате LCD -дисплея.
Шаг 6: Загрузка новой прошивки LCD -дисплея

Теперь вам нужно найти и загрузить новую прошивку специально для экрана вашего Ender 3 V2. Начальные шаги для этого процесса немного отличаются в зависимости от того, использовали ли вы предварительно настроенную прошивку или прошивку с возможностью пользовательской настройки. Обязательно прочтите инструкции, которые относятся к вашему случаю.
Прошивка с возможностью пользовательской настройки CREALITY
Если вы загрузили только BIN-файл с веб-сайта Creality, убедитесь, что вы также загрузили папку «DWIN_SET» с веб-сайта Creality.
Если вы скачали файл RAR с веб-сайта Creality, папка «DWIN_SET» будет включена в извлеченное содержимое файла RAR. Откройте папку «screen» в извлеченном RAR-файле, и вы увидите папку «DWIN_SET».
Предварительно настроенная прошивка
- Скопируйте папку с надписью «DWIN_SET».
- Вставьте папку на вторую карту Micro SD (для прошивки LCD -дисплея).
- Извлеките карту из устройства и вставьте ее в печатную плату LCD -дисплея.
- Снова подсоедините кабель LCD -дисплея и включите принтер, но не собирайте его, пока не убедитесь, что ваша прошивка работает.
- Включите принтер. Ваш LCD -дисплей должен отображать пустой экран оранжевого цвета.
- Подождите, пока на LCD -дисплее не отобразится главное меню принтера, что является признаком завершения обновления микропрограммы дисплея.
- Снова выключите принтер.
- Извлеките карту Micro SD из печатной платы LCD -дисплея, так как она вам больше не понадобится.
- Соберите LCD -экран и снова установите его на свой принтер.
Шаг 7: Загрузка новой прошивки Marlin

- Вставьте первую карту Micro SD (ту, со всеми файлами прошивки Marlin) в слот для карты Micro SD материнской платы.
- Убедитесь, что все кабели и электрические конфигурации правильно подключены и закреплены.
- Убедитесь, что ваша карта Micro SD надежно вставлена и правильно ориентирована.
- Включите принтер, снова подсоединив шнур питания к принтеру и снова включив выключатель питания.
- Подождите, пока на ЖК-дисплее не появится главный экран, затем перейдите в пользовательский интерфейс, найдите и нажмите кнопку «Восстановить значения по умолчанию».
Советы и лайфхаки

Ниже мы перечислили несколько советов и приемов по установке новой прошивки Marlin на Ender 3 V2:
• Используйте самую последнюю версию прошивки Marlin: иногда могут возникать ошибки, если вы используете устаревшую прошивку, поэтому лучше использовать самую последнюю версию прошивки. По возможности мы рекомендуем использовать официальную прошивку Marlin. Вы также можете использовать официальные версии прошивки с исправлениями ошибок, которые можно найти на Marlin GitHub.
• Сохранение микропрограммы. Хотя микропрограмма должна автоматически сохраняться на плате при установке, всегда рекомендуется перепроверить. Для этого используйте меню ЖК-дисплея и нажмите «Сохранить настройки». Если можете, используйте терминал G-кода или отправителя, и отправьте команду «M502», а затем отправьте «M500», чтобы сохранить прошивку в EEPROM.
• Найдите ошибки в исходном коде с помощью VS Code: при создании прошивки Marlin подключаемый модуль Auto Build Marlin предупредит вас, если при создании прошивки произойдет какая-либо ошибка. Ошибки будут отображаться желтым или красным текстом в терминале VS Code. Они говорят сами за себя, поэтому вы сможете легко найти и решить любые проблемы. Если вы не знаете об ошибке, вы всегда можете воспользоваться Интернетом, чтобы решить ее.
• Всегда держите под рукой стабильную прошивку: хотя иметь самую последнюю и лучшую прошивку может здорово, всегда полезно иметь под рукой проверенную безопасную прошивку. Вам следует попробовать найти или собрать прошивку, которая, как вы знаете, работает, и сохранить ее где-нибудь на случай, если она вам понадобится.
Как мы уже упоминали, сейчас существует не так много вариантов прошивки для Ender 3 V2, потому что принтер все еще довольно новый. Однако по мере роста популярности принтера появятся и другие прошивки. На данный момент проще всего установить Marlin или прошивку по умолчанию.
Модификация 3D-принтера Ender 3 Pro
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
Fockus
Администратор
Команда форума
Сообщения 581 Симпатии 149 Баллы 345 Веб-сайт 3dnote.ru Принтер Flyingbear REBORN
Creality Ender 3 Pro — бюджетный 3D-принтер от Китайского производителя Creality 3D. Устройство оснащено подогреваемой платформой, дисплеем, одним экструдером с соплом 0,4 мм. Область построения Creality Ender 3 Pro составляет 220x220x250 мм. Для печати используются PLA, ABS, Wood, TPU и другие типы пластиков.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
ENDER 3 PRO
Назначение: Персональный
Страна: Китай
Производитель: Creality 3D
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Технология печати: Моделирование методом наплавления (FDM/FFF)
Количество печатающих головок: 1
Диаметр сопла (мм): 0.4
Область построения, мм: 220 x 220 x 250
Платформа: с подогревом
Интерфейсы: Card Reader, USB
Дисплей: Да
РАСХОДНЫЕ МАТЕРИАЛЫ
Типы материалов: Пластик
Материалы: PLA-пластик, ABS-пластик, HIPS, Нейлон
Диаметр нити (мм): 1.75
ГАБАРИТЫ
Размеры (мм): 440 x 440 x 465
Вес (кг): 6.9
Печатные модификации
- Крышка, закрывающая плату экрана: Скачать
- Защита платы и вентилятора от попадания мусора и остатков пластика: Скачать
- Проставки для выравнивания мотора оси Z: Скачать
- Стабилизаторы пружин стола: Скачать
- Натяжитель ремней, ось X: Скачать
- Направляющая для обрезания трубки: Скачать
- Обдув Petsfang: Скачать
- Запасной рычаг в штатном подающем механизме: Скачать
- Запасная часть подающего механизма, которая крепится к мотору: Скачать
- Запасная часть подающего механизма, которая крепится к мотору, с регулировкой прижима пружины: Скачать
- Направляющая для филамента (Печатаем Ender-3_and_CR-10_Filament_Guide): Скачать
- Направляющая для филамента на верхнюю часть принтера (Для катушки, которая закреплена сверху): Скачать
- Кронштейн для крепления катушки сбоку на профиль: Скачать
- Крышка платы по 80 мм кулер. Для обычной версии: Скачать
- Крепление BLTouch/3DTouch для штатного обдува: Скачать
- Кронштейн для установки Titan Extruder на наш принтер: Скачать
Необходимые покупки
Ссылки на товары для эндера с Aliexpress:
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
(Внимание, 12В. Нужен DC-DC преобразователь. Например такой
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
(Внимание, 12В. Нужен DC-DC преобразователь. Например такой
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Проблема: При включении принтера 3DTouch мигает и не реагирует на команды из меню.
Решение: Немного ослабить регулировочный винт на 3DTouch, перезагрузить принтер
Установка 3D Touch
-
Ссылка на 3D Тач:
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
- Не забудьте демонтировать концевик оси Z.
- В параметрах положения Тача не нужно указывать дробные цифры, только целые, для моего крепления получилось так:
#define X_PROBE_OFFSET_FROM_EXTRUDER -38 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER -7 // Y offset: -front +behind [the nozzle]
- Для того, чтобы не было самопроизвольного выдвигания щупа Тача, нужно в файле pins_SANGUINOLOLU_11.h найти и закомментировать строку:
//#define BEEPER_PIN 27
- Для того, чтобы можно было в дальнейшем G-Кодом M48 P10 X100 Y100 V2 E проверять точность датчика, нужно в файле Configuration.h раскомментировать строку:
#define Z_MIN_PROBE_REPEATABILITY_TEST
- Для того, чтобы Тач делал замеры по 16 точкам, нужно заменить цифру 3 на 4 в строке:
#define GRID_MAX_POINTS_X 3
- Для использования функции нивелирования кривизны стола к определенной высоте детали нужно проверить, чтобы была раскомментирована строка:
#define ENABLE_LEVELING_FADE_HEIGHT
- С включенной функцией POWER_LOSS не хватало 762 байта памяти, поэтому я в файле Configuration_adv.h закомментировал строку:
//#define POWER_LOSS_RECOVERY
после этого компиляция прошла успешно.
- Для активирования функции нивелирования кривизны стола к определенной высоте детали нужно в стартовом скрипте G-кода в Cure, после строки G29 прописать M420 Z1, где 1 — это высота плавного угасания неровности в мм. Использование этой функции снижает нагрузку на ось Z из-за того, что корректирует кривизну стола не всю печать, а плавно выводит разницу кривизны стола по оси Z в ноль к высоте, которую вы укажите командой M420 Z и после этого ось Z перестает гулять вверх-вниз, нагрузка с оси снимается. Внешне на готовое изделие включение этой настройки влияния не оказывает. Спасибо Andy! =)
Установка tmc2208 на штатную плату creality
Список необходимых приобретений
Для установки, а точнее подключения драйверов TMC2208 к плате Creality потребуется:
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
- Точка номер 1 — штатно контакт подключен к «земле», надо перерезать дорожку так (указано зеленой линией), чтобы контакт пропал (отрезать контакт от земляного полигона);
- Точка номер 2 — перерезать дорожку в месте, указанном зеленой линией;
- Контакт у точки 1 соединить, при помощи провода, с дорожкой у точки 2, ниже линии отреза;
- Точки 3-4 так же соединить между собой при помощи провода.
- Точка 5 — перерезать дорожку в месте, указанном зеленой линией.
Доработка платы принтера
На плате принтера ничего отрезать не требуется, будем только добавлять:
- Во всех отмеченных местах аккуратно зачищаем точки до металла (еще раз — ОСТОРОЖНО, чтобы не счистить их совсем);
- Залуживаем все ранее зачищенные места так, чтобы на них оставалась небольшая капля олова;
- Отмеряем кабель по вкусу (у меня был кабель длиной 20см, и для нормального расположения платы за поперечной балкой основания принтера, мне его хватило буквально «в обрез»), отрезаем, и начинаем пайку с точек E_STEP/E_DIR, затем идем далее к точкам STEP/DIR Z, Y, X. Такая последовательность позволяет отмерять и отрезать кабель сразу «в размер» по месту;
- Затем необходимо припаять сначала точку XYE_ENABLE, после Z_ENABLE;
- В завершение — припаиваем точки +5/GND.
- Убедиться, что все, только что припаянные кабели, припаяны хорошо и подключены к своим местам в CNC Shield;
- Подключить +24V/Землю от основной платы принтера к CNC Shield;
- Установить по две перемычки: M0 и M1 на CNC Shield для каждого драйвера (микрошаг 1/16, перемычки выставляются параллельно колодке драйвера);
- Включить это всё БЕЗ драйверов, и проверить, что из платы не идет волшебный дым.
- Подключаем черный провод мультиметра на контакт «GND» модуля, или же на «—» в CNC Shield (контакт должен быть хорошим!);
- Красный провод мультиметра подключаем на контакт Vref+ на фотографии (иногда рекомендуют подсоединяться прямо к жалу отвертки, но мне такой вариант не нравится, т.к. различные загрязнения на поверхности отвертки могут влиять на показания);
- При помощи отвертки, плавно вращаем подстроечный резистор, пока не будет достигнуто желаемое напряжение.
Только после этого можно будет подключить моторы к разъемам, теперь уже на CNC Shield.
Вариант расположения платы с драйверами
Сверху идеально устанавливается вентилятор 40мм:
Пример печати
Кубики печатались слоем 0.2, под углом 45 градусов к оси X), левая пара на A4988, правая на TMC2208:
Установка SKR 1.3 + TMC2208 UART
Введение
Данная статья описывает опыт установки на принтер Creality3D Ender-3 материнской платы BIG TREE TECH (BIQU) SKR v1.3 с драйверами Trinamic TMC2208 в режиме управления по UART с последующей настройкой и прошивкой Marlin 2.x bugfix. Приведенные здесь инструкции также применимы для Ender-3 Pro.
Зачем вообще это надо?
Плата BIG TREE TECH (BIQU) SKR v1.3 оснащена 32-битным микропроцессором LPC1768 на ядре ARM Cortex-M3. Данный микропроцессор обладает на порядок более внушительными вычислительными возможностями, чем ATmega1284P, установленный на штатной плате Creality 1.1.x, которой оснащаются принтеры серии Ender. Это дает возможность одновременно задействовать нагружающие микропроцессор и занимающие много памяти функции, такие как использование Linear Advance, автоуровня типа BLTouch/3DTouch, плавных ускорений S Curve Acceleration и др. Кроме того, в целом повышается быстродействие системы и максимально достижимая скорость печати.
- Колодки для драйверов в форм-факторе Polulu (SilentStepStick) — возможность установить любые поддерживаемые прошивкой драйвера без необходимости перепайки и колхозинка штатной платы
- Возможность установки до 5 драйверов и 2 нагревателей хотенда — можно установить дополнительный экструдер, toolchange-систему, MMU-ситему, использовать выход на второй нагреватель как дополнительный управляемый PWM-выход (подсветка/охлаждение)
- Наличие предохранителей на плате — меньше вероятность спалить мосфет стола или хотенда при случайном замыкании
- Возможность подключить цветной (сенсорный) дисплей, наличие дополнительных AUX портов
- Разводка под управление драйверами по UART и SPI «из коробки»
- Технология StealthChop2 – тишина работы моторов
- Технология SpreadCycle – оригинальный алгоритм direct current управления от Trinamic, позволяет точно управлять током в обмотках ШД для увеличения точности позиционирования и момента на высоких скоростях
- Возможность работы в режиме нативного дробления до 1/256 шага или с меньшим дроблением, но с интерполяцией до 1/256.
- Возможность управления по UART
- Принтер Creality3D Ender-3 (Ваш К.О.)
- Плата BIG TREE TECH (BIQU) SKR v1.3
- Драйвера Trinamic TMC2208 v2.1
- Паяльник
- Набор шестигранных ключей
- Надстройка PlatformIO для IDE VS Code
- Прошивка Marlin версии bugfix-2.0.x (самая свежая)
- Вольтметр
- Мелкая отвертка под плоский шлиц (лучше диэлектрическая)

Электроника
Расположение потенциометров Vref на стандартной плате

Схема подключения проводов и установки джамперов на плате SKR 1.3 (разъемы ШД находятся за драйверами и не отмечены) в дефолтной конфигурации Ender-3 с одним экструдером. Щелкните, чтобы посмотреть в полном размере.
Важно: считаем ток ШД!
Насколько я успел заметить, на принтеры Creality3D устанавливается широкий спектр ШД, отличающихся своими характеристиками, в первую очередь – максимальным током обмоток. Некоторые моторы практически невозможно «нагуглить» по маркировке и узнать требуемый им ток. Поэтому для того, чтобы действовать наверняка, я советую перед заменой платы выяснить, какой ток установлен для Ваших конкретных ШД.
На дефолтной плате Creality 1.1.x установлено 4 драйвера A4988, распаянных непосредственно на плате. Рядом с каждым драйвером установлен потенциометр (turnpot), который задает опорное напряжение Vref.
Отключите от платы провода ШД. Включите питание. Аккуратно измерьте напряжение между центром «крутилки» потенциометра и землей (за землю можно взять черный провод, приходящий в винтовую колодку на плате с блока питания) для каждого из драйверов, запишите.
Теперь посчитаем ток, который нужно установить для наших конкретных ШД на новых драйверах. Дело в том, что Vref для драйвера A4988 задает максимальный ток Imax, в то время как для TMC2208 мы задаем среднеквадратичное значение тока Irms ~ Imax/1.414
Приступим к расчетам:
Irms(TMC2208) = Imax(A4988)/1.414 = Vref(A4988)/1.1312
Это и есть нужное нам значение тока новых драйверов. При управлении по UART данного расчета достаточно. Тем, кто не хочет управлять по UART, то есть устанавливает драйвера в standalone-режиме, необходимо посчитать Vref для TMC2208 по следующей формуле:
Vref(TMC2208) = (Irms(TMC2208)*2.5) / 1.77
Указанная выше формула справедлива только для наиболее распространенных вариантов исполнения драйверов TMC2208 с референсным резистором Rsense = 0.11 Ом.
Внимание! Настройка (и измерение) Vref должна производиться с отключенными проводами ШД, но подключенным основным питанием платы.

Перымычка, которую нужно запаять на драйвере для управления по UART. Также указаны резисторы Rsense — проверьте их номинал.
Подготовка драйверов
Для того, чтобы использовать UART для управления драйверами, необходимо аккуратно запаять на них перемычку, как показано на рисунке (здесь и далее показаны драйвера от BIGTREETECH версии 2.1, но для драйверов от других производителей, например Fysetc, действия будут аналогичными)

Переделка дефолтных двухконтактных разъемов концевиков в трехконтактные под SKR
Замена платы
Отключаем питание принтера. Снимаем крышку с корпуса электроники, отключаем вентилятор охлаждения от платы. Аккуратно удаляем термоклей со всех разъемов, отключаем все провода от платы. Не забываем пометить удобным способом провода, на которых нет заводских меток.
- «Переобуваем» провод в трехпиновый корпус – самый лучший вариант, если есть такие корпуса
- Подрезаем один из двух ключевых выступов корпуса разъема на проводе так, чтобы он правильно вошел в разъем на плате

Прошивка
Установка PlatformIO в VS Code

Открыть проект Marlin в PlatformIO
Дисклеймер
Данный раздел предполагает, что Вы знаете, как конфигурировать прошивку Marlin. Здесь будут описаны только специфические настройки для платы SKR 1.3 и драйверов TMC2208 с управлением по UART, а также несколько других полезных твиков. Если Вы не знаете как конфигурируется прошивка, как устанавливаются размеры области печати, шаги по осям, ускорения и прочие основные параметры принтера – для начала обязательно изучите эту информацию, например по
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
, и только после этого продолжайте.
В качестве отправной точки крайне советую использовать конфигурационные файлы для Ender-3 из папки с примерами, это избавит от необходимости конфигурирования концевиков, направлений моторов, зоны печати и прочих важных вещей – там это уже сделано. Здесь эти настройки рассматриваться не будут.
Установка PlatformIO IDE
Качаем последнюю версию Marlin bugfix-2.0.x. Качаем
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
. Запускаем VS Code, заходим в Extensions, вводим в строку поиска platformio, жмем зеленую кнопку Install возле расширения PlatformIO IDE, ждем завершения установки расширения, перезапускаем VS Code. На появившейся странице PIO Home жмем кнопку Open Project, заходим в папку с прошивкой (в ней должен быть файл platformio.ini), жмем Open.
Конфигурация
Нам нужно будет внести изменения в 3 файла: platformio.ini, configuration.h и configuration_adv.h.
Начнем по порядку. Настоятельно советую пользоваться поиском Ctrl+F для быстрого перехода к нужным настройкам.
platformio.ini
Указываем в разделе [platformio] микроконтроллер, для которого будем компилировать прошивку.
env_default = LPC1768
configuration.h
Настраиваем последовательные порты:
#define SERIAL_PORT -1 #define SERIAL_PORT_2 0
Ускоряем немного обмен данными через последовательный порт
#define BAUDRATE 250000
Указываем, какая у нас материнская плата
#ifndef MOTHERBOARD #define MOTHERBOARD BOARD_BIGTREE_SKR_V1_3 #endif
Убеждаемся, что включена защита от перегрева
#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders #define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed #define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber
Указываем, какие у нас установлены драйвера ШД
#define X_DRIVER_TYPE TMC2208 #define Y_DRIVER_TYPE TMC2208 #define Z_DRIVER_TYPE TMC2208 #define E0_DRIVER_TYPE TMC2208
Если устанавливаем драйвера без управления по UART, то вместо TMC2208 пишем TMC2208_STANDALONE
Можем включить более плавные ускорения, при желании
#define S_CURVE_ACCELERATION
Проверяем направление мотора экструдера. Если редукторный фидер, пишем false, если безредукторный, то true
#define INVERT_E0_DIR true
Можем настроить пункт меню для калибровки стола – Level corners, печатная коловка будет поочередно перемещаться в каждый из 4 углов (в положение над регулировочным винтом) и в центр стола (здесь параметры для калибровки по эталону 0.1 мм, толщину эталона можно задать параметром LEVEL_CORNERS_HEIGHT)
#define LEVEL_BED_CORNERS #if ENABLED(LEVEL_BED_CORNERS) #define LEVEL_CORNERS_INSET 35 // (mm) An inset for corner leveling #define LEVEL_CORNERS_Z_HOP 5 // (mm) Move nozzle up before moving between corners #define LEVEL_CORNERS_HEIGHT 0.1 // (mm) Z height of nozzle at leveling points #define LEVEL_CENTER_TOO // Move to the center after the last corner #endif
Настраиваем более адекватные скорости хоуминга
#define HOMING_FEEDRATE_XY (30*60) #define HOMING_FEEDRATE_Z (4*60) // Если используется датчик автоуровня типа BLTouch/3DTouch, можно увеличить значение до (10*60) для ускорения автокалибровки
Выбираем язык меню
#define LCD_LANGUAGE en
Проверяем поддержку карты памяти
#define SDSUPPORT
Включаем «пищалку», чтобы она могла нас уведомлять о важных вещах типа перегрева, но выключаем звук в меню
#define SPEAKER #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 0 #define LCD_FEEDBACK_FREQUENCY_HZ 0
Включаем дефолтный дисплей Ender-3
#define CR10_STOCKDISPLAY
Убираем «свист» вентиляторов от ШИМ
#define FAN_SOFT_PWM #define SOFT_PWM_SCALE 0
configuration_adv.h
Включаем отображение значений АЦП вместе со значениями температуры по команде M105 (если потом хотим калибровать термистор, о чем позже будет статья)
#define SHOW_TEMP_ADC_VALUES
Если вентилятор обдува модели плохо стартует на низких оборотах, помогаем ему «пинком»
#define FAN_KICKSTART_TIME 200
Если подключили вентилятор обдува радиатора печатной головы вместо нагревателя второго хотенда, настраиваем тут пин и температуру включения
#define E0_AUTO_FAN_PIN FAN1_PIN // Cold-end fan to E1 heater #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
Задаем более «нежные» делители скоростей для хоуминга, чтоб меньше разбивались концевики
#define HOMING_BUMP_DIVISOR < 4, 4, 4 >// Re-Bump Speed Divisor (Divides the Homing Feedrate)
Задаем время после последнего движения (в секундах), через которое отключается удержание ШД
#define DEFAULT_STEPPER_DEACTIVE_TIME 300
Задаем более адекватные скорости для движения осей из меню принтера
#define MANUAL_FEEDRATE
Улучшаем печать по USB
#define DEFAULT_MINSEGMENTTIME 50000 #if ENABLED(SDSUPPORT) #define BLOCK_BUFFER_SIZE 32 // SD,LCD,Buttons take more memory, block buffer needs to be smaller #else #define BLOCK_BUFFER_SIZE 16 // maximize block buffer #endif #define MAX_CMD_SIZE 96 #define BUFSIZE 32 #define TX_BUFFER_SIZE 32
Опционально включаем звуковое оповещение при изменении Feedrate на главном экране энкодером (помогает избежать случайного изменения)
#define BEEP_ON_FEEDRATE_CHANGE #if ENABLED(BEEP_ON_FEEDRATE_CHANGE) #define FEEDRATE_CHANGE_BEEP_DURATION 10 #define FEEDRATE_CHANGE_BEEP_FREQUENCY 440 #endif
Включаем прокрутку длинных статусных сообщений на экране
#define STATUS_MESSAGE_SCROLLING
Увеличиваем задержку (в миллисекундах) перед автоматическим выходом из меню на главный экран
#define LCD_TIMEOUT_TO_STATUS 60000
«Чиним» прогресс-бар при печати через USB
#define LCD_SET_PROGRESS_MANUALLY
Опционально включаем подтверждение при выборе файла с флешки для печати
#define SD_MENU_CONFIRM_START
Включаем поддержку отправки длинных имен файлов с флешки на хост по USB
#define LONG_FILENAME_HOST_SUPPORT
Включаем прокрутку длинных имен файлов на флешке в меню
#define SCROLL_LONG_FILENAMES
Настраиваем SD карту
#ifdef TARGET_LPC1768 //#define LPC_SD_LCD // Use the SD drive in the external LCD controller. #define LPC_SD_ONBOARD // Use the SD drive on the control board. (No SD_DETECT_PIN. M21 to init.) //#define LPC_SD_CUSTOM_CABLE // Use a custom cable to access the SD (as defined in a pins file). //#define USB_SD_DISABLED // Disable SD Card access over USB (for security). #if ENABLED(LPC_SD_ONBOARD) //#define USB_SD_ONBOARD // Данную опцию можно включить, чтоб видеть флешку с хоста, как через кард-ридер, но я не проверял #endif #endif
Включаем babystepping — возможность вручную задавать точно оффсет оси Z во время печати из меню принтера, например, если мы видим, что с первым слоем что-то не так
#define BABYSTEPPING #if ENABLED(BABYSTEPPING) //#define BABYSTEP_WITHOUT_HOMING //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way #define BABYSTEP_MULTIPLICATOR 2 // Babysteps are very small. Increase for faster motion. #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. // Note: Extra time may be added to mitigate controller latency. //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). #define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle. #if ENABLED(MOVE_Z_WHEN_IDLE) #define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size. #endif #endif
При желании включаем LA
#define LIN_ADVANCE #if ENABLED(LIN_ADVANCE) //#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants #define LIN_ADVANCE_K 0.0 // Unit: mm compression per 1mm/s extruder speed //#define LA_DEBUG // If enabled, this will generate debug information output over USB. #endif
Уменьшаем размер минимальной отрабатываемой группы шагов
#define MIN_STEPS_PER_SEGMENT 1
Если выше включили Linear Advance, необходимо также изменить значение MINIMUM_STEPPER_PULSE для работоспособности экструдера (актуально на 10.09.19)
#define MINIMUM_STEPPER_PULSE 2 // если не работает 2, ставим 4
Включаем Emergency Parser, чтобы иметь возможность остановить принтер мгновенно, а не ждать, пока выполнятся все команды из буфера
#define EMERGENCY_PARSER
Наконец, переходим к собственно настройке драйверов!
Настраиваем токи и дробление шага. Здесь каждый пусть решает сам, какое дробление использовать, включать ли интерполяцию — спорить можно бесконечно.
#if HAS_TRINAMIC #define HOLD_MULTIPLIER 0.6 // Множитель тока в режиме удержания ШД #define INTERPOLATE true // Включает или выключает интерполяцию по ВСЕМ осям #if AXIS_IS_TMC(X) #define X_CURRENT 450 // сюда пишем наш ток Irms, который мы посчитали ранее #define X_MICROSTEPS 16 // количество микрошагов, поддерживается нативно до 256, не забываем изменить число шагов на мм #define X_RSENSE 0.11 // Если на Ваших драйверах резистор Rsense отличается от стандартного R110, сюда вписываем номинал #endif #if AXIS_IS_TMC(Y) #define Y_CURRENT 500 #define Y_MICROSTEPS 16 #define Y_RSENSE 0.11 #endif #if AXIS_IS_TMC(Z) #define Z_CURRENT 550 #define Z_MICROSTEPS 16 #define Z_RSENSE 0.11 #endif #if AXIS_IS_TMC(E0) #define E0_CURRENT 700 #define E0_MICROSTEPS 16 #define E0_RSENSE 0.11 #endif
Включаем тихий режим StealthChop (на оси экструдера, особенно с редукторным фидером, стабильнее работает SpreadCycle, по моим ощущениям)
#define STEALTHCHOP_XY #define STEALTHCHOP_Z
Задаем режим работы чоппера SpreadCycle
#define CHOPPER_TIMING CHOPPER_DEFAULT_24V
Включаем защиту драйверов от перегрева
#define MONITOR_DRIVER_STATUS #if ENABLED(MONITOR_DRIVER_STATUS) #define CURRENT_STEP_DOWN 50 // [mA] #define REPORT_CURRENT_CHANGE #define STOP_ON_ERROR #endif
Включаем гибридный режим — при превышении указанной здесь скорости алгоритм будет переключаться со StealthChop на SpreadCycle
#define HYBRID_THRESHOLD #define X_HYBRID_THRESHOLD 120 // [mm/s] #define Y_HYBRID_THRESHOLD 120 #define Z_HYBRID_THRESHOLD 10 #define E0_HYBRID_THRESHOLD 15
Очень важно! Включаем отладочный режими
#define TMC_DEBUG
В данной секции можно задать отдельно любые параметры для каждого из драйверов, например выборочно выключить интерполяцию на Z и E, если выше она включена для всех осей, но перед тем, как что-то здесь писать, советую разобраться с функциями библиотеки
Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.
. В противном случае оставляйте эту секцию пустой, чтобы ничего не сломать.
#define TMC_ADV()
Включаем автоотправку температуры по USB
#define AUTO_REPORT_TEMPERATURES
Включаем расширенный отчет о возможностях прошивки для USB хоста
#define EXTENDED_CAPABILITIES_REPORT
Выключаем экструзию по объему
#define NO_VOLUMETRICS

Хоба!
Компиляция и прошивка платы
После того, как прошивка сконфигурирована, сохраняем изменения. Жмем Ctrl+Alt+B — запустится процесс компиляции прошивки. Если ошибок нет, после его завершения в терминале VS Code напротив LPC1768 будет зеленая надпись SUCCESS. В папке Marlin-bugfix-2.0.x\.pioenvs\LPC1768 появится файл firmware.bin — это и есть скомпилированная прошивка. Копируем этот файл на SD-карту и вставляем в плату, после чего перезапускаем плату — загрузчик установит прошивку и вы увидите стартовый экран Marlin (не беспокойтесь, после перезагрузки файл прошивки на флешке будет переименован, его не нужно удалять вручную, плата не будет перепрошиваться при каждой перезагрузке, пока Вы не кинете новый файл прошивки на флешку). Не забываем после перепрошивки инициализировать EEPROM.
Что дальше?
Что же (а главное — как) мы можем настроить благодаря подключению по UART?
- Driver current — настройка тока Irms для каждого драйвера
- Hybrid threshold — настройка порога гибридного режима, то есть скорости движения оси, после которой драйвер будет переключаться из режима StealthChop в SpreadCycle. Если хотите выключить гибридный режим для какой-то из осей и использовать только StealthChop, поставьте здесь очень большое значение (на 22 мая 2019 существует баг — при загрузке настроек из EEPROM все значения отображаются равными 0. При этом на самом деле загружаются правильные значения, их даже можно поменять в этом меню и сохранить в EEPROM, и все работает, но в самом меню отображается 0)
- Microstepping mode — ручное переключение между StealthChop и SpreadCycle для кождой оси. Если стоит «on», то используется StealthChop и гибридный режим, если «off» — то всегда включен только SpreadCycle
M122 — вывод отладочной информации о состоянии драйверов — установленный ток, дробление шага и интерполяция, состояние регистров, состояние защиты от перегрева и прочие полезности
M569 — ручное переключение между StealthChop и SpreadCycle для кождой оси
M906 — задание тока Irms для каждого драйвера
M911 — информация о сотоянии защиты от перегрева
M912 — сброс состояния защиты от перегрева
M913 — настройка порога гибридного режима, то есть скорости движения оси, после которой драйвер будет переключаться из режима StealthChop в SpreadCycle
Рецепт приготовления БФ2
- Разводим в пропорции 1 часть БФ2 к 10 частям Изопропилового спирта
- Хорошенько перемешиваем или взбалтываем
- Наносим на стол 3-4 слоя готовой смеси
- Греем стол до 110 градусов и ждем 30 минут
- Остужаем стол до комнатной температуры
- Можно печатать!
Полезные настройки в конфигурации Marlin перед прошивкой платы
- define FAN_SOFT_PWM — раскоментировать
- define SOFT_PWM_SCALE 0 — выставить значение 1 или 2
- define BAUDRATE 115200 — меняем на 250000 (более скоростные режимы не проверены)
- define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
- define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
- define HOMING_FEEDRATE_XY (50*60) — с 50*60 снизить до 30*30
- define PREHEAT_1_TEMP_HOTEND 185
- define PREHEAT_1_TEMP_BED 45
- define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
- define PREHEAT_2_TEMP_HOTEND 240
- define PREHEAT_2_TEMP_BED 0
- define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
- define SERVO0_PIN 29
