Gdy sterownik silnika, falownik, czujnik i panel operatorski muszą wymieniać dane bez plątaniny osobnych przewodów, potrzebna jest dobrze zaprojektowana magistrala komunikacyjna. Magistrala CAN, opisywana też angielskim określeniem can bus, pozwala połączyć wiele urządzeń dwiema liniami i zapewniać im odporną na zakłócenia wymianę informacji. Wyjaśniam, jak działa, z czego się składa, jak ją poprawnie zakończyć, czym różni się CAN FD oraz jak diagnozować typowe problemy w automatyce i technice warsztatowej.
Najważniejsze informacje o magistrali CAN w jednym miejscu
- Dwie linie różnicowe, CAN_H i CAN_L, przenoszą dane oraz pomagają ograniczyć wpływ zakłóceń.
- W klasycznej wersji pojedyncza ramka zawiera maksymalnie 8 bajtów danych.
- Na obu fizycznych końcach sieci powinien znajdować się rezystor 120 Ω, a pomiar całej, wyłączonej sieci zwykle daje około 60 Ω.
- O dostępie do medium decyduje priorytet identyfikatora, a nie kolejność zgłoszeń urządzeń.
- CAN FD zwiększa długość danych do 64 bajtów i może przyspieszyć transmisję w fazie danych.
- Najczęstsze przyczyny awarii to zła terminacja, topologia gwiazdy, brak wspólnej masy albo niezgodna prędkość transmisji.
Czym jest magistrala CAN i dlaczego stosuje się ją w automatyce
CAN to szeregowy system komunikacji dla wielu sterowników, znany jako Controller Area Network. Każde urządzenie w sieci może odbierać wszystkie ramki, ale reaguje tylko na te, których identyfikatory są dla niego istotne. Dzięki temu nie trzeba prowadzić osobnego przewodu od każdego czujnika do każdego sterownika.
W praktyce oznacza to mniej kabli, prostsze rozbudowywanie instalacji i lepszą odporność na awarie pojedynczych elementów. Jeden przewód może przenosić temperaturę, prędkość obrotową, położenie zaworu albo status falownika, a pozostałe urządzenia korzystają z tych danych bez dodatkowych połączeń punkt-punkt.
Nie traktuję jednak CAN jako uniwersalnego zamiennika Ethernetu przemysłowego. Magistrala najlepiej sprawdza się tam, gdzie przesyłane są krótkie komunikaty sterujące i pomiarowe, a nie duże pliki, obrazy czy rozbudowane dane procesowe.
Najważniejsza jest komunikacja rozproszona
W typowym układzie nie ma jednego nadrzędnego komputera, który przydziela każdemu urządzeniu osobną kolejkę. Wszystkie węzły nasłuchują wspólnego medium, a ten, który chce nadać, rozpoczyna arbitraż. To dobrze pasuje do maszyn, pojazdów i stanowisk, w których wiele sterowników musi reagować niemal równocześnie.
Warstwa fizyczna wykorzystuje zwykle skręconą parę przewodów. Sygnał jest różnicowy, więc odbiornik analizuje różnicę napięć między CAN_H i CAN_L, a nie tylko napięcie jednej żyły względem masy. Zakłócenie indukujące się podobnie w obu przewodach może zostać w dużej mierze odrzucone.
Co naprawdę daje CAN w warsztacie i maszynie
- ograniczenie liczby przewodów między sterownikami,
- wykrywanie błędów transmisji bez dodatkowego systemu kontrolnego,
- możliwość dołączania kolejnych węzłów do wspólnej magistrali,
- określanie priorytetu komunikatów,
- pracę w środowisku z silnikami, stycznikami i przetwornicami, pod warunkiem poprawnego projektu instalacji.
Właśnie ta odporność sprawiła, że rozwiązanie zadomowiło się w samochodach, maszynach mobilnych, sterownikach napędów, aparaturze medycznej i automatyce. Sama obecność protokołu nie gwarantuje jednak sukcesu. Źle poprowadzona magistrala potrafi działać poprawnie na stole, a po zamontowaniu w maszynie generować lawinę błędów.
Jak przebiega przesyłanie danych po CAN
Urządzenie podłączone do sieci nazywa się węzłem. Składa się najczęściej z kontrolera CAN, który tworzy i analizuje ramki, oraz transceivera, który zamienia sygnały logiczne na sygnał różnicowy w przewodzie.
W klasycznej ramce znajduje się między innymi identyfikator, pole danych, kontrola CRC i bit potwierdzenia ACK. Identyfikator nie musi oznaczać adresu konkretnego urządzenia. Często opisuje rodzaj informacji, na przykład prędkość silnika albo stan hamulca.
Arbitraż bez kolizji
CAN wykorzystuje dwa stany logiczne. Stan dominujący nadpisuje stan recesywny. Podczas arbitrażu każdy nadający węzeł obserwuje magistralę i porównuje to, co wysłał, z tym, co faktycznie pojawiło się na przewodach.
Jeżeli urządzenie wyśle bit recesywny, a wykryje dominujący, wycofuje się z nadawania bez uszkodzenia ramki. W efekcie niższy identyfikator ma wyższy priorytet. Sterowanie hamulcem lub funkcją bezpieczeństwa może więc uzyskać dostęp przed komunikatem diagnostycznym.
To rozwiązanie jest jedną z największych zalet protokołu, ale wymaga rozsądnego planowania identyfikatorów. Jeżeli komunikat o niskim numerze jest nadawany zbyt często, pozostałe dane mogą czekać za długo. W systemach automatyki trzeba kontrolować obciążenie magistrali, a nie tylko sprawdzić, czy pojedyncza ramka dociera do celu.
Mechanizmy wykrywania błędów
Kontroler kontroluje między innymi format ramki, zgodność bitów, sumę CRC oraz potwierdzenie odbioru. Po wykryciu problemu wysyła ramkę błędu, dzięki czemu pozostałe węzły wiedzą, że dana transmisja wymaga powtórzenia.
Urządzenie, które stale generuje błędy, przechodzi przez stany error active, error passive i bus-off. Ostatni z nich oznacza odłączenie logiczne od magistrali. To ważna wskazówka diagnostyczna, ponieważ bus-off nie wskazuje jednej konkretnej usterki. Przyczyną może być zwarcie przewodów, brak terminacji, zła prędkość, uszkodzony transceiver albo zakłócenia.
Okablowanie i terminacja decydują o stabilności
Najczęściej stosowana sieć CAN ma strukturę liniową. Główny przewód biegnie od jednego końca do drugiego, a urządzenia są do niego dołączane krótkimi odgałęzieniami. Rozbudowana gwiazda wygląda wygodnie podczas montażu, ale powoduje odbicia sygnału i często staje się źródłem trudnych do powtórzenia błędów.
Na obu końcach magistrali montuje się rezystory o wartości nominalnej 120 Ω. Ich zadaniem jest dopasowanie impedancji przewodu i ograniczenie odbić. Nie montuje się trzeciego rezystora przy każdym sterowniku, ponieważ dodatkowe obciążenie może osłabić sygnał.
| Element instalacji | Praktyczna zasada | Skutek błędu |
|---|---|---|
| Przewód | Skręcona para o impedancji około 120 Ω | Większa podatność na zakłócenia i odbicia |
| Terminacja | Dwa rezystory 120 Ω na fizycznych końcach | Błędy ramek, niestabilna praca, bus-off |
| Odgałęzienia | Możliwie krótkie, szczególnie przy dużej prędkości | Zniekształcenia przebiegu i odbicia |
| Masa odniesienia | Wspólna lub prawidłowo rozwiązana zgodnie z projektem | Problemy z poziomami napięć i komunikacją |
Jak sprawdzić rezystancję sieci
Przy wyłączonym zasilaniu mierzę rezystancję między CAN_H i CAN_L. Dwie rezystancje 120 Ω połączone równolegle powinny dać około 60 Ω. Odczyt w pobliżu 120 Ω zwykle sugeruje brak jednego zakończenia, a bardzo niska wartość może oznaczać zbyt wiele aktywnych terminatorów lub zwarcie.
Ten pomiar jest dobrym pierwszym krokiem, ale nie zastąpi oscyloskopu. Prawidłowe 60 Ω nie wyklucza złego przewodu, uszkodzonego transceivera, zbyt długich odgałęzień ani zakłóceń pojawiających się dopiero podczas pracy silnika.
W praktyce często spotykam też terminatory wbudowane w moduły i adaptery USB-CAN. Trzeba sprawdzić, czy są aktywowane przełącznikiem lub zworką. Podłączenie kilku takich urządzeń może obniżyć rezystancję całej sieci i przeciążyć nadajniki.

Klasyczny CAN i CAN FD nie są tym samym
Klasyczny CAN, często kojarzony z CAN 2.0, może pracować z prędkością do 1 Mbit/s, choć rzeczywista wartość zależy od długości przewodu, transceiverów i jakości instalacji. Pojedyncza ramka przenosi do 8 bajtów danych, dlatego większe informacje trzeba dzielić na kilka komunikatów.
CAN FD rozszerza ten mechanizm. Pojedyncza ramka może przenieść do 64 bajtów, a po zakończeniu arbitrażu transmisja danych może odbywać się z większą prędkością. Przyspiesza to aktualizacje oprogramowania, diagnostykę i przesyłanie większych bloków danych.
| Cecha | Klasyczny CAN | CAN FD |
|---|---|---|
| Maksymalna długość danych w ramce | 8 bajtów | 64 bajty |
| Prędkość | Zwykle do 1 Mbit/s | Wyższa w fazie danych, zależnie od urządzeń i sieci |
| Zastosowanie | Sterowanie, pomiary, prosta diagnostyka | Większe pakiety, programowanie, nowoczesne sterowniki |
| Kompatybilność | Obsługuje ramki klasyczne | Może obsługiwać ramki klasyczne, ale nie każdy stary węzeł przyjmie ramkę FD |
Nie wystarczy wymienić jednego kontrolera na wersję FD. Cała ścieżka transmisji musi poprawnie obsługiwać nowy format, a parametry czasowe powinny być dobrane do długości przewodu i topologii. W mieszanej instalacji trzeba szczególnie uważać, ponieważ klasyczny węzeł może potraktować ramkę FD jako błąd.
W automatyce spotyka się także warstwy wyższe, takie jak CANopen, J1939 czy DeviceNet. Sam CAN określa głównie sposób przesyłania ramek, natomiast warstwa aplikacyjna ustala znaczenie danych, adresowanie, profile urządzeń i procedury diagnostyczne.
Diagnostyka magistrali krok po kroku
Do podstawowej kontroli wystarczą multimetr, dokumentacja instalacji i interfejs USB-CAN. Przy trudniejszych usterkach bardzo pomaga oscyloskop, ponieważ pokazuje nie tylko obecność ramek, ale też jakość zboczy, poziomy napięć i odbicia.
- Odłącz zasilanie i zmierz rezystancję między CAN_H a CAN_L.
- Sprawdź, czy są dokładnie dwa terminatory i czy znajdują się na końcach głównego przewodu.
- Zweryfikuj ciągłość CAN_H, CAN_L oraz przewodu odniesienia.
- Porównaj prędkość transmisji, tryb ramek i ustawienia filtrów we wszystkich urządzeniach.
- Odłączaj węzły pojedynczo, aby ustalić, czy jeden moduł nie blokuje całej sieci.
- Przeanalizuj liczniki błędów i przyczynę przejścia sterownika w bus-off.
Objawy i ich prawdopodobne przyczyny
| Objaw | Co sprawdzić najpierw |
|---|---|
| Brak komunikacji ze wszystkimi urządzeniami | Zasilanie, masę, zwarcie CAN_H z CAN_L i wspólną prędkość |
| Komunikacja działa tylko przy małej prędkości | Terminację, długość odgałęzień, przewód i odbicia |
| Okresowe zaniki podczas pracy napędu | Ekranowanie, prowadzenie przewodów, uziemienie i zakłócenia EMC |
| Jeden moduł wywołuje błędy całej sieci | Transceiver, zasilanie modułu i jego terminator |
| Interfejs widzi ramki, ale aplikacja ich nie rozumie | Identyfikatory, format danych, kolejność bajtów i warstwę CANopen lub J1939 |
Początkujący często zaczynają od wymiany sterownika, choć problem leży w przewodach. Ja najpierw sprawdzam fizyczną warstwę i parametry transmisji, dopiero potem analizuję mapę danych. Nowy moduł nie naprawi złej terminacji, a przypadkowa zmiana prędkości może tylko zamaskować problem na krótkim odcinku.
Gdzie CAN sprawdza się najlepiej
W pojazdach magistrala łączy sterowniki silnika, skrzyni biegów, układu hamulcowego, nadwozia i diagnostyki. W maszynach mobilnych może wymieniać dane między joystickiem, sterownikiem hydrauliki, czujnikami położenia i napędem.
W automatyce stacjonarnej CANopen jest popularny w modułach wejść i wyjść, napędach, enkoderach oraz małych sterownikach. Jego mocną stroną jest dostępność gotowych profili urządzeń, dzięki którym integrator nie musi od początku definiować każdej funkcji komunikacyjnej.
Wybrałbym CAN wtedy, gdy potrzebne są krótkie, cykliczne i odporne komunikaty, a długość sieci pozostaje rozsądna. Ethernet przemysłowy będzie lepszy przy dużej przepustowości, synchronizacji czasu, diagnostyce na poziomie sieci lub przesyłaniu dużych bloków danych.
Przeczytaj również: Automatyka i Robotyka - Praca, zarobki, kariera. Jak zacząć?
Prędkość a długość przewodu
Nie ma jednej wartości pasującej do każdej instalacji. Orientacyjnie 1 Mbit/s stosuje się na krótkich odcinkach, około 500 kbit/s na sieciach rzędu 100 metrów, a niższe prędkości pozwalają zwiększyć zasięg. Są to wartości projektowe, nie gwarancja działania, ponieważ znaczenie mają także odgałęzienia, opóźnienia transceiverów i jakość przewodu.
W długiej maszynie często lepiej obniżyć szybkość i uzyskać stabilną transmisję niż forsować najwyższą wartość z dokumentacji kontrolera. Stabilne 250 kbit/s jest w realnym układzie bardziej użyteczne niż 1 Mbit/s, które generuje błędy przy każdym załączeniu stycznika.
Co sprawdzić przed uruchomieniem nowej sieci
Przed włączeniem zasilania przygotowuję prosty plan: lista węzłów, długość magistrali, prędkość, identyfikatory, lokalizacja terminatorów i sposób prowadzenia przewodu. Taka kartka potrafi oszczędzić wiele godzin, zwłaszcza gdy kilka urządzeń ma podobne złącza.
- Ułóż przewód jako linię główną, a nie przypadkową gwiazdę.
- Umieść po jednym rezystorze 120 Ω na każdym końcu.
- Trzymaj przewód CAN z dala od kabli silnikowych i przewodów falownika.
- Ustal identyczną prędkość i ustawienia bit timing we wszystkich węzłach.
- Nie podłączaj nieznanych terminatorów w adapterach diagnostycznych.
- Sprawdź, czy przewód odniesienia i ekran są podłączone zgodnie z projektem EMC.
- Uruchamiaj sieć etapami, zaczynając od dwóch urządzeń i dwóch zakończeń.
Najwięcej problemów pojawia się wtedy, gdy instalacja jest rozbudowywana bez kontroli obciążenia i topologii. Każdy dodatkowy moduł powinien mieć określoną funkcję, identyfikator oraz wpływ na czas zajęcia magistrali. Dzięki temu CAN pozostaje przewidywalnym narzędziem sterowania, a nie czarną skrzynką reagującą losowo.
Od poprawnej terminacji zaczyna się spokojna praca CAN
Najważniejszy wniosek jest prosty: niezawodność zależy nie tylko od protokołu, lecz także od przewodów, terminacji, parametrów czasowych i jakości zasilania. Dwie linie CAN_H i CAN_L, właściwa topologia oraz dwa rezystory 120 Ω rozwiązują dużą część typowych problemów jeszcze przed użyciem oscyloskopu.
Jeżeli sieć ma obsługiwać większe pakiety lub aktualizacje oprogramowania, warto rozważyć CAN FD, ale dopiero po sprawdzeniu kompatybilności wszystkich urządzeń. W małej maszynie lub stanowisku warsztatowym dobrze zaprojektowany klasyczny CAN nadal bywa rozwiązaniem prostym, trwałym i w zupełności wystarczającym.