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

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

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

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

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

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

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

1. Доступ к интерфейсу верхнего уровня

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

Loading...

2. Поиск файла конфигурации

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

Пользователи 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- указано katapult

    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 и найдите строку конфигурации serial: /tmp/klipper_host_mcu в разделе [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: Найдите информацию Micro-Controller в разделе Mcu Information.
  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 платы инструмента отличается от ID основного MCU и других устройств.
  • Имена MCU могут быть полностью кастомизированы (например, toolboard, extruder_mcu и т.д.), просто убедитесь в их уникальности в конфигурации.
  • Обязательно используйте ID платы инструмента, проверенный на предыдущих шагах.
  • Для RS232-устройств необходимо указать параметры baud: 250000 и restart_method: command.
  • При настройке нескольких плат инструментов задайте разные имена для каждого устройства, чтобы их различать.

Конфигурация контактов при использовании нескольких плат инструментов

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

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

В много-MCU конфигурации Klipper контакты любого раздела конфигурации могут напрямую ссылаться на контакты любого определенного 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:gpio9
dir_pin: toolboard1:gpio10
enable_pin: !toolboard1:gpio7
heater_pin: toolboard1:gpio6 # Нагреватель на toolboard1
# Датчик температуры использует контакты материнской платы (прямое указание gpio или mcu:gpio)
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0 # Датчик температуры подключен к материнской плате
# Остальные параметры
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:gpio6
  • Контакты основного MCU: Можно указывать имя контакта напрямую (например, PA0)
  • Контакты в одном разделе конфигурации могут принадлежать разным MCU, Klipper автоматически обработает межплатное взаимодействие.

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

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

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

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


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

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

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

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

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

  1. Откройте интерфейс Fluidd и нажмите System в левом меню.
  2. Просмотрите информацию о версии: Найдите поле Version в разделе Mcu Information.
  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 платы инструмента:

    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...