Feetech バスサーボ Web 版デバッグ(SCS0009 / STS3215 / HD1910)
デスクトップ版ツール: SCS0009 サーボデバッグツール使用チュートリアル | STS3215 & SCS0009 デバッグチュートリアル
Feetech バスサーボデバッグツールの Web 版です。ブラウザから Web Serial で USB シリアルポートを直接開いてサーボと通信し、シリアル接続、サーボスキャン、型番識別、パラメータの読み書き、位置制御とリアルタイム追従、ボーレート変更、工場出荷リセット、xdat パラメータのバックアップ/復元を実行できます。
純粋な静的ページで、ソフトウェアや Python 環境のインストールは一切不要です。URL を開くだけで使用できます。現在 SCS0009、STS3215、HD1910 の 3 機種に対応しています。
1. ページを開く
オンラインアドレス:
https://juxi-technology.github.io/FT-ServoController-web/
同じサイトには完全な 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 の 2 バイト(メジャーバージョン、マイナーバージョン)から自動判定されます:
| 型番 | 識別バイト(メジャー / マイナー) | 位置範囲 | バイトオーダー |
|---|---|---|---|
| SCS0009 | 5 / 4 | 0–1023 | ビッグエンディアン |
| STS3215 | 9 / 3 | 0–4095 | リトルエンディアン |
| HD1910 | 10 / 31 | 0–4095 | リトルエンディアン |
識別結果はサーボチップ上に表示されます(例:ID1 (SCS0009 · SCS))。パラメータ表と位置範囲は、選択したサーボに応じて自動的に切り替わります。識別表にない型番は「不明な型番」と表示され、実際に読み取った 2 バイトがログに出力されるため、フィードバックによる追加対応の参考になります。
4. パラメータ表
パラメータ表はアドレス、レジスタ、値、記憶領域、読み書きの 5 列で、選択したサーボの全レジスタを表示します。記憶領域は EPROM、SRAM、DEFAULT の 3 種類に分けられ、領域ごとに色分けされます。
「読み書き」列で書き込み可能とマークされた行だけが選択・書き込みできます。読み取り専用レジスタと DEFAULT 領域はクリックできず、書き込み行にも入らないため、読み取り専用領域への誤書き込みを防げます。
5. パラメータの読み取りと書き込み
パラメータの読み取り:サーボチップをクリックして対象サーボを選択すると、ページがそのサーボの全パラメータを自動で読み取り、パラメータ表に反映します。同時に、位置制御のスライダーが現在の実際の位置に合わせられます。「📖 パラメータを読み取り」をクリックすれば、いつでも手動で更新できます。
パラメータの書き込み:
- パラメータ表で行を選択します(選択できるのは書き込み可能な行のみ)。
- 下部の「書き込みアドレス 0x」と「長さ」が自動的に入力されます。
- 「値」入力欄に新しい値を入力し、「✏️ 書き込み」をクリックします。
- EEPROM への書き込み時は、ページが自動でロック解除 → 書き込み → 再ロックを行います。結果はフローティング通知で成功または失敗の原因が表示されます。
ID、ボーレート、角度制限などのパラメータを変更する前に、「現在のサーボを保存」で xdat をバックアップしておくと、設定を誤ったときに復元できます。
6. 位置制御
- サーボを選択したら、「🎯 位置制御」エリアで目標位置のスライダーをドラッグするか、数値ボックスに直接入力します。範囲は型番によって異なります:SCS0009 は 0–1023、STS3215 / HD1910 は 0–4095。スライダーと数値ボックスは双方向に連動します。
- 速度を設定します(レジスタの生値で、シリーズによって単位の意味が異なります)。
- 「▶ 移動」をクリックして実行します。ページは MOVING フラグをポーリングし、動作終了時にトルクをオフにするよう案内します。
リアルタイム追従:「リアルタイム追従」にチェックを入れると、スライダーのドラッグに合わせてサーボがリアルタイムに追従します。チェック時には先に再確認を行い、そのサーボのトルクを自動でオンにします。送信にはスロットリングが適用されるため、バスを飽和させることはありません。サーボの切り替え、再スキャン、接続切断時には自動的にオフになり、トルクをオフにするよう通知します。
トルク制御:
| ボタン | 動作 |
|---|---|
| ⚡ トルクオン | 現在のサーボのトルクをオン |
| ⏹ トルクオフ | 現在のサーボのトルクをオフ |
| ⏹ 全トルクオフ | バス上のすべてのサーボを一括解放 |
動作中に突然接続が切れた場合は、再接続後すぐにトルクをオフにしてください。
7. 状態の読み取り
「📊 状態を読み取り」をクリックすると、下のステータスバーに現在位置、速度、負荷、電圧、温度、電流、動作フラグが表示されます。
8. ボーレートの変更
- 「🔧 ボーレート / 工場出荷リセット」エリアで新しいボーレートを選択します。
- 「🔧 ボーレートを変更」をクリックします。
- 書き込み後、ページは新しいレートでシリアルポートを開き直して読み戻し検証します。失敗した場合は自動的にロールバックして元のボーレートに戻すため、サーボとの接続が失われるのを防げます。
9. 工場出荷リセット
「🔄 工場出荷リセット」をクリックすると、再確認のうえで実行されます。復元コマンドはシリーズごとに異なり、ページが識別した型番に応じて自動的に選択します:
| 型番 | 復元コマンド | 実行後 |
|---|---|---|
| SCS0009 | 0x0A 工場出荷リセット | ID は 1 に、ボーレートは 1M に戻る |
| STS3215 / HD1910 | 0x06 パラメータ復元 | ID は変わらず、その他のパラメータはデフォルト値に戻る |
工場出荷リセットは元に戻せません。実行前に xdat を保存しておくことをおすすめします。
10. xdat パラメータのバックアップと復元
「📁 xdat パラメータ(EEPROM のみ保存)」エリアには 3 つの操作があります:
| ボタン | 動作 |
|---|---|
| 💾 現在のサーボを保存 | そのサーボの全パラメータを読み取り、.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. 安全上の注意
- ⚠️ 同時にシリアルポートを使用できるプログラムは 1 つだけです。本ページを使用する際は、デスクトップ版上位機やシリアルアシスタントなどの他のプログラムを閉じてください。
- ⚠️ 動作中にケーブルを抜くと、サーボが動作を続けている可能性があります。再接続後はまずトルクをオフにしてください。
- ⚠️ 配線や抜き差しは必ず電源を切った状態で行ってください。
- ⚠️ ページを離れる前に、「⏹ 全トルクオフ」をクリックしてすべてのサーボを一括解放できます。
13. よくある質問
Q1:ページに Web Serial 非対応、または接続できないと表示される。 Chrome / Edge 89+ を使用し、https または localhost 経由でアクセスしてください。Firefox、Safari は Web Serial 未実装です。
Q2:接続に失敗し、シリアルポートを開けないと表示される。 シリアルポートが他のプログラム(デスクトップ版上位機、シリアルアシスタント、Arduino IDE など)に占有されていないこと、および USB-TTL ドライバがインストール済みであることを確認してください。
Q3:サーボが見つからない。 配線が正しいこと、サーボに電源が供給されていること、ボーレートがサーボと一致していることを確認してください。サーボのボーレートが変更されている場合は、まず他の値も試してください。バス上で ID が衝突していると 2 台のサーボが同時に応答するため、まず 1 台だけ接続して切り分けてください。
Q4:パラメータ表の一部の行がクリックできない。 これは仕様です。「読み書き」列で書き込み可能とマークされた行のみ選択して書き込め、読み取り専用レジスタと DEFAULT 領域は書き込めません。
Q5:ボーレートの変更に失敗した場合はどうすればよいか。 ページは自動的に元のボーレートにロールバックし、失敗原因を表示します。配線を確認してから再試行してください。
Q6:サーボに「不明な型番」と表示される場合はどうすればよいか。 そのサーボのアドレス 3 / 4 の 2 バイトが識別表にないことを意味します。現在は SCS0009、STS3215、HD1910 のみに対応しています。ログに表示される「メジャーバージョン / マイナーバージョン」の値をご連絡いただければ、追加対応の参考になります。
Q7:ページを更新しても動作が変わらない。 ブラウザがスクリプトをキャッシュしているため、ハードリロードで再読み込みしてください(Windows:Ctrl+Shift+R、macOS:Cmd+Shift+R)。

