KAmodRPi Pico RS485/RS232 (PL): Difference between revisions
From Kamamilabs.com - Wiki
| Line 32: | Line 32: | ||
*Zmontowany i uruchomiony moduł<br> | *Zmontowany i uruchomiony moduł<br> | ||
|} | |} | ||
[[File: | [[File:KAmod_RPI_PICO_RS485_RS232_5.jpg|none|800px|thumb|center]] | ||
</center> | </center> | ||
<hr> | <hr> | ||
Revision as of 08:21, 24 March 2026

Opis
KAmodRPi Pico RS485/RS232 - moduł UART-RS485/RS232 do Raspberry Pi Pico
Moduł jest przeznaczony do szeregowej transmisji danych pomiędzy płytkami z serii Raspberry Pi Pico a urządzeniami zewnętrznymi, które wyposażone są w interfejs zgodny ze standardem RS-485 lub z klasycznym portem RS-232C (urządzenia z portem UART TTL (5 V), 3,3 V lub podobnym nie są obsługiwane).
Moduł znajdzie zastosowanie w instalacjach przemysłowych, automatyce budynkowej, systemach wbudowanych, serwisie urządzeń elektronicznych, a także podczas prototypowania i testowania urządzeń wyposażonych w łącze szeregowe typu RS-485 lub RS-232.
Podstawowe cechy i parametry
- 1x 3-torowa listwa rozłączalna (RS-232: RX, TX, GND)
- 1x 3-torowa listwa rozłączalna (RS-485: A, B, GND)
- Zasilanie: 3,3 V DC + 5 V DC (pobierane bezpośrednio z modułu Raspberry Pi Pico)
- Diody LED sygnalizujące obecność napięcia zasilania modułu oraz kierunki transmisji na obydwu portach szeregowych
- Wbudowane zabezpieczenia ESD na wszystkich liniach portów RS-232 oraz RS-485
- Wymiary PCB: 52 x 23 mm
Wyposażenie standardowe
| Kod | Opis |
|---|---|
| KAmodRPi Pico RS485/RS232 |
|

Schemat elektryczny

Widok płytki drukowanej
Elementy obsługowe
Diody LED
Wskaźnik napięcia zasilającego

Wskaźnik nadawania (RS-232) przez RPi Pico

Wskaźnik odbioru (RS-232) przez RPi Pico

Wskaźnik nadawania (RS-485) przez RPi Pico

Wskaźnik odbioru (RS-485) przez RPi Pico

Przycisk reset

Złącza
Złącze interfejsu RS-232 (full-duplex)

Złącze interfejsu różnicowego RS-485 (half-duplex)

Podłączenie
Moduł jest kompatybilny ze wszystkimi modułami z serii Raspberry Pi Pico, czyli:
- Raspberry Pi Pico (-H)
- Raspberry Pi Pico W (-H)
- Raspberry Pi Pico 2 (-H)
- Raspberry Pi Pico 2 W (-H)
Przed podłączeniem modułu KAmod RPi Pico RS-485/RS-232 zaleca się odłączyć zasilanie od płytki Raspberry Pi Pico.
W przypadku stosowania płytki RPi Pico/2/W/2W w wersji bez fabrycznie wlutowanych złączy szpilkowych (tj. bez dopiska -H), do której listwy goldpin zostały wlutowane samodzielnie, należy upewnić się, że wtyki są umieszczone po właściwej stronie płytki modułu (luty powinny znajdować się po stronie obsadzonej elementami).
| Uwaga! Płytkę KAmod RPi Pico RS-485/RS-232 należy podłączyć w sposób pokazany na poniższej fotografii, tj. stroną z gniazdem RS-232 w kierunku złącza Micro USB modułu Raspberry Pi Pico. |

Urządzenie zewnętrzne należy podłączyć do modułu KAmod RPi Pico RS-485/RS-232 wybierając odpowiedni port (RS-232 lub RS-485), w zależności od obsługiwanego przez nie standardu komunikacji szeregowej. W każdym przypadku masa urządzenia musi być podłączona do środkowego zacisku listwy rozłączalnej danego portu.
Obydwa interfejsy są kontrolowane przez niezależne bloki peryferyjne procesora znajdującego się na płytce RPi Pico.
- Interfejs RS-232: UART0
- Interfejs RS-485: UART1
Z tego względu możliwe jest jednoczesne komunikowanie się płytki RPi Pico z dwoma różnymi urządzeniami zewnętrznymi. Należy jednak upewnić się, że potencjał masy obydwu urządzeń zewnętrznych oraz urządzenia, z którego RPi Pico pobiera zasilanie (np. komputera) jest jednakowy. W przeciwnym wypadku może dojść do uszkodzenia modułu lub któregoś z pozostałych urządzeń!
Testowanie modułu
Aby przetestować moduł można zastosować poniższy skrypt w języku MicroPython. Po wgraniu kodu do pamięci modułu Raspberry Pi Pico (zawierającego uprzednio wgrany firmware z interpreterem MicroPythona) i uruchomieniu, moduł będzie odsyłał wszystkie dane odebrane na wybranym porcie poprzez ten sam interfejs (RS-232 lub RS-485).
from machine import UART, Pin
import time
# --- Konfiguracja UART0 ---
uart0 = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))
# --- Konfiguracja UART1 ---
uart1 = UART(1, baudrate=115200, tx=Pin(4), rx=Pin(5))
print("UART echo running...")
while True:
# UART0
if uart0.any():
data = uart0.read()
uart0.write(data) # echo
# UART1
if uart1.any():
data = uart1.read()
uart1.write(data) # echo
time.sleep(0.001)