Руководство по подключению MCU
Данное руководство предназначено для диагностики и решения проблем, связанных с невозможностью нормального подключения MCU к Klipper.
Подготовка и важные замечания
- Не рекомендуется использовать следующие устройства в качестве хоста: Избегайте использования устройств, таких как смартфоны Redmi, WiFi-адаптеры, TV-приставки и т.п. Они часто используют кастомные или модифицированные системы, что может привести к некорректному распознаванию MCU.
- Подтвердите количество подчинённых устройств: Заранее определите количество используемых подчинённых устройств (например, плат инструментов), так как несколько устройств могут влиять на подключение.
- Упростите подключение: Рекомендуется временно отключить от основной платы и платы инструментов все провода, кроме кабеля передачи данных. Оставьте только необходимые соединения для передачи данных, чтобы исключить помехи.
- Рекомендуемый интерфейс управления: Рекомендуется использовать интерфейс Fluidd, так как он более наглядно отображает статус подключения MCU.
Шаг 1: Резервное копирование и сброс конфигурации
1. Доступ к интерфейсу хоста
Введите IP-адрес хоста в браузере (например: 192.168.101.179).
2. Найдите файл конфигурации
Войдите в WEB-интерфейс, найдите опцию конфигурации на левой боковой панели:
Пользователи Fluidd: Нажмите Loading... | Пользователи Mainsail: Нажмите Loading... |
3. Создайте резервную копию конфигурации
Щёлкните правой кнопкой мыши на файле printer.cfg, выберите Duplicate для копирования и переименуйте копию в:
printer_Backup.cfg
Пример для Fluidd: Loading... | Пример для Mainsail: Loading... |
4. Сбросьте конфигурацию
Снова откройте printer.cfg, удалите всё содержимое и вставьте следующую базовую конфигурацию:
[mcu]
serial: /tmp/klipper_host_mcu
[printer]
kinematics: none
max_velocity: 200
max_accel: 1000
5. Сохраните и перезагрузите
- Нажмите SAVE & RESTART в правом верхнем углу. Klipper сохранит конфигурацию и перезапустит службу.
- Если появится сообщение об ошибке, пока проигнорируйте его.
- Затем полностью отключите питание от всех устройств (включая хост и все подчинённые устройства).
- Важно: Необходимо обеспечить полное отключение питания, иначе последующие шаги будут невозможны.
Шаг 2: Обнаружение устройств и определение типа прошивки
Предварительные условия
- Порядок основных устройств: Первым
MCUдолжна быть основная плата, а не плата инструментов. - Тип прошивки: Убедитесь, что прошивка вашей платы FLY — это USB-прошивка или USB-мостовая CAN-прошивка. Данное руководство не применимо к другим типам.
- Способ подключения: Сначала подключитесь по SSH. Эта операция выполняется через сеть.
Порядок действий
-
Выполните обнаружение устройств
- После успешного подключения по SSH выполните команду:
lsusb
- Система выведет список всех распознанных USB-устройств.
- После успешного подключения по SSH выполните команду:
-
Устранение ошибок команды
- Если появится сообщение, что команда
lsusbне найдена, установите её:sudo apt-get install usbutils - Если после выполнения команды устройства не отображаются, рекомендуется сменить хост.
- Если появится сообщение, что команда
-
Идентификация информации об устройстве Согласно изображениям ниже, определите ваше устройство в выводе команды
lsusb:Loading...Loading... -
Проверка типа прошивки
- В соответствии с установленной прошивкой, проверьте в выводе
lsusbследующую ключевую информацию:- USB-прошивка: Должно отображаться
1d50:614e - USB-мостовая CAN-прошивка: Должно отображаться
1d50:606f - USB Katapult-прошивка: Должно отображаться
1d50:6177 - Адаптер RS232 (используется с UTOR или платами D8 и D8PRO): Должно отображаться
1a86:7523(для G2T этот шаг не требуется)
- USB-прошивка: Должно отображаться
- В соответствии с установленной прошивкой, проверьте в выводе
Шаг 3: Поиск идентификатора устройства
Важные замечания
- Поиск USB ID: Применим только для USB-прошивки, не работает для CAN или RS232.
- Поиск CAN ID: Применим только для устройств шины CAN, не работает для USB или RS232.
- Поиск RS232 ID: Применим только для RS232-прошивки, не работает для USB или CAN.
- Специфика RS232: RS232-прошивка обычно используется только для плат инструментов, не для основного MCU.
Выбор метода в зависимости от типа прошивки
Устройства с USB-прошивкой Выполните следующую команду для поиска USB ID устройства:
ls /dev/serial/by-id/*
Устройства с USB-мостовой CAN-прошивкой В зависимости от типа вашей системы, выберите соответствующую команду для поиска CAN ID:
- Обычный хост
- Система Fly_FAST
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
Устройства с RS232-прошивкой Выполните следующую команду для поиска пути к RS232-устройству:
ls /dev/serial/by-path/*
Интерпретация и обработка результатов
Результаты поиска USB ID
После выполнения команды терминал отобразит идентификатор устройства, похожий на пример ниже:
-
✅ Можно использовать напрямую: Если после поля
usb-в ID указаноKlipper -
⚠️ Требуется прошивка: Если после поля
usb-в ID указаноkatapultLoading...
Результаты поиска CAN ID
После выполнения команды оцените ситуацию:
- ✅ Можно использовать напрямую: Если отображаемый ID в конце в поле
Application:имеет значениеKlipper. - ⚠️ Требуется прошивка: Если отображаемый ID в конце в поле
Application:имеет значениеCANBOOTилиKatapult. - ❌ Устройство не найдено: Если отображается
Total 0 uuids found, возможные причины:- Ошибка конфигурации сети CAN
- Несоответствие скорости CAN (убедитесь, что скорость одинакова на хосте, основной плате и плате инструментов)
- Этот ID уже занят (нужно заблокировать его в конфигурации, затем выключить, отключить питание и перезагрузить)
Результаты поиска RS232 ID
После выполнения команды терминал отобразит путь к RS232-устройству (пример):
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
Для RS232-устройств в конфигурации обязательно необходимо указать скорость передачи данных (baud rate) и метод перезагрузки:
[mcu toolboard]
serial: <Здесь замените на найденный путь к RS232-устройству>
baud: 250000
restart_method: command
Шаг 4: Настройка ID основного MCU
Перед началом настройки убедитесь, что плата инструментов отключена от хоста или основной платы, чтобы избежать конфликтов при распознавании устройств.
Снова откройте файл printer.cfg, найдите строку конфигурации serial: /tmp/klipper_host_mcu в разделе [mcu].
В зависимости от вашего способа подключения, выполните настройку, следуя соответствующему методу ниже:
- Настройка USB-подключения
- Настройка CAN-подключения
Замените /tmp/klipper_host_mcu после serial: на найденный USB ID.
Пример конфигурации:
# Найденный USB ID:
# /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
# Измените конфигурацию на:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
Замените параметр конфигурации serial: /tmp/klipper_host_mcu на canbus_uuid: и введите найденный CAN ID.
Пример конфигурации:
# Найденный CAN ID:
# 688e89f0e401
# Измените конфигурацию на:
[mcu]
canbus_uuid: 688e89f0e401
Сохраните конфигурацию и перезапустите службу Klipper.
Шаг 5: Проверка подключения основного MCU
После настройки основного MCU необходимо проверить успешность подключения:
- Откройте интерфейс Fluidd, нажмите
Systemв левом меню. - Просмотрите информацию о MCU: Найдите информацию
Micro-ControllerподMcu Information. - Сверьте модель контроллера: Убедитесь, что отображаемая модель соответствует фактической модели контроллера вашей основной платы.
- Если ваш контроллер — STM32H723, то в
Micro-Controllerдолжна отображаться модель, связанная с H723. - Если отображается некорректно или не распознаётся, проверьте предыдущие шаги настройки.
Шаг 6: Добавление MCU платы инструментов
После успешной проверки основного MCU можно добавить плату инструментов:
- Снова подключите плату инструментов: Подключите кабель передачи данных платы инструментов к хосту или основной плате.
- Отредактируйте файл конфигурации: Добавьте конфигурацию для платы инструментов в самый конец файла
printer.cfg. - Настройте ID платы инструментов: В новом разделе конфигурации добавьте соответствующий ID в зависимости от типа прошивки платы инструментов.
Имена mcu1, mcu2 и т.д. в конфигурации используются только для временного различения устройств. Вы можете полностью настроить эти имена по своему усмотрению, главное — обеспечить их уникальность в файле конфигурации.
Формат конфигурации:
[mcu mcu1]
# Добавьте здесь конфигурацию ID для платы инструментов
Примеры конфигурации:
- USB-плата инструментов
- CAN-плата инструментов
- RS232-плата инструментов
[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
[mcu mcu1]
canbus_uuid: 688e89f0e402
[mcu mcu1]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command
Важные замечания:
- Каждый MCU должен иметь уникальный ID. Убедитесь, что ID платы инструментов отличается от ID основного MCU и других устройств.
- Имена MCU можно полностью настраивать (например,
toolboard,extruder_mcuи т.д.), главное — обеспечить их уникальность в конфигурации. - Обязательно используйте проверенный ранее действительный ID платы инструментов.
- Для RS232-устройств обязательно необходимо настроить параметры
baud: 250000иrestart_method: command. - При настройке нескольких плат инструментов задавайте каждому устройству разные имена для удобства различения.
После завершения конфигурации сохраните и перезапустите службу Klipper.
Шаг 7: Проверка подключения всех MCU
После добавления платы инструментов и перезапуска Klipper необходимо повторно проверить статус подключения всех MCU:
- Откройте интерфейс Fluidd, нажмите
Systemв левом меню. - Просмотрите информацию о MCU: Под
Mcu Informationубедитесь, что все MCU корректно распознаны. - Проверьте статус каждого MCU: Убедитесь, что основной MCU и плата инструментов отображаются в статусе подключения.
- Основной MCU и все платы инструментов должны отображаться в списке.
- Статус подключения каждого MCU должен быть "подключено".
- Если какой-либо MCU не отображается или подключение не удалось, проверьте его конфигурацию и физическое подключение.
Шаг 8: Проверка версии прошивки
После подключения всех MCU необходимо проверить совме