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

Настройка сети CAN и поиск ID

Важные замечания перед использованием

  1. Подключите UTOR или материнскую плату с прошитым CAN-мостом к верхнему компьютеру через USB.
  2. Пожалуйста, войдите в интерфейс верхнего компьютера через сеть, не используйте последовательный порт.
  3. Если используется система FlyOS-FAST, настройка CAN не требуется (система предварительно настроена на скорость 1M и буфер 1024).

Проверка поддержки CAN верхним компьютером

Если используется верхний компьютер FLY, этот шаг можно пропустить.

Выполните следующую команду для проверки поддержки CAN ядром:

sudo modprobe can && echo "Ядро поддерживает CAN" || echo "Ядро не поддерживает CAN"

Если отображается "Ядро поддерживает CAN", можно продолжить настройку.

Настройка CAN0

⚠️ Эта операция перезапишет существующую конфигурацию CAN0, после завершения потребуется перезагрузка системы. Для системы FAST выполнять не нужно!

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

Обычная система Linux

Конфигурация скорости 1M:

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: Замените 1000000 на 500000 в указанной выше команде.

Наконец, перезагрузите устройство:

sudo reboot

Команды для поиска CAN ID

  • Команда поиска для обычного верхнего компьютера
    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • Команда поиска для верхнего компьютера FLY
    python3 ~/klipper/scripts/canbus_query.py can0
  • Если появляется ID и в конце Application: отображается Klipper, значит этот ID можно использовать напрямую.
  • Если появляется ID и в конце Application: отображается CANBOOT или Katapult, значит требуется прошивка для использования.
    Loading...

Сообщения об ошибках

  • Ниже приведены распространенные ошибки:
    • OSError: [Errno 19] No such device
    • can.CanError: Failed to transmit: [Errno 100] Network is down
    • can.CanError: Failed to transmit: [Errno 105] No buffer space available
  • Первая означает, что верхний компьютер не находит устройство CAN (материнскую плату с прошитым USB-мостом или UTOC).
  • Вторая означает, что верхний компьютер не настроил или неправильно настроил CAN0.
  • Третья означает недостаточный буфер верхнего компьютера или системные проблемы, приводящие к сбою буфера.
  • Вторую и третью точки можно решить, просмотрев настройку CAN0 и перенастроив ее.

Руководство по поиску ID платы инструментов и устранению неисправностей

1. Проверка и настройка скорости CAN

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

Действия:

  1. Запустите следующую команду в терминале хоста, чтобы просмотреть текущее состояние интерфейса CAN0:
    ip -details link show can0
  2. В выходной информации подтвердите два ключевых параметра:
    • bitrate: текущая скорость связи CAN (например, 1000000 означает 1 Мбит/с).
    • TxQueueLength: длина очереди отправки / размер буфера (например, 1024).

На рисунке ниже показан пример вывода команды, обратите особое внимание на соответствие параметра bitrate в красной рамке настройкам вашего устройства:

Loading...

2. Исключение занятости системного ID

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

Решение:

  1. Временно закомментируйте или удалите все разделы конфигурации, связанные с этой платой инструментов, в файле printer.cfg.
  2. После внесения изменений необходимо полностью выключить машину и отключить питание примерно на 10 секунд, а затем снова включить.

3. Проверка терминальных резисторов шины CAN

  • Для стабильной сети шины CAN на обоих физических концах линии должны быть установлены терминальные резисторы 120Ω.
  • Необходимо убедиться, что при отключенном питании сопротивление между CAN-H и CAN-L, измеренное мультиметром, составляет около 60Ω.

Метод проверки:

  1. Обязательно выполняйте операцию при полностью отключенном питании всей системы.
  2. Используя мультиметр в режиме измерения сопротивления, измерьте сопротивление между выводами CAN-H и CAN-L на разъеме CAN материнской платы или на плате инструментов.
  3. Правильное сопротивление шины должно составлять примерно 60Ω (результат параллельного соединения двух резисторов 120Ω). Если измеренное значение сильно отличается (например, обрыв или только 120Ω), это указывает на ошибку в подключении или конфигурации терминальных резисторов.

Правила конфигурации для различных устройств:

Тип устройстваТребования к терминальному резисторуИнструкции
Плата инструментов CANТребуется терминальный резистор 120ΩВключите с помощью перемычки или переключателя на плате.
Интерфейс CAN материнской платыТребуется терминальный резистор 120ΩВключите с помощью перемычки или переключателя на плате.
Модули преобразования типа UTOCВстроенный резистор 120ΩДополнительные терминальные резисторы включать не нужно.
Loading...