CAN sabirnica objašnjena: kako kontroleri, BMS i zasloni komuniciraju

Na modernom električnom stroju, elementi ne razmjenjuju samo snagu: oni razmjenjuju informacije. Kontroler želi znati stanje baterije, zaslon brzinu i temperature, drugi kontroler želi zadanu vrijednost od prvog. Najrašireniji način za to dolazi iz automobilske industrije: CAN sabirnica. Ovaj vodič objašnjava kako ona funkcionira i kako je ožičiti bez pogrešaka.

Osnove

  • CAN povezuje više uređaja na istom paru upredenih žica, zvanih CAN high i CAN low.
  • Potreban je otpornik od 120 ohma na svakom od dva kraja sabirnice, i to samo na krajevima.
  • Svaka poruka nosi identifikator koji služi i kao prioritet: najvažnija poruka uvijek prolazi prva.
  • Svi uređaji moraju koristiti istu brzinu komunikacije.

Sabirnica, a ne veza

Klasična serijska veza povezuje dva uređaja. CAN je, s druge strane, sabirnica: svi uređaji su spojeni na iste dvije žice i svatko može razgovarati sa svima. Za dodavanje uređaja, spajate se na sabirnicu bez povlačenja novog kabela do kontrolera. To je ono što ju je nametnulo u automobilskoj industriji, gdje desetci računala dijele nekoliko parova žica.

Na lakom vozilu obično se nalaze jedan ili više kontrolera, BMS baterije, zaslon, telemetrijski modul ili punjač.

Dvije žice, jedna razlika

CAN koristi par žica, CAN high i CAN low. Informacija se ne prenosi naponom žice u odnosu na masu, već razlikom između njih:

  • u stanju mirovanja („recesivni” bit), obje žice su na istom naponu, otprilike polovica napona napajanja kruga;
  • za odašiljanje „dominantnog” bita, odašiljač razmiče dvije žice: gornja raste, donja pada.

Električna smetnja, poput one od kontrolera koji prekida stotine ampera, utječe na obje žice na isti način. Njihova razlika ostaje netaknuta. To čini CAN tako robusnim u bučnom električnom okruženju, pod uvjetom da su dvije žice upredene zajedno.

Završni otpornici

CAN sabirnica mora imati otpor od 120 ohma između CAN high i CAN low na svakom od svoja dva fizička kraja. Oni sprječavaju odbijanje signala na kraju kabela i vraćaju sabirnicu u stanje mirovanja.

  • Dobro terminirana sabirnica: mjerenjem između CAN high i CAN low, s isključenim uređajima, dobiva se oko 60 ohma (dva puta 120 ohma paralelno).
  • Oko 120 ohma: nedostaje jedan završni otpornik.
  • Vrijednost znatno manja od 60 ohma: ima previše završnih otpornika, često zato što je nekoliko uređaja aktiviralo svoje.

Nedostajući ili suvišni završni otpornik glavni je uzrok nestabilne komunikacije.

Identifikatori i prioriteti

Svaka CAN poruka nosi identifikator, broj koji govori o čemu se radi (na primjer „stanje baterije” ili „zadana vrijednost prednjeg motora”). Uređaji čitaju sve poruke i zadržavaju samo one koje ih zanimaju.

Kada dva uređaja počnu odašiljati u isto vrijeme, uspoređuju svoje identifikatore bit po bit, izravno na žici. Dominantni bit briše recesivni bit: onaj koji odašilje recesivni bit i očita dominantni bit shvaća da je izgubio i šuti. Najmanji identifikator uvijek pobjeđuje, bez oštećenja ijedne poruke. To se naziva arbitraža: kritične poruke dobivaju najmanje identifikatore.

Ugrađena pouzdanost

  • Svaka poruka sadrži kontrolni kod: oštećena poruka se detektira i ponovno šalje.
  • Svaki prijamnik potvrđuje uspješan prijam bitom potvrde.
  • Uređaj koji akumulira pogreške automatski se povlači kako ne bi blokirao cijelu sabirnicu.

Brzina sabirnice

Svi uređaji na sabirnici moraju koristiti istu brzinu. Najčešće vrijednosti su 250 i 500 kilobita u sekundi, ponekad 1 megabit. Što je sabirnica brža, to je njezina maksimalna duljina kraća, ali na lakom vozilu, od nekoliko metara najviše, duljina nikada nije ograničenje. Novija verzija, CAN FD, prenosi više podataka po poruci pri većoj brzini.

Primjer: dva povezana kontrolera

Na romobilu s dva motora, dva kontrolera povezana putem CAN-a ponašaju se kao jedan: onaj koji prima signal s gasa prenosi zadanu vrijednost drugom, a jedan softver za podešavanje vidi oba. To je slučaj s VESC kontrolerima, predstavljenim u našem vodiču VESC objašnjen jednostavno.

Savjet iz radionice

Uvijek zajedno upredite CAN high i CAN low, držite ih podalje od faznih kabela i provjerite 60 ohma multimetrom prije prvog uključivanja. Pet minuta provjere štedi sate traženja povremene komunikacije.

Česta pitanja

Prenosi li CAN struju za napajanje uređaja?

Ne, CAN par prenosi samo informacije. Uređaji imaju vlastito napajanje, ponekad osigurano drugim žicama u istom kabelu.

Zašto moja CAN komunikacija radi povremeno?

Najčešći uzroci su nedostajući ili suvišni završni otpornik, neupredene žice koje prolaze blizu kabela za napajanje, istrošen konektor ili dva uređaja koja nemaju istu brzinu sabirnice.

Mogu li se bilo koji CAN uređaji spojiti zajedno?

Električki da, ako dijele brzinu sabirnice. Ali da bi se razumjeli, moraju govoriti istim „jezikom”: isti identifikatori i isti sadržaj poruka. Dvije različite marke se ne razumiju bez prilagodbe.