Руководство по подключению MCU
Данное руководство предназначено для диагностики и устранения проблем, связанных с невозможностью подключения MCU к Klipper.
Подготовка и меры предосторожности
- Не рекомендуемые устройства для верхнего компьютера: Избегайте использования Redmi телефонов, Wi-Fi адаптеров, приставок и подобных устройств. Они часто используют кастомные или модифицированные системы, что может привести к неправильному распознаванию MCU.
- Определите количество нижних компьютеров: Заранее уточните количество используемых нижних компьютеров (например, плат инструментов). Несколько нижних компьютеров могут повлиять на подключение.
- Упростите подключение: Рекомендуется временно отключить все провода от материнской платы и платы инструментов, кроме кабеля данных, оставив только необходимое соединение для устранения помех.
- Рекомендуемый интерфейс: Рекомендуется использовать интерфейс Fluidd, так как он более наглядно отображает статус подключения MCU.
Шаг 1: Резервное копирование и сброс конфигурации
1. Доступ к интерфейсу верхнего компьютера
Введите IP-адрес верхнего компьютера в браузере для доступа.
2. Найдите файл конфигурации
Перейдите в WEB-интерфейс и найдите в боковой панели пункт конфигурации:
Для 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. - Не распознано: В примере ID ниже после поля
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, найдите в разделе [mcu] строку конфигурации serial: /tmp/klipper_host_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: В разделе
Mcu Informationнайдите информациюMicro-Controller. - Сверьте модель контроллера: Убедитесь, что отображаемая модель соответствует фактической модели контроллера вашей материнской платы.
- Если ваш контроллер - 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 платы инструментов отличается от основного 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> # Датчик температуры на второй плате инструментов
# ... остальные параметры экструдера
Два экструдера подключены к разным платам инструментов:
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_pin: toolboard1:<sensor_pin>
# ... параметры первого экструдера
[extruder1]
step_pin: toolboard2:<step_pin>
heater_pin: toolboard2:<heater_pin>
sensor_pin: toolboard2:<sensor_pin>
# ... параметры второго экструдера
Экструдер на плате инструментов, вентилятор модели на материнской плате:
[fan]
pin: <fan_pin> # Вентилятор модели на материнской плате
# Вывод основного MCU можно указать напрямую
[heater_fan 喉管散热]
pin: toolboard1:<fan_pin> # Вентилятор хотэнда на плате инструментов
heater: extruder
heater_temp: 50
fan_speed: 1.0
- При ссылке на выводы разных плат убедитесь, что соответствующий MCU правильно определен в файле конфигурации с помощью
[mcu <имя>]. - Рекомендуется подключать функционально связанные устройства (например, нагреватель и датчик температуры) к одной плате инструментов для достижения наилучшей скорости отклика и надежности.
После завершения настройки сохраните конфигурацию и перезапустите сервис Klipper.
Шаг 7: Проверка подключения всех MCU
После добавления платы инструментов и перезапуска Klipper необходимо повторно проверить состояние подключения всех MCU:
- Откройте интерфейс Fluidd, нажмите
Systemв левом меню. - Просмотрите информацию о MCU: В разделе
Mcu Informationубедитесь, что все MCU распознаны правильно. - Проверьте состояние каждого MCU: Убедитесь, что основной MCU и плата инструментов отображаются как подключенные.
- Основной MCU и все платы инструментов должны отображаться в списке.
- Состояние подключения каждого MCU должно быть "Подключено".
- Если какой-либо MCU не отображается или подключение не удалось, проверьте его конфигурацию и физическое соединение.
Шаг 8: Проверка версии прошивки
После завершения подключения всех MCU необходимо проверить совместимость версий прошивки:
- Откройте интерфейс Fluidd, нажмите
Systemв левом меню. - Просмотрите информацию о версии: В разделе
Mcu Informationнайдите полеVersion. - Проверьте соответствие версий: Убедитесь, что версия прошивки всех 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 на фактически найденный 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, а также восстановление конфигурации полностью завершены.