Конфигурация 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 прошивки Klipper:
usb-Klipper_stm32h723xx_12345-if00 - Пример ID режима загрузчика:
usb-katapult_stm32h723xx_12345-if00(содержитkatapult) - Пример ID режима загрузчика:
usb-STM32_Bootloader_xxxxxxxxxxxx(содержитBootloader)
В конфигурационном файле необходимо использовать ID режима прошивки Klipper. Если виден только ID режима загрузчика, это означает, что инструментальная плата не перешла в режим работы с прошивкой Klipper.
CAN-устройства
- SSH командная строка
- FlyOS-FAST / FLY上位机
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Пример вывода:
Found canbus_uuid=688e89f0e402, Application: Klipper
На FAST или FLY上位机 просто используйте python3 для поиска:
python3 ~/klipper/scripts/canbus_query.py can0
В системе FAST интерфейс CAN0 предварительно настроен на скорость 1M и кэш 1024, обычно ручная настройка не требуется.
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 |
| Устройство RS232 | serial: | serial: /dev/serial/by-path/xxxxxxxxxxxx |
| MCU хост-компьютера | serial: | serial: /tmp/klipper_host_mcu |
Правила заполнения:
- Основная плата по умолчанию использует
[mcu], а инструментальная или расширительная плата использует пользовательские имена, такие как[mcu tool],[mcu toolboard]. - Для USB прошивки заполняется только
serial:, для CAN прошивки — толькоcanbus_uuid:, не оставляйте оба элемента одновременно в одном[mcu]. - В машинах с несколькими MCU каждый
[mcu xxx]должен использовать свой реальный идентификатор, не копируйте один и тот же USB ID или CAN UUID. - Имя
[mcu xxx]влияет на префикс выводов, например, для[mcu tool]вывод должен быть записан какtool:gpio13; регистр имени должен быть согласован. xxxxxxxxв примерах документации нельзя использовать напрямую, его необходимо заменить на фактический найденный идентификатор.- Для устройств 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 | Ошибки конфигурации |