Feetech 버스 서보 웹 버전 디버깅(SCS0009 / STS3215 / HD1910)
데스크톱 버전 도구: SCS0009 서보 디버깅 도구 사용 튜토리얼 | STS3215 & SCS0009 디버깅 튜토리얼
Feetech 버스 서보 디버깅 도구의 웹 버전입니다. 브라우저에서 Web Serial로 USB 시리얼 포트를 직접 열어 서보와 통신하며, 시리얼 연결, 서보 스캔, 모델 식별, 파라미터 읽기·쓰기, 위치 제어와 실시간 추종, 보레이트 변경, 공장 초기화, xdat 파라미터 백업·복원을 수행할 수 있습니다.
순수 정적 페이지로, 어떤 소프트웨어나 Python 환경도 설치할 필요가 없습니다. 주소만 열면 바로 사용할 수 있습니다. 현재 SCS0009, STS3215, HD1910 세 가지 모델을 지원합니다.
1. 페이지 열기
온라인 주소:
https://juxi-technology.github.io/FT-ServoController-web/
같은 사이트에 전체 웹 버전 사용 튜토리얼도 있습니다(중국어-영어 전환 지원):
https://juxi-technology.github.io/FT-ServoController-web/guide.html
요구 사항:
- Chrome 또는 Edge 89+(Firefox, Safari는 Web Serial 미지원)
- 페이지는 https 또는 localhost를 통해 열어야 합니다
- USB-TTL 드라이버(CH340, CH343, CP2102 등) 설치 필요
2. 시리얼 포트 연결
- 「🔌 시리얼 연결」 영역에서 보레이트를 선택합니다. 기본값은 1000000(1M)입니다.
- 「시리얼 연결」을 클릭하고 브라우저에 나타나는 시스템 대화상자에서 서보에 해당하는 USB 시리얼 포트를 선택합니다.
- 연결에 성공하면 오른쪽 위 상태가 「🟢 연결됨」으로 바뀝니다.
선택 가능한 보레이트: 1000000 / 500000 / 250000 / 128000 / 115200 / 76800 / 57600 / 38400.
3. 서보 스캔과 모델 식별
- 시리얼 포트에 연결한 후 「🔍 서보 스캔」을 클릭합니다. 페이지가 ID 1–254를 스캔하며 발견 즉시 표시되므로 전체 스캔이 끝날 때까지 기다릴 필요가 없습니다.
- 스캔 중에는 버튼이 빨간색 「⏹ 스캔 중지」로 바뀌며, 다시 클릭하면 중단됩니다. 이미 찾은 서보는 유지됩니다.
- 서보 칩(또는 상단 드롭다운)을 클릭하여 대상 서보를 선택합니다.
모델은 서보의 주소 3 / 4의 두 바이트(메이저 버전, 마이너 버전)로 자동 판별됩니다:
| 모델 | 식별 바이트(주 / 부) | 위치 범위 | 바이트 순서 |
|---|---|---|---|
| SCS0009 | 5 / 4 | 0–1023 | 빅엔디언 |
| STS3215 | 9 / 3 | 0–4095 | 리틀엔디언 |
| HD1910 | 10 / 31 | 0–4095 | 리틀엔디언 |
식별 결과는 서보 칩에 표시됩니다(예: ID1 (SCS0009 · SCS)). 파라미터 테이블과 위치 범위는 선택한 서보에 따라 자동으로 전환됩니다. 식별표에 없는 모델은 「알 수 없는 모델」로 표시되며, 실제로 읽은 두 바이트가 로그에 출력되어 피드백을 통한 추가 지원에 참고할 수 있습니다.
4. 파라미터 테이블
파라미터 테이블은 주소, 레지스터, 값, 저장 영역, 읽기·쓰기 5개 열로 선택한 서보의 모든 레지스터를 표시하며, 저장 영역은 EPROM, SRAM, DEFAULT 세 가지로 나뉘어 영역별로 색상이 적용됩니다.
「읽기·쓰기」열에 쓰기 가능으로 표시된 행만 선택하고 쓸 수 있습니다. 읽기 전용 레지스터와 DEFAULT 영역은 클릭할 수 없고 쓰기 행으로도 들어가지 않으므로 읽기 전용 영역에 잘못 쓰는 것을 방지합니다.
5. 파라미터 읽기와 쓰기
파라미터 읽기: 서보 칩을 클릭해 대상 서보를 선택하면 페이지가 해당 서보의 모든 파라미터를 자동으로 읽어 파라미터 테이블에 채우고, 동시에 위치 제어 슬라이더를 현재 실제 위치에 맞춥니다. 언제든지 「📖 파라미터 읽기」를 클릭해 수동으로 새로 고칠 수도 있습니다.
파라미터 쓰기:
- 파라미터 테이블에서 행을 선택합니다(쓰기 가능한 행만 선택 가능).
- 하단의 「쓰기 주소 0x」와 「길이」가 자동으로 채워집니다.
- 「값」 입력란에 새 값을 입력하고 「✏️ 쓰기」를 클릭합니다.
- EEPROM에 쓸 때 페이지가 자동으로 잠금 해제 → 쓰기 → 다시 잠금을 수행하며, 결과는 팝업으로 성공 또는 실패 원인이 표시됩니다.
ID, 보레이트, 각도 제한 같은 파라미터를 변경하기 전에 「현재 서보 저장」으로 xdat를 백업해 두면 잘못 변경했을 때 복원할 수 있습니다.
6. 위치 제어
- 서보를 선택한 후 「🎯 위치 제어」 영역에서 목표 위치 슬라이더를 드래그하거나 숫자 입력란에 직접 입력합니다. 범위는 모델에 따라 다릅니다: SCS0009는 0–1023, STS3215 / HD1910은 0–4095이며, 슬라이더와 숫자 입력란은 양방향으로 연동됩니다.
- 속도를 설정합니다(레지스터 원시값이며, 시리즈마다 단위의 의미가 다릅니다).
- 「▶ 이동」을 클릭해 실행합니다. 페이지가 MOVING 플래그를 폴링하며, 동작이 끝나면 토크를 끄도록 안내합니다.
실시간 추종: 「실시간 추종」을 체크하면 슬라이더를 드래그할 때 서보가 실시간으로 추종합니다. 체크 시 먼저 2차 확인을 거쳐 해당 서보의 토크를 자동으로 켭니다. 전송에는 스로틀이 적용되어 버스를 가득 채우지 않습니다. 서보 전환, 재스캔 또는 연결 해제 시 자동으로 꺼지며 토크를 끄도록 알려줍니다.
토크 제어:
| 버튼 | 기능 |
|---|---|
| ⚡ 토크 켜기 | 현재 서보의 토크 켜기 |
| ⏹ 토크 끄기 | 현재 서보의 토크 끄기 |
| ⏹ 전체 토크 끄기 | 버스의 모든 서보를 한 번에 해제 |
회전 중 연결이 갑자기 끊기면 다시 연결한 후 즉시 토크를 끄십시오.
7. 상태 읽기
「📊 상태 읽기」를 클릭하면 아래 상태 표시줄에 현재 위치, 속도, 부하, 전압, 온도, 전류, 동작 플래그가 표시됩니다.
8. 보레이트 변경
- 「🔧 보레이트 / 공장 초기화」 영역에서 새 보레이트를 선택합니다.
- 「🔧 보레이트 변경」을 클릭합니다.
- 쓰기 후 페이지는 새 속도로 시리얼 포트를 다시 열어 되읽기로 검증합니다. 실패하면 자동으로 롤백하여 원래 보레이트로 돌아가므로 서보 연결이 끊기는 것을 방지합니다.
9. 공장 초기화
「🔄 공장 초기화」를 클릭하면 2차 확인 후 실행됩니다. 복원 명령은 시리즈마다 다르며, 페이지가 식별한 모델에 따라 자동으로 선택합니다:
| 모델 | 복원 명령 | 실행 후 |
|---|---|---|
| SCS0009 | 0x0A 공장 초기화 | ID는 1, 보레이트는 1M로 복귀 |
| STS3215 / HD1910 | 0x06 파라미터 복원 | ID는 유지되고 나머지 파라미터는 기본값으로 복귀 |
공장 초기화는 되돌릴 수 없으므로 실행 전에 xdat를 저장해 두는 것이 좋습니다.
10. xdat 파라미터 백업과 복원
「📁 xdat 파라미터(EEPROM만 저장)」 영역에서는 세 가지 작업을 제공합니다:
| 버튼 | 기능 |
|---|---|
| 💾 현재 서보 저장 | 해당 서보의 모든 파라미터를 읽어 .xdat 파일로 다운로드 |
| 📂 xdat 열기 | 로컬 .xdat 파일을 불러와 내용 미리 보기 |
| 📤 서보에 파라미터 복원 | 불러온 xdat 파라미터를 현재 서보 EEPROM에 쓰기 |
저장되는 파일 이름에는 모델과 ID가 포함됩니다(예: SCS0009_ID1.xdat, HD1910_ID6.xdat). 서로 다른 모델의 같은 ID가 덮어쓰는 것을 방지합니다.
파일 형식은 「2바이트 파일 헤더 + 49바이트 데이터 영역」이며, 레지스터 주소 A는 오프셋 A+2에 저장됩니다. 다중 바이트 값은 모델의 바이트 순서로 저장됩니다(SCS는 빅엔디언, STS / HD1910은 리틀엔디언).
파라미터가 뒤섞이는 것을 방지하기 위해 페이지는 파일과 현재 서보가 같은 바이트 순서 계열인지 검증하며, 일치하지 않으면 쓰기를 금지합니다. 복원 시 쓰기 가능한 EEPROM 파라미터만 쓰고 모델과 읽기 전용 영역은 건너뜁니다. 데이터 영역은 주소 0–48만 덮어씁니다. 복원 전에 선택한 서보 ID가 올바른지 확인하십시오.
11. 로그
페이지 하단 「📜 로그」에는 각 단계의 작업과 반환 결과가 실시간으로 기록되며, 「지우기」를 클릭해 지울 수 있습니다.
인터페이스는 중국어-영어 전환을 지원합니다. 오른쪽 위 「EN / English」 버튼으로 인터페이스와 로그 언어를 즉시 전환할 수 있으며, 기존 로그도 함께 갱신되므로 다시 연결할 필요가 없습니다.
12. 안전 유의 사항
- ⚠️ 동시에 하나의 프로그램만 시리얼 포트를 점유할 수 있습니다. 본 페이지를 사용할 때는 데스크톱 상위 프로그램, 시리얼 어시스턴트 등 다른 프로그램을 종료하십시오.
- ⚠️ 동작 중 케이블을 분리하면 서보가 계속 동작 중일 수 있으므로, 다시 연결한 후 먼저 토크를 끄십시오.
- ⚠️ 배선과 탈착은 반드시 전원을 끈 상태에서 하십시오.
- ⚠️ 페이지를 떠나기 전에 「⏹ 전체 토크 끄기」를 클릭해 모든 서보를 한 번에 해제할 수 있습니다.
13. 자주 묻는 질문
Q1: 페이지에 Web Serial을 지원하지 않거나 연결할 수 없다고 표시됩니다. Chrome / Edge 89+를 사용하고 https 또는 localhost를 통해 접속하십시오. Firefox, Safari는 Web Serial이 구현되어 있지 않습니다.
Q2: 연결에 실패하고 시리얼 포트를 열 수 없다고 표시됩니다. 시리얼 포트가 다른 프로그램(데스크톱 상위 프로그램, 시리얼 어시스턴트, Arduino IDE 등)에 점유되어 있지 않은지, USB-TTL 드라이버가 설치되어 있는지 확인하십시오.
Q3: 서보가 스캔되지 않습니다. 배선이 올바른지, 서보에 전원이 공급되는지, 보레이트가 서보와 일치하는지 확인하십시오. 서보 보레이트가 변경된 적이 있다면 먼저 다른 값도 시도해 보십시오. 버스에 ID 충돌이 있으면 서보 두 개가 동시에 응답하므로, 먼저 한 개만 연결해 확인하십시오.
Q4: 파라미터 테이블의 일부 행이 클릭되지 않습니다. 설계상 그렇습니다. 「읽기·쓰기」열에 쓰기 가능으로 표시된 행만 선택해 쓸 수 있으며, 읽기 전용 레지스터와 DEFAULT 영역은 쓸 수 없습니다.
Q5: 보레이트 변경에 실패하면 어떻게 해야 하나요? 페이지가 자동으로 원래 보레이트로 롤백하고 실패 원인을 표시합니다. 배선을 확인한 후 다시 시도하십시오.
Q6: 서보에 「알 수 없는 모델」이 표시되면 어떻게 해야 하나요? 해당 서보의 주소 3 / 4의 두 바이트가 식별표에 없음을 뜻합니다. 현재 SCS0009, STS3215, HD1910만 지원합니다. 로그의 「메이저 버전 / 마이너 버전」 값을 알려주시면 추가 지원에 참고하겠습니다.
Q7: 페이지 업데이트 후에도 동작이 달라지지 않습니다. 브라우저가 스크립트를 캐시하므로 하드 리프레시로 다시 로드하십시오(Windows: Ctrl+Shift+R, macOS: Cmd+Shift+R).

