Замена Duet 2 WiFi на Fysetc Spider v2.2

Это руководство находится в стадии разработки. Arduino и NeoPixels несовместимы с Klipper в текущем виде. Вместо этого Pawel Drylenko разработал скрипт, который работает на плате Pi. В данном руководстве не описана полная замена Duet 2 WiFi на Fysetc Spider. Надеюсь вскоре завершить электрическую схему.

Существует несколько способов установки Klipper. После нескольких неудачных попыток я нашёл этот метод наиболее стабильным и простым.

Вы можете использовать практически любую модель RPI, но рекомендуется использовать Raspberry Pi 4. Понадобится как минимум карта памяти Class-10 объёмом 8 ГБ. Если доступна карта UHS (Ultra High Speed), выбирайте, как минимум, UHS-1.

В моей конфигурации используются Raspberry Pi 4 8 ГБ и флеш-накопитель SanDisk 64 ГБ с интерфейсом USB3.1.

Я использую Raspberry Pi 4 8 ГБ, потому что у меня была запасная плата, и мне нужно подключение к Wi-Fi 5 ГГц.

Я также выбрал флеш-накопитель вместо карты SD, так как скорость передачи данных в нём в 3–4 раза выше.

Питание RPI я подаю через сертифицированный адаптер питания от Raspberry Pi Foundation.

Ссылка на проект

Полное руководство 3DWork по FYSETC Spider

Загрузчик FYSETC Spider

Шаг 1

Во время выполнения этого руководства к плате Spider должны быть подключены только блок питания 24 В, кабель USB-C и перемычки.

Не устанавливайте драйверы шаговых двигателей и не подключайте другие компоненты, если не указано иное.

Шаг 2

Скачайте и распакуйте последнюю версию Mainsail с их GitHub

Запустите программу Raspberry Pi Imager

Выберите Операционная система > Использовать пользовательский образ > Укажите загруженный образ Mainsail OS.

Выберите Носитель > Выберите свою SD-карту.

Вызовите меню расширенных настроек, нажав на значок шестерёнки.

Там можно настроить Wi-Fi, локаль, включить SSH и другие параметры.

Записать > Да для подтверждения

После завершения записи SD-карта автоматически извлечётся. Вставьте её в RPI и включите питание.

Шаг 3

В комплекте вы должны получить

Fysetc Spider v2.2

Кабель USB-C

Кабели USART

Пакетик с перемычками и соединителем для разъёма шаговых двигателей 24/48 В.

Существует два способа загрузки загрузчика. Предпочтительный метод — прошивка через micro SD. Однако сначала нужно загрузить загрузчик с помощью stm32cubeprogrammer с сайта FYSETC Github.

Скачайте и запустите программу.

Шаг 4

По историческим причинам FYSETC предоставляет две версии загрузчиков, которые можно скачать здесь:

Старые материнские платы, выпущенные до 23 июня 2021 года, используют загрузчик 64 Кб: Bootloader_FYSETC_SPIDER_10000.hex

Современные материнские платы, выпущенные после 23 июня 2021 года, используют загрузчик 32 Кб: Bootloader_FYSETC_SPIDER.hex

Перейдите на GitHub от FYSETC. Вам нужно скачать загрузчик. Щёлкните правой кнопкой по файлу и выберите «Сохранить ссылку как…» и сохраните файл .hex

Откройте файл .hex в Notepad++ и увидите, что вместо .hex файла загружены данные HTML.

На странице GitHub нажмите на Bootloader_FYSETC_SPIDER.hex

Выберите «Raw». Скопируйте данные в веб-браузере и вставьте в файл .hex в Notepad++ и сохраните его.

Шаг 5

Скачайте и запустите программу программатора.

Установите перемычку между BT0 и 3,3 В

Убедитесь, что перемычка 5 В установлена на контакте DC5V

Подключите кабель USB-C к компьютеру и подайте на плату напряжение 12–24 В.

Шаг 6

Нажмите кнопку обновления

Когда рядом с выпадающим списком порта отобразится USB-порт, выберите «соединить».

Убедитесь, что вы находитесь на вкладке «Стирание и программирование»

Нажмите «Обзор» и выберите ранее сохранённый файл «Bootloader_FYSETC_SPIDER.hex».

Нажмите «Начать программирование».

Прошивка платы займёт всего несколько секунд.

Отключите питание и кабель USB-C. Снимите перемычку с BT0 и 3,3 В

Шаг 7

Подключите Raspberry Pi к плате Fysetc Spider по USB и подайте на Spider 24 В. Включите Raspberry Pi.

IP-адрес Pi можно найти через список подключённых клиентов на вашем маршрутизаторе или открыв cmd.exe на компьютере и выполнив команду

Также IP можно найти с помощью приложения Adafruit Pi Finder

Если Вы изменили имя хоста в расширенных настройках при записи образа на USB/SD-карту, попробуйте выполнить ping этого имени хоста: ping ИМЯХОСТА -4

В веб-браузере введите http://ИМЯХОСТА или IP-адрес вашего принтера

Игнорируйте ошибку Klippy

Перейдите на вкладку «Машина» слева.

Выберите «Обновить», чтобы обновить образ RPI, и «Обновить», чтобы установить обновления для Klipper, Mainsail и Moonraker. После завершения обновления перезагрузите RPI

Шаг 8

После обновления Mainsail и всех основных компонентов подключитесь к RPI по SSH.

Установите перемычку между BT0 и 3,3 В и нажмите кнопку сброса на плате, чтобы переключить её в режим DFU

Отправьте следующую команду, чтобы проверить связь между Pi и Spider, и запишите ID режима DFU

lsusb

Далее необходимо собрать бинарный файл прошивки. Выполните следующее

cd ~/klipper

make clean

make menuconfig

Шаг 9

В меню выберите следующие параметры:

Выберите «Включить дополнительные низкоуровневые параметры конфигурации».

Установите архитектуру микроконтроллера: STMicroelectronics STM32.

Модель процессора: STM32F446.

Поскольку мы уже загрузили hex-файл на предыдущем шаге, установите смещение загрузчика: без загрузчика.

Установите опорную частоту: 12 МГц от кварца.

Выберите интерфейс связи: USB (на PA11/PA12).

Нажмите клавишу Esc на клавиатуре и введите Y, чтобы сохранить конфигурацию.

Шаг 10

Выполните следующие команды:

make

make flash FLASH_DEVICE=####:####

Используйте записанный ранее ID вместо ####:####

Отключите питание Spider. Снимите перемычку и нажмите кнопку сброса на плате.

Выполните следующую команду

ls /dev/serial/by-id/* или lsusb

Этот ID нужно указать в файле printer.cfg

Шаг 11

Подключитесь по SSH к RPI

Введите следующие команды

cd ~/klipper/

sudo cp "./scripts/klipper-mcu-start.sh" /etc/init.d/klipper_mcu

sudo update-rc.d klipper_mcu defaults

make clean

make menuconfig

Архитектура микроконтроллера > Процесс Linux. Нажмите Esc, затем Y

Шаг 12

Выполните следующее:

sudo service klipper stop

make

make flash

sudo service klipper start

Убедитесь, что klipper_host_mcu находится в каталоге tmp — выполните ls /tmp/*

Добавьте пользователя pi в группу TTY

sudo usermod -a -G tty pi

Шаг 13

В веб-браузере появится ошибка Klippy-State, так как printer.cfg ещё не загружен.

Перейдите на вкладку Machine

Загрузите printer.cfg, macros.cfg и moonraker.conf с моего GitHub.

Обязательно обновите строку printer.cfg, указав серийный идентификатор вашего устройства

serial: /dev/serial/by-id/usb-Klipper********************

Шаг 14

Отключите питание Pi и платы. Затем установите драйверы шаговых двигателей и подключите все провода. Убедитесь, что подключён разъём для питания шаговых двигателей. Если у вас отсутствует перемычка или разъём 48 В, в зависимости от конфигурации, при подаче 24 В на плату вы можете повредить драйверы шаговых двигателей.

Снимите перемычку с BT0 и 3.3 В

Включите питание Pi и платы Spider. Если вы используете 48 В для драйверов шаговых двигателей, убедитесь, что блок питания 48 В включается одновременно с блоком питания 24 В

Должны загореться 3 светодиода напряжения

А также, вероятно, будет гореть FAN0

По какой-то причине FAN0 не отключался, пока я не нагрел сопло до 50 °C и не выключил его. После того как нагревательный узел остыл ниже 40 °C, вентилятор выключился

Шаг 15

Скачайте файл и извлеките его содержимое.

В меню «machine» нажмите на значок шестерёнки и установите флажок «показывать скрытые файлы».

Выберите «Создать каталог».

В поле имени введите «.theme» и нажмите СОЗДАТЬ.

Имя должно точно соответствовать тому, что показано на скриншоте.

Выберите вновь созданный каталог «.theme». Загрузите все файлы из архива zip в папку .theme.

Нажмите Ctrl+F5 и наслаждайтесь.

Заключение

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

Перевод руководства с ifixit.com