Termometr wielokanałowy na bazie Arduino

Aktualności: Prosimy o dodawanie na końcu wiadomości tagów w nawiasach kwadratowych, które pozwolą na szybsze wyszukiwanie interesującej treści.
Przykłady tagów: [2016] [pogoda] [burza] [prognoza] [grad]

Autor Wątek: Termometr wielokanałowy na bazie Arduino  (Przeczytany 16430 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline mateuszr

  • Admini
  • Super Member
  • *****
  • Wiadomości: 644
  • Age: 28
  • Miejsce pobytu: Warszawa
  • Reputacja: 212
  • Płeć: Mężczyzna
    • Meteorologia i synoptyka
Termometr wielokanałowy na bazie Arduino
« dnia: Lipiec 03, 2014, 15:24:43 pm »
Tak jak zapowiadałem w innym wątku, zacząłem budowę wielokanałowego termometru cyfrowego.

Termometr działa z wykorzystaniem płyty Funduino UNO(klon dwukrotnie tańszy od Arduino).


Jako czujnik(czujniki) temperatury wykorzystałem układy DS18B20. Sensor działa w zakresie od -55 do +125st.C, a dokładność układu w przedziale -10 do +80st.C wynosi 0,5st.C na poziomie ufności 99,7%. Z załączonego niżej obrazka widać, że niepewność można obniżyć do 0,3st.C



Jeśli chodzi o dokładność dla niższych temperatur - nie jest znacząco mniejsza, poza tym większe błędy generować będzie zła lokalizacja niż jakość czujnika. Zawsze można spróbować też kalibrować czujnik.

Na czacie Sebastian pytał jaka może być maksymalna długość przewodu, za pomocą którego dołączamy czujnik do mikrokontrolera. Ponieważ sensor wykorzystuje cyfrowy protokół OneWire, spadek napięcia na przewodach NIE GENERUJE ŻADNYCH BŁĘDÓW. Dopiero przy naprawdę długich przewodnikach i dużym szumie względem sygnału. Ale przewodnik musiałby być naprawdę długi, kilkanaście metrów przewodu telefonicznego nie powinno zmieniać wskazań.

*******************************************************************************************

Jak na razie zrobiłem prosty układ na płytce prototypowej. Do układu dołączyłem wyświetlacz LCD. Układ zasiliłem przy pomocy USB, dodatkowo za pomocą monitora portu szeregowego mogę w prosty sposób zrobić wykres na komputerze.







Plany:
  • Wyświetlać na LCD dane z dwóch czujników(na razie wyświetlam je tylko w komputerze)
  • Podświetlenie sterowane przyciskiem(tranzystor kluczujący)
  • Wyświetlanie temperatury jako duże liczby, a po naciśnięciu przycisku wyświetlanie tmin i tmax
  • Przylutować do czujników przewody z wtyczkami

Dalsze plany:
  • Podłączyć układ RTC(czasu rzeczywistego) - w ten sposób zrobię zegar z termometrem
  • Dodać czytnik kart microSD - w ten sposób będę mógł m.in. zapisywać temperaturę z określoną rozdzielczością, a potem przepisywać to do komputera(pomysł z zapisem do pamięci EEPROM to bardzo zły pomysł...).



Offline charly

  • Zastrzeżona
  • Prezes
  • *
  • Wiadomości: 1078
  • Age: 2017
  • Miejsce pobytu: Pabianice
  • Reputacja: 44
  • Płeć: Mężczyzna
  • One man's freedom is another man's terror
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #1 dnia: Lipiec 03, 2014, 16:13:00 pm »
Ciekawy projekt i sporo praktycznej nauki z zakresu systemów wbudowanych - niemniej do wykorzystania praktycznego najbardziej problematyczna będzie kwestia zasilania tego ustrojstwa przez dłuższy czas gdzieś na zewnątrz.
w sieci widywany również jako aqu32 lub chochlik

Aktualne warunki na stacji meteo Pabianice:
http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=IWOJEWDZ30


Offline mateuszr

  • Admini
  • Super Member
  • *****
  • Wiadomości: 644
  • Age: 28
  • Miejsce pobytu: Warszawa
  • Reputacja: 212
  • Płeć: Mężczyzna
    • Meteorologia i synoptyka
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #2 dnia: Lipiec 03, 2014, 16:14:40 pm »
Jeśli wyrzuci się wyświetlacz LCD(bo po co na zewnątrz?) i użyje się samego mikrokontrolera ATMega, to nie będzie problemu :)

Offline mateuszr

  • Admini
  • Super Member
  • *****
  • Wiadomości: 644
  • Age: 28
  • Miejsce pobytu: Warszawa
  • Reputacja: 212
  • Płeć: Mężczyzna
    • Meteorologia i synoptyka
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #3 dnia: Październik 16, 2014, 01:03:35 am »
Dzisiaj zamontowałem termometr za oknem - znajduje się od strony zachodniej na wysokości ~50m nad ziemią, więc wyniki mogą być dość ciekawe. Porównanie z najbliższą stacją - Wydziału Fizyki PW(wysokość koło 20m, Davis Pro2) - wskazuje, że różnice w nocnych warunkach nie przekraczają 0,2st.C - wygląda na to, że do moich potrzeb dokładność czujnika jest całkiem dobra(spełnia to zalecane przez WMO +/-0,2stC). Okęcie to zupełnie inna bajka - różnice sięgają 1-2st.C(w warunkach bez insolacji) - podejrzewam, że wpływa tutaj zarówno MWC jak i oczywiście wysokość.

Do kolejnych testów zamówiłem po dosyć okazyjnej cenie nowy czujnik BMP180. Pozwala on na pomiar temperatury z rozdzielczością 0,1st.C i dokładnością +/-0,5st.C oraz, to mnie bardziej interesuje, ciśnienia. Rozdzielczość czujnika to aż 0,01hPa, a dokładność względna wynosi ok. +/-0,12hPa(cholera mnie bierze, jak sprzedawcy na stronach mieszają te dwa pojęcia!).

Kiedy dostanę czujnik i zamontuję zdam relację co do dokładności :)

Offline charly

  • Zastrzeżona
  • Prezes
  • *
  • Wiadomości: 1078
  • Age: 2017
  • Miejsce pobytu: Pabianice
  • Reputacja: 44
  • Płeć: Mężczyzna
  • One man's freedom is another man's terror
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #4 dnia: Październik 16, 2014, 13:44:34 pm »
50 metrów nad ziemią.. to na którym piętrze mieszkasz? 15?
w sieci widywany również jako aqu32 lub chochlik

Aktualne warunki na stacji meteo Pabianice:
http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=IWOJEWDZ30

Offline mateuszr

  • Admini
  • Super Member
  • *****
  • Wiadomości: 644
  • Age: 28
  • Miejsce pobytu: Warszawa
  • Reputacja: 212
  • Płeć: Mężczyzna
    • Meteorologia i synoptyka
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #5 dnia: Październik 16, 2014, 14:20:57 pm »
16.

Offline Sebastian

  • Zastrzeżona
  • Prezes
  • *
  • Wiadomości: 1687
  • Miejsce pobytu: Skawina
  • Reputacja: 118
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #6 dnia: Październik 16, 2014, 14:41:12 pm »
Mateusz,jak długi przewód użyłeś ,czy w ogóle użyłeś przewodu ?


Offline mateuszr

  • Admini
  • Super Member
  • *****
  • Wiadomości: 644
  • Age: 28
  • Miejsce pobytu: Warszawa
  • Reputacja: 212
  • Płeć: Mężczyzna
    • Meteorologia i synoptyka
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #7 dnia: Październik 16, 2014, 15:32:38 pm »
Mateusz,jak długi przewód użyłeś ,czy w ogóle użyłeś przewodu ?

Przewód telefoniczny, jakieś 8m. Z tego co wiem, powinno działać i przy długości do 100m, pod warunkiem, że przewód ma odpowiednio niską pojemność.

Offline mateuszr

  • Admini
  • Super Member
  • *****
  • Wiadomości: 644
  • Age: 28
  • Miejsce pobytu: Warszawa
  • Reputacja: 212
  • Płeć: Mężczyzna
    • Meteorologia i synoptyka
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #8 dnia: Październik 17, 2014, 00:00:45 am »
Kolega załatwił mi po okazyjnej cenie moduł ethernetowy z możliwością podłączenia karty SD. Jak dobrze pójdzie to postawię na tym i serwer i stację meteo on-line.

Offline Sebastian

  • Zastrzeżona
  • Prezes
  • *
  • Wiadomości: 1687
  • Miejsce pobytu: Skawina
  • Reputacja: 118
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #9 dnia: Grudzień 28, 2014, 22:58:07 pm »
Wielkie podziękowania dla Mateusza Raca za pomoc przy tworzeniu termometru wielokanałowego

Termometr obsługują dwa czujniki ds18b20 ,pierwszy wpięty do płytki ,drugi na 10 metrowym przewodzie internetowym ,próbkowanie ustawione jest na 10sek.,oczywiscie możemy przyspieszyć do 1-2sek. ale czujniki zaczną się zbytnio nagrzewać i będą zawyżały temperaturę,sprawdzone  z termometrem TFA lt102,przy próbkowaniu 1-2sek.błąd dochodził do 0.3-0.4st.C(przy ujemnej temperaturze na zewnątrz),błąd przy obecnych ustawieniach wynosi 0.1-0.17st.C,wydłużając jeszcze czas próbkowania do 20-30sek. zniwelujemy błąd do zera
Ustawieniami czasów próbkowania i rozdzielczością pomiaru możemy w delikatny sposób kalibrować czujnik



dla porównania w tym samym czasie TFAlt102



Co dalej:dodać Tmin.,Tmax.,barometr i zegar

Offline Ardo

  • Zastrzeżona
  • Czesław
  • *
  • Wiadomości: 6595
  • Age: 27
  • Miejsce pobytu: Czarny Dunajec
  • Reputacja: 637
  • Płeć: Mężczyzna
  • Góral kotlinowy, meteorolog
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #10 dnia: Grudzień 29, 2014, 08:39:26 am »
Oho barometr byłby ciekawy, tak trzymać i życzę powodzenia w sukcesie. Bo chciałbym mieć własny barometr ale niestety kosztuje 2 tysiące złotych więc musiałem poczekać na lepsze czasy.  ::)

gudman

  • Gość
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #11 dnia: Grudzień 31, 2014, 13:27:56 pm »
Oho barometr byłby ciekawy, tak trzymać i życzę powodzenia w sukcesie. Bo chciałbym mieć własny barometr ale niestety kosztuje 2 tysiące złotych więc musiałem poczekać na lepsze czasy.  ::)


Ja zakupiłem sobie parę dni temu takie cudo i jestem na razie zadowolony. Póki co mamy wyż i ciśnienie mało się waha ale barometr reaguje nawet na małe zmiany jak zauważyłem.

Offline Ardo

  • Zastrzeżona
  • Czesław
  • *
  • Wiadomości: 6595
  • Age: 27
  • Miejsce pobytu: Czarny Dunajec
  • Reputacja: 637
  • Płeć: Mężczyzna
  • Góral kotlinowy, meteorolog
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #12 dnia: Grudzień 31, 2014, 13:36:12 pm »
gudman, na tym barometrze nie jest łatwo zanotować z dokładnością do 0,1 hPa.  ::)

gudman

  • Gość
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #13 dnia: Grudzień 31, 2014, 13:51:48 pm »
Może dokładnie nie ale przybliżoną wartość można określić, a 0,5 hPa idzie spokojnie określić jak wskazówka jest w połowie (wskazówka jest dosyć cieńka w stosunku do skali  :P)


Offline Ardo

  • Zastrzeżona
  • Czesław
  • *
  • Wiadomości: 6595
  • Age: 27
  • Miejsce pobytu: Czarny Dunajec
  • Reputacja: 637
  • Płeć: Mężczyzna
  • Góral kotlinowy, meteorolog
Odp: Termometr wielokanałowy na bazie Arduino
« Odpowiedź #14 dnia: Grudzień 31, 2014, 14:13:02 pm »
No w sumie ładny barometr tylko jaka jest dokładność ogólna?  5 hPa?