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

Примечания по подключению прошивки CAN

Инструкция по подключению​

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

Шаг первый: Настройка DIP-переключателей​

  1. Сначала отключите питание: Отсоедините все источники питания.
  2. Найдите DIP-переключатели: Переверните плату инструмента. Найдите группу DIP-переключателей на обратной стороне.
  3. Установите в нужное положение: Для использования режима CAN. Необходимо перевести все переключатели в положение, показанное на примере ниже.
    Loading...

Важное замечание: После изменения DIP-переключателей необходимо повторно прошить соответствующую прошивку (в данном руководстве используется прошивка CAN).

Шаг второй: Подключение проводов​

  1. Не подавайте питание: Во время всего процесса подключения не подавайте питание.
  2. Подготовьте провода: Используйте четырёхжильный кабель XT30(2+2)-F. Цветовая маркировка следующая:
    • Красный (VCC): подключите к положительному полюсу питания 12В-24В
    • Чёрный (GND): подключите к отрицательному полюсу питания
    • Жёлтый (CAN-H): подключите к H CAN-расширения
    • Белый/зелёный (CAN-L): подключите к L CAN-расширения
  3. Подключение устройств:
    • Вставьте разъём XT30(2+2)-F кабеля в плату инструмента.
    • Подключите клеммы кабеля к модулю UTOC или к материнской плате с прошитой прошивкой "USB-мост CAN".
    • Наконец, подключите модуль UTOC или материнскую плату к вашему верхнему уровню (например, FLY Pi или Raspberry Pi) через USB-кабель.

Шаг третий: Настройка и проверка терминальных резисторов​

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

УстройствоОписание операции
Плата инструментаУстановите перемычку 120Ω или переведите DIP-переключатель 120Ω в положение ON.
Материнская платаПри подключении к материнской плате аналогично обработайте её терминальный резистор 120Ω (перемычка или DIP-переключатель).
Модуль UTOCВстроенный резистор*.

Как проверить:

  1. Убедитесь, что питание полностью отключено.
  2. С помощью мультиметра измерьте сопротивление между CAN-H и CAN-L на CAN-порту платы инструмента.
  3. Оценка результата:
    • Около 60Ω: норма, резисторы на обоих концах подключены правильно.
    • Около 140Ω: возможно, CAN-H и CAN-L перепутаны.
    • Около 120Ω: терминальный резистор 120Ω не подключён или обрыв линии.
    • Около 40Ω: возможно, имеются лишние резисторы. Проверьте промежуточные узлы.

Краткое резюме: сначала отключите питание. Установите DIP-переключатели. Правильно подключите провода. Затем подключите терминальные резисторы 120Ω на обоих концах (перемычка или DIP-переключатель). В конце измерьте сопротивление — оно должно быть около 60Ω.

Контрольный список:

  • Все операции выполнялись при отключённом питании
  • Все DIP-переключатели переведены вниз (режим CAN)
  • Терминальный резистор 120Ω платы инструмента подключён (перемычка или DIP-переключатель)
  • Терминальный резистор 120Ω материнской платы (если применимо) подключён (перемычка или DIP-переключатель)
  • Кабель данных CAN подключён надёжно
  • Измеренное значение сопротивления около 60Ω

Настройка сети CAN и устранение неисправностей​

Шаг 1: Проверка обнаружения CAN-устройства хост-компьютером​

  1. Войдите в хост-компьютер. Введите команду:
lsusb
  1. Оцените результат:
  • Виден 1d50:606f → Устройство обнаружено успешно
  • Выдается ошибка команда ls не найдена → Выполните: sudo apt-get install usbutils
  • Нет никакой реакции → Возможно проблема с системой, рекомендуется переустановить систему
  • Несколько 1d50:606f → Рекомендуется оставить только одно устройство (например, при использовании UTOC отключите другие устройства с прошивкой USB-мост CAN)

⚠️ Важно: Только при наличии 1d50:606f можно продолжить поиск CAN ID

Шаг 2: Настройка сети CAN​

Выбор метода настройки в зависимости от типа системы:​

Если сеть уже настроена или используется система FlyOS-FAST, этот шаг не требуется!

Метод настройки для обычной Linux​

Установка скорости 1М (рекомендуется):

sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 1000000
pre-up ip link set can0 txqueuelen 1024
EOF

Установка скорости 500K:

sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 500000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 500000
pre-up ip link set can0 txqueuelen 1024
EOF

Примечание: Для системы FAST эту операцию выполнять не нужно!

  1. Перезагрузите систему для применения изменений:
sudo reboot

Шаг 3: Поиск CAN ID​

Проверка состояния CAN:​

ip -details link show can0
  • Обведенная часть на рисунке ниже показывает скорость CAN и буфер хост-компьютера
  • 1024 сверху — текущий буфер can0
  • 1000000 снизу — текущая скорость can0
Loading...

Поиск устройства:​

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

В норме отобразится: Found canbus_uuid=xxxx...

Решение распространенных ошибок​

Сообщение об ошибкеПричинаСпособ решения
OSError: [Errno 19] No such deviceCAN-устройство не найдено1. Проверьте USB-подключение
2. Убедитесь в правильности прошивки
3. Выполните lsusb для проверки
can.CanError: Failed to transmit: [Errno 100] Network is downСеть CAN не настроена1. Выполните шаги настройки выше
2. Перезагрузите систему
can.CanError: Failed to transmit: [Errno 105] No buffer space availableНедостаточно буфера1. Убедитесь, что буфер CAN равен 1024
2. Перезагрузите систему

Шаги проверки, если CAN ID не найден​

Шаг 1: Базовая проверка​

  • Команда lsusb показывает 1d50:606f
  • CAN-устройство и плата инструмента включены
  • Кабель данных подключен надежно

Шаг 2: Проверка конфигурации​

  • Сеть CAN настроена правильно
  • Скорость CAN хост-компьютера соответствует скорости прошивки платы инструмента (по умолчанию 1М)
  • Система перезагружена

Шаг 3: Проверка оборудования​

  • На обоих концах шины CAN есть оконечные резисторы 120 Ом
  • Сопротивление между CAN-H и CAN-L, измеренное при выключенном питании, ≈60 Ом
  • Проверьте линию на наличие обрывов
  • CAN-H и CAN-L не перепутаны

Шаг 4: Обработка особых ситуаций​

  • Если ID занят Klipper:

    1. Закомментируйте соответствующую конфигурацию в Klipper
    2. Полностью обесточьте на 1 минуту
    3. Включите питание и выполните поиск заново
  • Измерение оконечного резистора:

    • ≈60 Ом: Нормально
    • ≈120 Ом: Резистор только на одном конце
    • ≈40 Ом: Резистор на трех концах
    • ≈140 Ом: Возможно, провода перепутаны

Порядок быстрой проверки​

  1. Сначала проверьте устройство: lsusb → Есть 1d50:606f?
  2. Затем проверьте конфигурацию: ip -details link show can0 → Скорость верна?
  3. В конце проверьте оборудование: Измерьте сопротивление при отключенном питании → Около 60 Ом?

Если после всех проверок проблема не решена: Попробуйте заменить кабель данных или устройство. Или обратитесь в службу технической поддержки.

Шаги обновления прошивки платы инструмента​

Шаг 1: Подготовка​

  1. Скомпилируйте новый файл прошивки в соответствии с инструкцией
  2. Остановите службу Klipper:
sudo systemctl stop klipper

Шаг 2: Получение ID платы инструмента​

Найдите CAN UUID соответствующей платы инструмента в конфигурационном файле Klipper (например: 241696050c56)

Шаг 3: Выполнение обновления прошивки​

Примечание о версиях

Выберите правильную команду в зависимости от версии вашей системы:

  • FlyOS-FAST версии 1.3.8 и выше или системы с обновленным Klipper после 9 апреля 2026:

    python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56
  • Старые версии системы (FAST до версии 1.3.8 или Klipper не обновлялся после 9 апреля 2026):

    python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56

Примечание: После -u должен быть пробел. Затем указывается CAN UUID вашей платы инструмента

Шаг 4: Проверка результата​

  • Появилось сообщение CAN Flash Success → Прошивка успешно загружена

  • Появилось другое сообщение об ошибке → Прошивка не загружена. Проверьте UUID и подключение.

    Loading...

Шаг 5: Перезапуск службы​

sudo systemctl start klipper

Обновление завершено!

Loading...