ブログに戻る

CAN Bus vs SMBus vs I2C:ロボットやドローンに最適なバッテリー通信プロトコルはどれか?

公開日: 7/22/2026 · 8分で読めます · Sky Power (US) エンジニアリングチーム

ロボット、ドローン、AGV向けにバッテリーパックを設計する際、化学組成とセル形状が最も注目されがちです。しかし、バッテリー管理システム(BMS)とホストコントローラー間の通信プロトコルも同様に重要であり、多くのハードウェアスタートアップが開発の後期段階で高くつくミスを犯すポイントでもあります。

本ガイドでは、最もよく遭遇する3つのプロトコルを取り上げます:CAN Bus、SMBus、I2C。それぞれが実際に何をするのか、どこで優れているのか、どのアプリケーションには向かないのかを見ていきます。

バッテリー通信プロトコルは実際に何をするのか?

プロトコルを比較する前に、私たちが話している内容を正確に理解しておく価値があります。バッテリー通信プロトコルは、BMSが充電状態(SOC)、健全性状態(SOH)、セル電圧、パック温度、電流消費、故障コード、残り稼働時間をホストシステムに報告できるようにします。また、ホストが充電有効化、放電制限、緊急シャットダウンなどのコマンドを送信することも可能にします。

この通信レイヤーがなければ、システムは盲目的に飛行しているようなものです。得られるのは電源レールの電圧だけで、それ以外は何もありません。単純なRC航空機であればそれで問題ありませんが、医療機器、自律ロボット、あるいは予期しないシャットダウンが損傷や怪我を引き起こすシステムでは許されません。

CAN Bus:産業標準

コントローラエリアネットワーク(CAN Bus)は、1980年代にBoschが自動車用途向けに開発しました。差動2線バス(CANHとCANL)で、最大1 Mbpsの速度で動作し、単一バス上で数十のノードをサポートします。

エンジニアがCAN Busを選ぶ理由:

CAN Busは電気的にノイズの多い環境向けに構築されています。差動信号方式により、モーターコントローラー、インバーター、スイッチング電源から発生するようなコモンモードノイズは受信側で除去されます。20台のモーターが同時に稼働するAGV倉庫では、これが非常に重要になります。

CAN Busにはハードウェアレベルの障害検出も組み込まれています。すべてのメッセージにCRCが含まれ、複数のノードが同時に送信しようとした場合のバス調停もプロトコルが自動的に処理します。ファームウェアで衝突検出を実装する必要はなく、シリコンがそれを処理します。

48Vのメインパックと24Vの補助パックを持つAGVのようなマルチパックシステムでは、CAN Busにより両方のBMSユニットがメインコントローラーへの単一の2線バスを共有できます。SMBusやI2Cでは、個別のバスや複雑なマルチプレキシングが必要になります。

CAN Busが不適切な場合:

CAN Busはコストと複雑さを増します。両端にCANトランシーバーが必要で、バスの各端に適切な120Ωの終端抵抗、そしてCANopenまたはカスタムメッセージフォーマットを扱うファームウェアが必要です。BMSとホストMCUが同じPCB上で5cm離れているだけのシンプルなハンドヘルド医療機器や小型コンシューマードローンには、CAN Busはオーバースペックです。

CAN Busを採用するSky Powerパック: AGV用途向けのSKP-48Vシリーズは、標準インターフェースとしてCAN Busを搭載し、標準ロボットコントローラーとの互換性のためにCANopen DS401で動作します。

SMBus:スマートバッテリー標準

システムマネジメントバス(SMBus)は、Intelが1995年に開発したI2C由来の2線プロトコルです。ラップトップバッテリーが充電器やホストと通信する方法を定義する標準であるスマートバッテリー仕様(SBS)の基盤となりました。

エンジニアがSMBusを選ぶ理由:

既製の充電器と通信する必要があるものを構築している場合、SMBusが答えです。スマートバッテリー仕様は、読み取るべきレジスタを正確に定義しています:残容量には0x09、バッテリーステータスには0x0F、サイクル数には0x17、といった具合です。SBSを実装したBMSは、カスタムファームウェアなしでSBS準拠の充電器と動作します。

SMBusは生のI2Cよりも厳格な電気的仕様も持っています——定義された電圧レベル、タイムアウト動作、必須のエラー復旧メカニズムです。基盤となるプロトコルは似て見えても、これにより実際にはより堅牢になります。

IEC 62133またはUL 2054認証を求める医療用ハンドヘルド機器の場合、完全なSBS実装を伴うSMBusは、認証機関が理解している十分に文書化された通信インターフェースを提供します。これによりコンプライアンス文書を大幅に簡素化できます。

SMBusが不適切な場合:

SMBusは低速(標準100 kHz、高速モードで400 kHz)で、通信距離も短いです。オンボード通信—BMSから充電器IC、ホストMCUまで、すべて同じPCB上または短いケーブルで接続—のために設計されています。電気的にノイズの多い環境で約30cmを超えるケーブルでSMBusを使用すると、通信エラーが発生し始めます。

SMBusは複数のマスターにもうまく対応しません。充電器とホストコントローラーの両方が同時にBMSに問い合わせる必要があるシステムでは、ファームウェアで慎重なバス調停ロジックが必要になります。

I2C:柔軟だが脆弱

I2C(Inter-Integrated Circuit)は、SMBusと多くのBMSインターフェースの両方の祖先です。7ビットアドレスを使用して同じバス上で複数のデバイスをサポートする2線プロトコル(SDAとSCL)です。

エンジニアがI2Cを選ぶ理由:

I2Cはどこにでもあります。ほぼすべてのBMS IC——Texas Instruments BQシリーズ、Maxim DS2782、Renesas ISL9238——がI2Cインターフェースを公開しています。既製のスマートバッテリーを購入するのではなくカスタムBMS設計を行う場合、ほぼ確実にI2C経由でセル電圧と温度を読み取ることになります。

I2Cは実装も簡単です。ほとんどのマイクロコントローラーにはハードウェアI2Cペリフェラルがあり、ArduinoからSTM32、ESP32まであらゆるプラットフォーム向けのライブラリがあります。初めてカスタムバッテリーパックを製作するドローンスタートアップにとって、午後の時間でI2C経由のセル電圧テレメトリーを取得することは現実的です。

I2Cが不適切な場合:

I2Cには、受信側からのACK/NACK以外の組み込みエラー検出がありません。ブラシレスモーター、スイッチングレギュレーター、大電流放電の近くなどノイズの多い環境では、何も問題がなかったかのように見えるデータ破損が発生する可能性があります。SOC読み取り値が無意味な値になっていても、ファームウェアはそれを認識しません。

I2Cには厳しい容量制限もあります。バス容量の上限は400pFで、標準速度ではケーブル長がおよそ1メートルに制限されます。BMSとホストコントローラーが同じ基板上にないシステムでは、I2Cは問題になります。

プロトコル選定ガイド

CAN Bus SMBus I2C
最適用途 AGV、マルチパックシステム、産業用ロボット 医療機器、SBS準拠充電器 カスタムBMS設計、同一基板通信
ノイズ耐性 優秀 良好 弱い
ケーブル長 最大40m 1m未満 1m未満
速度 最大1 Mbps 100-400 kHz 100 kHz - 3.4 MHz
コスト 高め(トランシーバーIC) 低い 非常に低い
認証への適合性 CANopenは文書化が充実 SBSは認証機関に理解されている カスタム、より多くの文書が必要
マルチノード 優秀 限定的 良好

用途別の実践的推奨事項

ドローン / UAV: プロトタイプにはまずI2Cから始めましょう——実装が速く、ドローン内部の短距離通信には十分です。飛行コントローラーとバッテリーが30cm以上離れた大型プラットフォーム(10kg超)を構築する場合、またはUAVCANを想定するPX4のような標準オートパイロットと統合する場合は、CAN Busに移行してください。

地上ロボット / AGV: 初日からCAN Busを使用してください。モーターノイズだけでI2CやSMBusに問題が発生します。既製のロボットコントローラーとの最大限の互換性のために、CANopen DS401を使用してください。

医療用ハンドヘルド機器: 完全なスマートバッテリー仕様実装を伴うSMBus。認証機関はそれを期待しており、充電器ICはおそらく既にそれをサポートしており、短いケーブル距離はSMBusの制限に適合します。

電動小型車両(電動スクーター、電動自転車、軽量EV): BMSと車両コントローラーが分離しているものにはCAN Busを。バッテリーからコントローラーまでの配線は通常、I2CやSMBusが信頼性を保つには長すぎます。

プロトコルを指定したパックのご依頼

Sky Power (US)にカスタムパックの見積もりをご依頼いただく際は、事前に通信プロトコルの要件をご指定ください。当社の標準構成には以下が含まれます:

  • SKP-18650 / SKP-21700シリーズ: BMSファームウェアでI2CまたはSMBusを選択可能
  • SKP-48V AGVシリーズ: CAN Bus(CANopen DS401)標準、I2Cも選択可能
  • SKP医療シリーズ: 完全なSBS 1.1実装を伴うSMBus、IEC 62133およびUL認証取得済み

すべてのパックは標準でUN38.3およびCE認証を取得しています。他の認証にも対応可能です。承認された仕様からのリードタイムは通常10週間で、開発ビルドのMOQは50パックからです。

パック構成の無料熱シミュレーションを実行する →

Free Tool

Simulate Your Battery Pack

Run a free certified thermal simulation and download a verification report for your engineering team.

Launch Simulator →