Udoskonalony Termometr bezprzewodowy

Prezentacje projektów
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Udoskonalony Termometr bezprzewodowy

Post autor: niveasoft » 21 sty 2017, 0:32

Postanowiłem poprawić co nieco i wykonać w miarę mały układ nadajnika. Powstała więc płytka 2cm x2cm czyli wielkości płytki nadajnika.
Urządzenie oprócz temperatury mierzy też napięcie baterii. Dzielnik napięcia potrzebny do pomiaru zasilany jest tylko na czas pomiaru.
Większość czasu urządzenie śpi w trybie Powerdown. Do życia budzi go co około 8 sekund Watchdog.

Całość nie była by nic warta gdyby odbiornik nie potrafił się odnaleźć w szumie eteru.
Tak więc powstał zupełnie nowy kod odbiornika. Teraz przy zasilaniu nadajnika nawet z dwóch baterii czyli przy około 3V i nadawaniu jednej paczki danych bez powtórzeń jest ona dekodowana w odbiorniku z bardzo wysoką skutecznością poprzez ściany domu.
Zastosowałem bufor cykliczny w którym wykrywam ostatni bajt całej ramki. Wielkość bufora została tak dobrana że po wykryciu ostatniego bajtu ramki w buforze zmieszczą się tylko dane a preambuła zostaje odrzucona. Odpada więc wykrywanie początku transmisji.
Całość została zaopatrzona w sprawdzanie sum kontrolnych.

Kod: Zaznacz cały

'****************************************************
'*             WIRELESS THERMOMETER                 *
'*             WITH CIRCULAR BUFFER                 *
'*               TRANSMITTER PART                   *
'*              niveasoft(at)tlen.pl                *
'*                 2017-01-20                       *
'****************************************************

'-DESCRIPTION-
' For energy saving device is in Powerdown Mode most of the time.
' It weakup after Watchdog Restart every ~8s
' SRAM is not cleared so even after Reset variable Count holds seconds counter
' So every ~8s x Period_const device read Raw data from DS18B20 and measure battery voltage.
' If no error has occured then it packed data, own number and calculated CRC is coded
' into Manchester and send via radio.
' Also for energy saving voltage divider is enabled only for measure time.

Kod: Zaznacz cały

'****************************************************
'*             WIRELESS THERMOMETER                 *
'*             WITH CIRCULAR BUFFER                 *
'*                RECEIVER PART                     *
'*              niveasoft(at)tlen.pl                *
'*                 2017-01-20                       *
'****************************************************

'-DESCRIPTION-
' Code receive incomming data in interrupt background mode.
' If special Tail byte is detected then this byte is the last in whole frame.
' Circular buffer size is calculated to hold only 14 bytes.
' So if Tail is detected then rest of buffer must be previous data.
' In this way preamble is rejected and you have only data bytes.
' These are coded im Manchester six bytes. First two contains data from DS18B20
' Second two bytes contains ADC value readed from node battery terminals.
' Fifth byte is a Node number so you can have more of them and recognize.
' Sixth byte is a CRC from provious five bytes.
Tiny85 miałem pod ręką bo kod pewnie zmieściłby się nawet w Tiny25

W paczce znajdują się kody nadajnika, odbiornika, schemat, wzór płytki oraz kilka dodatkowych fotek ;)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
pimowo
Posty: 392
Rejestracja: 28 maja 2016, 10:07

Re: Udoskonalony Termometr bezprzewodowy

Post autor: pimowo » 21 sty 2017, 2:51

Brawo! Fajny projekt ;)
Tak orientacyjnie to na jak długo wystarczą te dwa "paluszki"?
Jaki masz zasięg na tej antence?
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Udoskonalony Termometr bezprzewodowy

Post autor: niveasoft » 21 sty 2017, 14:27

Zasięg jest elegancki bo w całym domu i nawet z garażu oddalonego od domu o jakieś 20m tez nadaje.
Gdyby zamontować koszyk na trzy baterie to napięcie podniosłoby sie do 4,5V co jeszcze poprawiłoby zasięg.
Z racji oszczędności baterii nie ma w układzie stabilizatora więc max to 5V, ale układ można przebudować.
Myślę że to sposób rozpoznawania ramek jest tu kluczowy bo u mnie 100% ramek jest odbierana.

Co do czasu pracy na bateriach to trzeba to sprawdzić właśnie :D
Można zmienić przerwy w nadawaniu z minuty na dziesięć minut itd..

Z racji tego że nie wiedziałem jakim napięciem będą zasilane satelitki to przekazują one żywy odczyt z ADC a to już odbiornik musi ocenić czy bateria jest słaba dla jej znamionowego napięcia.

Na mierniku z zakresem mA podczas snu pokazuje 0mA :D

..no i każda z satelitek nadaje swój numer a program to rozpoznaje więc można ich mieć więcej :D
Pikczu
Posty: 388
Rejestracja: 17 sie 2015, 13:46
Lokalizacja: Dublin, Ireland
Kontakt:

Re: Udoskonalony Termometr bezprzewodowy

Post autor: Pikczu » 21 sty 2017, 16:02

Fajny projekt, właśnie przeglądam kod, dodając małą baterie słoneczną można by było znacznie przedłużyć żywotność baterii.
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Udoskonalony Termometr bezprzewodowy

Post autor: niveasoft » 21 sty 2017, 16:30

Na początku to miał być tylko termometr za okno i dlatego zależało mi na wymiarach. Koszyk baterii jest jakby jedynym źródłem napięcia przenośnego którego mogłem użyć do testów. Mam też taki na 3xAA.
Później pomyślałem, że należy dopracować tę transmisję i wyszło bardzo fajnie.

Jako że ten koszyk baterii nijak ma się do miniaturyzacji to można pomyśleć nad jakimś Akku.

Prawdę powiedziawszy to z tą miniaturyzacją to miałem nawet dalej idące pomysły i chciałem mierzyć napięcie rezystora podciągającego transmisję 1Wire. Pozbyłbym się R2 :D

Najbardziej ciesze się z tego że pomimo iż wysyłana jest tylko jedna ramka i to z punktu widzenia odbiornika w losowym czasie to zawsze jest odbierana bezbłędnie ;)

A co do KiCAD to jest to teraz mój faworyt! :D
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Udoskonalony Termometr bezprzewodowy

Post autor: niveasoft » 27 sty 2017, 17:30

Jakby kogoś interesowało zużycie baterii :D
Minął ponad tydzień odkąd urządzenie nadaje co minutę.
U mnie mróz -8st.C
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
kaktus
Posty: 32
Rejestracja: 19 sie 2015, 15:13
Lokalizacja: opolskie
Kontakt:

Re: Udoskonalony Termometr bezprzewodowy

Post autor: kaktus » 31 sty 2017, 19:31

Akumulatorki nie wytrzymają na mrozie tyle co bakteryjki.
No chyba że zakupisz jakieś profesjonalne AGM :mrgreen: Ale w takim wypadku będzie to maksymalizacja.
teraz życie można rozdzielić między NOP i SLEEP
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Udoskonalony Termometr bezprzewodowy

Post autor: niveasoft » 10 lut 2017, 21:19

Te akumulatorki mi ktoś zasugerował, ale okazuje się że ten nadajnik jest bardzo oszczędny.
Napięcie na bateriach nie spada (chyba że od temperatury, ale powraca wraz z nią)

Powstała wersja odbiornika na trzech wyświetlaczach 7segmentowych.
Obsługa radia jak w poprzednim rozwiązaniu. Dołożyłem przycisk którym można zmieniać wyswietlane dane.
Kod i schemat w załączniku.

[media]https://www.youtube.com/watch?v=9J4t8dOfvGQ[/media]

Płyteczka powstała oczywiście w KiCad :D
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
seler1500
Posty: 6
Rejestracja: 24 lut 2017, 1:07
Lokalizacja: Opolskie

Re: Udoskonalony Termometr bezprzewodowy

Post autor: seler1500 » 03 mar 2017, 22:31

Witam serdecznie!
Mam pytanie:
Jest możliwość zamieszczenia płytek PCB nadajnika i odbiornika w wersji LED?
Postanowiłem również zbudować taki termometr, ale na projektowaniu płytek znam się jak kura na pieprzu :)
Tak czy owak, byłbym bardzo wdzięczny za płytki PCB (KiCAD).


Pozdrawiam, Rafał
Awatar użytkownika
niveasoft
Posty: 1207
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Udoskonalony Termometr bezprzewodowy

Post autor: niveasoft » 03 mar 2017, 23:05

Zobacz czy dasz radę to otworzyć bo płytke nadajnika robiłem na wersji ściągniętej z http://kicad-centrum.pl/
Później zainstalowałem sobie najnowszy Kicad prosto z jego strony i teraz tego nie potrafię już otworzyć.
Pewnie czegoś nie doczytałem, ale chwilowo nie mam czasu z tym walczyć.
Wersja na kicad-centrum.pl jest specjalnie u nich kompilowana i teraz najnowszy Kicad pisze, że projekt nadajnika wykonałem w wersji nowszej niż ta najnowsza :D Hahahaha

Ta wersja na LED`ach jest zrobiona tak że każdy wyświetlacz podłącza się osobno. Tak chciał kolega.
Jeśli wyświetlacze miały by być obok siebie, tak jak na zdjęciu, to lepiej podłączyć tam taki zespolony bo mniej roboty.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
ODPOWIEDZ