CAN 펌웨어 연결 시 주의사항
배선 설명
다음 순서대로 세 단계를 완료하세요:
1단계: 딥 스위치 설정
- 전원 차단: 모든 전원을 뽑으세요.
- 딥 스위치 찾기: 툴 보드를 뒤집으세요.背面에 있는 딥 스위치 그룹을 찾으세요.
- 설정 완료: CAN 모드를 사용하려면 모든 스위치를 아래 예시 위치로 돌리세요.
Loading...
중요 알림: 딥 스위치를 변경한 후에는 반드시 해당 펌웨어를 다시 플래시하세요(이 가이드에서는 CAN 펌웨어 사용).
2단계: 회선 연결
- 전원 차단 유지: 배선 중에는 절대 전원을 연결하지 마세요.
- 케이블 준비:
XT30(2+2)-F4코어 데이터 케이블을 사용하세요. 색상 정의는 다음과 같습니다:- 빨간색 (VCC): 12V-24V 전원 양극에 연결
- 검은색 (GND): 전원 음극에 연결
- 노란색 (CAN-H): CAN 확장 포트의 H에 연결
- 흰색/녹색 (CAN-L): CAN 확장 포트의 L에 연결
- 장치 연결:
- 케이블의
XT30(2+2)-F커넥터를 툴 보드에 꽂으세요. - 케이블의 터미널을 UTOC 모듈 또는 "USB 브리지 CAN" 펌웨어가 플래시된 메인보드에 연결하세요.
- 마지막으로 USB 케이블을 통해 UTOC 모듈 또는 메인보드를 상위 컴퓨터(예: FLY 파이 또는 라즈베리 파이)에 연결하세요.
- 케이블의
3단계: 종단 저항 구성 및 점검
신호 안정성을 확보하려면 종단 저항을 올바르게 연결해야 합니다. 아래 표에 따라 구성하고 전원이 차단된 상태에서 측정하세요:
| 장치 | 작업 설명 |
|---|---|
| 툴 보드 | 120Ω이라고 표시된 점퍼 캡을 찾아 꽂으세요. |
| 메인보드 | 메인보드에 연결하는 경우 마찬가지로 120Ω 점퍼 캡을 꽂으세요. |
| UTOC 모듈 | 자체 저항 포함*. |
확인 방법:
- 완전히 전원을 차단한 상태를 유지하세요.
- 멀티미터를 사용하여 툴 보드 CAN 포트의 CAN-H와 CAN-L 사이의 저항을 측정하세요.
- 결과 판단:
- 약 60Ω: 정상, 양쪽 끝 저항이 올바르게 연결되었습니다.
- 약 140Ω: CAN-H와 CAN-L이 반대로 연결되었을 수 있습니다.
- 약 120Ω:
120Ω점퍼가 설치되지 않았거나 단선되었습니다. - 약 40Ω: 저항이 초과되었을 수 있습니다. 중간 노드를 확인하세요.
한 줄 요약: 먼저 전원을 차단하세요. 딥 스위치를 설정하세요. 케이블을 올바르게 꽂으세요. 양쪽 끝의 120Ω 점퍼 캡을 연결하세요. 마지막으로 저항이 약 60Ω인지 측정하세요.
점검 목록:
- 모든 작업 전원 차단 상태에서 수행
- 딥 스위치 모두 아래로 설정됨(CAN 모드)
- 툴 보드
120Ω점퍼 캡 삽입됨 - 메인보드(해당 시)
120Ω점퍼 캡 삽입됨 - 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 시스템
- 라즈베리 파이 시스템
일반 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 시스템에서는 이 작업을 수행할 필요가 없습니다!
라즈베리 파이 시스템 구성 방법
-
네트워크 구성 생성(BitRate를 500000으로 수정 가능):
sudo tee /etc/systemd/network/99-can.network > /dev/null <<'EOF'[Match]Name=can*[CAN]BitRate=1000000RestartSec=100msEOF -
연결 구성 생성(TxQueueLength 수정 권장하지 않음):
sudo tee /etc/systemd/network/99-can.link > /dev/null <<'EOF'[Match]OriginalName=can*[Link]TxQueueLength=1024EOF
- 시스템 재부팅하여 적용:
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 캐시가 1024인지 확인2. 시스템 재부팅 |
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단계: 펌웨어 업데이트 실행
시스템 버전에 따라 올바른 명령어를 선택하세요:
-
FlyOS-FAST 1.3.8 이상 버전 또는 2026년 4월 9일 이후 Klipper를 업데이트한 시스템:
python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 -
구형 시스템(FAST 1.3.8 이전 또는 2026년 4월 9일 이전 Klipper 미업데이트):
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
참고:
-u뒤에는 반드시 공백이 하나 있어야 합니다. 그 다음 툴 보드의 CAN UUID를 입력하세요.
4단계: 결과 확인
-
CAN Flash Success메시지 표시 → 플래시 성공 -
다른 오류 메시지 표시 → 플래시 실패. UUID와 연결을 확인하세요.
Loading...
5단계: 서비스 재시작
sudo systemctl start klipper
업데이트 완료!