Expander I/O z optoizolacją dla RPi Zero

Expander I/O z optoizolacją dla RPi Zero
Pobierz PDF Download icon

Prezentowany moduł jest 8-kanałowym ekspanderem cyfrowych portów I/O z optoizolacją, przydatnym w systemach domowej automatyki, zgodnym mechanicznie z Raspberry Pi Zero.

UWAGA
Zastosowana w module izolacja zapewnia separację galwaniczną wejść i wyjść układu pomiędzy współpracującymi urządzeniami (rozdzielenie mas). Nie jest przewidziana do bezpośredniej separacji napięć sieci energetycznej.
Podstawowe parametry:
  • umożliwia monitorowanie stanów 4 izolowanych wejść,
  • umożliwia sterowanie 4 izolowanymi wyjściami cyfrowymi,
  • separacja galwaniczna wejść i wyjść,
  • zgodny mechanicznie z Raspberry Pi Zero,
  • zasilanie 3,3 V.

Moduł korzysta z magistrali I2C, umożliwia monitorowanie stanów 4 izolowanych wejść lub sterowanie 4 izolowanymi wyjściami cyfrowymi.

Zastosowany układ XRA1200PIG (Maxlinear) umożliwia rozbudowę aplikacji o ośmiobitowy port cyfrowy GPIO sterowany przez magistralę I2C. Układ ma możliwość definiowania kierunku każdego z wyprowadzeń IO, sterowania rezystorami podciągającymi, konfiguracji buforów wyjściowych w trybie trójstanowym oraz elastycznej konfiguracji generowanych przerwań. Schemat wewnętrzny układu XRA1200PIG został pokazany na rysunku 1.

Rysunek 1. Schemat wewnętrzny XRA1200 (za notą Exar)

Budowa i działanie

Schemat ideowy modułu został pokazany na rysunku 2. Wyprowadzenia GPIO układu U1 podzielone są na dwie grupy. Pierwsza (P0...P3) skonfigurowana jest jako wejścia cyfrowe, druga (P4...P7) jako wyjścia cyfrowe. Sygnały monitorowane powinny być doprowadzone do złącza IN, a stąd poprzez transoptor IS2 trafiają do inwerterów Schmidta U2...U5, działających jako filtry i odwracających polaryzację sygnału wejściowego.

Rysunek 2. Schemat modułu

Transoptor IS typu TCMT4600 przystosowany jest do pracy z sygnałami o zmiennej polaryzacji, w module zapewnia to zgodność z wyjściami czujników w konfiguracji PNP lub NPN. W zależności od typu czujników wyprowadzenie CMI łączone jest z masą lub plusem zasilania czujników.

Rezystory R5...R12 ograniczają prąd diod IS2. Dla wartości podanych na schemacie napięcie wejściowe mieści się w standardzie przemysłowym 24 VDC. Sygnał z wyjść P5...P7 układu U1 steruje diodami LED transoptora IS1. Wyjścia typu otwarty kolektor układu IS1 wyprowadzone są na złącze OUT. Prąd pojedynczego kanału nie powinien przekraczać 20 mA przy napięciu pracy do 24 VDC.

Układ uzupełniają złącza I2C i I2CA umożliwiające wyprowadzenie magistrali I2C Raspberry – nie mają optoizolacji. Układ zasilany jest poprzez złącze GPIO napięciem 3,3 V. Zwory A0, A1 umożliwiają ustawienie adresu układu U1 zgodnie z tabelą 1.

Układ ma możliwość generowania przerwań sprzętowych. Po wlutowaniu rezystora R15 stan wyjścia INT układu U1 dostępny jest na GPIO04.

Montaż i uruchomienie

Moduł zmontowany jest na dwustronnej płytce drukowanej. Rozmieszczenie elementów pokazano na rysunkach 3 i 4.

Rysunek 3. Schemat płytki PCB wraz z rozmieszczeniem elementów – strona TOP
Rysunek 4. Schemat płytki PCB wraz z rozmieszczeniem elementów – strona BOTTOM

Sposób montażu jest klasyczny i nie wymaga opisu. Zmontowany moduł pokazano na fotografii tytułowej oraz na fotografii 1.

Fotografia 1. Zmontowany moduł

Po montażu należy kroplą cyny ustalić adres modułu na zworach A1, A0. Moduł może być używany także samodzielnie, wtedy nie lutujemy złącza GPIO, a magistralę I2C i zasilanie doprowadzamy do złączy I2C/I2CA, pamiętając o standardzie 3,3 V, nie ma wtedy możliwości korzystania z przerwania generowanego przez U1.

Układ XRA1200PIG zawiera osiem rejestrów ustalających tryb pracy GPIO oraz konfigurujących przerwania, skrócony opis rejestrów umieszczono w tabeli 2, pełny opis dostępny jest w karcie katalogowej.

Do szybkiego przetestowania działania modułu podłączonego do Pi wykorzystujemy bibliotekę i2ctools. Po ustawieniu adresu bazowego zworami A1, A0 moduł powinien być widoczny po odczycie magistrali poleceniem

i2cdetect -y 1

Rysunek 5. Wyszukanie modułu na magistrali przy użyciu i2ctools

Efekt pokazano na rysunku 5 (ustawiony adres bazowy 7-bitowy 0x2F [0x5E]). W pierwszej kolejności ustawiamy konfigurację IO w rejestrze GCR, porty P4...P7/[OUT4...OUT1] ustawiamy jako wyjścia, P0...P3/[IN3...IN1] jako wejścia:

i2cset -y 1 0x2F 0x03 0x0F

Stan wejść z rejestru GSR odczytujemy poleceniem (istotne tylko 4 młodsze bity P3...P0):

i2cget -y 1 0x2F 0x00

Ustawienie rejestru OCR stanu wyjść Y (istotne tylko starsze cztery bity P7...P4):

i2cset -y 1 0x2F 0x01 0xY0

Jeżeli wszystko działa poprawnie, można moduł zastosować we własnej aplikacji.

Adam Tatuś
adam.tatus@ep.com.pl

Wykaz elementów:
Rezystory:
  • R1…R4, R15, R20…R23: 330 Ω SMD0603
  • R5…R12: 1,5 kΩ/0,5 W SMD1206
  • R13, R14: 4,7 kΩ SMD0603
  • R16…R19: 22 kΩ SMD0603
Kondensatory:
  • C1, C7: 0,1 μF SMD0603
  • C2: 10 μF SMD0603
  • C3…C6: 100 pF SMD0603
Półprzewodniki:
  • IS1: TCMT4100 (SO16) transoptor 4×
  • IS2: TCMT4600 (SO16) transoptor 4× AC
  • U1: XRA1200PIG16 (TSSOP16_065)
  • U2…U5: 74V1G14 (SC70-5)
Inne:
  • GPIO: złącze DS1023-2*20S21
  • I2C: złącze JST 4 pin 1 mm kątowe SMD
  • I2CA: złącze HST 4 pin 2 mm kątowe
  • IN, OUT: złącze śrubowe 5 pin 3,5 mm DG381-3.5-5
 
Artykuł ukazał się w
Elektronika Praktyczna
wrzesień 2020
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów