Magistrala CAN w automatyce - terminacja, prędkość i diagnostyka

Gabriel Jakubowski .

11 sierpnia 2026

Schemat blokowy sterowników połączonych magistralą CAN. Pokazuje przepływ danych między modułami, z zaznaczonym przerwaniem przewodu CAN low.

Gdy kilka sterowników, czujników i napędów musi wymieniać dane bez prowadzenia osobnego przewodu do każdego urządzenia, najlepiej sprawdza się magistrala CAN. W tym artykule pokazuję, jak działa, z czego składa się fizyczna instalacja, jak dobierać terminację i prędkość oraz jak rozpoznawać błędy podczas uruchamiania automatyki.

Najważniejsze informacje o komunikacji CAN w praktyce

  • CAN umożliwia wymianę danych między wieloma urządzeniami za pomocą wspólnej, dwuprzewodowej magistrali.
  • Standardowa sieć high-speed CAN wymaga dwóch rezystorów 120 Ω, zamontowanych na fizycznych końcach przewodu.
  • O priorytecie wiadomości decyduje identyfikator ramki. Im niższa jego wartość, tym wyższy priorytet transmisji.
  • Przy prędkości 1 Mbit/s długość przewodu jest znacznie mniejsza niż przy 125 kbit/s.
  • CAN FD pozwala przesyłać większe porcje danych i przyspieszyć fazę transmisji danych.

Co to jest i gdzie wykorzystuje się magistralę CAN

CAN, czyli Controller Area Network, to cyfrowy system komunikacji przeznaczony do wymiany danych między urządzeniami pracującymi w jednej sieci. W odróżnieniu od prostego połączenia punkt-punkt wszystkie węzły mogą korzystać z tej samej pary przewodów, a każdy z nich nasłuchuje komunikatów pojawiających się na magistrali.

W automatyce oznacza to mniej okablowania, łatwiejszą rozbudowę i możliwość szybkiego przekazywania informacji o stanie maszyny. Jeden sterownik może wysyłać prędkość silnika, drugi temperaturę, a trzeci informację o błędzie. Pozostałe urządzenia odbiorą te dane tylko wtedy, gdy ich konfiguracja pozwala im je wykorzystać.

Spotykam ten standard przede wszystkim w sterownikach napędów, modułach I/O, maszynach mobilnych, robotach, systemach pomiarowych i pojazdach. W motoryzacji często występuje jako wewnętrzna sieć sterowników, natomiast w przemyśle popularne są protokoły wyższych warstw, takie jak CANopen czy J1939.

Trzeba od razu rozdzielić dwie rzeczy. CAN jest sposobem przesyłania ramek, ale sam nie określa znaczenia każdego bajtu. To protokół wyższej warstwy ustala, czy dana wiadomość oznacza temperaturę, pozycję siłownika albo stan alarmowy.

Jak przebiega komunikacja między urządzeniami

Każdy węzeł ma kontroler CAN oraz transceiver, czyli układ zamieniający dane logiczne na sygnał elektryczny w przewodach CAN_H i CAN_L. Urządzenia nie komunikują się na zasadzie stałego pytania i odpowiedzi. Mogą rozpocząć nadawanie, gdy magistrala jest wolna.

Jeżeli kilka modułów zacznie transmisję jednocześnie, nie dochodzi do przypadkowej kolizji. CAN wykorzystuje arbitraż bitowy. Ramka z niższym identyfikatorem ma wyższy priorytet i wygrywa dostęp do sieci, a pozostałe urządzenia przerywają nadawanie i próbują ponownie po zakończeniu ważniejszej wiadomości.

To rozwiązanie jest bardzo praktyczne w układach sterowania. Informacja o awaryjnym zatrzymaniu może mieć wyższy priorytet niż zwykły odczyt temperatury, dlatego zostanie przesłana wcześniej. Projektant powinien jednak uważać, aby nie nadać zbyt wielu ważnych ramek z najwyższym priorytetem, ponieważ mniej istotne komunikaty mogą wtedy długo czekać.

Co zawiera ramka CAN

Ramka składa się między innymi z identyfikatora, pola danych, informacji o długości danych, kontroli poprawności oraz bitu potwierdzenia ACK. W klasycznym CAN pole danych mieści do 8 bajtów. W CAN FD może mieć do 64 bajtów, co ułatwia przesyłanie większych struktur danych.

Identyfikator nie jest typowym adresem urządzenia. Najczęściej opisuje rodzaj informacji, na przykład prędkość silnika albo stan wejść. Dzięki temu wiele odbiorników może korzystać z jednej wiadomości, bez konieczności wysyłania jej osobno do każdego modułu.

Dlaczego CAN dobrze radzi sobie z błędami

Kontrolery sprawdzają między innymi CRC, format ramki, zgodność nadawanych i odczytywanych bitów oraz obecność potwierdzenia od odbiorników. Wykrycie błędu powoduje wysłanie specjalnej ramki błędu i zwykle automatyczne ponowienie transmisji.

Jeżeli konkretny węzeł generuje zbyt wiele problemów, jego licznik błędów rośnie. W skrajnym przypadku przechodzi w stan bus-off i odłącza się logicznie od sieci, aby nie zakłócać pracy pozostałych urządzeń. To cenna cecha, ale nie należy traktować jej jako naprawy problemu. Bus-off najczęściej wskazuje na błąd okablowania, zasilania, konfiguracji albo uszkodzony transceiver.

Jak poprawnie zbudować fizyczną sieć CAN

Najczęściej stosuje się topologię liniową. Urządzenia są dołączane do jednego głównego przewodu, a na jego obu końcach umieszcza się rezystory terminujące. Nie buduję sieci CAN jako pierścienia i unikam długich odgałęzień, ponieważ odbicia sygnału mogą powodować błędy szczególnie przy wyższych prędkościach.

Do połączenia CAN_H i CAN_L używa się skręconej pary przewodów o impedancji około 120 Ω. W środowisku z falownikami, stycznikami i silnikami warto zastosować przewód ekranowany, prawidłowo poprowadzić ekran oraz zadbać o wspólny potencjał odniesienia CAN GND, zgodnie z dokumentacją urządzeń.

Terminacja 120 Ω

Rezystory końcowe ograniczają odbicia fal elektrycznych. W typowej sieci high-speed CAN powinny znajdować się dokładnie dwa rezystory 120 Ω, po jednym na każdym fizycznym końcu przewodu. Trzeci aktywny terminator w środku sieci obciąża magistralę i często prowadzi do problemów z poziomami sygnału.

Przy wyłączonym zasilaniu pomiar między CAN_H i CAN_L powinien zwykle dać około 60 Ω, ponieważ dwa rezystory 120 Ω są połączone równolegle. Odczyt około 120 Ω może oznaczać brak jednego terminatora, a bardzo niska rezystancja sugeruje dodatkową terminację albo zwarcie.

Długość przewodu a prędkość transmisji

Im szybsza transmisja, tym mniej czasu pozostaje na propagację sygnału i ustabilizowanie jego poziomu. Podane niżej wartości są praktycznymi punktami odniesienia, ale ostateczny limit zależy również od przewodu, transceiverów, liczby węzłów i długości odgałęzień.

Prędkość transmisji Orientacyjna długość głównej magistrali Typowe zastosowanie
1 Mbit/s około 40 m krótkie, szybsze połączenia w maszynie
500 kbit/s około 100 m częsta prędkość w automatyce i motoryzacji
125 kbit/s około 500 m dłuższe instalacje z mniejszą ilością danych

Nie traktuję tych liczb jako gwarancji działania w każdej instalacji. Przy dużym poziomie zakłóceń, wielu odgałęzieniach lub słabej jakości przewodzie bezpieczniej jest zejść z prędkością i wykonać test oscyloskopem.

CAN, CAN FD i CANopen nie oznaczają tego samego

W dokumentacji urządzeń te nazwy bywają używane zamiennie, choć opisują różne poziomy rozwiązania. CAN Classic określa podstawowy sposób transmisji ramek, CAN FD rozszerza jego możliwości, a CANopen dodaje reguły organizacji urządzeń i wymiany danych.

Rozwiązanie Co zapewnia Na co uważać
CAN Classic Podstawowe ramki z polem danych do 8 bajtów Ograniczona ilość danych w jednej ramce
CAN FD Do 64 bajtów danych i szybsza faza danych Nie każdy klasyczny węzeł jest kompatybilny z CAN FD
CANopen Profile urządzeń, obiekty danych, konfigurację i diagnostykę Wymaga zgodności urządzeń z określonym profilem
J1939 Organizację komunikacji stosowaną między innymi w pojazdach ciężarowych i maszynach Ma własne zasady identyfikatorów i parametrów

To rozróżnienie ma znaczenie przy zakupie modułów. Dwa urządzenia wyposażone w złącze CAN nie muszą automatycznie rozumieć swoich danych. Mogą mieć inną prędkość bitową, inny format identyfikatorów albo zupełnie różny protokół aplikacyjny.

W praktyce zawsze sprawdzam cztery elementy: prędkość transmisji, format identyfikatora, mapę danych i terminację. Sam opis „CAN 2.0” na obudowie nie wystarcza do uruchomienia kompletnego układu.

Uruchomienie i diagnostyka krok po kroku

Najwięcej czasu traci się zwykle nie na programowanie, lecz na pominięcie podstawowych pomiarów. Przed podłączeniem wszystkich modułów warto uruchomić sieć w małej konfiguracji, najlepiej z jednym sterownikiem, jednym odbiornikiem i interfejsem diagnostycznym.

  1. Sprawdź dokumentację i ustaw identyczną prędkość bitową we wszystkich urządzeniach.
  2. Zweryfikuj przewody, szczególnie zamianę CAN_H z CAN_L oraz ciągłość masy.
  3. Zmierz rezystancję między liniami przy wyłączonym zasilaniu. Około 60 Ω oznacza prawidłową obecność dwóch terminatorów.
  4. Włącz tylko wymagane terminatory na końcowych urządzeniach. Wyłącz je w modułach znajdujących się w środku linii.
  5. Sprawdź identyfikatory, filtry odbioru i mapowanie danych.
  6. Obserwuj liczniki błędów oraz stan kontrolera, zwłaszcza ostrzeżenia error passive i bus-off.

Jeżeli sieć nie działa, zaczynam od najprostszych przyczyn. Zamienione przewody CAN_H i CAN_L, brak wspólnego odniesienia, trzy rezystory końcowe i różne prędkości transmisji odpowiadają za dużą część problemów spotykanych podczas pierwszego uruchomienia.

Przeczytaj również: Sterownik bezpieczeństwa maszyny - jak dobrać układ safety?

Co można sprawdzić multimetrem i oscyloskopem

Multimetr pozwala zweryfikować rezystancję, zwarcia do masy oraz podstawowe napięcia zasilające. Nie pokaże jednak jakości przebiegu podczas transmisji. Do wykrywania odbić, zaokrąglonych zboczy i zakłóceń przydaje się oscyloskop z sondami podłączonymi ostrożnie do CAN_H i CAN_L.

Przydatny jest również interfejs USB-CAN z funkcją podglądu ramek. Dzięki niemu można sprawdzić, czy wiadomości rzeczywiście pojawiają się na magistrali, czy mają właściwe identyfikatory i czy nie rośnie liczba błędów. Sam fakt, że diody na urządzeniu świecą, nie potwierdza poprawnej komunikacji.

Najczęstsze błędy projektowe i ich skutki

Jednym z częstszych błędów jest prowadzenie przewodu w układzie gwiazdy. Krótkie odgałęzienia zwykle są tolerowane, ale długie przewody boczne zachowują się jak dodatkowe linie transmisyjne i zwiększają ryzyko odbić. Przy większej prędkości nawet pozornie niewielkie odgałęzienie może pogorszyć margines czasowy.

Drugim problemem jest terminacja ustawiona „na wszelki wypadek” w każdym module. W efekcie rezystancja całej sieci spada, transceivery są nadmiernie obciążone, a sygnał może nie osiągać prawidłowych poziomów. Zawsze liczę fizyczne końce przewodu, a nie liczbę urządzeń.

Nie lekceważę też ekranowania i prowadzenia kabli. Przewód CAN biegnący równolegle przez długi odcinek z przewodami silnikowymi lub wyjściami falownika może zbierać zakłócenia. Pomaga separacja tras, skręcona para, poprawne uziemienie ekranu oraz ograniczenie długości odgałęzień.

Wreszcie, sama poprawna warstwa elektryczna nie rozwiąże problemu błędnego programu. Dwa sterowniki mogą wymieniać poprawne ramki, ale odczytywać bajty w innej kolejności, stosować inną skalę wartości albo używać identycznego identyfikatora do różnych celów. Dlatego dokumentacja mapy danych jest równie ważna jak schemat połączeń.

Co sprawdzić przed oddaniem instalacji do pracy

Przed zamknięciem szafy sterowniczej wykonuję test przy minimalnej i maksymalnej spodziewanej liczbie urządzeń. Sprawdzam komunikację po rozgrzaniu układu, podczas pracy napędów oraz przy najdłuższych przewodach, ponieważ błędy często pojawiają się dopiero pod obciążeniem.

  • Potwierdź zgodność prędkości bitowej wszystkich węzłów.
  • Zmierz około 60 Ω między CAN_H i CAN_L przy wyłączonym zasilaniu.
  • Upewnij się, że terminatory są tylko na dwóch końcach linii.
  • Sprawdź kolejność bajtów, skalowanie i identyfikatory ramek.
  • Przetestuj reakcję na odłączenie jednego urządzenia oraz chwilowe zakłócenia.
  • Zapisz konfigurację i schemat, aby późniejsza rozbudowa nie wymagała zgadywania.

Najlepiej działająca sieć CAN nie jest efektem jednego dobrego komponentu. To połączenie właściwej topologii, terminacji, konfiguracji i diagnostyki. Jeżeli te cztery elementy są dopilnowane, system pozostaje szybki, odporny na zakłócenia i stosunkowo łatwy do rozbudowy.

Mały test przed dużą rozbudową sieci

Przy nowej instalacji warto zacząć od krótkiego odcinka przewodu i dwóch urządzeń. Taki test szybko ujawnia błędną prędkość, zamienione linie lub niewłaściwe identyfikatory, zanim problem zostanie ukryty w rozbudowanej maszynie.

Moja praktyczna zasada jest prosta: najpierw potwierdzam warstwę elektryczną, później obecność ramek, a dopiero na końcu interpretację danych w programie. Taka kolejność ogranicza liczbę hipotez i pozwala szybciej dojść do przyczyny, zamiast wymieniać moduły na chybił trafił.

FAQ - Najczęstsze pytania

Typowa sieć high-speed CAN wymaga dokładnie dwóch rezystorów 120 Ω, po jednym na każdym fizycznym końcu przewodu. Przy wyłączonym zasilaniu pomiar między CAN_H i CAN_L powinien wynosić około 60 Ω. Odczyt około 120 Ω może wskazywać na brak jednego terminatora, a niższa wartość na dodatkową terminację lub zwarcie.
Dla 1 Mbit/s orientacyjna długość głównej magistrali wynosi około 40 m, dla 500 kbit/s około 100 m, a dla 125 kbit/s około 500 m. Są to wartości praktyczne, zależne także od przewodu, transceiverów, liczby węzłów i długości odgałęzień.
CAN Classic obsługuje ramki z polem danych do 8 bajtów. CAN FD pozwala przesyłać do 64 bajtów i przyspieszyć fazę danych, ale nie każdy klasyczny węzeł jest z nim kompatybilny. CANopen dodaje reguły organizacji urządzeń, obiekty danych, konfigurację i diagnostykę.
Najpierw sprawdź identyczną prędkość bitową, kolejność CAN_H i CAN_L, ciągłość masy oraz terminację na obu końcach linii. Następnie zmierz około 60 Ω między CAN_H i CAN_L, zweryfikuj identyfikatory i mapowanie danych oraz obserwuj liczniki błędów, w tym stany error passive i bus-off.
Oceń artykuł

Średnia: 0.0 / 5 · 0 ocen

Tagi

can can fd terminacja transceivery canopen
Autor Gabriel Jakubowski
Gabriel Jakubowski
Nazywam się Gabriel Jakubowski i mam 8-letnie doświadczenie w dziedzinie techniki warsztatowej, elektryki oraz automatyki. Moja fascynacja tymi obszarami zaczęła się już w młodości, kiedy to z ciekawością obserwowałem, jak działają różne urządzenia i systemy. Z czasem postanowiłem zgłębić tę wiedzę, co pozwoliło mi nie tylko zrozumieć złożoność technologii, ale także podzielić się nią z innymi. Piszę na temat najnowszych trendów w technice warsztatowej oraz elektryce, starając się uprościć skomplikowane zagadnienia i dostarczyć czytelnikom zrozumiałe oraz rzetelne informacje. Dokładam wszelkich starań, aby moje artykuły były aktualne i oparte na sprawdzonych źródłach, co pozwala mi skutecznie pomagać w rozwiązywaniu problemów, z którymi borykają się zarówno amatorzy, jak i profesjonaliści w tej dziedzinie.
Komentarze (0)
Dodaj komentarz