- cztery przekaźniki jako elementy wykonawcze,
- sterowanie poprzez interfejs I2C,
- zasilanie napięciem 3…5 V,
- przystosowany do obciążeń niskonapięciowych 24 V/8 A.
Podczas budowy prototypów urządzeń sterujących, czy to dla IoT czy domowej automatyki, jednym z podstawowych bloków funkcjonalnych są wyjścia przekaźnikowe. Jeżeli używamy kilku platform uruchomieniowych, warto mieć moduł który pracuje nie tylko w szerszym zakresie napięć zasilania 3...5 V, ale wyposażony jest w kilka najpopularniejszych rodzajów złącz dla magistrali I2C dla szybkiego prototypowania.
Budowa i działanie
Moduł bazuje na układzie PCA9536D, który jest ekspanderem 4×I/O magistrali I2C o ustalanym programowo kierunku działania. Schemat układu pokazano na rysunku 1.
Oprócz układu U1 typu PCA9536D zawiera przetwornicę obniżającą U2 typu AP3417, odpowiedzialną za dostarczanie napięcia ok. 2,8 V do zasilania cewek przekaźników RL1...4. Zastosowano przekaźniki miniaturowe typu RM50 z cewką 3,3 V, która posiada roboczy zakres napięć zasilania 2,25...3,9 V, dzięki czemu moduł pracuje stabilnie w zakresie zasilania 3,3...5 V, bez przeciążania cewek przekaźników.
Jako drivery sterujące zastosowano tranzystory Q1...4 typu BCR521, które posiadają wbudowany dzielnik w obwodzie bazy, zmniejszający liczbę niezbędnych elementów. Wysterowanie przekaźnika sygnalizowane jest świeceniem odpowiedniej LED1...4.
Przełączne styki RL1...4 doprowadzone są do złącz śrubowych OUT1...4 typu ARK. Moduł przystosowany jest do obciążeń niskonapięciowych 24 V/8 A. Obecność zasilania sygnalizuje dioda LD.
Złącza I2CA...D, służą do podłączenia magistrali I2C w standardzie Qwiic, Grove, JST 2 mm oraz przy pomocy złącza SIP4 zgodnego z Arduino Brick.
Montaż i uruchomienie
Układ zmontowany jest na dwustronnej płytce drukowanej. Rozmieszczenie elementów pokazano na rysunkach 2 i 3. Sposób montażu jest klasyczny i nie wymaga opisu, zmontowany moduł pokazuje fotografia tytułowa.
Przed podłączeniem modułu należy sprawdzić czy system zasilania współpracującego układu dysponuje mocą ok. 1,5 W tyle wynosi maksymalna moc pobierana przez cztery załączone przekaźniki. W samym module należy sprawdzić czy pracuje przetwornica U2 dostarczając napięcia 2,7...2,9 V dla cewek przekaźników.
Do obsługi układu PCA9536 wystarczą zapisy do dwóch z czterech rejestrów układu. Adres bazowy PCA9536D to 0x41, układ posiada cztery rejestry (producent nazywa je poleceniami):
- 0x00 – odczyt stanu wyprowadzeń,
- 0x01 – zapis stanu wyprowadzeń,
- 0x02 – rejestr polaryzacji wejść,
- 0x03 – rejestr kierunku wyprowadzeń.
Rejestr pod adresem 0x03 określa konfigurację wyprowadzeń, ustawienie wartości 0x00 konfiguruje wyprowadzenia jako wyjścia, pod adresem 0x01 mamy dostęp do portów wyjściowych, ustawienie wartości 1 ustawia stan wysoki, wartość 0 stan niski wyprowadzenia. Bit 0 w rejestrach odpowiada wyprowadzeniu IO0, bit 3 wyprowadzeniu IO3, bity 4...7 są niewykorzystane.
#!/bin/bash
echo ‘I2C_RLY4 - test’
i2cset -y 1 0x41 0x03 0x00
i2cset -y 1 0x41 0x01 0x00
echo ‘Relay test’
x=1;
while [ $x -le 3 ] ; do
echo ‘OUT1’
i2cset -y 1 0x41 0x01 0x01
sleep 1.0
echo ‘OUT2’
i2cset -y 1 0x41 0x01 0x02
sleep 1.0
echo ‘OUT3’
i2cset -y 1 0x41 0x01 0x04
sleep 1.0
echo ‘OUT4’
i2cset -y 1 0x41 0x01 0x08
sleep 1.0
x=$[x + 1]
done
echo ‘OUT OFF’
i2cset -y 1 0x41 0x01 0x00
Prosty skrypt testowy dla Raspberry Pi pokazano na listingu 1. Po ustawieniu skryptu jako wykonywalnego poleceniem:
sudo chmod +x ./PCA9536.sh
i uruchomieniu:
./PCA9536.sh
należy sprawdzić czy przekaźniki załączą się kolejno w cyklu od OUT1 do OUT4 trzykrotnie i wyłączą się wszystkie na zakończenie skryptu. Jeżeli wszystko działa, można moduł zastosować w we własnej aplikacji.
Adam Tatuś
adam.tatus@ep.com.pl
- R1, R6, R7, R8, R9: 2,2 kΩ
- R2, R3: 10 kΩ
- R4: 100 kΩ
- R5: 360 kΩ
- C1: 100 nF ceramiczny
- C2, C3: 10 μF ceramiczny
- CE2: 100 μF/10 V elektrolityczny
- LD: LED czerwona SMD0805
- LED1, LED2, LED3, LED4: LED zielona SMD0805
- D1, D2, D3, D4: BAT54WS
- Q1, Q2, Q3, Q4: BCR521E6327 (SOT-23)
- U1: PCA9536D (SO8)
- U2: AP3417CKTR (SOT-23-5)
- L1: 2,2 μH dławik SMD HPI0530-2R2
- RL1, RL2, RL3, RL4: Przekaźnik RM50P-3.3V
- OUT1, OUT2, OUT3, OUT4: Złącze DG126-5.0-3
- I2CB: złącze SIP4, 2,54 mm
- I2CC: złącze JST 1 mm