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

Настройка сети 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...