czwartek, 26 grudnia 2013

APRS WX station - SSR-v1

Prosta i tania stacja pogodowa do zastosowań APRS
 (wersja BETA!! w fazie przygotowania ) 

Dlaczego to zrobiłem?
Z APRS-em mam już do czynienia od kilku lat, traktuję go jako zabawę elektroniki połączonej z radiem. Jako Radioamator lubię korzystać z urządzeń stworzonych własnoręcznie, wielokrotnie odwzorowywałem urządzenia zaprojektowane i opublikowane przez innych.
Niestety od jakiegoś czasu panuje totalny zastój w amatorskich konstrukcjach publikowanych w internecie, co ciekawe rynek komercyjny radzi sobie z tematem całkiem dobrze.
Wystarczy zerknąć na forum (Specjalistyczny Klub Polskiego Związku Krótkofalowców) aby ujrzeć obraz propagandy jedynie słusznych komercyjnych rozwiązań. Pomijając fakt marazmu jaki tam panuje, cieszą prywatne inicjatywy  powstawania wielu nowych grup radioamatorów którzy bawią się w APRS budując infrastrukturę na własnym lokalnym terenie, nie oglądając się na Smutnych Panów z PZK :)

Założenia:
Urządzenie miało być niewielkie, zbudowane z ogólnodostępnych części.
Całość nie powinna kosztować więcej niż 100zł.

WX station - SSR-v1 wymaga podpięcia jedynie nadajnika lub TRX-a 144.800MHz, dzięki wbudowanemu TNC nie wymaga żadnego Kompa aby mogło funkcjonować w sieci APRS. Jeśli mieszkamy na terenie gdzie występują niedobory sieci APRS istnieje możliwość włączenia dodatkowo funkcji lokalnego digi wide1-1.

Program został napisany w Bascomie, tak aby każdy z członków SSR Manufaktura mógł w każdej chwili go poprawić lub zmodyfikować do własnych potrzeb. Podstawą wyjściową całości jest projekt uniwersalnego PCB ver1(x) przeznaczonego do ogólnych zastosowań aprs (traker, WX, digi, igate itd.).

Schemat stacji pogodowej WxSSRv1 wraz z własnym TNC

Rozmieszczenie elementów na PCB.
PCB Ver C (sprawdzona, prawdopodobnie ostateczna)
Schemat stacji pogodowej - PDF
Rozmieszczenie elementów na PCB - PDF
PCB WXssrv1 pod żelazko - PDF
Wsad do PIC16F88 - TNC.hex

Ogólnie:
Wersja podstawowa dostarcza kilku pomiarów
BMP085 - czujnik ciśnienia

DHT11 - mierzy wilgotność
DS18b20 - pomiar temperatury

lub DHT22 (temperatura i wilgotność w jednym)

PCB ver1(x) umożliwia pomiar kilku zewnętrznych napięć oraz podpięcie wielu innych czujników, dane te wysyłane są jako telemetria.
Stacja nie wymaga żadnych zabiegów dostrojczych czy kalibracyjnych, jedyny parametr wymagany do wprowadzenia zapewniający poprawne wyniki pomiarów to wysokość zainstalowania stacji wyrażona w (m n.p.m.)

Budowa:
Sercem całości jest mikro-kontroler AVR ATmega16 lub Atmega32, kolejnym elementem bazowym jest PIC16f88 pełniący rolę prostego TNC.
Całość umieszczona jest na jednostronnej PCB za wyświetlaczem LCD 2*16 znaków, w wielu przypadkach jednak wyświetlacz ten nie będzie w ogóle montowany, a samo PCB będzie działać jako autonomiczne urządzenie.
Gniazdo 1 - zasilanie 7.5V - 15V
Gniazdo 2 - gniazdo m.cz odbiornika
Gniazdo 3 - Podpięcie nadajnika
Gniazdo 4 - RS232 do komunikacji z komputerem
Gniazdo 5 - czujniki zew. np. DHT11 + DS18b20, lub samodzielny AM2302 (DHT22)

Czujniki podpięte do gniazda 5, pobierają prąd przez rezystor zamontowany na PCB bezpośrednio z napięcia zasilania układu, bezwzględnie należy przy czujnikach stosować diodę zennera 5V1. Taka metoda zasilania zabezpiecza resztę elektroniki w czasie zwarć i innych zjawisk mogących wystąpić na długich przewodach.

Gniazdo 6 - 1wire na dodatkowy czujnik np. DHT22, ds18b20 itp.
Gniazdo 7 - dwa wejścia pomiarowe napięć

                 V1 - pomiar do 20V z rozdzielczością 0.02V
                 V2 - pomiar do 5V z rozdzielczością 0.01V


Montaż:
Wykonanie PCB metodą tzw. żelazkową nie powinno nastręczać wielu problemów, jednak warto poświęcić jej sporo uwagi aby w dalszym procesie montażu nie borykać się z nie potrzebnymi trudnościami. Płytkę po wytrawieniu należy dokładnie wyczyścić drobnym papierem ściernym, a następnie kilkukrotnie pokryć topnikiem RF800, po wyschnięciu znacznie ułatwia późniejsze lutowanie. (buteleczka 100ml RF800 starcza mi na ponad rok zabawy)
Proces lutowania elementów nie wymaga żadnych specjalnych zabiegów, prezentowany prototyp został w całości zlutowany przy pomocy starej lutownicy Solomon SL-10 z standardowym grotem, niezbędne jednak jest używanie pincety.

 Kilka kropel topnika przed lutowaniem i bez wysiłku można lutować taką drobnicę.

Jeśli nie posiadamy HOT-a to montaż czujnika ciśnienia BMP085 należy przeprowadzić następująco:
Pobielić pady na PCB, pobielić wyjścia czujnika, usadowić go symetrycznie na jego niejscu tak aby z pod każdej końcówki wystawał kawałek ścieżki.
Następnie przykładamy do kolejnych wyjść grot lutownicy aby roztopić cynę, ewentualnie można dodatkowo użyć śladowych ilości cyny. Należy zachować umiar z grzaniem, jak wiadomo elementy nie lubią być przesadnie długo grilowane.
Wnętrze czujnika ciśnienia BMP085

Moja propozycja kolejności montażu -

 SMD
Atmega
Pic16F88
(jeśli mamy je jeszcze nie zaprogramowane, jest to najlepsza chwila aby wpiąć się przewodami i je zaprogramować)
BMP085
stabilizatory 5V
rezystory i kondensatory ceramiczne
tranzystory, diody
kondensatory 10uF

Przewlekane
Szpilki pod LCD
zwory
rezystory, diody
rezonatory kwarcowe
potencjometr
gniazda

Koszty
Koncepcja opiera się głównie na elementach z odzysku,
jednak koszty zakupu nowych elementów nie powinny zniechęcać potencjalnych wykonawców.
Ceny podstawowych układów na popularnym portalu aukcyjnym :-)
Atmega16 -  ~7zł
pic16F88 -   ~6zł
BMP085 -    ~20zł
DHT11 -      ~8zł
DS18b20 -   ~4zł
Wyświetlacz LCD 2*16 ~11zł

+ reszta pomniejszej drobnicy ~15zł

Takie tam przemyślenia
Zapewne wielu zastanawia się czy taka zabawa budowy urządzeń ma jeszcze dziś sens. Ja również nad tym myślałem, jednak gdy na przeszło tydzień dostałem do testów kilka fabrycznych pogodynek (chętnie wykorzystywanych przez krajowych krótkofalowców) moje obiekcje się rozwiały, powiem wprost WARTO!

Ciśnienie - Większość takich zabawek ma rozrzut deklarowany na poziomie +- 1% i to w pewnym zakresie temperatur, więc w skrajnych przypadkach rozrzut jest znacznie większy. Przykładowo dla ciśnienia 1000hPa rozbieżności rzędu 20hPa dają wiele do myślenia. Mając na uwadze fakt, że interesujący nas zakres pomiarów wynosi 950 - 1050 hPa więc przy zakresie interesującego pasma 100hPa wspomniane 20 to jakiś koszmar.
Jako ciekawostkę dodam fakt że mierzone ciśnienie w domu np. przy temp. 20C będzie zupełnie inne po wystawieniu urządzenia za okno gdzie np jest -10C.
Tak więc jest to urządzenie do obserwacji tendencji pogodowej a nie do pomiarów pogodowych.
Zastosowanie w naszej pogodynce stosunkowo taniego lecz fabrycznie kalibrowanego i wyposażonego w układ kompensacji BMP085 daje nam ponad dziesięciokrotnie dokładniejszy pomiar, dryft pomiędzy poszczególnymi egzemplarzami nie przekracza zazwyczaj 1hPa, nie wykazuje również wrażliwości na zmianę otaczającej go temperatury.

Temperatura - Tutaj sprawa jest bardziej skomplikowana, wszak rozbieżności poszczególnych egzemplarzy nie przekraczają 1C. Zastosowanie cyfrowego termometru typu ds18b20 da odrobinę lepsze rezultaty, które i tak będą dokładnie wyświetlane na LCD, niestety w APRSie korzysta się z skali Fahrenheita i to w liczbach całkowitych - tu fahrenheit-a-celsjusz można sobie popatrzyć czemu wykresy są tak mało precyzyjne.
Przy pomiarach temperatur na zewnątrz dokładność przyrządu jest drugorzędną sprawą, najważniejsze jest montowanie czujników z głową!

Wilgotność - Tu niestety trudno jest cokolwiek ustalić, wspomniane fabryczne pogodynki pokazują przeróżne wskazania, testy zewnętrznych czujników typu DHT11 czy DHT22 i pochodnych nie rozstrzygnęły o lepszych lub gorszych wynikach.
* * * * *
16.03.2014 - Kolejny WX oparty o PCB WXSSRv1 został uruchomiony pod znakiem SR5DLA-1. Zestaw podstawowy (BMP085, DHT11, DS18b20)


Aktualna pogoda - Łacha
Telemetria SR5DLA-1

24.02.2014
Gdyby ktoś się pokusił i wykonał PCB to do testów zamieszczam wsad
Test-bmp085-dht11-ds18b20-wxssrv1.hex , umozliwia przetestowanie czujnika ciśnienia BMP085, wilgotnościomierza DHT11 oraz termometru DS18b20 (podłączonych do (DAT1 i DAT2). Wyświetlana jest wartość ciśnienia bezwzględnego (uśredniona z 240 pomiarów z ostatnich 5 sekund), wilgotność i temperatura  jest odświeżana co 5s.


Gdy wszystko jest OK.


 




        Gdy czujnik DHT11 i DS18b20 nie podłączony.



22.02.2014 - Kolejny WX oparty o PCB WXSSRv1 został uruchomiony przez SQ5RTW-1. Zestaw podstawowy (BMP085, DHT11, DS18b20)

Aktualna pogoda - Baniocha

11.02.2014 - Kolejny WX oparty o PCB WXSSRv1 został uruchomiony przez SQ5RDA-1 w paśmie 70cm. Zestaw podstawowy (BMP085, DHT11, DS18b20)


Aktualna pogoda - Otwock

19.01.2014
Mija trzeci miesiąc mojej walki z prostą pogodynką APRS, po kilku głębszych Żołądkowej zebrało mi się na drobne podsumowanie:
Gdybym zdawał sobie sprawę z trudności jakie wynikły po drodze, kolejny raz zapewne bym się za to nie zabrał :)
Pomiar ciśnienia to zajęcie na ponad dwa miesiące, noty katalogowe przeróżnych czujników to prawie lista pogodnych życzeń, brak realnego punktu odniesienia pomiarów w końcowym efekcie doprowadził mnie do certyfikowanej komory podciśnienia i nadciśnienia względem naszego atmosferycznego. Wnioski końcowe okazały się druzgocące dla fabrycznych pogodynek oraz wielu czujników ciśnienia dostępnych na rynku. W efekcie skłoniły mnie do wyboru bardzo kompromisowego cena/pomiar, padło na BOSHA BMP085. Kolejne dwa tygodnie zabrało mi użeranie się z pomiarem temperatury, tym razem również nie obyło się bez pomiarów w certyfikowanej komorze, wielogodzinne testy doprowadziły mnie do wniosku że najmniejszym złem jest użycie ds18b20 lub czujnika temperatury wkomponowanego w dht22.
Testy przeróżnych transmisji danych na odległość kilku lub kilkunastu metrów, zdecydowanie przemawiają za stosowaniem transmisji 1wire i pochodnych.
Pomiary wilgotności są póki co dopiero przede mną, rzecz jasna raz kolejny musiałem się nachodzić aby uzyskać dostęp do odpowiedniego stanowiska pomiarowego.
I bez tego wiadomo że popularny i tani DHT11 to fajans, jednak po wzięciu kilku parametrów pod uwagę nadaje się do uproszczonych pomiarów wilgotności, wszystkim oczekującym bardziej miarodajnych wskazań zdecydowanie polecam DHT22, tani i stosunkowo liniowy pomiar temperatury i wilgotności.
Niestety o trwałości wspomnianych czujników nie wiele można na dzień dzisiejszy powiedzieć, dopiero mijający czas zweryfikuje ich przydatność, należy sądzić że nie będzie on krótszy od tych stosowanych w tanich masówkach typu WS2300 i pochodnych, jedyne pocieszenie jest takie że w naszej konstrukcji można je zwyczajnie wymienić, a w taniej masówce pozostaje jedynie zakup nowej stacji.
Mam w zanadrzu do przetestowania jeszcze kilka przeróżnych czujników i rozwiązań pomiaru parametrów wiatru itp. jednak mając na uwadze mocno ograniczony czas cała zabawa może potrwać jeszcze wiele miesięcy.
Doświadczenia z moim zalążkiem stacji WX są dość wymowne, wiele wskazują o tandetności popularnych pogodynek, jednocześnie tłumaczą czemu jest tak niewiele kompletnych opisów amatorskich stacji do pomiarów warunków atmosferycznych pod którymi ktokolwiek ma odwagę się podpisać, temat jest dość złożony a poszczególne pomiary testowe do najtańszych nie należą.
Na sam koniec dodam że wszystko co tanie nie zawsze jest badziewne, wszak te drogie czujniki w wielu przypadkach bywają nie wiele warte.
Dziękuje wszystkim którzy zasypali mnie swoimi pomysłami jak i materiałami wskazującymi na kierunek dalszej rozbudowy tego drobnego projektu, jeśli tylko czas i zapał pozwoli nie omieszkam tym się zająć :)

Inne - Temat rozwojowy.

Testy WxSSRv1 - Testy przeprowadzam na terminalu lub żywcem po radiu na 70cm - SQ5EKU-1








Dla malkontentów:
Konstrukcja jest w fazie rozwojowej, pcb raczej już się nie zmieni, soft to nadal wersje BETA!!!
Schematu niema, nie było i raczej nie będzie, pomysł narodził się w głowie i został przeniesiony na PCB, niestety nigdy nie bawię się w malowanie schematów.
Źródła do procka są dostępne jedynie dla członków SSR, jak uporam się z konfiguracją po RS232 to hex zostanie opublikowany dla wszystkich zainteresowanych.
Nie odpowiadam na żadne maile, telefony itp.
chcesz czegoś się dowiedzieć to pytaj w komentarzach poniżej.

czwartek, 12 grudnia 2013

TNC za 10zł.

Jak się okazuje można zrobić proste tnc za niespełna 10zł.



Wykonanie go w całości zajmuje jedno popołudnie a zabawy z aprs-em czy packet radio jest co niemiara.

Aby zaprogramować układ należy przed wlutowaniem użyć specjalnej podstawki do programowania, lub po wlutowaniu wykorzystać umieszczone małe pady do podlutowania programatora.

Potrzebowałem na szybko proste tnc pracujące w trybie KIIS do testów, niestety zabrakło ni dobrze wszystkim znanych PIC16F88. Szukając jakiejś alternatywy wpadłem na projekt nano TNC http://www.kbrnet.de .



W sumie jest to bardzo proste ustrojstwo, bardzo poręczne i proste do zaadoptowania do zabaw z routerami z zainstalowanym OPEN WRT.
Jak wiadomo występuje w nich UART w standardzie 3V3. Dzięki drobnemu zabiegowi i bez żadnych przejściówek i konwerterów można go wĸożystać prawie do każdego routera :)
Jak to zwykle bywa z czasem poczułem niedosyt, to mi nie pasuje, tego niema itd.
I się zaczęło, zabawa z Bascomem, wymiana Atmegi 8 na Atmegę 328.
Minęło kilka tygodni i usrojstwo zaczęło w końcu robić co chciałem.

                                          PCB dla tego TNC 31mm na 30mm
Pcb zaprojektowane jest tak aby było można je łatwo wtykać w gniazdo zabawki nad którą teraz pracuję. Kto wie, może kiedyś skończę. 
Póki co zabawa trwa :)


W internecie jest wiele na temat Arduino i APRSU, szkoda jednak, że niema nic sensownie opisanego i skończonego, kto wie może ktoś gdzieś tą zabawę uwieńczy jakimś udanym gotowcem, a póki co mnóstwo szumu a praktycznych rozwiązań brak, no może poza bractwem balonowym :)