KAmod RPI 485 CAN Hat (PL): Difference between revisions
From Kamamilabs.com - Wiki
| Line 347: | Line 347: | ||
| colspan="2"; style="text-align: center;"|Wejście aktywujące interfejs SPI kontrolera SC16IS762 | | colspan="2"; style="text-align: center;"|Wejście aktywujące interfejs SPI kontrolera SC16IS762 | ||
|- | |- | ||
| style="text-align: center;"| Domyślnie połączone do | | style="text-align: center;"| Domyślnie połączone do GPIO18 (pin 12 złącza J3) | ||
| style="text-align: center;"| Zwarta zwora JP3 | | style="text-align: center;"| Zwarta zwora JP3 | ||
|- | |- | ||
| style="text-align: center;"| Opcjonalnie połączone do | | style="text-align: center;"| Opcjonalnie połączone do GPIO07 (pin 26 złącza J3) | ||
| style="text-align: center;"| Zwarta zwora JP4 | | style="text-align: center;"| Zwarta zwora JP4 | ||
|- | |- | ||
Latest revision as of 14:30, 31 October 2025

Opis
KAmod RPI 485&CAN Hat - Moduł z dwoma interfejsami RS485 oraz interfejsem CAN dla Raspberry Pi
KAmod RPI 485&CAN Hat pozwala w łatwy sposób rozbudować komputerki Raspberry Pi 5 o dwa interfejsy RS485 oraz jeden interfejs CAN 2.0B. Interfejsy zawierają rozbudowane obwody zabezpieczające oraz są odizolowane galwanicznie od obwodów sterujących, co gwarantuje stabilność działania i odporność na zakłócenia i awarie. Moduł został zaprojektowany tak, aby był kompatybilny z płytkami serii Raspberry Pi nie tylko w wersji 5. Jest sterowany poprzez 2 interfejsy SPI, dostępne na 40 szpilkowym złączu RPi, oraz w wielu innych płytkach, np Arduino, STM32 itd.
Podstawowe cechy i parametry
- 2 interfejsy RS485 – sterowane kontrolerem SC16IS752 (SPI→2xUART)
- 1 interfejs CAN 2.0B – sterowany kontrolerem MCP2515 (SPI→CAN)
- Interfejsy RS485 wyposażone w 2 izolowane transceivery ADM2483
- Interfejs CAN wyposażony w izolowany transceiver TJA1052
- Interfejsy RS485 i CAN odseparowane galwanicznie od odwodów sterujących
- Możliwość dołączenia rezystorów terminujących 120 Ω do linii każdego interfejsu
- Maksymalna szybkość komunikacji interesów RS485: 500 kbps
- Maksymalna szybkość komunikacji interesu CAN: 1 Mbps
- Sterowanie poprzez dwa interfejsy SPI pracujące z napięciem 3,3 V
- Automatyczne sterowanie kierunkiem transmisji transceiverów RS485
- Zasilanie 5 V/0,3 A pobierane z płytki Raspberry Pi lub z dodatkowego źródła
- Opcjonalne wejście zasilające dostosowane do napięcia z zakresu 8...32 V
- Stabilizowane wyjście zasilania 5 V, max 0,5 A
- Łatwy montaż na Raspberry Pi 5, także w wersji z radiatorem RPi Active Cooler
- Może współpracować z wieloma płytkami z rodziny Raspberry Pi oraz innymi wyposażonymi w interfejsy SPI pracujące z napięciem 3,3 V
- Wymiary modułu 65x56 mm, wysokość ok. 15 mm (oraz złącze pod płytką o wysokości ok. 13 mm)
Wyposażenie standardowe
| Kod | Opis |
|---|---|
| KAmod RPI 485&CAN Hat |
|
| Zestaw montażowy |
|

Schemat blokowy

Schemat elektryczny
Schemat elektryczny modułu KAmod RPI 485&CAN Hat można pobrać tutaj: Schemat KAmod RPI 485&CAN Hat
Interfejsy RS485
| Interfejs | Element | Funkcja |
|---|---|---|
| RS485-1 |
Złącze |
Dołączenie rezystora terminującego 120 Ω do linii magistrali RS485-1, |
|
Złącze |
Główne złącze magistrali RS485-1, styk 1 – GND; styk 2 – B(-); styk 3 – A(+) | |
|
Złącze |
Dodatkowe złącze magistrali RS485-1, szpilka 1 – GND; szpilka 2 – B(-); szpilka 3 – A(+) | |
|
Dioda LED |
Świecenie diody sygnalizuje nadawanie/odbieranie danych na liniach sygnałowych interfejsu RS485-1 | |
| RS485-2 |
Złącze |
Dołączenie rezystora terminującego 120 Ω do linii magistrali RS485-2, |
|
Złącze |
Główne złącze magistrali RS485-2, styk 1 – GND; styk 2 – B(-); styk 3 – A(+) | |
|
Złącze |
Dodatkowe złącze magistrali RS485-2, szpilka 1 – GND; szpilka 2 – B(-); szpilka 3 – A(+) | |
|
Dioda LED |
Świecenie diody sygnalizuje nadawanie/odbieranie danych na liniach sygnałowych interfejsu RS485-2 |
Interfejsy RS485 są sterowane transceiverami typu ADM2483, które zapewniają jednocześnie separację galwaniczną pomiędzy sygnałami sterującymi, a liniami magistrali RS485.
Linie magistrali są oznaczone jako: A(+), B(-) oraz masa GND i są dostępne na złączu typu Phoenix MC (R1J2, R2J2) oraz na szpilkach goldpin o standardowym rastrze 2,54 mm (R1J3, R2J3). Ich rozmieszczenie zostało pokazane na rysunku oraz jest opisane na dolnej stronie płytki modułu.
Linie magistrali RS485 są wyposażone w obwody chroniące przed przepięciami. Założenie zworki na szpilki 2-3 RxJ1 pozwala na dołączenie rezystora terminującego 120 Ω pomiędzy linie A i B interfejsu.

Interfejs CAN
| Interfejs | Element | Funkcja |
|---|---|---|
| CAN |
Złącze |
Dołączenie rezystora terminującego 120 Ω do linii magistrali CAN, |
|
Złącze |
Główne złącze magistrali CAN, styk 1 – GND; styk 2 – CAN L; styk 3 – CAN H | |
|
Złącze |
Dodatkowe złącze interfejsu CAN,
szpilka 1 – GND; szpilka 2 – CAN L; szpilka 3 – CAN H | |
|
Dioda LED |
Świecenie diody sygnalizuje nadawanie/odbieranie danych na liniach interfejsu CAN |
Interfejs CAN jest sterowany transceiverem typu TJA1052, który zapewnia jednocześnie separację galwaniczną pomiędzy sygnałami sterującymi, a liniami magistrali CAN.
Linie magistrali są oznaczone jako: CAN H, CAN L oraz masa GND i są dostępne na złączu typu Phoenix MC (CJ2) oraz na szpilkach goldpin (CJ3) o standardowym rastrze 2,54 mm. Ich rozmieszczenie zostało pokazane na rysunku oraz jest opisane na dolnej stronie płytki modułu.
Linie magistrali CAN są wyposażone w obwody chroniące przed przepięciami. Założenie zworki na szpilki 2-3 CJ1 pozwala na dołączenie rezystora terminującego 120 Ω pomiędzy linie CAN H i CAN L.

Sterowanie RS485
| Interfejsy RS485 | |
|---|---|
| Sygnał sterujący | Funkcja |
| MOSI1 (SPI 1) | Wejście danych SPI kontrolera SC16IS762, połączone do GPIO20 RPi (pin 38 złącza J3) |
| MISO1 (SPI 1) | Wyjście danych SPI kontrolera SC16IS762, połączone do GPIO19 RPi (pin 35 złącza J3) |
| SCLK1 (SPI 1) | Wejście sygnału zegarowego SPI kontrolera SC16IS762, połączone do GPIO21 RPi (pin 40 złącza J3) |
| RS CE | Wejście aktywujące interfejs SPI kontrolera SC16IS762 |
| Domyślnie połączone do GPIO18 (pin 12 złącza J3) - Zwarta zwora JP4 | |
| Opcjonalnie połączone do GPIO07 (pin 26 złącza J3) - Zwarta zwora JP3 | |
| RS INT | Wyjście przerwania IRQ kontrolera SC16IS762 połączone do GPIO24 (pin 18 złącza J3) |
Wszystkie sygnały sterujące są wyprowadzone na złączu J1 (40-stykowe, kompatybilne z płytkami Raspberry Pi) oraz na złączu szpilkowym J2. Rozmieszczenie sygnałów zostało pokazane na poniższym rysunku, dodatkowo sygnały na złączu J2 są opisane na dolnej stronie płytki KAmod RPI 485&CAN Hat.
Interfejsy RS485 są realizowane poprzez kontroler SC16IS762, opis działania tego układu jest dostępny w dokumentacji producenta.

Sterowanie CAN
| Interfejs CAN | |
|---|---|
| Sygnał sterujący | Funkcja |
| MOSI0 (SPI 0) | Wejście danych SPI kontrolera MCP2515 połączone do GPIO10 RPi (pin 19 złącza J3) |
| MISO0 (SPI 0) | Wyjście danych SPI kontrolera MCP2515 połączone do GPIO09 RPi (pin 21 złącza J3) |
| SCLK0 (SPI 0) | Wejście sygnału zegarowego SPI kontrolera MCP2515 połączone do GPIO11 RPi (pin 23 złącza J3) |
| CAN CE | Wejście aktywujące interfejs SPI kontrolera MCP2515 |
| Domyślnie połączone do GPIO08 (pin 24 złącza J3) - Zwarta zwora JP1 | |
| Opcjonalnie połączone do GPIO07 (pin 26 złącza J3) - Zwarta zwora JP2 | |
| CAN INT | Wyjście przerwania IRQ kontrolera MCP2515 połączone do GPIO25 (pin 22 złącza J3) |
Wszystkie sygnały sterujące są wyprowadzone na złączu J1 (40-stykowe, kompatybilne z płytkami Raspberry Pi) oraz na złączu szpilkowym J2. Rozmieszczenie sygnałów zostało pokazane na poniższym rysunku, dodatkowo sygnały na złączu J2 są opisane na dolnej stronie płytki KAmod RPI 485&CAN Hat.
Interfejs CAN jest realizowany poprzez kontroler MCP2515, opis działania tego układu jest dostępny w dokumentacji producenta.

Zasilanie
| Element | Funkcja |
|---|---|
| Złącze J1 PWR |
Opcjonalne wejście zasilania dostosowane do napięcia z zakresu 8...32 V. Zasila zintegrowany stabilizator impulsowy, który dostarcza napięcia 5 V o wydajności do 0,5 A, do zasilania komponentów modułu KAmod RPI 485&CAN Hat. |
| Złącze J2 |
Na złączu J2 dostępne jest napięcie 5 V ze zintegrowanego stabilizatora. Może posłużyć jako źródło zasilania dla dodatkowych obwodów lub modułów. Pobór prądu nie powinien przekraczać 0,5 A. |
| 40-pinowe złącze J3 |
Na złączu J3 dostępne jest napięcie 5 V dostarczane z płytki bazowej, np. Raspberry Pi. Napięcie to jest połączone przez diodę prostowniczą z zasilaniem 5 V modułu KAmod RPI 485&CAN Hat, zatem moduł jest zasilany z płytki bazowej, ale moduł nie może dostarczać zasilania do płytki bazowej. |
| Dioda LED D12 | Świecenie diody LED D12 oznacza obecność zasilania |
Modułu KAmod RPI 485&CAN Hat oferuje różne opcje zasilania:
- może być zasilany napięciem 5V z płytki bazowej dołączonej do 40-pinowego złącza J3, np. Raspberry Pi. Nie jest wymagane zewnętrzne zasilanie;
- może być zasilany napięciem z zakresu 8...32 V dołączonym do złącza J1 PWR. Wtedy stabilizowane napięcie 5 V jest dostępne na złączu J2, ale nie zasila ono płytki bazowej dołączonej do 40-pinowego złącza J3;
- może być zasilany napięciem stabilizowanym 5 V dołączony do złącza J2, ale nie zasila ono płytki bazowej dołączonej do do 40-pinowego złącza J3;
Rozmieszczenie złącz i styków oraz ich polaryzację pokazano na rysunku.

Kontrolki sygnalizujące
| Kontrolka | Funkcja |
|---|---|
| D7 | Świecenie diody sygnalizuje nadawanie/odbieranie danych na liniach sygnałowych interfejsu RS485-1 |
| D5 | Świecenie diody sygnalizuje nadawanie/odbieranie danych na liniach sygnałowych interfejsu RS485-2 |
| D10 | Świecenie diody sygnalizuje nadawanie/odbieranie danych na liniach sygnałowych interfejsu CAN |
| D12 | Świecenie diody oznacza obecność zasilania |
Rozmieszczenie kontrolek sygnalizacyjnych na płytce KAmod RPI 485&CAN Hat zostało pokazane na rysunku.

Konfiguracja sygnałów SPI CE
| Sygnał | Funkcja | |
|---|---|---|
| CAN CE | Wejście aktywujące interfejs SPI kontrolera MCP2515 | |
| Domyślnie połączone do GPIO08 (pin 24 złącza J3) | Zwarta zwora JP1 | |
| Opcjonalnie połączone do GPIO07 (pin 26 złącza J3) | Zwarta zwora JP2 | |
| RS CE | Wejście aktywujące interfejs SPI kontrolera SC16IS762 | |
| Domyślnie połączone do GPIO18 (pin 12 złącza J3) | Zwarta zwora JP3 | |
| Opcjonalnie połączone do GPIO07 (pin 26 złącza J3) | Zwarta zwora JP4 | |
Moduł KAmod RPI 485&CAN Hat realizuje komunikację z płytką bazową np. Raspberry Pi poprzez dwa interfejsy SPI. Sygnały CE – Chip Enable, obu interfejsów mogą być połączone w dwóch konfiguracjach, w zależności od ustawienia zworek JP1...JP4, tak jak opisano w powyższej tabeli.
Zworki są umieszczone na dolnej stronie płytki modułu, co dokładnie obrazuje poniższy rysunek. Domyślnie połączone są zworki JP1 i JP3. W przypadku zmiany konfiguracji należy rozciąć połączone zworki i połączyć odpowiednie zworki za pomocą lutownicy i kropli spoiwa lutowniczego.

Konfiguracja trybu pracy RS485
| Sygnał | Funkcja | |
|---|---|---|
| RS1 DE | Sygnał sterujący transceiverem interfejsu RS485-1 | |
| Domyślnie aktywne jest automatyczne sterowanie sygnałem TXD | Zwarta zwora JP8 | |
| Opcjonalnie możliwe jest sterowanie sygnałem RTS | Zwarta zwora JP7 | |
| RS2 DE | Sygnał sterujący transceiverem interfejsu RS485-2 | |
| Domyślnie aktywne jest automatyczne sterowanie sygnałem TXD | Zwarta zwora JP10 | |
| Opcjonalnie możliwe jest sterowanie sygnałem RTS | Zwarta zwora JP9 | |
Transceivery interfejsów RS485 wymagają sygnału sterującego nadajnikiem magistrali -aktywującego tryb nadawania. Sygnał sterujący może być uzyskiwany z sygnału danych wysyłanych na magistralę - TXD, lub może być doprowadzany niezależnie – poprzez stan linii RTS. Moduł KAmod RPI 485&CAN Hat pozwala na wybranie jednej z tych opcji dla każdego z interfejsów RS485-1 i RS485-2, poprzez ustawienie zworek JP7...JP10, tak jak opisano w powyższej tabeli.
Zworki są umieszczone na dolnej stronie płytki modułu, co dokładnie obrazuje poniższy rysunek. Domyślnie połączone są zworki JP8 i JP10 – tryb automatyczny dla obu interfejsów. W przypadku zmiany konfiguracji należy rozciąć połączone zworki i połączyć odpowiednie zworki za pomocą lutownicy i kropli spoiwa lutowniczego.

Wymiary
Wymiary płytki KAmod RPI 485&CAN Hat to 65x56 mm. Wysokość płytki to ok. 15 mm, dodatkowo złącze na dolnej stronie płytki, pasujące do płytki bazowej, ma wysokość ok 13 mm.

Uruchomienie
Uruchamiamy Raspberry Pi 5 z systemem operacyjnym zainstalowanym na karcie pamięci lub innym, nośniku. Po wyświetleniu pulpitu systemu otwieramy okno konsoli (Terminal) np. za pomocą kombinacji klawiszy Ctrl+Alt+T i wpisujemy:
sudo nano /boot/firmware/config.txt
(we wcześniejszych wersjach systemu operacyjnego plik config.txt był umieszczony bezpośrednio w katalogu /boot)
W pliku, którego treść zobaczymy, należy usunąć komentarz (usunąć znak #) z linii:
dtparam=spi=on
Natomiast, jeżeli takiej linii nie ma to należy ją dopisać.

Następnie na końcu pliku (przewijamy strzałkami do samego dołu) należy dopisać linie:
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25,spimaxfrequency=10000000
oraz
dtoverlay=sc16is752-spi1,int_pin=24

Następnie należy zapisać zmiany za pomocą klawiszy Ctrl+O, zamknąć edytor za pomocą klawiszy Ctrl+X i uruchomić system ponownie, np. wpisując polecenie:
sudo reboot
Po wyświetleniu pulpitu systemu otwieramy okno konsoli (Terminal) np. za pomocą kombinacji klawiszy Ctrl+Alt+T i wpisujemy:
sudo dmesg | grep -i spi
Jeśli wcześniejsze etapy zostały wykonane prawidłowo powinno pokazać się takie podsumowanie:

Oznacza to, że zarówno kontroler SC16IS762, jak i MCP2515 zostały prawidłowo zainstalowane w systemie.
Przetestowanie interfejsu CAN wymaga wpisania 3 komend:
sudo ip link set can0 up type can bitrate 1000000 sudo ifconfig can0 up cansend can0 000#11.22.33.44
Powinna migać dioda LED D10 sygnalizująca aktywność na magistrali CAN.
Interfejsy RS485 można przetestować z użyciem programu minicom, dla RS485-1 należy wpisać:
minicom -D /dev/ttySC0
natomiast dla RS485-2 należy wpisać:
minicom -D /dev/ttySC1
Program minicom pozwala wysyłać znaki wpisywane z klawiatury oraz wyświetla znaki odebrane przez wybrany interfejs RS485. W czasie aktywności interfejsów będą migały diody D5/D7, ale przy znacznych prędkościach transmisji, np. 115200, miganie diod LED będzie ledwo zauważalne.