Beim Entwurf eines Akkupacks für einen Roboter, eine Drohne oder ein AGV erhalten Chemie und Zellformat die meiste Aufmerksamkeit. Aber das Kommunikationsprotokoll zwischen Ihrem Batteriemanagementsystem (BMS) und Ihrem Host-Controller ist ebenso kritisch — und genau dort machen viele Hardware-Startups spät in der Entwicklung teure Fehler.
Dieser Leitfaden behandelt die drei Protokolle, denen Sie am häufigsten begegnen werden: CAN Bus, SMBus und I2C. Wir betrachten, was jedes davon tatsächlich leistet, wo es glänzt und für welche Anwendungen es ungeeignet ist.
Was Leistet ein Batterie-Kommunikationsprotokoll Tatsächlich?
Bevor wir Protokolle vergleichen, lohnt es sich, präzise zu definieren, wovon wir sprechen. Ein Batterie-Kommunikationsprotokoll ermöglicht es Ihrem BMS, Ladezustand (SOC), Gesundheitszustand (SOH), Zellspannungen, Pack-Temperatur, Stromverbrauch, Fehlercodes und verbleibende Laufzeit an das Host-System zu melden. Es ermöglicht dem Host auch, Befehle zu senden — wie Ladefreigabe, Entladebegrenzung oder Notabschaltung.
Ohne diese Kommunikationsebene fliegt Ihr System blind. Sie erhalten eine Spannung auf der Stromschiene und sonst nichts. Das ist für ein einfaches RC-Flugzeug in Ordnung. Es ist nicht in Ordnung für ein medizinisches Gerät, einen autonomen Roboter oder jedes System, bei dem eine überraschende Abschaltung Schäden oder Verletzungen verursacht.
CAN Bus: Der Industriestandard
Das Controller Area Network (CAN Bus) wurde in den 1980er Jahren von Bosch für Automobilanwendungen entwickelt. Es ist ein differentieller Zweidraht-Bus (CANH und CANL), der mit Geschwindigkeiten bis zu 1 Mbps arbeitet und Dutzende von Knoten auf einem einzigen Bus unterstützt.
Warum Ingenieure CAN Bus wählen:
CAN Bus ist für elektrisch verrauschte Umgebungen konzipiert. Die differentielle Signalübertragung bedeutet, dass Gleichtaktstörungen — wie sie von Motorcontrollern, Wechselrichtern und Schaltnetzteilen erzeugt werden — am Empfänger unterdrückt werden. In einer AGV-Lagerhalle mit 20 gleichzeitig laufenden Motoren ist das enorm wichtig.
CAN Bus verfügt auch über eine integrierte Fehlererkennung auf Hardware-Ebene. Jede Nachricht enthält eine CRC, und das Protokoll handhabt automatisch die Bus-Arbitrierung, wenn mehrere Knoten gleichzeitig senden möchten. Sie müssen keine Kollisionserkennung in der Firmware implementieren — das Silizium übernimmt das.
Für Multi-Pack-Systeme — wie ein AGV mit einem 48V-Hauptpack und einem 24V-Hilfspack — ermöglicht CAN Bus beiden BMS-Einheiten, sich einen einzigen Zweidraht-Bus zurück zum Hauptcontroller zu teilen. SMBus und I2C würden separate Busse oder komplexes Multiplexing erfordern.
Wann CAN Bus ungeeignet ist:
CAN Bus erhöht Kosten und Komplexität. Sie benötigen CAN-Transceiver an beiden Enden, einen geeigneten 120Ω-Abschlusswiderstand an jedem Busende und Firmware, die CANopen oder ein benutzerdefiniertes Nachrichtenformat spricht. Für ein einfaches medizinisches Handgerät oder eine kleine Verbraucherdrohne, bei denen BMS und Host-MCU 5 cm voneinander entfernt auf derselben Platine sitzen, ist CAN Bus überdimensioniert.
Sky Power Packs mit CAN Bus: Unsere SKP-48V-Serie für AGV-Anwendungen wird standardmäßig mit CAN Bus als Schnittstelle ausgeliefert und läuft mit CANopen DS401 für die Kompatibilität mit Standard-Robotercontrollern.
SMBus: Der Smart-Battery-Standard
Der System Management Bus (SMBus) ist ein von I2C abgeleitetes Zweidraht-Protokoll, das 1995 von Intel entwickelt wurde. Er wurde zur Grundlage der Smart Battery Specification (SBS) — dem Standard, der definiert, wie Laptop-Akkus mit Ladegeräten und Hosts kommunizieren.
Warum Ingenieure SMBus wählen:
Wenn Sie etwas bauen, das mit handelsüblichen Ladegeräten kommunizieren muss, ist SMBus Ihre Antwort. Die Smart Battery Specification definiert genau, welche Register zu lesen sind: 0x09 für Restkapazität, 0x0F für Batteriestatus, 0x17 für Zyklenzahl, und so weiter. Ein BMS, das SBS implementiert, funktioniert mit jedem SBS-konformen Ladegerät ohne benutzerdefinierte Firmware.
SMBus hat auch strengere elektrische Spezifikationen als reines I2C — definierte Spannungspegel, Timeout-Verhalten und einen obligatorischen Fehlerbehebungsmechanismus. Dies macht es in der Praxis robuster, obwohl das zugrundeliegende Protokoll ähnlich erscheint.
Für medizinische Handgeräte, die eine IEC 62133- oder UL 2054-Zertifizierung anstreben, bietet SMBus mit einer vollständigen SBS-Implementierung eine gut dokumentierte Kommunikationsschnittstelle, die Zertifizierungsstellen verstehen. Dies kann Ihre Compliance-Dokumentation erheblich vereinfachen.
Wann SMBus ungeeignet ist:
SMBus ist langsam (100 kHz Standard, 400 kHz im Hochgeschwindigkeitsmodus) und für kurze Reichweiten ausgelegt. Es ist für die Kommunikation auf der Platine konzipiert — BMS zu Lade-IC zu Host-MCU, alles auf derselben Platine oder durch ein kurzes Kabel verbunden. Betreiben Sie SMBus über ein Kabel von mehr als etwa 30 cm in einer elektrisch verrauschten Umgebung, und Sie werden Kommunikationsfehler feststellen.
SMBus unterstützt auch mehrere Master nicht gut. In einem System, in dem sowohl ein Ladegerät als auch ein Host-Controller gleichzeitig das BMS abfragen müssen, benötigen Sie eine sorgfältige Bus-Arbitrierungslogik in der Firmware.
I2C: Flexibel, aber Anfällig
I2C (Inter-Integrated Circuit) ist der Großvater sowohl von SMBus als auch vieler BMS-Schnittstellen. Es ist ein Zweidraht-Protokoll (SDA und SCL), das mehrere Geräte auf demselben Bus mit 7-Bit-Adressen unterstützt.
Warum Ingenieure I2C wählen:
I2C ist überall. Fast jeder BMS-IC — Texas Instruments BQ-Serie, Maxim DS2782, Renesas ISL9238 — bietet eine I2C-Schnittstelle. Wenn Sie ein individuelles BMS-Design erstellen, anstatt eine vorgefertigte Smart Battery zu kaufen, werden Sie mit ziemlicher Sicherheit Zellspannungen und -temperaturen über I2C auslesen.
I2C ist auch einfach zu implementieren. Die meisten Mikrocontroller verfügen über Hardware-I2C-Peripherie, und es gibt Bibliotheken für jede Plattform von Arduino über STM32 bis ESP32. Für ein Drohnen-Startup, das seinen ersten individuellen Akkupack entwickelt, ist es realistisch, Zellspannungs-Telemetrie über I2C an einem Nachmittag zu erhalten.
Wann I2C ungeeignet ist:
I2C hat außer einem ACK/NACK vom Empfänger keine integrierte Fehlererkennung. In einer verrauschten Umgebung — in der Nähe eines bürstenlosen Motors, eines Schaltreglers oder einer Hochstromentladung — können Sie beschädigte Daten erhalten, ohne dass etwas darauf hinweist, dass etwas schiefgelaufen ist. Ihr SOC-Messwert könnte fehlerhaft sein, und Ihre Firmware wird es nicht wissen.
I2C hat auch strenge Kapazitätsgrenzen. Die Bus-Kapazitätsobergrenze liegt bei 400pF, was die Kabellänge bei Standardgeschwindigkeiten auf etwa 1 Meter begrenzt. Für jedes System, bei dem BMS und Host-Controller nicht auf derselben Platine sitzen, wird I2C problematisch.
Protokoll-Auswahlleitfaden
| CAN Bus | SMBus | I2C | |
|---|---|---|---|
| Am besten für | AGVs, Multi-Pack-Systeme, Industrieroboter | Medizingeräte, SBS-konforme Ladegeräte | Individuelles BMS-Design, Kommunikation auf derselben Platine |
| Störfestigkeit | Ausgezeichnet | Gut | Schlecht |
| Kabellänge | Bis zu 40m | <1m | <1m |
| Geschwindigkeit | Bis zu 1 Mbps | 100-400 kHz | 100 kHz - 3,4 MHz |
| Kosten | Höher (Transceiver-ICs) | Niedrig | Sehr niedrig |
| Zertifizierungsfreundlich | CANopen ist gut dokumentiert | SBS wird von Zertifizierungsstellen verstanden | Individuell, erfordert mehr Dokumentation |
| Multi-Knoten | Ausgezeichnet | Begrenzt | Gut |
Praxisempfehlungen nach Anwendung
Drohne / UAV: Beginnen Sie mit I2C für Ihren Prototyp — schnell zu implementieren und geeignet für die kurzen Distanzen innerhalb einer Drohne. Wechseln Sie zu CAN Bus, wenn Sie eine größere Plattform (>10 kg) bauen, bei der Flugcontroller und Batterie mehr als 30 cm voneinander entfernt sind, oder wenn Sie mit einem Standard-Autopiloten wie PX4 integrieren, der UAVCAN erwartet.
Bodenroboter / AGV: CAN Bus von Anfang an. Allein das Motorrauschen wird bei I2C oder SMBus Probleme verursachen. Verwenden Sie CANopen DS401 für maximale Kompatibilität mit handelsüblichen Robotercontrollern.
Medizinisches Handgerät: SMBus mit vollständiger Smart-Battery-Specification-Implementierung. Ihre Zertifizierungsstelle wird es erwarten, Ihr Lade-IC spricht es wahrscheinlich bereits, und die kurzen Kabelentfernungen sind für die Einschränkungen von SMBus geeignet.
Elektro-Kleinfahrzeug (E-Scooter, E-Bike, leichtes EV): CAN Bus für alles mit separatem BMS und Fahrzeugcontroller. Die Kabelführung von der Batterie zum Controller ist normalerweise zu lang, als dass I2C oder SMBus zuverlässig wären.
Ein Pack mit Ihren Protokollen Anfragen
Wenn Sie Sky Power (US) für ein individuelles Pack-Angebot kontaktieren, geben Sie Ihre Anforderung an das Kommunikationsprotokoll von vornherein an. Unsere Standardkonfigurationen werden geliefert mit:
- SKP-18650 / SKP-21700-Serie: I2C oder SMBus über BMS-Firmware wählbar
- SKP-48V AGV-Serie: CAN Bus (CANopen DS401) Standard, I2C verfügbar
- SKP Medizin-Serie: SMBus mit vollständiger SBS-1.1-Implementierung, IEC-62133- und UL-zertifiziert
Alle Packs sind standardmäßig UN38.3- und CE-zertifiziert. Wir können jedoch auch andere Zertifizierungen durchführen. Die Vorlaufzeit beträgt typischerweise 10 Wochen ab genehmigter Spezifikation, mit einer Mindestbestellmenge ab 50 Packs für Entwicklungsaufträge.
Führen Sie eine kostenlose thermische Simulation Ihrer Pack-Konfiguration durch →
Free Tool
Simulate Your Battery Pack
Run a free certified thermal simulation and download a verification report for your engineering team.
Launch Simulator →