Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Barometr, wilgotnościomierz i termometr w jednym

adam127 21 Oct 2011 20:55 26720 25
Computer Controls
  • Barometr, wilgotnościomierz i termometr w jednym

    Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał się specjalistą od układów mikroprocesorowych mogłem zobaczyć, jakie ogromne możliwości ma dzisiaj amator elektronik/informatyk. Prawdziwego szoku doznałem, kiedy okazało się, że prosty system z mikrokontrolerem mogę zaprogramować za pomocą darmowego kompilatora i na dodatek w języku Basic. (Pamiętam go jeszcze z mikrokomputera Commodore16 :-). A kiedy zobaczyłem, że koszt podzespołów jest stosunkowo niski, ich dostępność oczywista - postanowiłem, że... muszę coś zbudować.
    Dużą inspiracją był także przeczytany artykuł z EDW 09/2000 Sp Pana Zbigniewa Raabe "Zegar z magistralą I2C".

    W związku z faktem, że jest to mój pierwszy projekt po wieloletniej przerwie, proszę o wyrozumiałość w jego ocenie. Ponieważ jednak udało się go zakończyć, postanowiłem podzielić się zdobytym doświadczeniem. Może dla innych początkujących będzie pomocne.

    Założenia:
    * Chęć samodzielnego wykonania i zaprogramowania urządzenia elektronicznego z mikrokontrolerem.
    * Wykonanie urządzenia w pełni funkcjonalnego (z obudową) i jego praktyczne wykorzystanie w domu.
    * Czas wykonania - "spokojnie nie pali się" - do końca br. roku (pierwsza myśl o budowie była ma maju).

    Najważniejsze powody podjęcia projektu:
    * Byłem ciekawy, czy dam radę?
    * Zajęcie się czymś konstruktywnym, aby nie myśleć o "przykrościach i komplikacjach życia doczesnego"
    * Odrdzewienie mózgu - ten powód jest chyba najważniejszy.

    Po krótkim namyśleniu i po przeglądnięciu sieci wybór padł na "urządzenie do pomiaru wielkości pogodowych". Każdy przecież musi zrobić swoją "pogodynkę". Ilość takich projektów opisanych w sieci przekonała mnie, że mam szansę na sukces.

    Pierwotne założenia techniczne:
    * Odmierzanie czasu (zegar, kalendarz)
    * Pomiar temperatury i wilgotności na zewnątrz (mieszkania)
    * Pomiar temperatury wewnątrz (mieszkania)
    * Pomiar ciśnienia atmosferycznego
    * Wykorzystanie tanich czujników cyfrowych I2C
    * Wykorzystanie kości ATmega8 i kompilatora Bascom
    * Możliwość programowania urządzenia bez wyjmowania kości ATmega8

    Wybór mierzonych wielkości uwarunkowany został zdobyciem stosunkowo tanich czujników/przetworników cyfrowych I2C.

    1. Szkielet.
    Szkielet urządzenia został przetestowany za pomocą płytki testowej ZL2AVR zakupionej okazyjnie na allegro. Na płytce został uruchomiony zegar na układzie PCF8583. Skorzystałem z pomocy zamieszczonej na stronie http://mirley.firlej.org/node/445. Przy okazji wyrazy uznania za poziom całego serwisu.

    Barometr, wilgotnościomierz i termometr w jednym

    Z drugiej strony zalecam jednak bardzo dokładne analizowanie wykorzystywanego kodu, gdyż zdarzają się pomyłki. Na taką właśnie natknąłem się w procedurze zapisu danych do układu. Okazuje się, że zawsze warto zaglądnąć do karty katalogowej.
    Jako że z zawodu jestem przywiązany do klawiatury PC, postanowiłem, że do ustawiania zegara wykorzystam takową. Z książki Marcina Wiązani (którą także zakupiłem okazyjnie) dowiedziałem się, że jest to proste. W związku z tym podprogram do ustawiania zegara/kalendarza napisałem samodzielnie.

    2. Jak mokre jest powietrze?

    Pierwotnym założeniem było wykorzystanie czujników cyfrowych z komunikacją I2C. Dlatego, kiedy zobaczyłem po okazyjnej cenie czujnik wilgotności typu SensironSHT11, zalicytowałem bez wahania. Jakież było moje zdziwienie, gdy okazało się, iż mimo, że wykorzystuje on komunikację cyfrową i posiada piny SDA i SCK, to wcale nie jest zgodny z I2C. Wniosek na przyszłość - sprawdź zanim kupisz! Z drugiej strony nie ma tego złego... Okazało się, że procedura obsługi tego przetwornika jest dostępna i to na stronie http://www.mcselec.com/.
    Wprowadziłem jedynie drobne poprawki, aby zmniejszyć troszkę rozmiar kodu (wg. mnie kilka instrukcji jest tam nadmiarowych) oraz zamieniłem instrukcję „Bitwait” na inną konstrukcję. Chodzi o to, aby urządzenie pracowało także przy odłączonym czujniku. Dla porządku dodam, że na stronie www.sensiron.com można także odszukać przykładowy kod w C, z którego jasno wynika jak czujnik należy oprogramować.

    Osobna sprawa to przygotowanie czujnika do pracy. Jest on miniaturowy, przystosowany do lutowania powierzchniowego. Ponieważ sam nie podjąłbym się tego zadania, poprosiłem o pomoc kolegę Bogdana, doświadczonego radioamatora (raczej zawodowca). Płytkę i elementy współpracujące SMD otrzymałem razem z
    zakupionym czujnikiem.

    Barometr, wilgotnościomierz i termometr w jednym

    Ponieważ nie mam dostępu do wzorcowego przyrządu mierzącego wilgotność powietrza, "kalibrację" ograniczyłem do zamoczenia czujnika w wodzie i sprawdzenia, czy wskazuje 100%. Wskazał 99,9%.

    Z założenia czujnik SHT11 miał mierzyć wilgotność na zewnątrz. Prosty test wykazał, że nie pracuje on dobrze, kiedy jest podłączony kilkumetrowym kablem do urządzenia. Podobnie jak komunikacja po I2C tak samo w tym przypadku odległość musi być raczej mała. W związku z tym dokonałem zmiany założeń do projektu.
    SHT11 będzie mierzył wilgotność i temperaturę wewnątrz mieszkania. Temperaturę - ponieważ posiada on zintegrowany termometr cyfrowy wykorzystywany również do kompensacji wpływu temperatury na wskazanie wilgotności.

    W trakcie doświadczeń z tym czujnikiem, miałem następujący problem. Stwierdziłem, że pomiar temperatury jest stale zawyżony o ok. 0.5 C. Okazało się, że przyczyna tkwi w sposobie jego "zainstalowania". Otóż, aby go ochronić przed mechanicznym uszkodzeniem, zabudowałem go do aluminiowej tuby (zdjęcie poniżej).

    Barometr, wilgotnościomierz i termometr w jednym

    Z jednej strony otwartej, z drugiej strony zostały wyprowadzone przewody. Nie sądziłem, że wpłynie to na jakość pomiaru. Doświadczenie pokazało jednak, że wpływa. Obecnie czujnik jest zainstalowany bez żadnej osłony, wskazania są prawidłowe.

    3. Stary dobry DS18B20

    W związku z powyższym - do płytki testowej podłączyłem popularny termometr firmy Dallas DS18B20. Mierzy temperaturę na zewnątrz mieszkania. Wykorzystuje protokół 1Wire i pozwala na komunikację na znaczne (kilkumetrowe) odległości.

    Barometr, wilgotnościomierz i termometr w jednym

    Ponieważ z założenia projekt miał zostać wykonany solidnie, zabudowałem czujnik do obudowy po zepsutym PT100. Wcześniej posmarowałem go pastą do procesorów, po czym rurkę zakleiłem klejem na gorąco. Wielokrotne porównanie wskazań z termometrem wzorcowym (TES1311A) pokazało poprawność takiego rozwiązania.


    4. Jak zaprojektować płytkę drukowaną - przygoda z KiCad

    Kiedy prototyp układu na płytce testowej dojrzał, należało podjąć decyzję, w jaki sposób skonstruować układ docelowy. Do łączenia na tzw. pająka czy do płytek uniwersalnych nigdy nie miałem przekonania - oczywiście nie twierdzę, że są to metody nieskuteczne. Zamarzyło mi się wykonać dla urządzenia płytkę drukowaną.
    Powstały dwa problemy: jak zaprojektować płytkę oraz jak płytkę wykonać.

    Za "dawnych czasów" robiłem to tak:
    - projekt układu ścieżek wykonywałem na papierze milimetrowym
    - za pomocą punktaka przenosiłem punkty wierceń na płytkę
    - lakierem spirytusowym za pomocą rapitografu rysowałem ścieżki na płytce
    - suszyłem, a następnie trawiłem w kwasie azotowym
    - wierciłem otwory

    Postanowiłem, że teraz zrobię to w sposób bardziej "elegancki". Po przeglądnięciu i sprawdzeniu wielu programów mój wybór padł na KiCad. Za pomocą tego darmowego kombajnu mogę narysować schemat, wygenerować listę połączeń i zaprojektować płytkę. Oczywiście pozostało się jeszcze tego trochę nauczyć. Bardzo pomógł mi mini-tutorial zamieszczony na stronie http://kicad.r4b.ru/mediawiki/index.php/PL:Mini_tutorial.

    Barometr, wilgotnościomierz i termometr w jednym

    Proszę o niekrytykowanie sposobu narysowania schematu urządzenia, ponieważ:
    - jest to mój pierwszy schemat narysowany w KiCad
    - schemat miał z założenia odzwierciedlać układ ścieżek na płytce drukowanej
    - poprawiałem schemat już po uruchomieniu urządzenia i opisywanych zmianach

    Barometr, wilgotnościomierz i termometr w jednym


    5. Do czego służy żelazko?

    Ponieważ nie miałem zamiaru ręcznie rysować ścieżek, wybrałem opisywaną w sieci metodę żelazkową. Niestety nie dysponuję doświadczeniem i była to moja pierwsza płytka, nie byłem zadowolony z rezultatu.

    Barometr, wilgotnościomierz i termometr w jednym

    Okazało się, że w centralnym miejscu płytki toner nie przykleił się. Musiałem uzupełnić ścieżki pisakiem typu "permament". Poza tym laminat, który miałem (coś al’a ebonitowy) okazał się fatalny, cały się powyginał. Nigdy więcej nie użyję takiego laminatu.

    Barometr, wilgotnościomierz i termometr w jednym

    Urządzenie zabudowałem w plastikowej obudowie typu Z-1A. Panel przedni posiada zabudowany wyświetlacz LCD 4 wiersze po 20 znaków oraz przełączniki:
    - ON/OFF,
    - SetTime - uruchamia wejście do procedury ustawiania czasu,
    - Pomiar - ustalenie czasu między kolejnymi pomiarami - 1min lub 5 min.
    Podziękowania dla Zbyszka, który wykonał panel przedni.

    Barometr, wilgotnościomierz i termometr w jednym

    Na tylnym panelu znajdują się:
    - gniazdo klawiatury PS2
    - gniazdo do podłączenie programatora SPI(wtyk RS232)
    - przycisk Reset
    - gniazdo do podłączenia czujnika STH11
    - gniazdo do podłączenia czujnika DS18B20
    - dławik na kabel zasilający 230V

    Barometr, wilgotnościomierz i termometr w jednym


    6. Czujnik ciśnienia i niespodzianki

    Urządzenie było prawie gotowe. Pozostał przetwornik ciśnienia. Ale przecież przewidziałem w układzie szynę I2C do jego podłączenia, a nawet fizyczne miejsce na płytkę z czujnikiem. Po analizie dostępnych przetworników na rynku wybór padła na HopeRF HP02S. Przetwornik tani, ale o niezłych parametrach technicznych. Procedury obsługi znalazłem na form http://www.cnc-work.pl/forum/.
    I tutaj skończyło się moje samozadowolenie.
    Czujnik potrzebuje sygnału 32768Hz (MCLK) oraz sygnału sterowania (XCLR). Wiedziałem o tym przed zakupem czujnika. Zakładałem (wstyd się przyznać), że wykorzystam sygnał z zegara PCF8583. Niestety nie jest to możliwe, tak to nie działa. Próba zrobienia na szybko generatora na drutach także skończyła się niepowodzeniem.
    OK, ale przecież Atmega8 ma wewnętrzne timery, za pomocą których można taki generator zrobić. Podpowiada to nawet autor procedury ze strony wskazanej wyżej. Tak, tylko trzeba mieć wolne wyjście OC1A lub OC1B.
    Na OC1B mam przełącznik "Set", więc bez problemu mogę go przenieść. Niestety próba wygenerowania jakiegokolwiek stabilnego sygnału na tej nodze kończy się fiaskiem. Na OC1A zrobiłem linię dla szyny I2C. Kicha!
    Pozostało wykorzystać dobrą radę Jacka.M. Przeciąłem jedną ścieżkę na płytce drukowanej, tę od OC1A. Szynę I2C przeniosłem na inne wolne wyprowadzenie. Sterowanie XCLR poprowadziłem z innego wolnego wyjścia.
    Na szczęście projektując układ, wolne wyjścia mikrokontrolera wyprowadziłem na górną stronę płytki. To mnie uratowało. Dzięki temu mogłem za pomocą kabelków podłączyć poprawnie czujnik HP20S.

    ' Generator ok. 32kHz dla HP20S
    Config PinB.1 = Output
    Config Timer1 = Timer, Clear Timer = 1, Compare A = Toggle, Compare B = Disconnect, Prescale = 1
    Compare1a = 242

    Na zakończenie tego punku dwie sprawy. Po pierwsze - płytkę do czujnika ciśnienia musiałem wykonać sam, poszło o wiele lepiej niż poprzednio. Lutowania czujnika do płytki podjął się Jacek.M :)

    Barometr, wilgotnościomierz i termometr w jednym

    Po drugie czujnik należy skalibrować. Użyłem do tego celu kalibratora Beamex MC5 i wprowadziłem do procedury poprawkę.

    Barometr, wilgotnościomierz i termometr w jednym


    7. Czy BASIC żyje ?

    Wyznaję zasadę, że nie jest ważne w jakim języku piszesz program ale ważne jest czy Twój program działa poprawnie i czy spełnia wymagania użytkownika. Ponieważ w życiu napisałem trochę programów małych i dużych, to tym bardziej nie zamierzam tłumaczyć się z wybranego narzędzia.

    Mój wniosek podstawowy z projektu jest taki:
    Dzięki temu, że istnieje takie środowisko jak BASCOM, osoba mało doświadczona w budowie współczesnych układów elektronicznych, a w szczególności w układach mikrokontrolerów może zbudować i zaprogramować w pełni funkcjonalne urządzenie. Budowanie i programowanie takich urządzeń daje ogromną satysfakcję.
    Nie wykluczam jednak, iż kolejny projekt oprogramuję w innym języku.
    Urządzenie zostało zainstalowane w miejscu docelowym. Funkcjonuje poprawnie i spełnia swoje zadanie. Na bieżąco można przekonać się o panujących warunkach otoczenia. Z użycia wyszedł zaokienny termometr, który wymagał wytężonego spoglądania za okno i którego czytelność była ograniczona.

    Barometr, wilgotnościomierz i termometr w jednym

    Poniżej załączam kod programu dla zbudowanego urządzenia. Zaznaczam, że procedury obsługi poszczególnych czujników i zegara pochodzą od innych autorów. Ja pozwoliłem sobie na ich "optymalizację" wg. mojej oceny i połączenie w jeden program. Sobie przypisuję ogólną organizację programu oraz procedurę obsługi ustawiania zegara za pomocą klawiatury PC. Aby ograniczyć wielkość kodu, zrezygnowałem z wykorzystania funkcji "Fusing". W to miejsce sporządziłem podprogram formatujący wyniki pomiarów do standardowej postaci. Również starałem się zamienić mnożenie przez liczby całkowite będące potęgą liczby 2 na przesunięcia bitowe. Istotne także było, aby program funkcjonował także po odłączeniu czujników od urządzenia. Wspomniałem o tym przy okazji opisywania czujnika SHT11. Do tego celu wykorzystałem także zmienną globalną "Err".
    Komentarze zawarte w programie będą chyba wystarczającym opisem działania.
    Oczywiście mam świadomość, że program mógł zostać napisany "lepiej". Planowałem np. wykorzystać przerwania do odmierzania czasu pomiędzy kolejnymi pomiarami. Ze względu na obszerność obecnego kodu i brak wiedzy, aby go zmniejszyć - zrezygnowałem.
    Nie zamierzam w najbliższym czasie poprawiać programu, jednak wdzięczny będę za konstruktywne podpowiedzi.
    Prosiłbym jednak o konkretne propozycje z przykładowym i sprawdzonym kodem.



    8. Zakończenie

    Na zakończenie chciałbym podziękować wszystkim osobom, które przyczyniły się do powstania tego projektu.


    9. Wydatki (zł)

    SHT11 50
    DS18B20 5
    HP20S 22
    ATmega8 7
    PCF8583 3
    LCD 4x20 40
    Obudowa 8
    Pozostałe 30

    Razem: ok. 170 zł.



    10. Wykorzystane źródła

    Elektronika dla Wszystkich 09/2000, artykuł Sp Pana Zbigniewa Raabe "Zegar z magistralą I2C"
    Marcin Wiązania, Programowanie mikrokontrolerów AVR w języku Bascom, BTC Warszawa 2004
    http://mirley.firlej.org
    http://www.mcselec.com/
    http://www.sensiron.com
    http://kicad.r4b.ru/mediawiki/index.php/PL:Mini_tutorial
    http://www.cnc-work.pl/forum/
    https://www.elektroda.pl/

    Cool? Ranking DIY
    About Author
    adam127
    Level 10  
    Offline 
    adam127 wrote 4 posts with rating 148. Live in city Opole. Been with us since 2007 year.
  • Computer Controls
  • #2
    eurotips
    Level 39  
    No nie najlepszy pomysł na "odrdzewienie"
    to raczej na odchudzenie portfela tym bardziej że pewnie każdy czujnik kupowałeś z osobna a w kalkulacji nie widzę ani złotówki kosztów wysyłki.
    A kalibracja to full proffesional, ale kto poza autorem będzie miał dostęp np do wzorcowych wskazań temperatury? No i ten kabelek przez okno to da ci się we znaki zimą.
    No ale każdy zakłada sobie cel a tutaj akurat został on zrealizowany.
  • Computer Controls
  • #4
    tangofox
    Level 14  
    @U.P.:
    Co do pomiaru opadów to raczej skierowałbym się w stronę mierzenia wagi opadów i ręcznego opróżniania zbiornika(no chyba że mamy kilkaset zł za dużo w portfelu to można myśleć o przepływomierzach)

    Do pomiaru prędkości wiatru możesz użyć enkodera optycznego/magnetycznego.
  • #6
    tomek10861
    Level 27  
    Co do komputerów ARM polecam chińskiego mini netbooka. Może i do internetu się on nie nadaje, ale po zainstalowaniu linuxa jest to kombajn, po wyprowadzeniu RS232, mamy Wi-Fi, USB, slot kart SD, Ethernet, RS232, oraz wyświetlacz, klawiaturę, baterię.
    A co do samego projektu ciekawy, na płytkę naniósł bym opisy wyprowadzeń metodą żelazkową. I zrobił zamówienie w jednym sklepie ;)
    Pozdrawiam
  • #8
    grabki95
    Level 14  
    Tak na przyszłość: staraj się unikać kątów prostych na płytce, zamiast tego lepiej np. zrobić dwukrotne "załamanie" ścieżki pod kątem 45 stopni.
  • #9
    tgaudio
    Level 14  
    Witam, jak na pierwszy raz bardzo funkcjonalna i udana konstrukcja. Dobry poczatek.
    Patrząc na schemat sugerowałbym w przyszłości:

    wejście zasilania ADC podawać poprzez filtr LC jak stoi w nocie katalogowej czyli 10uH i 100nF.
    -dodatkowo warto zasilać podświetlenie LED z LCD z 12V aby ograniczyć duże straty na LM7805, co prawda będą straty na oporniku od podświetlenia ale mniejsze. Jeszcze lepiej zasilać z 12V i sterować LED przebiegiem PWM wtedy straty będą mniejsze na rezystorze.
    -bateria podtrzymująca zasila zegar poprzez 1k - nie za dużo ?
    -niektórzy podłączają baterię poprzez np 1M do +5V aby nieco podładować ogniwo.

    Pozdrowienia
  • #10
    konel83
    Level 15  
    Witam, jak dla mnie opis urządzenia wręcz wzorowy, oby tak dalej. Stacja pogodowa ma całkiem fajne parametry, cel został osiągnięty więc udało ci się odrdzewić to i tamto ;) Mam jeszcze pytanie do kolegi grabki95, dlaczego nie powinno się robić kątów prostych, tylko ze względu na estetykę czy są jakieś podstawy techniczne?
  • #11
    eurotips
    Level 39  
    tgaudio wrote:
    ...
    -niektórzy podłączają baterię poprzez np 1M do +5V aby nieco podładować ogniwo.

    Pozdrowienia


    Nie po to aby "podładować" tylko w celu ograniczenia samorozładowania w długim czasie. Innym chwytem jest zastosowanie diody germanowej której duży stosunkowo prąd wsteczny działa na korzyść i daje podobne rezultaty.
  • #12
    grabki95
    Level 14  
    konel83 wrote:
    Mam jeszcze pytanie do kolegi grabki95, dlaczego nie powinno się robić kątów prostych, tylko ze względu na estetykę czy są jakieś podstawy techniczne?


    Ścieżki mogą się odrywać. Poza tym to nie korzystnie wpływa na przepływ prądu/sygnałów. Związane jest to z przekrojem - prądowi ciężko jest zmieścić się w tak ciasnym zakręcie :)
  • #13
    papaxpapa
    Level 11  
    A da sie do tego podłaczyć moduł wi-fi ?
    Serdecznie pozdrawiam
  • #15
    tgaudio
    Level 14  
    eurotips wrote:
    tgaudio wrote:
    ...
    -niektórzy podłączają baterię poprzez np 1M do +5V aby nieco podładować ogniwo.

    Pozdrowienia


    Nie po to aby "podładować" tylko w celu ograniczenia samorozładowania w długim czasie. Innym chwytem jest zastosowanie diody germanowej której duży stosunkowo prąd wsteczny działa na korzyść i daje podobne rezultaty.


    no właśnie samorozładowywanie znika jeśli zastosuje sie rezystor o dużej rezystancji który doładowywuje baterię znikomym (ale jednak) prądem więc nie widzę pomyłki w tym co napisałem. Wiadomo że nie chodzi o ładowanie pustej baterii.

    Pozdrawiam
  • #16
    popaw1
    Level 20  
    Czujnik wilgotności wewnątrz obudowy to chyba niezbyt dobry pomysł.
  • #17
    _jta_
    Electronics specialist
    Nie wiem, jak z Wi-Fi, ale jest darmowe oprogramowanie uIP na bardzo wiele kontrolerów do Internetu - np. serwer WWW.

    Pomiar deszczu - dobrze, żeby był bezobsługowy (czyli napełnia się jakiś zbiornik, jak jest odpowiedni poziom, to zbiornik
    się przekręca, woda się wylewa, zbiornik wraca na miejsce i może się napełniać na nowo - np. deszczomierz korytkowy).
    Ale dobrze by było - jak chcemy mierzyć nieco dokładniej - umieścić w zbiorniku izolowane przewody i zrobić generator,
    którego częstotliwość będzie zależała od pojemności między tymi przewodami, zliczać impulsy i wiadomo, ile jest wody.

    Mam wrażenie, że CMOS-owe układy zegarów pobierają prąd rzędu µA, albo i mniej - może użyć kondensatora goldcap
    do zasilania, kiedy nie ma innego zasilania - powiedzmy 0.1F, dopuszczamy obniżenie napięcia o 1V - wystarczy na dobę.
    W komputerach PC ostatnio stosuje się baterie litowe (zwykle chyba CR2032), ale wtedy układ nie może doładowywać
    takiej baterii prądem większym od 1µA, gdyż może to nawet doprowadzić do wybuchu (i to dość silnego).
  • #18
    adam127
    Level 10  
    Dziękuję wszystkim za uwagi i komentarze.
    W szczególności biorę sobie do serca uwagi na temat filtrowania/zasilania atmegi.
    Pomysł zasilenia podświetlenia LED z 12V także, praktyka pokazała że 7805 się grzeje. Zamontowałem mały radiator. Co do rezystora 1k na baterii to jest ok, zegar jest podtrzymywany przy odłączeniu od 230. Z noty PCF8583 wyczytałem że potrzebuje do tego małego prądu.

    Dodano po 1 [minuty]:

    popaw1 wrote:
    Czujnik wilgotności wewnątrz obudowy to chyba niezbyt dobry pomysł.


    Czujnik wilgotności jest na zewnątrz.
    Wewnątrz zamontowałem czujnik ciśnienia / barometr.
  • #19
    bf214
    Level 16  
    Witam, mam 2 pytania:

    1. Czy czerwony filtr jest fabryczny, a jeśli nie, to z czego jest zrobiony?

    2. Jakiego koloru jest wyświetlacz?

    Pozdrawiam,
    bf214
  • #20
    demeus
    Level 18  
    Witam,

    SHT11 można bez problemu uruchomić na przewodach 10m i więcej. Poza tym w nocie do SHT11 jest mała nieścisłość, rezystor podciągający 10k jest trochę za duży, ładnie to widać oglądając przebieg sygnału na oscyloskopie.

    Do czujnika SHT11 polecam zastosować filtr SF1 znacząco on przedłuża "żywotność" i stabilność pomiarów czujnika, kupisz go u tej samej osoby co zakupiłeś czujnik ;-).

    --
    pozdrawiam,
    demeus
  • #21
    adam127
    Level 10  
    bf214 wrote:
    Witam, mam 2 pytania:

    1. Czy czerwony filtr jest fabryczny, a jeśli nie, to z czego jest zrobiony?
    2. Jakiego koloru jest wyświetlacz?

    Pozdrawiam,
    bf214



    Filtr zakupiłem w komplecie razem z obudową typu Z
    Wyświetlacz w kolorze żółty-bursztyn / negatyw

    Pozdr

    Dodano po 12 [minuty]:

    demeus wrote:
    Witam,

    Do czujnika SHT11 polecam zastosować filtr SF1 znacząco on przedłuża "żywotność" i stabilność pomiarów czujnika, kupisz go u tej samej osoby co zakupiłeś czujnik ;-).

    --
    pozdrawiam,
    demeus


    Fajnie że się tu spotkaliśmy. Pisząc "artykuł" zamierzałem podziękować właśnie Tobie za uzyskaną pomoc i rady przy zakupie czujnika. Niestety nie miałem już historii transakcji. Robię to teraz z przyjemnością.
    Przy okazji, jak wygląda ten filtr SF1 i jaka jest cena?

    Podłączyłem SHT11 poprzez kabel 6-żył/Cu/0,25mm2 o długości ok 10m. Odczyt temperatury był zawyżony o kilka stopni. W sieci wyczytałem że przy takim sposobie komunikacji (I2C) max. długość przewodu to 3m. Dlatego zrezygnowałem.

    Pozdr
  • #22
    _jta_
    Electronics specialist
    Przejrzałem opis SHT11 - przy prawidłowym układzie i montażu nie ma tego typu ograniczeń na długość kabla.
    Istotne jest, by nie było sprzężeń między danymi i zegarem (przewody do nich należy rozdzielić przewodem
    masy, bądź zasilania); przy samym układzie powinien być kondensator; układ przez większość czasu powinien
    być w stanie 'idle' - wskazane jest, by mierzył tylko przez 10% czasu (czyli odczyt co 3-4 sekundy, jeśli działa
    z pełną rozdzielczością); i oczywiście podłoże powinno ułatwiać, a nie utrudniać wymianę ciepła z otoczeniem.

    Przy dłuższym kablu trzeba zmniejszać częstotliwość zegara używanego do komunikacji I2C - można dowolnie.
    Pobór prądu podczas pomiaru jest do 1mA (włączony podgrzewacz pobiera około 8mA); przewód miedziany
    0.25mm2 ma opór 0.07o/m i prądy, jakie w nim płyną, nie dają spadku napięcia mogącego cokolwiek zakłócić
    nawet przy długości kilkuset metrów (o ile nie włączasz podgrzewacza i kabel jest z prawdziwej miedzi, a nie
    imitacji - mam już przewód z żelaza pokryty cienką warstewką miedzi, który sprzedano mi jako miedziany).

    Z tego, co widzę w opisie, filtr SF1 chroni czujnik wilgotności w SHT11 przed kroplami wody i pyłem.
  • #23
    demeus
    Level 18  
    _jta_ wrote:
    Przejrzałem opis SHT11 - przy prawidłowym układzie i montażu nie ma tego typu ograniczeń na długość kabla.
    Istotne jest, by nie było sprzężeń między danymi i zegarem (przewody do nich należy rozdzielić przewodem
    masy, bądź zasilania); przy samym układzie powinien być kondensator; układ przez większość czasu powinien
    być w stanie 'idle' - wskazane jest, by mierzył tylko przez 10% czasu (czyli odczyt co 3-4 sekundy, jeśli działa
    z pełną rozdzielczością); i oczywiście podłoże powinno ułatwiać, a nie utrudniać wymianę ciepła z otoczeniem.

    Przy dłuższym kablu trzeba zmniejszać częstotliwość zegara używanego do komunikacji I2C - można dowolnie.
    Pobór prądu podczas pomiaru jest do 1mA (włączony podgrzewacz pobiera około 8mA); przewód miedziany
    0.25mm2 ma opór 0.07o/m i prądy, jakie w nim płyną, nie dają spadku napięcia mogącego cokolwiek zakłócić
    nawet przy długości kilkuset metrów (o ile nie włączasz podgrzewacza i kabel jest z prawdziwej miedzi, a nie
    imitacji - mam już przewód z żelaza pokryty cienką warstewką miedzi, który sprzedano mi jako miedziany).

    Z tego, co widzę w opisie, filtr SF1 chroni czujnik wilgotności w SHT11 przed kroplami wody i pyłem.


    Widzę, że notę studiowałeś.
    Teoria mówi, że nie ma ograniczeń, praktyka pokazuje że powyżej kilku m wg. schematu z noty katalogowej czujnik już nie działa.

    SHT11 nie korzysta z I2C! Nowe czujniki SHT21 jak najbardziej korzystają z I2C. Budując układ z noty katalogowej używając skrętki SFTP (podwójnie ekranowana) będziesz miał problemy z transmisją powyżej kilku m. I nie chodzi tu o oporność miedzi.

    Podpowiedź dotyczącą rozwiązanie problemu z długością transmisji podałem wyżej.

    Filtr SF1 jest zalecany przy każdorazowym używaniu czujnika, a na pewno przy jego przemysłowym zastosowaniu, gdzie należy taki filtr zmieniać w zależności od jego zabrudzenia.

    --
    pozdrawiam,
    demeus
  • #24
    _jta_
    Electronics specialist
    Jest sprawa sprzęgania sygnałów, o której napisałem - według noty, już od 10cm trzeba na to uważać...
    Sprawa opornika - to zależy od szybkości transmisji, kabel ma pojemność, którą przez niego się ładuje;
    niestety nie może on być mały - SHT11 zapewnia prąd do 4mA @5V, więc opornik musi być powyżej 1k.
  • #25
    demeus
    Level 18  
    Owszem, rezystor podciągający 1k-5k jest optymalny, 10k to stanowczo za dużo, ze względu na szybkość transmisji. W każdym razie rezystor nie jest odpowiedzią na problemy z transmisją powyżej kilku m.

    --
    pozdrawiam,
    demeus
  • #26
    _jta_
    Electronics specialist
    Niestety, nie mam ani SHT11, ani czasu, by robić próby. Natomiast robiłem transmisję po 1-Wire dla DS18B20,
    i uzyskałem stabilną łączność na 250m, w tym 200m to był kabel z imitacji miedzi, który mocno zniekształcał.
    Więc jak się postarać, to wychodzi, "I2C" w SHT11 jest statyczne, więc powinno działać i na większą odległość.