Примечания по подключению прошивки CAN
Инструкция по подключению
Пожалуйста, выполните следующие три шага по порядку:
Шаг первый: Настройка DIP-переключателей
- Сначала отключите питание: Отсоедините все источники питания.
- Найдите DIP-переключатели: Переверните плату инструмента. Найдите группу DIP-переключателей на обратной стороне.
- Установите в нужное положение: Для использования режима CAN. Необходимо перевести все переключатели в положение, показанное на примере ниже.
Loading...
Важное замечание: После изменения DIP-переключателей необходимо повторно прошить соответствующую прошивку (в данном руководстве используется прошивка CAN).
Шаг второй: Подключение проводов
- Не подавайте питание: Во время всего процесса подключения не подавайте питание.
- Подготовьте провода: Используйте четырёхжильный кабель
XT30(2+2)-F. Цветовая маркировка следующая:- Красный (VCC): подключите к положительному полюсу питания 12В-24В
- Чёрный (GND): подключите к отрицательному полюсу питания
- Жёлтый (CAN-H): подключите к H CAN-расширения
- Белый/зелёный (CAN-L): подключите к L CAN-расширения
- Подключение устройств:
- Вставьте разъём
XT30(2+2)-Fкабеля в плату инструмента. - Подключите клеммы кабеля к модулю UTOC или к материнской плате с прошитой прошивкой "USB-мост CAN".
- Наконец, подключите модуль UTOC или материнскую плату к вашему верхнему уровню (например, FLY Pi или Raspberry Pi) через USB-кабель.
- Вставьте разъём
Шаг третий: Настройка и проверка терминальных резисторов
Для обеспечения стабильности сигнала необходимо правильно подключить терминальные резисторы. Настройте согласно таблице ниже и измерьте при отключённом питании:
| Устройство | Описание операции |
|---|---|
| Плата инструмента | Установите перемычку 120Ω или переведите DIP-переключатель 120Ω в положение ON. |
| Материнская плата | При подключении к материнской плате аналогично обработайте её терминальный резистор 120Ω (перемычка или DIP-переключатель). |
| Модуль UTOC | Встроенный резистор*. |
Как проверить:
- Убедитесь, что питание полностью отключено.
- С помощью мультиметра измерьте сопротивление между CAN-H и CAN-L на CAN-порту платы инструмента.
- Оценка результата:
- Около 60Ω: норма, резисторы на обоих концах подключены правильно.
- Около 140Ω: возможно, CAN-H и CAN-L перепутаны.
- Около 120Ω: терминальный резистор
120Ωне подключён или обрыв линии. - Около 40Ω: возможно, имеются лишние резисторы. Проверьте промежуточные узлы.
Краткое резюме: сначала отключите питание. Установите DIP-переключатели. Правильно подключите провода. Затем подключите терминальные резисторы 120Ω на обоих концах (перемычка или DIP-переключатель). В конце измерьте сопротивление — оно должно быть около 60Ω.
Контрольный список:
- Все операции выполнялись при отключённом питании
- Все DIP-переключатели переведены вниз (режим CAN)
- Терминальный резистор
120Ωплаты инструмента подключён (перемычка или DIP-переключатель) - Терминальный резистор
120Ωматеринской платы (если применимо) подключён (перемычка или DIP-переключатель) - Кабель данных CAN подключён надёжно
- Измеренное значение сопротивления около 60Ω
Настройка сети CAN и устранение неисправностей
Шаг 1: Проверка обнаружения CAN-устройства хост-компьютером
- Войдите в хост-компьютер. Введите команду:
lsusb
- Оцените результат:
- Виден
1d50:606f→ Устройство обнаружено успешно - Выдается ошибка
команда ls не найдена→ Выполните:sudo apt-get install usbutils - Нет никакой реакции → Возможно проблема с системой, рекомендуется переустановить систему
- Несколько
1d50:606f→ Рекомендуется оставить только одно устройство (например, при использовании UTOC отключите другие устройства с прошивкой USB-мост CAN)
⚠️ Важно: Только при наличии
1d50:606fможно продолжить поиск CAN ID
Шаг 2: Настройка сети CAN
Выбор метода настройки в зависимости от типа системы:
Если сеть уже настроена или используется система FlyOS-FAST, этот шаг не требуется!
- Обычная Linux
- Raspberry Pi
Метод настройки для обычной 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 эту операцию выполнять не нужно!
Метод настройки для 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сверху — текущий буфер can01000000снизу — текущая скорость 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 хост-компьютера соответствует скорости прошивки платы инструмента (по умолчанию 1М)
- Система перезагружена
Шаг 3: Проверка оборудования
- На обоих концах шины CAN есть оконечные резисторы 120 Ом
- Сопротивление между CAN-H и CAN-L, измеренное при выключенном питании, ≈60 Ом
- Проверьте линию на наличие обрывов
- CAN-H и CAN-L не перепутаны
Шаг 4: Обработка особых ситуаций
-
Если ID занят Klipper:
- Закомментируйте соответствующую конфигурацию в Klipper
- Полностью обесточьте на 1 минуту
- Включите питание и выполните поиск заново
-
Измерение оконечного резистора:
- ≈60 Ом: Нормально
- ≈120 Ом: Резистор только на одном конце
- ≈40 Ом: Резистор на трех концах
- ≈140 Ом: Возможно, провода перепутаны
Порядок быстрой проверки
- Сначала проверьте устройство:
lsusb→ Есть1d50:606f? - Затем проверьте конфигурацию:
ip -details link show can0→ Скорость верна? - В конце проверьте оборудование: Измерьте сопротивление при отключенном питании → Около 60 Ом?
Если после всех проверок проблема не решена: Попробуйте заменить кабель данных или устройство. Или обратитесь в службу технической поддержки.
Шаги обновления прошивки платы инструмента
Шаг 1: Подготовка
- Скомпилируйте новый файл прошивки в соответствии с инструкцией
- Остановите службу 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
Обновление завершено!