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

Важно: После изменения положения DIP-переключателей необходимо перепрошить соответствующую прошивку (в данном руководстве используется прошивка CAN).
Шаг 2: Подключение проводов
- Питание отключено: Не подавайте питание на протяжении всего процесса подключения.
- Подготовьте кабель: Используйте 4-жильный кабель данных
XT30(2+2)-F. Цветовая маркировка следующая:- Красный (VCC): Подключите к плюсу источника питания 12V-24V
- Черный (GND): Подключите к минусу источника питания
- Желтый (CAN-H): Подключите к H порта расширения CAN
- Белый/Зеленый (CAN-L): Подключите к L порта расширения CAN
- Подключите устройства:
- Подключите разъем
XT30(2+2)-Fкабеля к плате инструмента. - Подключите клеммы кабеля к модулю UTOC или основной плате, на которую уже залита прошивка "USB-мост CAN".
- Наконец, подключите модуль UTOC или основную плату к вашему управляющему компьютеру (например, FLY Pi или Raspberry Pi) с помощью USB-кабеля.
- Подключите разъем
Шаг 3: Настройка и проверка терминального резистора
Для обеспечения стабильности сигнала необходимо правильно подключить терминальный резистор. Настройте согласно таблице ниже и измерьте при отключенном питании:
| Устройство | Инструкция |
|---|---|
| Плата инструмента | Найдите и установите перемычку с маркировкой 120Ω. |
| Основная плата | Если подключена основная плата, также установите на ней перемычку 120Ω. |
| Модуль UTOC | Имеет встроенный резистор*. |
Как проверить:
- Убедитесь, что питание полностью отключено.
- Используйте мультиметр для измерения сопротивления между CAN-H и CAN-L порта CAN на плате инструмента.
- Оценка результата:
- ~60Ω: Нормально. Терминальные резисторы на обоих концах подключены правильно.
- ~140Ω: Возможно, CAN-H и CAN-L перепутаны местами.
- ~120Ω: Перемычка
120Ωне установлена или обрыв цепи. - ~90Ω: Установлена только одна перемычка
120Ω. - ~40Ω: Возможно, присутствуют лишние резисторы. Проверьте промежуточные узлы.
Кратко: Сначала отключите питание, установите DIP-переключатели, правильно подключите кабель, затем установите перемычки 120Ω на обоих концах и, наконец, измерьте сопротивление — оно должно быть около 60Ω.
Контрольный список:
- Все операции выполнялись при отключенном питании
- Все DIP-переключатели установлены в нижнее положение (режим CAN)
- Перемычка
120Ωна плате инструмента установлена - Перемычка
120Ωна основной плате (если применимо) установлена - Кабель данных CAN надежно подключен
- Измеренное сопротивление ~60Ω
Настройка сети CAN и устранение неисправностей
Шаг 1: Проверка, распознает ли управляющий компьютер устройство CAN
- Войдите в систему управляющего компьютера и выполните команду:
lsusb
- Проанализируйте результат:
- Видите
1d50:606f→ Устройство распознано успешно - Сообщение
command not found: ls→ Выполните:sudo apt-get install usbutils - Нет никакой реакции → Возможно, проблема с системой, рекомендуется сменить систему
- Несколько устройств
1d50:606f→ Рекомендуется оставить только одно устройство (например, если используете UTOC, отключите другие устройства с прошивкой "USB-мост CAN")
⚠️ Важно: Только при наличии
1d50:606fможно продолжать поиск CAN ID.
Шаг 2: Настройка сети CAN
Выберите метод настройки в зависимости от типа системы:
Этот шаг не требуется, если настройка уже выполнена или используется система FlyOS-FAST!
- Обычная система Linux
- Система Raspberry Pi
Метод настройки для обычной системы 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:
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 это выполнять не нужно!
Метод настройки для системы Raspberry Pi
- Создайте конфигурацию сети (можно изменить BitRate на 500000):
sudo tee /etc/systemd/network/99-can.network > /dev/null <<'EOF'
[Match]
Name=can*
[CAN]
BitRate=1000000
RestartSec=100ms
EOF
- Создайте конфигурацию соединения (TxQueueLength не рекомендуется менять):
sudo tee /etc/systemd/network/99-can.link > /dev/null <<'EOF'
[Match]
OriginalName=can*
[Link]
TxQueueLength=1024
EOF
- Перезагрузите систему для применения изменений:
sudo reboot
Шаг 3: Поиск CAN ID
Проверка состояния CAN:
ip -details link show can0
- На изображении ниже обведены скорость CAN и размер буфера управляющего компьютера.
- Верхнее значение
1024— текущий размер буфера CAN0. - Нижнее значение
1000000— текущая скорость CAN0.

Поиск устройств:
- Команда поиска для Fly-Armbian и обычного управляющего компьютера
- Команда поиска для Fly-FAST
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
В норме отобразится: Found canbus_uuid=xxxx...
Решение распространенных ошибок
| Сообщение об ошибке | Причина | Решение |
|---|---|---|
OSError: [Errno 19] No such device | Устройство CAN не найдено | 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 равен 10242. Перезагрузите систему |
Шаги проверки, если CAN ID не находится
Шаг 1: Базовая проверка
- Выполнение
lsusbпоказывает1d50:606f - Устройство CAN и плата инструмента включены
- Кабель данных надежно подключен
Шаг 2: Проверка конфигурации
- Сеть CAN правильно настроена
- Скорость CAN на управляющем компьютере совпадает со скоростью прошивки платы инструмента (по умолчанию 1M)
- Система перезагружена
Шаг 3: Аппаратная проверка
- На обоих концах шины CAN установлены терминальные резисторы 120Ω
- При отключенном питании измерьте сопротивление между CAN-H и CAN-L ≈60Ω
- Проверьте целостность проводов
- CAN-H и CAN-L не перепутаны местами
Шаг 4: Обработка особых случаев
-
Если Klipper уже использует ID:
- Отключите соответствующую конфигурацию в Klipper
- Полностью отключите питание на 1 минуту
- Включите питание и выполните поиск заново
-
Измеренное сопротивление терминального резистора:
- ≈60Ω: Нормально
- ≈120Ω: Резистор установлен только на одном конце
- ≈40Ω: Резисторы установлены на трех концах
- ≈140Ω: Возможно, провода подключены наоборот
Порядок быстрого устранения неполадок
- Сначала проверьте устройство:
lsusb→ Есть1d50:606f? - Затем проверьте конфигурацию:
ip -details link show can0→ Скорость правильная? - Наконец, аппаратная часть: Измерьте сопротивление при отключенном питании → Около 60Ω?
Если после всех проверок проблема не решена: Попробуйте заменить кабель данных или устройство, или обратитесь в службу технической поддержки.
Шаги обновления прошивки платы инструмента
Шаг 1: Подготовка
- Скомпилируйте новый файл прошивки согласно инструкции.
- Остановите службу Klipper:
sudo systemctl stop klipper
Шаг 2: Получение ID платы инструмента
В файле конфигурации Klipper найдите CAN UUID соответствующей платы инструмента (например: 241696050c56).
Шаг 3: Выполнение обновления прошивки
Используйте следующую команду для прошивки (замените 241696050c56 на ваш фактический CAN UUID):
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
Шаг 4: Проверка результата
- Появилось сообщение
CAN Flash Success→ Прошивка успешна - Появилось другое сообщение об ошибке → Прошивка не удалась. Проверьте UUID и подключение
Примечание: После
-uдолжен быть пробел, а затем CAN UUID вашей платы инструмента.

Шаг 5: Перезапуск службы
sudo systemctl start klipper
Обновление завершено!