Temperatury

Uwaga: poniższy opis jest nieaktualny – dotyczył sytuacji, gdy były tylko 3 czujniki. Może kiedyś opiszę system w wersji bieżącej.

W skrócie napiszę, że użyto czujników DS18B20, a dane są magazynowane w mysql :)
Do połączenia magistrali z komputerem wykorzystano port szeregowy, z użyciem przejściówki zgodnej z DS9097 (nieskomplikowanej - tylko sześć elementów uwzględniając wtyk DE-9 do RS232), której schemat przedstawiłem na Rysunku 1. Z powodu braku odpowiednich diod w chwili budowania urządzenia, użyłem diod zenera o napięciu 3,6V (obu) i diod Schottky mocy (2A) - niestety diody 1N4148 tu nie działają.

ds9097 Rys. 1. Schemat przejściówki DS9097 (obrazek pochodzi ze strony odya.net).

Do tejże przejściówki podłączona jest sieć trzech czujników 1-Wire, rozmieszczonych w odpowiednich miejscach: wewnątrz pomieszczenia (wcześniej lokalizacja czujnika była o tyle nieodpowiednia, że w okresie zimowym odczytywane temperatury były o około 3°C mniejsze od rzeczywistych — poprawiono jesienią 2014), za oknem (owinięty folią aluminiową aby chociaż trochę odbijał światło słoneczne) oraz przyklejony silikonem do kaloryfera. Komunikacją poprzez port COM z czujnikami zajmuje się komputer realizujący funkcję serwera domowego (głównie pracując jako router). Port COM jest obecnie emulowany przez tanią przejściówkę USB z układem PL2303. Do crona dodałem uruchamianie co 5 minut skryptu w php, wywołującego program digitemp i wysyłającego odpowiednie dane do zdalnego serwera MySQL. Na owym zdalnym serwerze znajduje się strona którą właśnie czytasz :), generująca wykresy narzędziem phplot (planuję zmianę na pChart, użyty na stronie statystyk PIRC, chociaż posiada on istotne z inżynierskiego punktu widzenia wady).

Gdyby ktoś, czytając tę stronę oraz dokumentację czujników, miał jakieś wątpliwości - nogi GND i Vdd czujnika najeży połączyć razem - i podłączyć je później do masy przejściówki. Dołączenie Vdd do masy wcale nie oznacza, że układ nie będzie zasilany - zasilanie jest dostarczane przez linię komunikacyjną, a takie podłączenie mówi czujnikowi, że właśnie tego ma oczekiwać. W praktyce, używając magistrali 1-Wire, osiągnąłem zasięg około 60 metrów po linii prostej, stosując kabel telefoniczny typu YTKSY. W tamtym systemie za kontroler magistrali nie służy przejściówka COM tylko mikrokontroler AVR (rezystor podciągający musi mieć wartość nie większą niż 1,2kΩ ze względu na pojemności przewodów), ale ludzie na ircu donoszą, że podobne parametry są osiągalne także z przejściówką.

Opis możesz skomentować na ircu (kanał #www.elektroda.pl lub #listekklonu lub #kanal).

← Powrót