- bazuje na układzie typu TPIC2810 sterowanym poprzez magistralę I2C,
- wyjścia z otwartym drenem są aktywne w stanie niskim,
- wyjścia zapewniają obciążalność do 100 mA (sumarycznie 210 mA),
- maksymalne napięcie pracy wyjść wynosi 40 V,
- konstrukcja mechaniczna modułu umożliwia bezproblemową współpracę z płytkami stykowymi.
Konstrukcja modułu bazuje na układzie typu TPIC2810, którego schemat wewnętrzny został pokazany na rysunku 1. Wyjścia z otwartym drenem są aktywne w stanie niskim i zapewniają obciążalność do 100 mA (sumarycznie 210 mA), przy maksymalnym napięciu pracy 40 V. Umożliwiają bezpośrednie sterowanie statyczne zarówno szeregowych łańcuchów LED jak i pojedynczych LED o większej mocy.
Budowa i działanie
Schemat ideowy modułu został pokazany na rysunku 2. Moduł, oprócz układu U1 typu TPIC2810 ma trzy zworki A0...A2 umożliwiające ustalenie adresu oraz zworę PU umożliwiającą odłączenie rezystorów podciągających magistralę I2C – R5, R6. Pełna adresacja U1 umożliwia zastosowanie do 8 układów na jednej magistrali. Moduł może być zasilany napięciami z zakresu 3...5 V. Dioda LD sygnalizuje obecność zasilania. Wyjścia D0...D7 tolerują maksymalnie 40 V i są doprowadzone są do złącz J1 i J2. Dodatkowo wyprowadzono sygnał G wyłączający wszystkie wyjścia, aktywny w stanie wysokim. Sygnały magistrali I2C i zasilanie doprowadzone są do czteropinowego złącza typu EH – I2C zgodnego z Arduino oraz do złącza I2C1 typu JST o rozstawie 1 mm.
Montaż i uruchomienie
Moduł został zmontowany na dwustronnej płytce drukowanej, której schemat został pokazany na rysunku 3.
Sposób montażu jest klasyczny i nie wymaga dokładnego opisu. Konstrukcja mechaniczna modułu umożliwia bezproblemową współpracę z płytkami stykowymi lub prototypowymi. Zalecam stosowanie długich (30...40 mm) złącz SIP, wlutowanych tak, aby wyprowadzenia wystawały po obu stronach płytki drukowanej. Taki sposób montażu umożliwia wygodne stosowanie modułu w płytkach stykowych oraz ułatwia wyprowadzenie sygnałów oraz rozszerzanie magistrali I2C. Zmontowany moduł pokazuje fotografia tytułowa.
Adres bazowy układu TPIC2810 przy zwartych zworach to 0x60. Układ ma pośredni rejestr buforowy oraz możliwość bezpośredniej zmiany stanu wyprowadzeń. Rejestry pod subadresami 0x11, 0x22, 0x44 służą do kontroli działania układu:
- 0x11 – odczyt danych z rejestru wejściowego (bufora),
- 0x11 – zapis danych do rejestru wejściowego (bufora), nie ustawia stanów wyjść,
- 0x22 – zapis powoduje przepisanie rejestru wejściowego (bufora) do rejestru wyjściowego ustawiającego stan wyjść,
- 0x44 – zapis bezpośredni do rejestru wyjściowego, z ustawieniem stanu wyjść.
Dla szybkiego sprawdzenia działania, moduł można go podłączyć do Raspberry Pi, a do wyprowadzeń D0...D7 podłączyć LED-y z rezystorami ograniczającymi prąd, pamiętając o aktywacji wyjść zwarciem wyprowadzenia G do masy modułu. Przy użyciu biblioteki i2ctools, po ustawieniu adresu bazowego zworami A2, A1, A0, moduł powinien być widoczny po odczycie magistrali poleceniem:
co pokazano na rysunku 4 (ustawiony adres bazowy 7-bitowy 0x60).
Stan rejestru bufora może być odczytany poleceniem:
który po pierwszym odczycie zwróci wartość 0x00.
Zapis rejestru bufora (wartość 0xA5) wykonujemy poleceniem:
Ustawienie stanu 1, opowiada zwarciu klucza OD do masy. Przepisanie bufora do rejestru wyjściowego i ustawienie stanów wyjść:
Bezpośredni zapis rejestru wyjściowego i ustawienie wyjść (wartość 0x5A):
Jeżeli wszystko działa poprawnie można moduł zastosować we własnej aplikacji.
Adam Tatuś, EP
- R1…R3, R5, R6: 10 kΩ
- R4: 2,2 kΩ
- C1: 0,1 μF (SMD0805)
- LD: dioda LED SMD0805
- U1: TPIC2810D (SO16)
- ADR: złącze szpilkowe 2×5 pin + zwory
- I2C: złącze EH4 kątowe
- I2C1: złącze JST 1 mm
- J1: złącze szpilkowe 1×8
- J2: złącze szpilkowe 1×9