Razlaga vodila CAN: kako komunicirajo krmilniki, BMS in zasloni
Pri sodobnem električnem stroju elementi ne izmenjujejo le moči, temveč tudi informacije. Krmilnik želi poznati stanje baterije, zaslon hitrost in temperature, drugi krmilnik pa nastavitve prvega. Najpogostejši način za to prihaja iz avtomobilske industrije: vodilo CAN. Ta vodnik pojasnjuje, kako deluje in kako ga pravilno ožičiti.
Bistvo
- CAN povezuje več naprav na istem paru sukanih žic, imenovanih CAN high in CAN low.
- Na obeh koncih vodila je potreben 120-ohmski upor, in sicer samo na koncih.
- Vsako sporočilo nosi identifikator, ki služi tudi kot prioriteta: najpomembnejše gre vedno naprej.
- Vse naprave morajo uporabljati enako komunikacijsko hitrost.
Vodilo, ne povezava
Klasična serijska povezava povezuje dve napravi. CAN pa je vodilo: vse naprave so priključene na isti dve žici in vsaka lahko komunicira z vsemi. Za dodajanje naprave se preprosto priključite na vodilo, ne da bi morali vleči nov kabel do krmilnika. To je razlog, da se je uveljavilo v avtomobilski industriji, kjer si na desetine krmilnih enot deli nekaj parov žic.
Na lahkem vozilu običajno najdemo enega ali več krmilnikov, BMS baterije, zaslon, telemetrijski modul ali polnilnik.
Dve žici, ena razlika
CAN uporablja par žic, CAN high in CAN low. Informacija se ne prenaša z napetostjo žice glede na maso, temveč z razliko med obema:
- v stanju mirovanja (»recesivni« bit) sta obe žici pod enako napetostjo, približno polovico napajalne napetosti vezja;
- za oddajanje »dominantnega« bita oddajnik razmakne obe žici: visoka napetost naraste, nizka pade.
Električna motnja, kot je tista pri krmilniku, ki preklaplja na stotine amperov, vpliva na obe žici enako. Razlika med njima pa ostane nespremenjena. Zaradi tega je CAN tako robusten v električno hrupnem okolju, pod pogojem, da sta žici med seboj sukana.
Zaključni upori
Vodilo CAN mora imeti na obeh fizičnih koncih 120-ohmski upor med CAN high in CAN low. Preprečujejo odboj signalov na koncu kabla in vodilo vrnejo v stanje mirovanja.
- Dobro zaključeno vodilo: pri merjenju med CAN high in CAN low, ko so naprave izklopljene, dobimo približno 60 ohmov (dvakrat 120 ohmov vzporedno).
- Približno 120 ohmov: manjka ena zaključna upornost.
- Vrednost, ki je bistveno nižja od 60 ohmov: preveč zaključnih upornosti, pogosto zato, ker ima več naprav aktivirano svojo.
Manjkajoča ali odvečna zaključna upornost je glavni vzrok za nestabilno komunikacijo.
Identifikatorji in prioritete
Vsako sporočilo CAN nosi identifikator, številko, ki pove, o čem govori (na primer »stanje baterije« ali »nastavitev sprednjega motorja«). Naprave berejo vsa sporočila in obdržijo le tista, ki jih zanimajo.
Ko dve napravi začneta oddajati hkrati, primerjata svoja identifikatorja bit za bitom, neposredno na žici. Dominantni bit preglasi recesivni bit: tisti, ki odda recesivni bit in prebere dominantnega, razume, da je izgubil, in utihne. Najmanjši identifikator vedno zmaga, ne da bi se pri tem poškodovalo katero koli sporočilo. Temu pravimo arbitraža: kritična sporočila prejmejo najmanjše identifikatorje.
Vgrajena zanesljivost
- Vsako sporočilo vsebuje kontrolno kodo: poškodovano sporočilo se zazna in ponovno pošlje.
- Vsak sprejemnik potrdi uspešen sprejem z bitom za potrditev (ACK).
- Naprava, ki kopiči napake, se sama umakne, da ne blokira celotnega vodila.
Hitrost vodila
Vse naprave na vodilu morajo uporabljati enako hitrost. Najpogostejši vrednosti sta 250 in 500 kilobitov na sekundo, včasih 1 megabit. Hitrejše kot je vodilo, krajša je njegova največja dolžina, vendar na lahkem vozilu, ki meri največ nekaj metrov, dolžina nikoli ni omejitev. Novejša različica, CAN FD, prenaša več podatkov na sporočilo pri višji hitrosti.
Primer: povezana dva krmilnika
Na skiroju z dvema motorjema se dva krmilnika, povezana prek CAN, obnašata kot eden: tisti, ki prejme signal za plin, prenese nastavitve na drugega in ena programska oprema za nastavitve vidi oba. To velja za krmilnike VESC, predstavljene v našem vodniku VESC preprosto razložen.
Nasvet iz delavnice
Vedno sučite CAN high in CAN low skupaj, držite ju stran od faznih kablov in pred prvim vklopom z multimetrom preverite 60 ohmov. Pet minut preverjanja prepreči ure iskanja občasnih komunikacijskih težav.
Pogosta vprašanja
Ali CAN prenaša tok za napajanje naprav?
Ne, par CAN prenaša le informacije. Naprave imajo lastno napajanje, ki ga včasih zagotavljajo druge žice v istem kablu.
Zakaj moja komunikacija CAN deluje občasno?
Najpogostejši vzroki so manjkajoča ali odvečna zaključna upornost, nesukane žice, ki potekajo blizu napajalnih kablov, obrabljen konektor ali dve napravi, ki nimata enake hitrosti vodila.
Ali lahko povežem katero koli napravo CAN skupaj?
Električno da, če si delijo hitrost vodila. Vendar morajo za medsebojno razumevanje govoriti isti »jezik«: enake identifikatorje in enako vsebino sporočil. Dve različni znamki se brez prilagoditve ne razumeta.