Руководство по подключению MCU
Данное руководство предназначено для диагностики и устранения проблем с подключением MCU к Klipper.
Подготовка и важные замечания
- Не рекомендуемые устройства для хоста: Избегайте использования Redmi-смартфонов, WiFi-палок, TV-приставок и подобных устройств. Они обычно используют кастомные или модифицированные системы, что может привести к некорректному распознаванию MCU.
- Определите количество подчинённых устройств: Заранее уточните количество используемых подчинённых устройств (например, инструментальных плат). Несколько таких устройств могут повлиять на подключение.
- Упростите проводку: Рекомендуется временно отключить все провода, кроме кабеля данных, на плате и инструментальной плате, оставив только необходимые соединения для исключения помех.
- Рекомендуемый интерфейс: Рекомендуется использовать Fluidd, так как он более наглядно отображает состояние подключения MCU.
Шаг 1: Резервное копирование и сброс конфигурации
1. Доступ к интерфейсу хоста
Введите IP-адрес хоста в браузере.
2. Найдите файл конфигурации
Перейдите в веб-интерфейс и найдите опцию конфигурации в левой боковой панели:
Пользователи Fluidd: нажмите ..., затем найдите printer.cfg.
Пользователи Mainsail: нажмите Машина, затем найдите printer.cfg.
3. Создайте резервную копию
Щелкните правой кнопкой мыши по файлу printer.cfg, выберите Duplicate для копирования и переименуйте копию в:
printer_Backup.cfg
Пример для Fluidd:
Пример для Mainsail:
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-прошивкой Выполните команду для поиска ID USB-устройства:
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 устройства, подобный приведённому (пример):
- Готово к использованию: Если после поля
usb-отображаетсяKlipper(например,usb-Klipper_stm32f407xx_...), это означает, что прошивка Klipper уже загружена - Требуется прошивка: Если после поля
usb-отображаетсяkatapult(например,usb-katapult_stm32f407xx_...), это означает, что устройство находится в режиме Bootloader и необходимо прошить Klipper - Не распознано: Если в примере ниже после поля
usb-отображается1a86_USB_Serial, это означает, что устройство является конвертером последовательного порта CH340, а не MCU с прошивкой Klipper/katapult; сначала необходимо прошить соответствующую прошивку
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
- Нормальный вид:
Результаты поиска 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 уже подключён успешно, и вам нужно добавить инструментальную плату, несколько MCU или настроить межплатные выводы, перейдите к: Добавление MCU инструментальной платы и межплатная конфигурация.
На этом диагностика подключения главного MCU завершена.