Руководство по подключению MCU
Данное руководство предназначено для диагностики и решения проблем с подключением MCU к Klipper.
Подготовка и важные замечания
- Не рекомендуемые устройства для хоста: Избегайте использования Redmi телефонов, WiFi-стиков, ТВ-приставок и подобных устройств. Они обычно используют кастомные или модифицированные системы, что может привести к некорректному распознаванию MCU.
- Определение количества подчиненных устройств: Заранее уточните количество используемых подчиненных устройств (например, инструментальных плат). Несколько устройств могут повлиять на подключение.
- Упрощение проводки: Рекомендуется временно отключить все провода, кроме линий данных, от материнской платы и инструментальной платы, оставив только необходимое подключение данных для исключения помех.
- Рекомендуемый интерфейс: Рекомендуется использовать интерфейс Fluidd, так как он более наглядно отображает состояние подключения MCU.
Шаг 1: Резервное копирование и сброс конфигурации
1. Доступ к интерфейсу хоста
Введите IP-адрес хоста в браузере (например, 192.168.101.179).
2. Поиск файла конфигурации
В веб-интерфейсе найдите опцию конфигурации в левой боковой панели:
Пользователи 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: Поиск ID устройства
Важные замечания
- Поиск 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
После выполнения команды терминал покажет ID устройства, похожий на этот (пример):
-
✅ Можно использовать сразу: Если ID после поля
usb-помечен какKlipper -
⚠️ Требуется перепрошивка: Если ID после поля
usb-помечен как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 обязательно укажите скорость передачи данных и метод перезапуска:
[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 корректно распознаны в разделе
Mcu Information - Проверьте состояние каждого MCU: убедитесь, что основной MCU и инструментальная плата отображаются как подключенные
- Основной MCU и все инструментальные платы должны отображаться в списке
- Состояние подключения каждого MCU должно быть "подключено"
- Если какой-либо MCU не отображается или подключение не удалось, проверьте его конфигурацию и физическое подключение
Шаг 8: Проверка версии прошивки
После подключения всех MCU необходимо проверить совместимость версий прошивки:
- Откройте интерфейс Fluidd, нажмите
Systemв левом меню - Просмотрите информацию о версии: найдите поле
Versionв разделеMcu Information - Проверьте соответствие версий: убедитесь, что версии прошивки всех MCU соответствуют версии Klipper на хосте
- Пользовательские скомпилированные прошивки: За исключением предварительно настроенных устройств, все самостоятельно скомпилированные прошивки должны соответствовать версии Klipper на хосте.
- Система Fly-FAST: Версия прошивки FAST системы соответствует версии системы, скомпилированная прошивка Klipper соответствует версии системы.
- Последствия несовпадения версий: Прошивки разных версий могут привести к аномалиям в работе, сбоям связи или нестабильности системы.
Ключевые моменты проверки:
- Информация
Versionосновного MCU и всех инструментальных плат должна отображаться, и версии должны быть одинаковыми. - Если версии не совпадают, необходимо перепрошить соответствующую прошивку.
Шаг 9: Восстановление и обновление файла конфигурации
После подтверждения нормального подключения всех MCU необходимо восстановить исходный файл конфигурации и обновить конфигурацию MCU:
-
Удалите текущий файл конфигурации
- В интерфейсе управления конфигурациями найдите и удалите текущий файл
printer.cfg
- В интерфейсе управления конфигурациями найдите и удалите текущий файл
-
Восстановите резервную конфигурацию
- Переименуйте ранее сохраненный файл
printer_Backup.cfgвprinter.cfg
- Переименуйте ранее сохраненный файл
-
Обновите конфигурацию MCU
- Откройте восстановленный файл
printer.cfg - Найдите существующий раздел
[mcu]и обновите его в соответствии с ID, полученным на предыдущих шагах:
Конфигурация USB подключения:
[mcu]serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00# Замените на фактический USB ID основного MCU, полученный при поискеКонфигурация CAN подключения:
[mcu]canbus_uuid: 688e89f0e401# Замените на фактический CAN UUID основного MCU, полученный при поиске - Откройте восстановленный файл
-
Обновите конфигурацию инструментальной платы (если применимо)
- Найдите в файле конфигурации раздел
[mcu], соответствующий инструментальной плате - В зависимости от способа подключения обновите его на фактический ID инструментальной платы, полученный при поиске:
USB инструментальная плата:
[mcu toolboard]serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00CAN инструментальная плата:
[mcu toolboard]canbus_uuid: 688e89f0e402RS232 инструментальная плата:
[mcu toolboard]serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0baud: 250000restart_method: command - Найдите в файле конфигурации раздел
-
Сохраните и перезагрузите
- После завершения обновления конфигурации всех MCU нажмите SAVE & RESTART для сохранения и перезапуска Klipper
- Снова войдите на страницу
Systemи убедитесь, что состояние подключения всех MCU в норме
- Убедитесь, что используете правильные ID, полученные в ходе текущего теста подключения.
- Если настроено несколько инструментальных плат, обновите ID в каждом разделе
[mcu]по отдельности. - Инструментальная плата RS232 должна содержать параметры
baud: 250000иrestart_method: command. - После восстановления конфигурации исходные параметры принтера (например, настройки шаговых двигателей, концевых выключателей и т.д.) останутся без изменений.
На этом диагностика неисправностей подключения MCU и восстановление конфигурации завершены.