misa-usb-rs485-hub

Public

@takarakasai

Download board files

Files for version 1. Pick what you came for.

Share misa-usb-rs485-hub

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

namiashi (並足)

4-channel isolated USB-to-RS-485 hub board for humanoid robot motor control

ヒューマノイドロボット制御用の絶縁 RS-485 USB ハブ基板です。 USB Type-C から 4 系統の絶縁 RS-485 を生成し、12 軸サーボモータの安定制御を実現します。

Status KiCad License


主な特徴

  • FT4232HL USB to 4× UART ブリッジ (LQFP-64)
  • 2× ADM2582E 絶縁 RS-485 (Ch A, B): 2.5kV / 16Mbps / Visoout 5V
  • 2× CA-IS3098W 絶縁 RS-485 (Ch C, D): 5kV / 20Mbps / Visoout 3.3V
  • AT93C46DN EEPROM (FT4232HL VID/PID 保存用)
  • AZ1117-3.3 LDO (USB 5V → 3.3V)
  • 4 層 PCB (1.6mm 厚, JLC04161H スタックアップ)
  • 絶縁スリット 全層貫通による完全電気分離

仕様

項目値
入力USB Type-C (5V, USB 2.0 HS 480Mbps)
出力4× RS-485 (絶縁, GH 2pin コネクタ)
信号速度921,600 bps 〜 1 Mbps 確認済
絶縁耐圧2.5kV (ADM2582E) / 5kV (CA-IS3098W)
基板サイズ60 × 74 mm 4 層
終端抵抗120Ω × 4 (各 ch、必要に応じて除去可)

用途

  • Robstride EduLite 05 等の RS-485 アクチュエータ駆動
  • 5kg クラス、12 軸ヒューマノイドロボットの全身制御
  • 500Hz〜1kHz の高速制御ループ対応
  • モータノイズからホスト PC を電気的に保護

ハードウェア構成

[USB Type-C 5V] ─┬─ AZ1117 (3.3V LDO) ─┬─ FT4232HL VCCIO
                 │                       └─ 各 RS-485 chip VCC (一次側)
                 │
                 └─ 各 RS-485 chip 内部 DC-DC ──→ Viso (3.3V or 5V, 二次側)

[FT4232HL] ─┬─ Ch A ─→ ADM2582E (U1) ─→ J7 (GH 2pin, A/B)
            ├─ Ch B ─→ ADM2582E (U6) ─→ J8 (GH 2pin)
            ├─ Ch C ─→ CA-IS3098W (U8) ─→ J9 (GH 2pin)
            └─ Ch D ─→ CA-IS3098W (U3) ─→ J10 (GH 2pin)

部品選定の経緯

設計の過程で以下の改善を実施 (詳細は spec_rev0_1_0.md):

  1. 初期: FT4232HQ (QFN-64) + 4× ADM2582E
  2. 改善 1: FT4232HQ → FT4232HL (LQFP-64, 手はんだ容易、約 1/3 のコスト)
  3. 改善 2: ADM2582E ×2 を CA-IS3098W ×2 に置換 (Ch C, D、5kV 絶縁、コスト 1/2)
    • ハイブリッド構成で両チップの動作比較が可能

ソフトウェア

Linux で /dev/ttyUSB0〜/dev/ttyUSB3 として認識。
Windows でも FTDI VCP ドライバで COM ポートとして認識。

Python サンプル (pyserial.rs485)

import serial.rs485

# RTS 制御を kernel に委譲 (アプリは write/read のみ)
ch = serial.rs485.RS485('/dev/ttyUSB0', baudrate=115200)
ch.rs485_mode = serial.rs485.RS485Settings(
    rts_level_for_tx=False,   # namiashi: rts=False で TX
    rts_level_for_rx=True,    # rts=True で RX
)
ch.write(b'Hello RS-485!')
data = ch.read(100)

Rust サンプル (TIOCSRS485 ioctl)

use serialport::SerialPort;
use std::os::unix::io::AsRawFd;

let port = serialport::new("/dev/ttyUSB0", 115200).open()?;
// TIOCSRS485 で kernel に RTS 自動制御を委譲 (詳細は spec 参照)

動作確認状況

  • ✅ FT4232HL Linux/Windows で 4ch UART 認識
  • ✅ Ch A-B (ADM2582E) 双方向通信成功
  • ✅ Ch C-D (CA-IS3098W) 双方向通信成功
  • ✅ 4 ノード同一バス構成も動作 (要 R8, R9 終端抵抗除去 + 全 ch RX モード固定)
  • ⚠️ TX/RX 活動 LED は 74HC595 が EEPROM バス共有のため非機能 (rev2 で改善予定)

ドキュメント


製造


関連プロジェクト

  • hayaashi — Raspberry Pi CM4 ロボットキャリアボード (本プロジェクトの上位機、CM4 統合)

ライセンス

TBD (公開時に決定)

連絡先

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.