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

Сборник вопросов по CAN

Перед поиском устройства

  • Перед поиском CAN ID, сначала подключитесь по SSH
  • Обратите внимание, что вы должны войти в систему через сеть, а не через последовательный порт
  • Убедитесь, что вы подключили UTOC или установили прошивку CAN-моста на основную плату и что кабель, подключенный к хост-компьютеру, поддерживает передачу данных

Определение наличия устройства

  • После того, как вы успешно вошли в систему хост-компьютера, введите lsusb для поиска устройств. Возможны следующие ситуации:
    • Если при вводе lsusb появляется сообщение о том, что команда ls не найдена, установите утилиты с помощью следующей команды:
      sudo apt-get install usbutils
    • Если после ввода lsusb ничего не происходит, это проблема системы, мы не можем с этим ничего поделать. Вам нужно изменить систему или использовать заведомо исправную систему
    • Появится информация, как показано на изображении ниже (только для справки). Вам нужно убедиться, что отображается 1d50:606f
  • 1d50:606f — это устройство, которое вы будете использовать. Дополнительные примечания можно игнорировать, поскольку проблема системы может привести к неполному отображению или его отсутствию
  • Если отображается несколько 1d50:606f, рекомендуется удалить одно устройство, так как это может повлиять на последующую прошивку и подключение. Например, для FLY MINI PAD рекомендуется использовать встроенный UTOC, а не другие устройства CAN-моста
  • Если устройство не отображается, проверьте, правильно ли подключен кабель, и установлена ли правильная прошивка
Примечание

Поиск CAN ID возможен только при наличии 1d50:606f

Определение проблемы по ошибке

  • Ниже приведены распространенные ошибки:
    • 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 не найден, см. раздел ниже

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

  • Для хост-компьютера FLY эта операция не требуется
  • Если ваша система Ubuntu, требуется настройка Ubuntu для CAN0, документ еще не обновлен
  • Введите следующую команду, чтобы определить, поддерживает ли система CAN
sudo modprobe can && echo "Ваше ядро поддерживает CAN" || echo "Ваше ядро не поддерживает CAN"
  • После ввода вышеуказанной команды, если ядро поддерживает CAN, будет возвращено: Ваше ядро поддерживает CAN; если нет, то Ваше ядро не поддерживает CAN.
  • Если возвращено Ваше ядро поддерживает CAN, можно продолжить настройку CAN0

Настройка CAN0

  • Эта команда перезаписывает текущую конфигурацию CAN0. После выполнения необходимо перезагрузить систему
  • Для системы FAST эта операция не требуется !!!!!!
  • Выберите соответствующую команду в зависимости от вашей скорости:

  • Для скорости 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 введите следующую команду
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
  • Перезагрузите устройство
sudo reboot

Что делать, если ID не найден

  • Если в Klipper настроен соответствующий ID, вам нужно сначала отключить ID в настройках системы, выключить питание и снова включить или нажать кнопку сброса на плате
  • Совпадает ли скорость CAN хост-компьютера со скоростью основной платы, платы инструментов и т.д.
  • Вы можете использовать следующий код для определения скорости CAN хост-компьютера
  • Проверьте, нет ли обрыва провода
  • Установлен ли между платой инструментов и устройством (основная плата с установленной прошивкой USB-моста или UTOC) перемычка 120Ω
  • Если установлена перемычка 120Ω, необходимо использовать мультиметр для измерения сопротивления между CAN H и CAN L при полном отключении питания устройства, должно быть около 60Ω
  • Проверьте, нет ли обрыва провода
ip -details link show can0
  • В выделенной области на изображении ниже отображается скорость и буфер CAN хост-компьютера
  • 1024 — текущий буфер CAN0
  • 1000000 — текущая скорость CAN0
  • Если UUID все еще не найден, внимательно проверьте следующие моменты:

    • Правильно ли подключены основная плата или плата CAN-инструментов
    • Правильно ли подано питание, рекомендуется подключить VCC при использовании основной платы
    • Поддерживает ли хост-компьютер CAN-сеть
    • Составляет ли сопротивление CAN около 60Ω
    • Правильно ли скомпилирована прошивка

Поиск ID

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