- bazuje na układzie DS2482-100,
- zasilanie magistrali zabezpieczone bezpiecznikiem polimerowym,
- wyposażony w opcjonalny obwód aktywnego podciągania magistrali 1-Wire,
- pracuje poprawnie przy zasilaniu 3,3 lub 5 V.
Mostek bazuje na układzie DS2482-100 firmy Analog Devices (dawniej Maxim, a jeszcze dawniej Dallas), którego budowę pokazano na rysunku 1. Układ zawiera kontroler Master 1-Wire współpracujący z magistralą I²C oraz interfejs linii 1W z możliwością programowego aktywnego sterowania podciąganiem magistrali.
Budowa i działanie
Schemat mostka został pokazany na rysunku 2. Specjalizowany układ U1 wymaga jedynie odsprzęgania zasilania i elementów zabezpieczających linie 1-Wire. Pracuje poprawnie przy zasilaniu 3,3 lub 5 V.
Magistrala I²C oraz zasilanie z systemu SBC doprowadzone są do złącza I²C, rezystory R1, R2 podciągają szyny magistrali. 1-Wire wyprowadzono poprzez rezystor szeregowy R4 do złącza szpilkowego W1 oraz sprężynowego W2. Dioda TVS, zabezpiecza magistralę przed skutkami przepięć. Zasilanie magistrali jest zabezpieczone bezpiecznikiem polimerowym PF1.
Układ U1 ma możliwość adresacji przy pomocy zwór A0...A1. Domyślnie wszystkie zwory połączone są z masą, co ustawia adres bazowy 0x18. Układ wyposażony jest w opcjonalny obwód aktywnego podciągania z tranzystorem Q1 i rezystorem R3, przydatnym przy współpracy modułu z układami wymagającymi chwilowo większych prądów zasilania (np. EEPROM).
Montaż i uruchomienie
Moduł zmontowany jest na miniaturowej dwustronnej płytce drukowanej mechanicznie zgodnej z Grove, której schemat pokazano na rysunku 3. Montaż jest typowy i nie wymaga opisu, a sam układ nie wymaga uruchamiania.
Szybkie sprawdzenie można wykonać przy pomocy Raspberry Pi. Po podłączeniu modułu do magistrali I²C i zasileniu napięciem 3,3 V, używając pakietu i2c-tools, poleceniem i2cdetect -y 1 sprawdzamy obecność układu na magistrali, powinien być obecny pod ustawionym domyślnie adresem 0x18, jak pokazano na rysunku 4.
Jeżeli układ jest widoczny, można przejść do instalacji pakietu OWFS (One Wire File System, https://www.owfs.org/), który mapuje nam urządzenia 1-Wire na system plików, analogicznie jak podczas mapowania dysków. Przy pomocy OWFS z poziomu systemu operacyjnego mamy dostęp praktycznie do wszystkich parametrów jakie udostępniają układy 1-Wire.
Przed instalacją OWFS warto zaktualizować system:
sudo apt-get install owfs python-ow ow-shell
Po instalacji konieczna jest edycja pliku:
Następnie należy dodać znak komentarza przy linii:
oraz pod sekcją:
#server: usb = all
Teraz dodajemy następujący wpis:
oraz usuwamy komentarz z linii:
allow_other
Po zapisaniu zmian, tworzymy katalog w którym montowane będą urządzenie 1-Wire:
a następnie restartujemy SBC:
Po uruchomieniu aktywujemy serwer:
i montujemy urządzenia 1-Wire:
Uwaga, czasem urządzenia montowane są dwukrotnie, aby usunąć ten problem edytujemy plik:
i zastępujemy wpis:
zmodyfikowanym:
Po ponownym restarcie możemy sprawdzić urządzenia zamontowane w katalogu /mnt/1wire, a w przypadku mostka DS2482-100 w podkatalogu bus.0 (rysunek 5).
W podkatalogu bus.0 możemy sprawdzić podłączone do DS2482-100 układy 1-Wire. W podkatalogach zaznaczonych na zielono o nazwie identycznej z unikalnym numerem seryjnym ID układu, zapisane są udostępniane parametry. Przykładowo dla DS1820 o ID 10D02B9901080018 z pliku możemy odczytać zmierzoną temperaturę, co widać na rysunku 6.
Jeżeli wszystko działa, można zastosować moduł we własnej aplikacji.
Adam Tatuś, EP
- R1, R2: 10 kΩ
- R3: 0 Ω (opcja) dobrać dla ograniczenia prądu
- R4: 1 Ω
- C1, C3: 0,1 μF
- C2: 10 μF
- Q1: BSS84 (opcja) tranzystor MOSFET (SOT-23)
- U2: DS2482S-100 (SO8)
- I²CA: złącze grove kątowe (110990037)
- PF1: bezpiecznik polimerowy 24 V; 0,5 A; 0,55Ω 0ZCJ0025 AF2E (SMD1206)
- TVS: dioda zabezpieczająca PESD5,0S1UAV (SOD323F)
- W1: złącze szpilkowe SIP3, raster 2,54 mm
- W2: złącze sprężynowe WAGO250-3