Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

DIY — stacja meteo

Najwyraźniej jestem zbyt leniwym człowiekiem aby wystawić za okno termometr i sprawdzać co aktualnie się na nim znajduje, dlatego też zbudowałem sobie parę lat temu, taką oto termometrynkę:

Stara wersja z bluetooth

Zbudowana z kilku powodów, chęci znania aktualnej temperatury za oknem, temperatury wnętrza, kaloryferów, ścian, ciśnienia i wilgotności. Wszystko wraz z modułem BT aby dane przesyłać, i zapisywać w db, a tak, bo lubię. Z wilgotności nic nie wyszło, gdyż układ Si7005 jest po prostu idiotycznie IMO zaprojektowany. Pracując na I2C posiada pin Chip Select, który w dodatku na modułach z HopeRF nie jest wyprowadzony, w efekcie jeśli na szynie I2C jest poza nim inne urządzenie - całość nie będzie działać, jeśli Si ma zasilanie.
Całość zbudowana na moim ukochanym AVRze, ATmega8A z małym dodatkiem AS1106 (to odpowiednik MAX7219, z tym że potrafi działać na 3v3), czujnikami temperatury (jak zawsze) DS18B20 i BMP085 za czujnik ciśnienia.
Wszystko działa(ło) całkiem sprawnie, no z paroma wyjątkami: termometr zewnętrzny jest za blisko ścian, zimą pokazuje około 1-2 stopnie za dużo, latem około 5. Jest osłonięty przed słońcem, ale z uwagi na bliskość parapetu, ciemnego w dodatku, pokazuje temperaturę lekko ogrzanego od niego powietrza. Bluetooth w Linuksie ma bugi, kiedy serwer nie może się połączyć z modułem, od czasu do czasu wywala cały serwer z kernel-panic. Dlatego, głównie z powodu problemów z BT, powstała wersja na ETH.

Nowa wersja z ethernetem

Wpis nie jest "stricte" DIY, to bardziej raport z konstrukcji, takie przemyślenia, pomysły i rozwiązania, które się mogą przydać komuś, kto się babrze w takich rzeczach. Tymczasem pecyfikacja wersji 2.0 jest następująca: ATmega328p - jako główny chip, ENC28J60 - zabugowany kontroler Ethernetu, DS18B20 - jako czujnik temperatury, BMP185 - jako czujnik ciśnienia, BH1750 - czujnik poziomu oświetlenia, SHT21 - czujnik wilgotności względnej. Poza tym, w porównaniu do pierwszej wersji - brakuje wyświetlacza, BT, płytka nie jest dwuwarstwowa. I oczywiście nie ma schematu, po co komu schematy, genialny umysł ogarnia bez schematów. :D

Wszystkie czujniki są cyfrowe, DS18B20 podłączony jest przez OneWire, reszta przez I2C. Projekt uwzględnia także dwa wejścia analogowe, ale w praktyce pozostały niewykorzystane. A, i jest także wyjście na wentylator wraz z czujnikiem obrotów.
Do zasilania wykorzystane standardowe złącze 2,1/5,5mm. Wedle założenia na płytce powinno go nie być, ale niestety moduły z ENC28J60 nie uwzględniają opcji zasilania przez ethernet, dlatego potrzeba zewnętrznego rozdzielacza. Jak mi się będzie chciało robić wersje 2-warstowową, to na drugiej stronie PCB spokojnie wciśnie się kontroler eth, wtedy moduł z nim staje się zbędny i można spokojnie zrobić PoE bez rozdzielacza. Ale to przewidziane jest na v4, w v3 za to dodany będzie czujnik wyładowań atmosferycznych, AS3935. Idealny nie jest, głównie ze względu na 70% skuteczność w ich wykrywaniu z większych odległości (oraz wymóg zaprojektowania anteny dla 500kHz/Q15), ale za to potrafi obliczyć ich energię i odległość od stacji, ot będzie kolejny bajer. (I może jeszcze ultradźwiękowy pomiar siły i kierunku wiatru).
Układ zasila impulsowy stabilizator napięcia LM2594, w prototypie zapakowany był LDO, ale jak zwykle okazało się to złym pomysłem, grzał się straszliwie. W końcu 12V sprowadzone do 3v3 daje 1,3W ciepła na ~4mm2.
Wszystkie czujniki kupione w postaci modułów, moduły są fajne bo mają wyprowadzenia w rastrze 2,54mm - znaczy takie, które przylutuje przeciętny orangutan. Moduły są też złe, bo często (jak nie prawie zawsze) zawierają rezystory podciągające magistralę I2C do VDD, to jest złe, bo jeśli tych modułów podłączymy kilka, jak w tym wypadku, to przeciążymy prądowo albo czujniki albo kontroler. Dlatego te rezystory trzeba zlokalizować i dokonać ich eksterminacji.
Jeśli kogoś to interesuje, to projekt górnej warstwy płytki można sobie dopaść w tym PDFie, to jest lustrzane odbicie górnej warstwy, jedynej warstwy. Także tylko wydrukować, przyprasować i do trawienia.

Oprogramowanie bazuje na projekcie avr-net, napisanym przez Paweła Lebiode, jestem zbyt leniwy aby napisać całkiem własne. Wniosłem jeno pare poprawek do sterownika ethernetu, dzięki czemu przestał się zawieszać po paru pingach, dodałem sterowniki urządzeń i własny protokół komunikacji. Całość działa po UDP/IP, jest bezstanowa, więc w sumie wiele urządzeń z czujnikami może rozmawiać (w planach wyświetlacz z eth). Generalnie jak Linux, zlepek różnych rzeczy, nie zawsze najpiękniejszy ale działa stabilnie i spełnia swoją funkcję. Ah i to jest soft napisany bez projektu na kolanie, tak aby najszybciej zaczął działać, nie jest najcudowniejsza rzeczą jaką można napisać, w wielu miejscach da się zrobić lepiej. Ale z drugiej strony działa, działa, działa... nie ruszaj jak działa. Poza tym:

Size after: AVR Memory Usage ---------------- Device: atmega328p Program: 14564 bytes (44.4% Full) (.text + .data + .bootloader) Data: 1740 bytes (85.0% Full) (.data + .bss + .noinit)

Spokojnie mieści się w kontrolerze i ma jeszcze duuużo miejsca na nowe zabawki (jak kod chipu detekcji wyładowań). Ale w zasadzie nie tyle pamięć flash kontrolera jest problemem co pamięć SRAM, mało. Trzeba tam upchnąć dane, bufory ramek, i wszyyystko. Dlatego największym pakietem jaki może odebrać ten sprzęt jest 512B. Ale w sumie, 0,5kiB wystarczy nawet aby DHCP obsługiwać, a pakiety z danymi z czujników mieszczą się w ~130B, mniej wiecej, ich rozmiar zależy co się w nich upchnie.

Układ przy pierwszym starcie losuje sobie adres MAC (wykorzystując watchdoga) i zapisuje sobie w EEPROMIE na później, każdy czujnik posiada swój 64bitowy adres, pozwalający go jednoznacznie zidentyfikować, w wypadku czujników I2C ten adres to 48bit adresu MAC + 16bit arbitralnie przypisanej liczby (+ typ). W wypadku DS18B20 to po prostu cały ich numer seryjny wraz z sumą kontrolną, jeśli czujnik temperatury przepnie się z jednego urządzenia do innego, to będzie w nim widniał pod identycznym adresem.
Wszystkie obliczenia wykonywanie są jeno w arytmetyce całoliczbowej. Wysyłane są wartości uśrednione z 8 ostatnich odczytów, odczyny są wykonywane co około 10s, także dane, które odczytuje aplikacja:

To w praktyce uśrednione wartości z ostatnich 80s.

Poza tym windowsowa wersja pozwala na konfigurację protokołu IP urządzenia, a dostanie także opcję aktualizacji firmware przez ethernet.

Obudowa

No ale to cudo ma pracować na zewnątrz, czasem w ciężkich warunkach pogodowych (jak ostatnie wichury), trzeba je jakoś osłonić od: wiatru, śniegu, deszczu, słońca... a jednocześnie zapewniać względnie swobodny przepływ powietrza. Rozwiązaniem są - podstawki pod doniczki. Są prawie idealne, lepsze by były tylko jakby miały dłuższe brzegi nachylone bardziej pod kątem 45 stopni, ale i tak jest nieźle. Sprawiają początkowo pewne problemy (głównie przepuszczają światło), ale nic z czym nie dało by sobie poradzić.

Kupujemy zestaw podstawek, odpowiadającego nam rozmiaru, w dowolnym kolorze, byle tylko ich brzegi po odwróceniu nie wyglądały jak rynienki. Jeśli jak moje przepuszczają światło (a co za tym idzie i podczerwień), malujemy je na czarno, czy generalnie w dowolnym kolorze. Biała farba jak się niestety okazało kryje dobrze, ale słabo zmniejsza ilość promieniowania wpadającego do środka, przynajmniej moja. Jak już je pomalujemy na dowolny kolor (od spodu, od góry nie trzeba) to czekamy aż wyschnie.

Jak już wyschnie, i upewnimy się, że nigdzie nie przepuszcza światła - malujemy ponownie, tym razem koniecznie na biało. Czarny podkład skutecznie mi zablokował przebijające się światło, a białe wykończenie skutecznie chroni przed grzaniem się od słońca.

Idealnie na biało musi być pomalowana tylko pokrywka, która będzie na samej górze, reszta potrzebuje tylko białych brzegów.
Jak już wszystko wyschnie, to bierzemy wiertarę. Jeśli mamy 120mm (albo i nawet dłuższe) śruby, to potrzebujemy 3 otwory, w każdej podstawce. Jeśli takich śrub nie mamy (ja nie mam) to robimy ich 6. Potem odkładamy 4 podstawi na bok, a w reszcie wycinamy środek, tak aby się nam PCB stacji zmieściła do środka:

Wszystkie otwory można równie dobrze wykonać przed jak i po malowaniu. Dwie podstawki na górze będą lepiej chronić przed słońcem, dwie na dole stanowią podstawę i powinny być wycięte tak aby dostosować obudowę do zamontowania na czymkolwiek na czym ma być zamontowana. Dlaczego dwie na dole? Bo sztywność. Moja wersja pozwala na zamontowanie na szczycie rury za pomocą śruby używanej do mocowania rzeczy na płytach gipsowo-kartonowych. Na ostatniej warstwie (nie będącej jeszcze podstawą montujemy 40mm wentylator).

Po co wentylator... z kilku powodów, głównie dlatego że ENC28J60 się trochę grzeje, z doświadczeń wynika, że podnosi temperaturę w swojej okolicy o około 1-3 stopni (przy 21 stopniowej okolicy). Projekt tego nie uwzględnił, a prawie wszystkie czujniki znajdują się w górnej części obudowy. Poza tym powinien wymusić obieg powietrza kiedy jest goraco i "powietrze stoi" (albo gdyby obudowa jednak tak dobrze nie izolowała od słońca), nie wiem na ile ten aspekt ma znaczenie, ale nie zaszkodzi go wyeliminować przy okazji. Czujnik oświetlenia oryginalnie też był zamontowany na górze, bo proste założenie - znając różnicę natężenia oświetlenia między wnętrzem obudowy a światem zewnętrznym, będzie ona stała si? Więc poznanie ile lx jest wewnątrz pozwala ustalić przez proste mnożenie ile jest na zewnątrz. I jak to zwykle bywa, tak, ale nie. Nie doceniłem jak dobrze odizolowałem obudowę od światła, a zrobiłem to na tyle skutecznie, że wewnątrz, przy oświetlonym bezpośrednim światłem słonecznym świecie, ilość światła wynosiła około 10lx. Dlatego czujnik oświetlenia wylądował na dole obudowy, za otworami wentylacyjnymi i mierzy ilość światła odbitego od otoczenia. Proste mnożenie pozwala ustalić natężenie promieniowania słońca, a proste dzielenie (przez 685) liczbę W/m2. Nie doceniłem jednak zimy, a właściwie jakoś nie wpadło mi do głowy, że będzie śnieg, a ten odbija całkiem sporo więcej światła niż świat normalnie. Innymi słowy, czujnik oświetlenia powinien być na górze (i mierzyć bezpośrednio ilość światła), tylko wtedy znów pojawia się problem śniegu, w innej formie - zasypującego czujnik. Swoją drogą z czujnika RH i temperatury wyznaczamy punkt rosy i wilgotność bezwzględną.

Całość, zmontowana, uruchomiona i działająca poprawnie od jakiegoś czasu wygląda tak:

A jakby kogoś interesowały całkowicie niedokładne, historyczne (bądź aktualne) dane meteo dotyczące Katowic, to strona www dla w/w:

Także... parę lat knucia, kombinowania, eksperymentów i "o jeżu nie chce mi się", i tadaaah.

PS, "anegdotka-time": kilka lat temu zrobiłem LEDowe oświetlenie w kuchni, takie co ma czujnik pasywnej podczerwieni (włącza się tylko jak ktoś jest w kuchni) i czujnik zewnętrznego oświetlenia (także musi być jeszcze na zewnątrz odpowiednio ciemno), pierwszym komentarzem przyjaciółki (Rynn) na moją realizację było: "a normalni ludzie po prostu używają włącznika". 

sprzęt oprogramowanie internet

Komentarze

0 nowych
wojtekadams   18 #1 13.01.2015 17:04

Fajna robota :)

DjLeo MODERATOR BLOGA  17 #2 13.01.2015 17:14

"a normalni ludzie po prostu używają włącznika" - albo systemu Fibaro ;)

Wpis świetny, połowy rzeczy nie rozumie, ale i tak się świetnie czytało ;)

duffee   11 #3 13.01.2015 17:16

wole ta strone i jest w miare dokladna - sprawdzalem ja na dwoch miastach i mi wystarczy http://www.accuweather.com, a co do wpisu, to nie mam sil i chceci w takie zabawy , wole kupic ladna stacje pogody ktora moge popdpiad do mojego wifi w domu, a nie tak sie meczyc no i moje zwierzaki przeszkodza mi w tej pracy ,

Samurai   15 #4 13.01.2015 17:18

@duffee: Pytanie tylko czy Kaworu przy tworzeniu tej stacji meteo się męczył, czy traktował to jako zabawę.

Kaworu   12 #5 13.01.2015 17:28

@duffee: No ja wiem, że prościej jest kupić (co swoją drogą jest ostatnio modne), ale ja tam wolę sobie zrobić sam (o ile mam jak), bo nowe doświadczenia, czegoś się człowiek nauczy. Iii to daje całkiem niezłą frajdę, że człowiek sobie cały system zrobił sam, wyszło taniej niż kupić i jest DOKŁADNIE takie jak mi pasuje. No może poza obudowami, ale spoko, kiedyś sobie drukarkę 3D upoluję. ;) Poza tym weź, jak idę na rower to się męczę, znaczy, że lepiej tego nie robić? ;P

Autor edytował komentarz.
Kaworu   12 #6 13.01.2015 17:29

@Samurai: Trochę się namęczyłem, szczególnie z dłubaniną w podstawkach i ich malowaniem. Ale i tak niezła zabawa.

Kaworu   12 #7 13.01.2015 17:32

@DjLeo: Fibaro mi się nawet podoba, ale jakoś tak... nie wiem, "zrobiłbym to inaczej". :)

gowain   18 #8 13.01.2015 17:38

Fajna sprawa - podoba mi się "obudowa" - wygląda bardzo pro (serio!) :)
Ja się bawię z RPi i z czujnikami DHT22 - jeden podpięty od 3 miesięcy i spisuje co 3 godziny temperaturę i wilgotność, drugi (w domyśle zewnętrzny)... czeka na wolną chwilę :P

Autor edytował komentarz.
duffee   11 #9 13.01.2015 17:38

@Kaworu: ja wole kupic gdyz nie mam talentu do takich robot i w ogole nie mam sprzetu, a nie bede specialnie kupowal,

duffee   11 #10 13.01.2015 17:39

@DjLeo: "a normalni ludzie po prostu używają włącznika" - albo systemu Fibaro ;) bardzo celny komentarz, i ciekawe ile tan czujnik zabiera energii bo pewnie jest ciagle na czuwaniu i jak to wypada ze zwyklym wlacznikiem

Kaworu   12 #11 13.01.2015 17:40

@duffee: "nie mam talentu" - to mnie przekonuje, nie wszyscy muszą mieć, do czegokolwiek. Ale brak sprzętu bym skomentował jakoś tak "od czegoś trzeba zacząć", a to nie jest jakoś droga zabawa.

Kaworu   12 #12 13.01.2015 17:42

@gowain: Ja się nad DHT22 zastanawiałem, ale stwierdziłem, że nie ufam niczemu co nie jest skalibrowane i nie ma cyfrowej komunikacji z MCU. (i RPi bym nie wystawił na zewnątrz) :D

A tak w ramach informacji, /meh za zapis danych co 4 minuty.

Pro mówisz? No to tego, dzięki! ;)

DjLeo MODERATOR BLOGA  17 #13 13.01.2015 17:42

@Kaworu: Dlatego właśnie Fibaro nadaje się dla osób nie znających się na tym. Co do wpisu, podziwiam poziom wiedzy, dla mnie to daleka droga jeszcze, żeby zrobić tylko niektóre rzeczy jakie ty zrobiłeś. Także jeszcze raz brawo ;)

Autor edytował komentarz.
Kaworu   12 #14 13.01.2015 17:44

@duffee: Co do prądu, stacja ma 0,4W mocy, a system oświetlenia około 0,05W. A jak Fibaro - nie wiem, nie sprawdzałem.

Autor edytował komentarz.
Kaworu   12 #15 13.01.2015 17:47

@DjLeo: Nie no, Fibaro jest fajne dla przeciętnego zjadacza chleba, to niezaprzeczalny fakt. ;)

I dzięki, ale mam wrażenie, że osoby faktycznie się na takich rzeczach znające zaraz wpadną z komentarzem z rodzaju "łeee, ale nooob, takie banały, wszyscy potrafią" :D

duffee   11 #16 13.01.2015 17:47

@Kaworu: zle to ujalem, po prostu nie bailem sie w te zabawy, wolalem na rowerze , czy inne niz siedziec nad plytkami drukowanymi, a co jestes gotow pomoc w kompletacji - roftl - ?!?

Kaworu   12 #17 13.01.2015 17:48

@duffee: Rower też lubię, mój prawie jedyny i bardzo ukochany sport. A co do pomocy, pewnie tak, acz nie jestem pewien czy google nie wystarczy, mi tam zawsze starczało. No ale jakby nie starczyło to w ramach wolnego czasu, spoko, mogę.

duffee   11 #18 13.01.2015 17:55

@Kaworu: ja na rowerze od 2-3 lat nie jedzilem i teraz ma kapcie i nie mam czasu i pieniedzy na naprawe, co do pomocy to zglosze sie jak bedzie taka potrzeba,

DjLeo MODERATOR BLOGA  17 #19 13.01.2015 17:56

Mam Fibaro ale sam nie wiem ile pobiera, na pewno mało jak 2 lata na jednej baterii działają czujniki. Kontroler za to to zwykły komp. Także trochę to ciągnie.

A co do nooba, to zawsze ktoś się znajdzie taki. Są osoby dla których ja jestem mega bo potrafię naprawić prawie każdą elektroniczną rzecz w domu. Ale ktoś kto się zna powie, że jestem noobem bo wystarczy wiedziec jak używać lutownicy :)

duffee   11 #20 13.01.2015 17:58

@DjLeo: trzeba lubic takie grzeba z lutownica a jakos za tym nie przepadam i nie ciagnie mnie do tego ,

Kaworu   12 #21 13.01.2015 17:59

@DjLeo: Nie ma tam na nich tabliczki znamionowej z informacjami?

Ale w sumie tak jest "wystarczy wiedzieć jak to zrobić" (i czasem mieć trochę wprawy). :D

duffee   11 #22 13.01.2015 18:09

@Kaworu: ale tez troche ceci sie przyda, a tym u mnie krucho jesli mowily o takiej dlubaninie i takiej dlubaniny nie mam cierpliwosci, a wprawa , moze kiedys przyjdzie , ale pewnie po stosie spalonych plytek i moze sopalonej chacie - roftl- juz spalim 2 durony , i cos plyte glowna uszkodzilem tak wiec mam wprawe - a bo chcialem podkrecac przy pomocy olowka - heh to byly czasy

gowain   18 #23 13.01.2015 18:13

@Kaworu: E tam co 4 minuty - częstotliwość zapisu zawsze można ustawić, ale stwierdziłem, że raz na 3 godziny wystarczy ;)

"łeee, ale nooob, takie banały, wszyscy potrafią" - hehe, moje rozwiązanie to totalna prowizorka, nie pokazuję nikomu kodu, bo się wstydzę :P

stasinek   10 #24 13.01.2015 18:14

Si7005 jest idiotycznie zaprojektowany? http://www.silabs.com/Support%20Documents/TechnicalDocs/Si7005.pdf
Jeśli już to moduł z nim ;)

Skoro szyna I2C więc na wyjściach jest przeważnie układ OD ->
https://learn.sparkfun.com/tutorials/i2c -> https://dlnmh9ip6v2uc.cloudfront.net/r/600-600/assets/5/f/5/a/1/51adff65ce395ff7...
Co za problem odcinać mu zasilanie?

Dać PNP za 0.05-0.20zł i dwa rezystory za 0.04zł w szereg(baza) i jeden(~10-20% pull up) w kolektor do VSS równolegle do pinu VDD czujnika. Owszem bipolar da spadek ok 0.2-0.5V(nasycenie) ale 100x taniej niż mosfet/jfet p (TO92). Z bipolarem uzyskasz /CS i nie potrzeba w schemacie więcej bo są pull upy w atmedze - 20kOhm. Jest pewien problem diod (zabezpieczenia IO) dlatego trzeba dodatkowo koniecznie "dociążyć" obwód czujnika(~2kohm) bo inaczej pomimo odcinania bipolara dioda go zasili na VDD-0.6V(~2.7V).

Dużo wygodniej można użyć jednego z multiplexerów analogowych np. 4066 lub 4052 które jest idealne do i2c(SDA + SCL) bo ma przepinane 2 IO do 2x4 IO
Koszt 0.5zł
Wada to Ron> 115-340ohm dla 5V(dla 3.3V może mieć sporo) trzeba uważać z doborem pullupów.

PS Można Cie znaleźć na elektroda.pl?

Autor edytował komentarz.
Kaworu   12 #25 13.01.2015 18:30

@stasinek: No wiesz, napisałem "IMO idiotycznie" bo nie po to I2C ma adresy żeby nic się zaadresować nie dało, kiedy masz na niej ten układ. I zdaje się nawet w dokumentacji Si7005 jest napisane, że jak nie używasz CS to masz odciąć zasilanie, tylko jaki to ma u diabła sens? Jakby to było SPI, no spoko, ale na I2C, po co są tam adresy jak nie do wyboru urządzenia? Może jestem ślepy, ale sensu nie widzę. ;)

Problem jedynie taki, że po podłączeniu trzeba ponownie zainicjować układ, iiii jak akurat robiłem ten projekt, to jakoś nie przeczytałem dokumentacji (a przynajmniej tego tekstu dotyczącego braku współpracy z czymkolwiek innym), zakładając radośnie że jak to ma działać na I2C to będzie z I2C zgodne, wyszło na to, że nie było. No i zrobiłem projekt jak zrobiłem, a potem dłuższą chwilę się zastanawiałem o co temu chipowi chodzi. :D

A tak poza tym, to jakby mi na tym konkretnym zależało to bym najwyżej zrobił softwareowa implementacje I2C na GPIO, problem z głowy. Ale SHT21 jest lepszy, więc problem podwójnie z głowy. ;P

Można, ale chyba od wieków tam żadnej aktywności nie wykazywałem. Chyba tylko ze dwa razy jakieś banalne pytanie zadawałem czy coś.

Kaworu   12 #26 13.01.2015 18:31

@gowain: No w sumie to i tak kwestia gustu (albo potrzeby). ;)

No, to zupełnie jak większość moich projektów "dla mnie". :D

pete1   4 #27 13.01.2015 18:34

DIY really ? polacy to chyba jednak gęsi i sowjego języka nie mają , nie można napisać zrób to sam !

Kaworu   12 #28 13.01.2015 18:36

@pete1: Można, ale ZTS mało kto zrozumie. ;)

  #29 13.01.2015 19:03

AM2302 (DHT22) są naprawde niezłe i są fabrycznie kalibrowane, na trzy leżące obok siebie różnica w wilgotności nie była większa od 1% z temperaturą było jeszcze lepiej. Za to DHT11 tragedia każdy mierzył co chciał, zresztą za okno i tak sie nie nadają. Komunikacja niestety upierdliwa w obu przypadkach.

stasinek   10 #30 13.01.2015 19:17

@Kaworu: Zrobiłeś jak zrobiłeś, ja też sie nawet wcześniej nie zastanawiałem nad problemem(nawet w trakcie pisania złe koncepcje skasowałem).
Chodzi o wnioski na kolejne wersje
(dla mnie, po to trace czas na komentowanie, a dla Ciebie jeśli chcesz)
CS ma ten plus ze nie potrzeba drogich dip switchów zworek które z czujnikiem narażone na wilgotność może przestać działać. Nie potrzeba ustalania adresowania i takich tam bajerów. Fakt Si7005 powinno mieć ale przecież nikt nie zmusza kupować konkretnie ten model? Może cena? :P
Niższa cena = kompromis
Natomiast problem inicjalizacji i adresu rozwiazuje metoda na multiplexer 4052, bo odcinasz SDL i SDA mało tego - z nim na starej wersji "stacji meteo" można dopinać kilka zestawów bez psucia starego układu a nawet bez zmian w programie. Adresowanie można zadać przełacznika lub/i procesora :)
http://allegro.pl/przelacznik-obrotowy-z-kodem-bcd-elma-07-3133-i4919063171.html

Co powiesz na podpinanie kilku sekcji czujników temp. 1wire do jednego łajer?
(o układach audio na marginesie nadmienie - dzieki pinowi VEE)
NX3L4051 - 4051 made in NXP, VDD od 1.4 V to 4.3 V
1.7 Ohm (typical) at VCC = 1.4 V
0.6 Ohm (typical) at VCC = 2.3 V
0.5 Ohm (typical) at VCC = 4.3 V - idealnie
Z zaledwie 4 IO procesora(1 na pin 1wire, 3 na adres) robisz 8 linii każda może mieć swój pull up swój kabel i można bezpiecznie okablować dom bez zmartwienia że kolejna sekcja "popsuje" stare. Na kolejne 4 IO portu dajesz czujniki SDL - 2 na adres, 2 na i2c. W dodatku droższe o zaledwie 1-2zł
Odporne na awarie, zwarcia na sekcji i można podpinać "stacje" meteo kablem UTP(20-50m) do jednej centralki zamiast drogie zabawki z "adapterami" LAN wsadzać na dach(parapet?). Z tego "dachu" zdejmować dla zrobienia update programu. Mam nadzieje ze stacje separujesz od sieci mostem WiFi
Wiosna z piorunami tuż tuż...

Autor edytował komentarz.
Kaworu   12 #31 13.01.2015 19:38

@stasinek: Wiesz, ja bym nie marudził jakby CS w stanie aktywnym pozwalało zaadresować inne urządzenie na magistrali, ot na przykład żeby można było jedną taką linia wybrać całą grupę urządzeń, to ma dla mnie sens, ale tak, ja dalej nie widzę sensu tego.
Jak szukałem i szukałem to znalazłem chyba tyko dwa cyfrowe czujniki wilgotności SHT21 i tego Si w formie TH01 (bodaj). Łapnąłem ten, który jest dostępny w Polsce, i... to był błąd. ;P

Ale ja wiem, że ja sobie mogę różnie rozwiązać ten problem, ja tylko marudzę, że pomysł z tym CS (w takiej formie jak to zrobili) jest kompletnie, z mojego punktu widzenia, bezsensowny. I może jeszcze, że nie ma wielkimi literami na okładce dokumentacji napisanego "PRODUKT NIEZGODNY Z I2C". ;P

Osobiście wolałbym dać osobną jednostkę na eth w okolicy tych urządzeń, co to się z nimi ma bawić, całe okablowanie jest wtedy prostsze. Masz główny kabel z zasilaniem/interfejsem do urządzenia i krótkie kable do czujników/czegokolwiek. IMO lepsze niż pajęczyna z osobnych magistral.

chrucik   6 #32 13.01.2015 19:52

Drogi autorze, ciekawie się czytało, gratuluję; rzadko blogerskie wypociny czytam od dechy do dechy :)

Mała uwaga biały kolor absorbuje najwięcej światła UV, kontroluj raz do roku jesienią stan swojej obudowy bo może któregoś pięknego dnia się okazać że silny wiatr rozsypie ją w proch i pył.

Kaworu   12 #33 13.01.2015 19:53

@chrucik: Liczę na to, że raczej zmieni kolor na żółty i tylko będzie wymagać ponownego malowania. ;)

stasinek   10 #34 13.01.2015 20:13

@Kaworu: Jak dla mnie stara centralka bluetooth jest fajniejsza, bezpieczniejsza, bardziej modularna i tańsza a problem z czujnikiem wilgotności do załatwienia.

To samo z magistralami.
Dlaczego wszedzie zabierać krowe ENC28J60?
Po co kupować za 25zl moduł ethernet albo WiFi/rs232 skoro można nawet kabelkiem tel. z RJ11 i magistralami czujnikowymi(które wolisz - 1wire, spi, i2c?) podpinać co chcesz gdzie chcesz na 20-50m bez dawania drugiego kabla na zasilanie i narażania własnej sieci na awarie.
Pośrednik w postaci centralki mozna umieścić w miejscu zasilania tam gdzie lepiej kuć ściane dla ethernetu nie jakiegoś "badziewia". Do czujników przecież po to jest i2c, 1 wire, CAN etc.?
Moduł RF 2.4GHz można mieć za 5zl komunikować z pośrednikiem LAN/WiFi/RF w domu. Skoro centralke masz na antenie a możliwe że bezprzewodówka odpada to można separatorem i ATiny zrobić cuda bez dawania 2 kabli i podrażania układu. Z modulatorem 2 IO, 2 bipolarne zrobić koncentyczne 1wire lub coś w ten deseń wolniejsze niz 1wire bo dla nośnej na poziomie ~1MHz z PWM(ATTiny85) ;)
Podejrzewam że ktoś już opracował takie "badziewie" jeśli nie to bede pierwszy :D

No ale stacja jest, ja nie mam 0:1 dla Ciebie.
Na koniec - jaki koszt?

Autor edytował komentarz.
arlid   14 #35 13.01.2015 20:35

Super, i nie trzeba kupować :D Po prostu DIY :)

kaisuj   10 #36 13.01.2015 20:36

Chciałbym coś takiego mieć, ale nie potrafiłbym tego wykonać, a na nową firmową stację mnie nie stać. W każdym razie wielki szacun za umiejętności, samozaparcie, no i za ten wpis. Ja również wielu rzeczy nie zrozumiałem, ale i tak mi się bardzo spodobało. Kurczę, będzie strasznie trudno się zdecydować, na który styczniowy wpis głosować! Ten na pewno będzie jednym z moich kandydatów.

Kaworu   12 #37 13.01.2015 20:37

@stasinek: Bezpieczniejsza... niż połączenie do wewnętrznej sieci po kablu? Jak?

CAN jest interesującą opcją, ale z drugiej strony sprzęt z kontrolerem CAN to też będzie w cenie modułu ETH (jak nie drożej). I2C ma spore ograniczenie pojemności magistrali i słabo się układa w gwiazdy.
A właśnie, przypomniałeś mi, to ustrojstwo jest koło piorunochronu, dlatego na wszelki wypadek jest podłączone przez transile od strony eth/zasilania i uziemione. Poza tym weź, kto tego typu stacje daje akurat na dach.

W zasadzie to ostatnio mam nową faworyte, Xmega128A3U. No ale właśnie tak to mniej więcej działa, pogodynka jest pewnej formy pomostem miedzy ethernetem a "tym wszystkim co jest na niej zainstalowane". Oraz ethernet mam wszędzie, a z canami, i2c, i czymkolwiek musiałbym się znów bawić z kablami.

Nie tyle ładniej co wygodnie, a ENC jest raczej prostym kontrolerem, to tylko 10Mbit MAC+PHY i bufor pamięci, są inne z bardziej rozbudowanymi funkcjami jak obsługa TCP. Jakkolwiek bym tam go krową nie nazywał. Bo wiele się nie różni od kontrolera CAN.

Firmware... w sumie to da się aktualizować przez eth. Bootloader obsługuje UDP/IP i TFTP, więc, da się i przez ISP i przez eth.

A rozwiązania bezprzewodowe są bardziej skomplikowane i droższe, musiałbym tworzyć kolejny protokół komunikacji, żeby to wszystko (bo to nie będzie docelowo jedno urządzenie) dało adresować, nie wchodziło sobie w drogę, etc, a tak wszystko już w zasadzie jest, a do tego smartfon z tymi czujnikami tez może bezpośrednio pogadać.

A koszt, sam BOM <100zł, dokładnie nie wiem, musiałbym policzyć.

Edit: AT90CAN128 na farnellu to 43zł, taniej wychodzi mega328p+enc (~20), i w sumie bardziej kompatybilnie.
Edit kolejny: jak tak patrzę, z CAN jest jeszcze ATmega32M1 (25pln) ale nie ma I2C.

Autor edytował komentarz.
Kaworu   12 #38 13.01.2015 20:40

@kaisuj: Kwestia wprawy, tez kiedyś nie potrafiłem. :D
Ale no, firmowe kosztują sporo, szczególnie jak maja funkcje komunikacji po sieci, i to tez jeden z powodów. Poza tym w sumie to są też często mocno ograniczone od strony softu.

Kaworu   12 #39 13.01.2015 21:03

@michal152 (niezalogowany): Kolejny dobry powód do wybrania HTU21D. Ale zapamiętam sobie, żeby DHT11 unikać w razie czego.

revcorey   6 #40 13.01.2015 21:03

Świetny wpis.

Kiedyś zaprojektowałem prototyp rozproszonego sytemu pomiarowego(nawet zrobiłem część komunikacyjną na płytce stykowej), i skorzystałem z uart i kostek max485 żeby mieć magistralę 485 a na końcu master podłączony do kompa. Wszystko na atmegach a na PC soft w javie obierający dane, wyświetlający i archiwizujacy. Także jakbyś planował wiele stacji to można o tym pomyśleć.

Aczkolwiek pomysł z eth jest najlepszym sam gdzieś mam ten moduł ale na necie zamiast niego(bo się grzeje) polecają inny model tylko nie pamiętam nazwy, też nie drogi.

1-wire po uart czy po wejściu atmegi?

Szkoda że moduły wifi są drogie.

stasinek   10 #41 13.01.2015 21:05

@Kaworu: hm, rozumiem, rozumiem, to co piszesz w sprawie stacji cenna wiedza(bardzo przydatna mi pigułka i linki), rozumiem też jakie masz koniki, ja troche inne..
Łacząc co pisałeś w sprawie i2c(adres),
10MBit/s, protokołu a ja w sprawie separatora, nośnej koncentryka...już to kurde było we wczesnych latach informatyzacji blokowisk(1998).
Koncentryk podpinany do BNC jako nośnika zamiast UTP...
jak to sie zwało?

Natomiast CAN SOT8 5zł
http://allegro.pl/kontroler-can-pca82c250-82c250-smd-so8-2555-i4965755191.html
MCP2551-I/P THT 3.3zł
http://allegro.pl/elmag-mcp2551-i-p-dip-8-za-3-30-zl-i4958940979.html
do niej http://sourceforge.net/projects/caraca/ - nie jest to zbyt fortunny protokół i zajmuje sporo zasobów a trudno by go bylo wdrożyć w wersji dla modulacji nośnej na kablu koncentrycznym od anteny telewizyjnej :)
Sobie stawiam za cel - znaleźć lub opatentować i zrobić :)
Zasilanie 12V jest przez separator nawet zasilacza nie trzeba, kanałów jest ~400MHz, możliwość osobnej transmisji dla dwóch kierunków wdrożenia dowolnego protokołu z adresem(i2c, 1wire)
Do przewodowej stacji pogodowej na antenie TV bez okablowania np. ethernetem i zasilaniem :) Tak by można wpinać do serwerka obok TV(np. Rabsberry Pi) lub jakiegoś transcivera ethernetowego.
Koszt transcivera na kominie max 10zł (+5zł zarobku :D)

Autor edytował komentarz.
revcorey   6 #42 13.01.2015 21:09

"Trzeba by odkopać idee kabla koncentrycznego podpinanego do BNC jako nośnika zamiast UTP...
jak to sie zwało?"

Jak sobie przypomnę wynalazek schnaider electric na przewodach bnc do komunikacji sterownika PLC z wyspami to aż mnie skręca.

Kaworu   12 #43 13.01.2015 21:17

@revcorey: Brrr java. Sieć stacji mówisz?

1-wire softwareowo na (dowolnym) wejściu.

Drogie i skomplikowane, trzeba jeszcze to całe WPA obsługiwać.

Kaworu   12 #44 13.01.2015 21:19

@revcorey: thin/thick ethernet? 10BASE2/5?

Autor edytował komentarz.
McDracullo   16 #45 13.01.2015 21:42

Ukradłeś mi pomysł na wpis! ;( Trudno - muszę dołożyć jeszcze kilka usprawnień i wtedy wrzucę na pewno moje przygody ze stacją meteo ;)

Kaworu   12 #46 13.01.2015 21:44

@McDracullo: Wrzucaj! Chętnie przeczytam o innej implementacji. :D

McDracullo   16 #47 13.01.2015 21:49

@Kaworu: Spokojnie... patrząc na mój ostatni zapał do pisania do trochę potrwa :D Moja wersja jest sporo prostsza ale nie posiada żadnego połączenia kablowego. Jedyne co to teraz zasilanie (chce i tak przerobić na jakiś akumulator) - komunikacja bezprzewodowa na 433Mhz - i działa! :D Teraz jeszcze kombinuje jak zrobić w miarę sensownie pomiar prędkości wiatru... Bo po ostatnich wichurach zaczęło mnie to strasznie interesować :)

McDracullo   16 #48 13.01.2015 21:49

@revcorey: zauważyłem, że producenci PLC zawsze lubią jakieś interesujące rozwiązania implementować... :) Nie tylko schnaider :)

Kaworu   12 #49 13.01.2015 21:57

@McDracullo: Wiatr? Mnie korci to: https://code.google.com/p/mysudoku/downloads/detail?name=UltrasonicAnemometer.zi...= ale proste to w budowie nie jest, acz ciekawe i nie ma ruchomych części. ;>

stasinek   10 #50 13.01.2015 21:57

@revcorey: a co było z nim nie tak?

revcorey   6 #51 13.01.2015 22:12

1. Po pierwsze ta sieć na koncentrycznym musi mieć określoną długość, u nas szafy oprócz jednej były obok siebie a te przewody nie lubią być zginane,
2. Oryginalne końcówki schnaidera to jest chyba 100 czy 300 euro za 10 sztuk(my z rezerwą mieliśmy około 80-100),
3. Oryginalna zaciskarka 350 dolców,
4. Zarabia się to trudno(palce sobie można poobcierać),
5. Kolanka przy wyspach są strasznie łamliwe ale są to standardowe kolanka jak w TV to można w castoramie za 0,8 zł kupić
6. Bardzo wrażliwe na uziemienie,
Ja wolę standardowo eth(po kablu ale ze względu na obiekty które robię to często jest światłowód + na końcu skrętka).

" Brrr java. Sieć stacji mówisz? "
Projektowałem to z kolegą jeszcze na studiach dla małych turbin wiatrowych i fotowoltaicznych. Na początku założyłem mierzenie przy turbinach a jak by dokładali nowe gdzieś dalej to ciągniemy sieć. Ogólnie skończyło się na pomiarze przy akumulatorach(komp był obok to po rs232) najpierw przez dzielnik(pomiar U, I i W) a potem na halotronach(niesyty płytka szybko się uszkodziła). Ja dawałem soft PC,mikro, organizacja a kolega projekt i wykonaie elektroniki. Także prototyp działa oparty o rs485(max485) z odpytywaniem slave itp. a Docelowy system z rs232 z jedną płytką.

Autor edytował komentarz.
Kaworu   12 #52 13.01.2015 22:27

@stasinek: Tylko, że taki PCA82C250/MCP2551 to nie jest kontroler CAN a transciver, do tego potrzebujesz jeszcze jakiś kontroler. I wtedy to wychodzi tak czy inaczej w okolicy AVR+moduł ETH. A na temat AVRów z CAN pisałem wyżej. ;P

stasinek   10 #53 13.01.2015 22:59

@revcorey: w takim razie can i profibus(i jego kolejne wcielenia) nie mają sobie równych, ale też chyba odchodzą, ethernet w nowszych maszynach, nie potrzeba specjalnych kart do pecetów, jest łatwiej, typowy switch tyle że na din, tanie wtyczki, tani kabel praktycznie wszystko jedno gdzie się wepnie
dziwne bo wydawało mi się że tani koncentryk i "fajne" gniazdo łątwe do wpięcia nie będzie gorsze niż dość drogi kabel z ekranem, droższe wtyki dsub z terminatorami...

z koncentrykiem(dopisałem w poprzednim poście) nie chodzi rewolucje a raczej obniżenie kosztów(transcivera i kabli) montażu stacji pogodowej na antenie TV(również sat) i podpinania ich tak jak 1wire no fakt że sporo DIY bawi sie rabsberry które czasami stoi obok tv - aż sie prosi o koncentryczny transciver

potrzebny mi osobiście przedłużacz pilota(jest ich w ciul, jeden miałem) ale dalekie od ideału i jak już zrobie swój na http://allegro.pl/nrf24l01-wi-fi-wireless-2-4ghz-avr-arm-arduino-i4967976849.html spróbuje dorobić zgodny nóżkowo moduł na koncentryka, następnie moduł pogodowy na koncentryka, nie wiem może to ma sens może(napewno nic sensu nie ma)
ale pobawić sie można?

Autor edytował komentarz.
BloodyEyes   7 #54 14.01.2015 06:23

@Kaworu: A teraz idź i pomaluj ścianę w okolicach parapetów, bo wszystko od podlewania kwiatów umoczone :P

guma77   9 #55 14.01.2015 11:39

a oto strona z moja stacja meteo :-)
http://www.branicemeteo.barcikowski.pl

revcorey   6 #56 14.01.2015 13:03

@stasinek: kumpel robił mgr. na tym nrf24i01 + atmega ostatecznie działa ale po drodze miał jakieś problemy z komunikacją.
Ciągnięcie sieci po profibus to nie jest też takie hop siup. Łatwiej zarobić ethernet niż liczyć że kiedyś tam się nie poluzuje przewód i do tego jest tańszy. Z resztą na elektrowni i tak większość połączeń musi iść po światłowodzie.

Autor edytował komentarz.
stasinek   10 #57 14.01.2015 23:04

@revcorey: teraz wymyślasz jakby skrętka była idealna,
w przemyśle nie jest chyba że dotyczy połączeń stacjonarnych w szafie między szafami i "automation pc"
8 cienkich drucików na "chińsko" badziewnej wtyczeczce z cienkim drucikowym kabelkiem wcale nie jest takie pewne jakby się mogło wydawać,
owszem kabel jest tańszy a wtyczke zarobić moment, ale też się potrafi wypiąć i łatwo uszkodzić(od drgań)
Weź podłącz do usmarowanej olejem maszyny która się porusza a kable z czasem kruszeją, peszle kruszeją, na domiar operatorzy i mechanicy kable traktują jak sznurki więc łatwo o awarie
Ciągane są razem z pulpitem sterującym albo w kanale razem z wodą powietrzem i grubym zasilaniem i syfem jaki tam sie z czasem dostaje.
Łatwiej uszkodzić skrętke wciągając nowe kable w kanał niż can który sobie leży spokojnie od 15 lat w g*** i nadal działa
Dwuprzewowe kablisko ze stalowym oplotem, możesz nim nawet auto holować, jasne że utp wkładasz w peszel i efekt ten sam ale jakoś nie widzę wielkiej różnicy cenowej i komplikacji podłączania
Do can wystarczy mały śrubokręt żeby odpiąć dopiąć, fakt że trzeba ekran uziemiać ale wystarczy kabel naciąć i włożyć do zacisku co dodatkowo zabezpiecza przed wyciągnięciem. Fakt że trzeba pamiętać o włączeniu terminatorów ale po drodze wystarczy zwykła kostka, Nawet na zwykłym przedłużaczu by działało, a maxymalna długość linii jest większa 150m.

Poddaje się ENC28J60 13 zł http://allegro.pl/modul-sieciowy-ethernet-enc28j60-avr-pic-arduino-i4971162962.html
http://friendlyarm.strefa.pl/ENC28j60/ENC28J60.pdf
http://friendlyarm.strefa.pl/ENC28j60/ENC28J60Demo.rar
http://friendlyarm.strefa.pl/ENC28j60/TCPIPstack.zip
THT 9zł http://allegro.pl/enc28j60-dip28-i4973121837.html
Gniazdo 1zł http://allegro.pl/lispol-gniazdo-rj45-8p8c-do-druku-typ-1134-06-i4927332838.html
Adapter POE(M+Ż) 7zł http://allegro.pl/adapter-poe-injektor-spliter-20-cm-i4970985703.html

Autor edytował komentarz.
revcorey   6 #58 15.01.2015 20:58

@stasinek: Zajmuję się elektrowniami/elektrociepłowniami. Standard to szafa daleko czyli światłowód + w szafie eth. Reszta z szaf to przekaźniki albo 4..20.
Tyle, tak jest począwszy od małych napędów 0,4 kv po napędy 1-2 mw.
Na bloku w jaworzenie pokroju 220 MW nie ma możliwości lecenie z partyzantką typu, gdzieś po drodze. To ma iść, są kanały kablowe tylko że tu się nie robi czegoś w rodzaju że puszczam je razem z wodą bo to są konkretne przekroje.

Kiedyś brałem udział w starcie całą hutą i widziałem taki kabel bnc 1,5 km i działało. Można? Można.

bachus   19 #59 03.03.2016 21:43

Z czego wynika np. wilgotność: Wilgotność: 105% ?

jonedi1982   1 #60 24.09.2016 11:17

Witam jestem zainteresowany budową tej stacji pogodowej ale mam prośbę do autora o wykaz części mianowicie rezystorów i kondensatorów głównie chodzi mi o te w układzie wykonawczym na jakie napięcie i jaki typ dodatkowo po co są rezystory 0om w serwerze czy nie wystarczy dać zwór

jonedi1982   1 #61 24.09.2016 15:14

Witam czy można prościć o wykaz elementów użytyc w tym projekcię pragnę zbudować taka stację ale brak informacji o częściach.

Kaworu   12 #62 25.09.2016 18:30

@jonedi1982: Wykaz... jakbym jeszcze miał. Ale w sumie, to tam jest układ stabilizacji napięcia w domyślnej konfiguracji, zrobiony c prawda na MAX5035, ale jakbyś dał dowolny inny impulsowy stabilizator (z odpowiednim dla niego towarzystwem) to te bedzie ok. Uklad do wentylatora jest zbędny, więc w zasadzie zistaja tylko pullupy dla SDA/SCL i OneWire (3k3). A rezystory 0Ohm są tylko dlatego, że lepiej wyglądają, także zwory nadaja sie tak samo.