Перейти к основному содержанию

Руководство по подключению MCU

Применимость

Данное руководство предназначено для диагностики и устранения проблем, связанных с невозможностью подключения MCU к Klipper.

Подготовка и меры предосторожности

  • Не рекомендуемые устройства для верхнего компьютера: Избегайте использования Redmi телефонов, Wi-Fi адаптеров, приставок и подобных устройств. Они часто используют кастомные или модифицированные системы, что может привести к неправильному распознаванию MCU.
  • Определите количество нижних компьютеров: Заранее уточните количество используемых нижних компьютеров (например, плат инструментов). Несколько нижних компьютеров могут повлиять на подключение.
  • Упростите подключение: Рекомендуется временно отключить все провода от материнской платы и платы инструментов, кроме кабеля данных, оставив только необходимое соединение для устранения помех.
  • Рекомендуемый интерфейс: Рекомендуется использовать интерфейс Fluidd, так как он более наглядно отображает статус подключения MCU.

Шаг 1: Резервное копирование и сброс конфигурации

1. Доступ к интерфейсу верхнего компьютера

Введите IP-адрес верхнего компьютера в браузере для доступа.

Loading...

2. Найдите файл конфигурации

Перейдите в WEB-интерфейс и найдите в боковой панели пункт конфигурации:

Для Fluidd: Нажмите ..., затем найдите printer.cfg.

Loading...

Для Mainsail: Нажмите Машина, затем найдите printer.cfg.

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. Эта операция выполняется по сети.

Порядок действий

  1. Выполните обнаружение устройств

    • После успешного подключения по SSH выполните следующую команду:
      lsusb
    • Система выведет список всех распознанных USB-устройств.
  2. Обработка аномалий команды

    • Если команда lsusb не найдена, сначала установите:
      sudo apt-get install usbutils
    • Если после выполнения не отображается ни одно устройство, рекомендуется заменить верхний компьютер.
  3. Идентификация информации об устройстве Согласно приведенной ниже схеме, определите ваше устройство в выводе команды lsusb:

    Loading...
    Loading...
  4. Проверка типа прошивки

    • В зависимости от прошивки, проверьте в выводе lsusb следующую ключевую информацию:
      • USB прошивка: Должно отображаться 1d50:614e
      • USB-мостовая CAN прошивка: Должно отображаться 1d50:606f
      • USB Katapult прошивка: Должно отображаться 1d50:6177
      • Адаптер RS232 (с UTOR или материнскими платами D8 и D8PRO): Должно отображаться 1a86:7523 (с G2T этот шаг не требуется)

Шаг 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:

~/klippy-env/bin/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.
  • Не распознано: В примере ID ниже после поля usb- отображается 1a86_USB_Serial. Это означает, что устройство является чипом последовательного интерфейса CH340, а не MCU с прошивкой Klipper/Katapult. Сначала необходимо установить соответствующую прошивку.
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
  • Нормальная ситуация показана ниже.
Loading...

Результаты поиска CAN ID

После выполнения команды оцените результат по возвращенным данным терминала:

  • Готово к использованию: В конце отображаемого ID поле Application: помечено как Klipper.
  • Требуется перепрошивка: В конце отображаемого ID поле Application: помечено как CANBOOT или Katapult.
  • Устройство не найдено: Если отображается Total 0 uuids found, возможные причины включают:
    • Ошибка конфигурации CAN-сети.
    • Несоответствие скорости CAN (убедитесь, что скорости верхнего компьютера, материнской платы и платы инструментов совпадают).
    • ID уже занят (необходимо заблокировать его в конфигурации, затем выключить питание и перезагрузить).
Loading...

Результаты поиска RS232 ID

После выполнения команды терминал отобразит путь RS232-устройства (пример):

  • Пример пути: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
Особые требования к конфигурации RS232

При настройке RS232 устройств обязательно укажите скорость передачи и метод перезапуска:

[mcu toolboard]
serial: <здесь укажите найденный путь к RS232 устройству>
baud: 250000
restart_method: command

Шаг 4: Настройка ID основного MCU

Подготовка

Перед началом настройки убедитесь, что плата инструментов отключена от верхнего компьютера или материнской платы, чтобы избежать конфликта при распознавании устройств.

Снова откройте файл printer.cfg, найдите в разделе [mcu] строку конфигурации serial: /tmp/klipper_host_mcu.

В зависимости от вашего способа подключения, выполните настройку по соответствующему методу ниже:

Замените /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

Сохраните конфигурацию и перезапустите сервис Klipper.


Шаг 5: Проверка подключения основного MCU

После завершения настройки основного MCU необходимо проверить успешность подключения:

  1. Откройте интерфейс Fluidd, нажмите System в левом меню.
  2. Просмотрите информацию о MCU: В разделе Mcu Information найдите информацию Micro-Controller.
  3. Сверьте модель контроллера: Убедитесь, что отображаемая модель соответствует фактической модели контроллера вашей материнской платы.
Ключевые моменты проверки
  • Если ваш контроллер - STM32H723, то Micro-Controller должен отображаться как модель, связанная с H723.
  • Если отображается неправильно или не распознается, проверьте предыдущие шаги настройки.
Loading...

Шаг 6: Добавление MCU платы инструментов

После успешной проверки основного MCU можно добавить плату инструментов:

  1. Подключите плату инструментов заново: Подключите кабель данных платы инструментов обратно к верхнему компьютеру или материнской плате.
  2. Отредактируйте файл конфигурации: Добавьте конфигурацию платы инструментов в самом низу файла printer.cfg.
  3. Настройте ID платы инструментов: В зависимости от типа прошивки платы инструментов, добавьте соответствующий ID в новый раздел конфигурации.
Пояснение именования MCU

Имена mcu1, mcu2 и т.д. в конфигурации используются только для временного различения устройств. Вы можете полностью настроить эти имена, просто убедитесь, что они уникальны в файле конфигурации.

Формат конфигурации:

[mcu mcu1]
# Здесь укажите ID платы инструментов

Примеры конфигурации:

[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

Примечания:

  • Каждый MCU должен иметь уникальный ID. Убедитесь, что ID платы инструментов отличается от основного MCU и других устройств.
  • Имена MCU можно полностью настроить (например, toolboard, extruder_mcu и т.д.), просто обеспечьте уникальность в конфигурации.
  • Обязательно используйте ID платы инструментов, проверенный на предыдущих шагах.
  • Для RS232 устройств необходимо указать параметры baud: 250000 и restart_method: command.
  • При настройке нескольких плат инструментов установите разные имена для каждого устройства, чтобы их можно было различать.

Назначение выводов на разных платах для нескольких плат инструментов

При использовании нескольких плат инструментов может возникнуть необходимость в распределении выводов между платами. Например, функция нагрева использует порт нагрева первой платы инструментов, но датчик температуры подключен к материнской плате или второй плате инструментов.

Основной принцип

В конфигурации Klipper с несколькими MCU выводы любого раздела конфигурации могут напрямую ссылаться на выводы любого определенного MCU с помощью формата <имя_mcu>:<номер_вывода>, не требуя дополнительной настройки. Klipper автоматически отправляет команды на соответствующий MCU через шину связи (CAN/USB/Serial).

Типичный сценарий: нагрев на плате инструментов, датчик температуры на материнской плате

Предположим, конфигурация системы следующая:

  • Основной MCU: Запускает прошивку Klipper на верхнем компьютере, датчик температуры подключен к материнской плате.
  • toolboard1: Плата инструментов, к которой подключены нагреватель и шаговый двигатель экструдера.

Шаг 1: Определите все MCU

[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00

[mcu toolboard1]
canbus_uuid: e51d5c71a901

Шаг 2: Напрямую ссылайтесь на выводы разных плат в конфигурации

[extruder]
# Шаговый двигатель и нагрев используют выводы платы инструментов
step_pin: toolboard1:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin> # Нагреватель на toolboard1
# Датчик температуры использует вывод материнской платы (укажите gpio или mcu:gpio)
sensor_type: ATC Semitec 104GT-2
sensor_pin: <sensor_pin> # Датчик температуры подключен к материнской плате
# Остальные параметры
rotation_distance: 22.44
gear_ratio: 50:17
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.75
min_temp: -235
max_temp: 350
max_power: 1.0
min_extrude_temp: 170
control: watermark
Правила именования выводов
  • Выводы платы инструментов: Формат <имя_mcu>:<номер_вывода>, например toolboard1:<heater_pin>.
  • Выводы основного MCU: Можно указывать фактическое имя вывода напрямую.
  • Выводы в одном разделе конфигурации могут принадлежать разным MCU. Klipper автоматически обрабатывает межплатное взаимодействие.

Дополнительные примеры межплатной конфигурации

Нагреватель на первой плате инструментов, датчик температуры на второй плате инструментов:

[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin> # Нагрев на первой плате инструментов
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:<sensor_pin> # Датчик температуры на второй плате инструментов
# ... остальные параметры экструдера
Примечания
  • При ссылке на выводы разных плат убедитесь, что соответствующий MCU правильно определен в файле конфигурации с помощью [mcu <имя>].
  • Рекомендуется подключать функционально связанные устройства (например, нагреватель и датчик температуры) к одной плате инструментов для достижения наилучшей скорости отклика и надежности.

После завершения настройки сохраните конфигурацию и перезапустите сервис Klipper.


Шаг 7: Проверка подключения всех MCU

После добавления платы инструментов и перезапуска Klipper необходимо повторно проверить состояние подключения всех MCU:

  1. Откройте интерфейс Fluidd, нажмите System в левом меню.
  2. Просмотрите информацию о MCU: В разделе Mcu Information убедитесь, что все MCU распознаны правильно.
  3. Проверьте состояние каждого MCU: Убедитесь, что основной MCU и плата инструментов отображаются как подключенные.
Ключевые моменты проверки
  • Основной MCU и все платы инструментов должны отображаться в списке.
  • Состояние подключения каждого MCU должно быть "Подключено".
  • Если какой-либо MCU не отображается или подключение не удалось, проверьте его конфигурацию и физическое соединение.
Loading...

Шаг 8: Проверка версии прошивки

После завершения подключения всех MCU необходимо проверить совместимость версий прошивки:

  1. Откройте интерфейс Fluidd, нажмите System в левом меню.
  2. Просмотрите информацию о версии: В разделе Mcu Information найдите поле Version.
  3. Проверьте соответствие версий: Убедитесь, что версия прошивки всех MCU соответствует версии Klipper на верхнем компьютере.
Пояснение о совместимости версий
  • Самостоятельно скомпилированная прошивка: За исключением предварительно настроенных кастомных устройств, все самостоятельно скомпилированные прошивки должны соответствовать версии Klipper на верхнем компьютере.
  • Система Fly-FAST: Версия прошивки FAST-системы соответствует версии системы. Скомпилированная прошивка Klipper соответствует версии системы.
  • Последствия несоответствия версий: Версии прошивки могут привести к функциональным сбоям, ошибкам связи или нестабильности системы.

Ключевые моменты проверки:

  • Информация Version для основного MCU и всех плат инструментов должна отображаться, и версии должны совпадать.
  • Если версии не совпадают, необходимо перепрошить соответствующую прошивку.

Шаг 9: Восстановление и обновление файла конфигурации

После подтверждения нормального подключения всех MCU необходимо восстановить исходный файл конфигурации и обновить конфигурацию MCU:

  1. Удалите текущий файл конфигурации

    • В интерфейсе управления файлами конфигурации найдите и удалите текущий файл printer.cfg.
  2. Восстановите резервную копию конфигурации

    • Переименуйте ранее сохраненный файл printer_Backup.cfg в printer.cfg.
  3. Обновите конфигурацию 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
  4. Обновите конфигурацию платы инструментов (если применимо)

    • Найдите в файле конфигурации раздел [mcu], соответствующий плате инструментов.
    • В зависимости от способа подключения, обновите ID на фактически найденный ID платы инструментов:

    USB плата инструментов:

    [mcu toolboard]
    serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

    CAN плата инструментов:

    [mcu toolboard]
    canbus_uuid: 688e89f0e402

    RS232 плата инструментов:

    [mcu toolboard]
    serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
    baud: 250000
    restart_method: command
  5. Сохраните и перезагрузите

    • После завершения обновления конфигурации всех MCU нажмите SAVE & RESTART, чтобы сохранить и перезапустить Klipper.
    • Снова откройте страницу System и убедитесь, что состояние подключения всех MCU в норме.
Важное напоминание
  • Убедитесь, что используете правильные ID, фактически найденные в ходе тестирования подключения.
  • Если настроено несколько плат инструментов, обновите ID в каждом разделе [mcu] по одному.
  • RS232 плата инструментов должна содержать параметры baud: 250000 и restart_method: command.
  • После восстановления конфигурации исходные параметры принтера (например, настройки шаговых двигателей, концевых выключателей и т.д.) останутся без изменений.

На этом диагностика и устранение неисправностей подключения MCU, а также восстановление конфигурации полностью завершены.

Loading...