Inteligentne /automatyczne/ mieszkanie
 
1wire - początek
Magistrala 1wire została zaprojektowana przez firmę DALLAS Semiconductor i jako takowa używa tylko jednego przewodu do przesyłania danych. Oczywiście nie należy pomijać linii masy, która występuje i jest niezbędna. Jest to zatem rodzaj transmisji szeregowej z możliwością wykorzystania w dwojaki sposób:
 
1Wire - stosując tylko dwa przewody /masa i dane/. Zasilanie elementu jest dostarczane przez linię danych. Gdy magistrala jest wolna na linii panuje +5V, co powoduje ładowanie wewnętrznego kondensatora elementu. Zgromadzone napięcie jest wtedy wykorzystywane przez element podczas komunikacji.
 
2Wire - stosując 3 przewody - wtedy dodajemy linię zasilającą /Vdd/, po której podawane jest zasilanie +5V. Reszta linii jest połączona jak przy komunikacji 1 przewodowej.
 
Podstawy funkcjonowania magistrali.
 
Wówczas gdy magistrala jest wolna, na linii danych utrzymywany jest stan wysoki. Poprzez linię danych urządzenie zatem pobiera napięcie zasilania, i wykonuje swoje wewnętrzne operacje. /wyjątek 2Wire- choć nie każdy układ Dallas ma możliwość pracy w trybie 2Wire/ Kiedy kontroler-nadzorca (host, np. mikrokontroler) rozpoczyna transmisję po magistrali, wysyła wtedy rozkaz Reset.. Polega to na ustawieniu szyny danych na stan niski /około 480ms/ i powoduje to przejście elementu w tryb reset, który odpowiada wysyłając impuls sygnału gotowości i nasłuchuje magistrali.
 
Oczywiście każdą transmisję po magistrali 1Wire inicjuje kontroler, który nakłada w odpowiednich przedziałach czasowych stan aktywny (niski) na linii DQ, która normalnie jest w stanie wysokim. Wewnętrzny kondensator każdego z elementów dostarcza mu napięcia zasilania podczas wystawienia stanu niskiego. Z ważnych dla nas informacji to zasięg transmisji - około 100 m / w mieszkaniu o powierzchni do 100 m2 nie przekroczymy zapewne odległości 30 m /. Każdy element posiada indywidualny numer ID który możemy odczytać przy pomocy programu z poprzedniego odcinka, a to umożliwia indywidualne rozpoznawanie układu tej samej grupy. Dużo by tu można pisać o magistrali - ale póki co wróćmy do praktyki. Sztandarowym produktem oczywiście są układy DS1820 /u mnie DS18B20/ czyli termometry. Zatem czas na pomiary.
 
DS18B20
 
|
DS18B20 Katalog
|
Widok DS18B20
|
Jest to cyfrowy termometr pracujący w zakresie od -55 stopni do +125. Nominalne napięcie pracy od 3V do 5.5V. Podstawowym parametrem decydującym przy pracy z DS18B20 jest czas konwersji temperatury na postać cyfrową i wynosi on max 750 ms przy pracy 1wire oraz około 200 ms przy pracy 2wire. Jeżeli chodzi o dokładność to producent podaje 0.5 stopnia w zakresie temperatur -10 do 85 stopni. Często mylone to z rozdzielczością, która może być zmieniana przez użytkownika w zakresie 9 do 12 bitów na cały zakres. A to daje nam skok odpowiednio 0,5 stopnia przy 9 bitach do 0,0625 stopnia przy 12 bitach / standardowo producent dostarcza nam ustawiony na 12 bitów/.
 
DS2413
 
|
DS2413 - schemat
|
Widok DS2413
|
Jest to dwukanałowy układ wejścia - wyjścia pracujący na magistrali 1wire. Oznacza to że możemy zarówno ustawiać wyjścia w określony stan jak i odczytywać z nich wartości. Jeżeli chodzi o podstawowe parametry to wydajność prądowa jako wyjście to max 20mA, napięcie na pinach nie może przekraczać wartości 28V. Napięcie zasilania 2.8V do 5.25V, niestety układ przeznaczony do pracy w temperaturach dodatnich do 70 stopni. Ponieważ w moim wypadku typowo ma to być układ wyjściowy wiec na PIO_A i PIO_B podłączyłem Ledy sygnalizujące stan - do testów.
 
PROGRAM
 
Tu sprawę potraktuje skrótowo - ponieważ jest to program do testowania poszczególnych układów oraz niezbędnych pomiarów i testów - układy będę stopniowo dokładał jednocześnie uściślając opis. Oczywiście taki luksus jak obsługa błędów na dzień dzisiejszy prawie nie istnieje więc należy wpisywać i wykonywać czynności zgodnie z opisem. Układ elektroniczny identyczny jak w pierwszym odcinku - wsad do atmela w paczce do ściągnięcia.
 
Program wymaga zainstalowanej kontrolki Portcontroller2.0 - załączyłem wersję triall w poprzednim odcinku. Po uruchomieniu programu pojawia się nam okno wyboru portu - należy wybrać odpowiedniego COM'a i nacisnąć start - jak wszystko dobrze to pojawi się nam okno główne
 
Zaczniemy od zainstalowania DS18B20 - w poprzednim odcinku zamieściłem program do odczytu ID układów DALLAS, należy odczytać numer który powinien mieć postać 28XXXXXXXXXXXXXX /np. 282DC3FF00000065/. Jeżeli dysponujemy już id to double_click na ikonkę termometru przy cyfrze jeden. Powinno się pojawić okienko termometru.
Pole 1 zostawiamy bez zmian, w pole 2 wpisujemy ID naszego DS18B20 i klikamy na klawisz 3 zarejestruj - jeżeli transmisja przebiegła poprawnie to w okienku gdzie pisze text1 zobaczymy końcówkę id + znacznik końca. Pola 4 i 6 zostawiamy na razie i klikamy na zapisz - wracamy do głównego okna programu. Możemy tą czynność powtórzyć dla innych termometrów klikając na kolejne ikonki termometrów - przy czym pierwsze 6 są zobrazowane na wykresie dodatkowo. Wracamy do głównego okna programu /okno wizualizacji / - i przy czwórce odznaczamy dodane termometry i naciskamy start. Powinien ruszyć zegar, co 10 s następuje odczyt z termometrów / pierwszy odczyt będzie miał wartość 85 stopni/ i rysowanie wykresu temperatury.
 
DS2413
Jeżeli chcemy przetestować podłączony układ switch'a musimy go najpierw zarejestrować / podobnie jak DS18B20 / Uwaga - jeżeli sprawdzaliśmy termometry - trzeba nacisnąć STOP /zegar musi stać/ - następnie podwójne kliknięcie na symbolu przy "2" główne okno programu i powinno pojawić się okno poniżej
Pole numer 1 zostawiamy bez zmian - w pole numer 2 wpisujemy ID układu, który powinien mieć postać 3AXXXXXXXXXXXXXX . Jak widać początek ID to określenie grupy do której przynależy dany układ. Następnie numer 3 - zarejestruj i w dolnym okienku o ile wszystko poszło Oki zobaczymy końcówkę naszego ID. Układ powinien wyglądać jak przy opisie 2413 - czyli podłączone 2 LED. Teraz przyciskami możemy sterować stanami na pinach co zobrazują nam diody. A rysunek poniżej - przykład pracy z 9 termometrami - okno wykresu to 1 godzina.
 
I to na razie tyle, główne okno programu może się trochę różnić, ale ogólna zasada bez zmian. W pliku do ściągnięcia jest program na PC, wsad do Atmela .
ŚCIĄGNIJ PAKIET
PEPI KOSZALIN 10.03.2007
|