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

Конфигурация ID MCU

Эта страница предназначена для централизованного описания правил заполнения ID для плат, инструментальных плат, CAN-устройств и MCU上位机 в Klipper. При настройке и решении проблем с подключением сначала определите способ связи, затем заполните соответствующий serial: или canbus_uuid:.

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

Поиск ID MCU

Перед заполнением ID необходимо войти на上位机 по SSH и выполнить соответствующие команды для получения фактических идентификаторов устройств.

USB-устройства

ls /dev/serial/by-id/*

Пример вывода (ID вида usb-Klipper_... — это ID в режиме прошивки Klipper):

/dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
Различие между ID прошивки и ID загрузчика
  • Пример ID прошивки Klipper: usb-Klipper_stm32h723xx_12345-if00
  • Пример ID режима загрузчика: usb-katapult_stm32h723xx_12345-if00 (содержит katapult)
  • Пример ID режима загрузчика: usb-STM32_Bootloader_xxxxxxxxxxxx (содержит Bootloader)

В конфигурационном файле необходимо использовать ID режима прошивки Klipper. Если виден только ID режима загрузчика, это означает, что инструментальная плата не перешла в режим работы с прошивкой Klipper.

CAN-устройства

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

Пример вывода:

Found canbus_uuid=688e89f0e402, Application: Klipper
Несколько CAN UUID

UUID, для которых Application отображается как CANBOOT или Katapult, являются ID в режиме загрузчика и не могут использоваться напрямую в printer.cfg. Подробную диагностику см. в CAN-сеть и поиск ID.

MCU上位机

Если вы используете Linux-процесс上位机 для эмуляции MCU ([mcu host]), его последовательный порт фиксирован:

[mcu host]
serial: /tmp/klipper_host_mcu

RS232-устройства

ls -l /dev/serial/by-path/

Пример вывода:

/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0

Конфигурация инструментальной платы: Добавление MCU инструментальной платы и межплатная конфигурация

Пояснение по настройке ID MCU

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

Способ подключенияЭлемент конфигурацииПример
USB прошивкаserial:serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
CAN прошивкаcanbus_uuid:canbus_uuid: xxxxxxxxxxxx
Устройство RS232serial:serial: /dev/serial/by-path/xxxxxxxxxxxx
MCU хост-компьютераserial:serial: /tmp/klipper_host_mcu

Правила заполнения:

  1. Основная плата по умолчанию использует [mcu], а инструментальная или расширительная плата использует пользовательские имена, такие как [mcu tool], [mcu toolboard].
  2. Для USB прошивки заполняется только serial:, для CAN прошивки — только canbus_uuid:, не оставляйте оба элемента одновременно в одном [mcu].
  3. В машинах с несколькими MCU каждый [mcu xxx] должен использовать свой реальный идентификатор, не копируйте один и тот же USB ID или CAN UUID.
  4. Имя [mcu xxx] влияет на префикс выводов, например, для [mcu tool] вывод должен быть записан как tool:gpio13; регистр имени должен быть согласован.
  5. xxxxxxxx в примерах документации нельзя использовать напрямую, его необходимо заменить на фактический найденный идентификатор.
  6. Для устройств RS232, помимо serial:, обычно также необходимо указать baud: 250000 и restart_method: command; следуйте документации соответствующего продукта.

Частые ошибки:

  • Использование ID режима прошивки (например, ID, содержащий katapult, canboot) в качестве ID прошивки Klipper.
  • В USB прошивке указан canbus_uuid:, или в CAN прошивке остался старый serial:.
  • Устройство RS232 заполнено только путём, при этом пропущены необходимые baud: или restart_method:.
  • Инструментальная плата настроена как [mcu], что перекрывает конфигурацию MCU основной платы.
  • Префикс вывода не соответствует имени MCU, например, конфигурация [mcu toolboard], а вывод записан как tool:gpio13.

Запрос USB ID: Для USB прошивки выполните ls /dev/serial/by-id/* для получения идентификатора.

Запрос CAN ID: Поиск сети CAN и идентификатора

Запрос пути RS232: Выполните ls -l /dev/serial/by-path/ для получения стабильного пути к устройству.

Конфигурация инструментальной платы: Добавление MCU инструментальной платы и кросс-платная конфигурация

Примеры конфигурации с несколькими MCU

USB плата + CAN инструментальная плата

USB плата подключается через serial:, CAN инструментальная плата через canbus_uuid::

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx

[mcu tool]
canbus_uuid: xxxxxxxxxxxx

[temperature_sensor ToolBoard]
sensor_type: temperature_mcu
sensor_mcu: tool

USB плата + USB инструментальная плата

Обе подключаются через serial: и различаются по ID:

[mcu]
serial: /dev/serial/by-id/usb-Klipper_mainboard_xxxxxxxxxxxx

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

CAN плата + CAN инструментальная плата

Обе используют canbus_uuid:, каждый UUID должен быть уникальным:

[mcu]
canbus_uuid: aabbccddeeff

[mcu toolboard]
canbus_uuid: 112233445566

MCU上位机 + USB плата

上位机 запускает Linux-процесс MCU, плата подключается через USB:

[mcu host]
serial: /tmp/klipper_host_mcu

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx

Частые ошибки

Ошибочное действиеПравильное действие
Использование ID режима загрузчика как ID KlipperУбедитесь, что устройство перешло в прошивку Klipper, затем запрашивайте ID
Одновременное заполнение serial: и canbus_uuid: для USB прошивкиUSB прошивка — только serial:, CAN прошивка — только canbus_uuid:
Инструментальная плата указана как [mcu], переопределяя конфигурацию платыДля инструментальной платы используйте имя вида [mcu toolboard]
Несколько MCU используют один и тот же IDКаждый MCU должен иметь свой уникальный ID
Префикс пина не совпадает с именем MCUДля [mcu toolboard] пины пишутся как toolboard:PA0, имя чувствительно к регистру
Документальные xxxxxxxx используются напрямуюНеобходимо заменить на фактически найденный реальный ID

Точки входа для диагностики

Признак проблемыТочка входа для диагностики
USB ID не найден или ошибка [Errno 2]Обзор типичных ошибок
CAN UUID недействителен или устройство не в сетиCAN-сеть и поиск ID
Несколько MCU отключаются, конфигурация не обновляетсяОшибки системы, производительности и служб
Добавление инструментальной платы, межплатная настройка пиновДобавление MCU инструментальной платы и межплатная конфигурация
Префикс пина, повторяющиеся пины или ошибка имени MCUОшибки конфигурации
Loading...