Archiwum: Elektronika

Budujemy własny czujnik smogu #1

Obiecałem podzielić się z Wami dokładną instrukcją budowy własnego czujnika smogu. Chciałbym skierować tą instrukcję do osób, które nie zajmują się zawodowo elektroniką i IT, ale jakieś śladowe pojęcie o powyższych posiadają. Są trzy etapy budowy czujnika: pozyskanie podzespołów, zbudowanie czujnika, zaprogramowanie. Takie też będą trzy części tego artykułu.

Cały projekt może być zmodyfikowany na wiele sposobów. Tutaj będę chciał Wam pokazać rozwiązanie moim zdaniem optymalne pod względem kosztów, jakości i wytrzymałości konstrukcji.

Potrzebne elementy czujnika

  1. Sensor pyłu zawieszonego: na rynku dostępnych jest wiele czujników laserowych mierzących stężenie pyłu zawieszonego w powietrzu. Testowałem kilka z nich i zdecydowałem się na wykorzystanie sensora SEN0177 formy DFROBOT. Sensor można zamówić w Polsce (Botland, TME) lub bezpośrednio u producenta (DFROBOT).
  2. Moduł komunikacyjny: serce naszego urządzenia. Tutaj mamy dwa wyjścia:
    1. komputer z rodziny Raspberry Pi (najlepiej Raspberry Pi Zero – ze względu na rozmiar). Moduł można kupić w wielu miejscach, np. tutaj. Raspberry PI działa pod kontrolą linuxa, więc jest bardzo uniwersalne. Łączy się ze światem przez WiFi, ale dzięki obecności złącza USB można podłączyć np. modem 3G. Raspberry będzie proste do uruchomiania i programowania, ale potrzeba nabyć sporo umiejętności, by zrobić z niego urządzanie, które będzie mogło bezawaryjnie działać długi czas (niedługo napiszę o tym więcej).
    2. moduł komunikacyjny oparty o układ ESP32. Na rynku różnych modułów komunikacyjnych jest kilkadziesiąt rodzajów, ale ja wybrałem jedną rodzinę, którą i Wam polecam. Chodzi mi o produkty firmy PyCom, w szczególności och najprostszy moduł: WiPy 2.0 IoT ESP32. Jest to małe urządzenie wyposażone w łączność WiFi, które programujemy w Pythonie. Moduł można kupić w botlandzie. Ja do swoich czujników wybieram właśnie ten moduł – i Wam też polecam.
  3. Obudowa: budując czujnik smogu stajemy przed sporym problemem – musimy zbudować urządzenie odporne na wilgoć, ale przewiewne. Na pierwszy rzut oka trudno pogodzić te dwie właściwości. Najlepszym rozwiązaniem wydaje się obudowa radiacyjna – jest to rodzaj obudowy meteorologicznej, do osłaniania czujników przed czynnikami takim jak światło słoneczne i woda bez zaburzania swobodnego przepływu powietrza. Po długich poszukiwaniach udało mi się znaleźć bardzo dobrą i tanią obudowę pod hasłem osłona czujnika stacji meteorologicznej.
  4. Dodatkowe sensory: w wersji podstawowej czujnika dodatkowe sensory nie są potrzebne, ale jak jest możliwość to warto rozszerzyć pomiar o temperaturę, ciśnienie i wilgotność. Tutaj wybrałbym coś zintegrowanego i koniecznie cyfrowego z dobrą komunikacją: np. coś takiego.
  5. Zasilanie: urządzenie będzie potrzebowało zasilania 5V, więc potrzebujemy zasilacz: ja wybieram taki zasilacz z TME. Do zasilacza warto kupić przedłużacz, który pozwoli na pozostawieniu zasilacza w budynku i przepuszczenie cienkiego kabla np. poprzez przytrzaśniecie w oknie.
  6. Drobne elementy: potrzebujmy jeszcze złącze zasilania (ja używam takiego – ważne, żeby pasowało do zasilacza), paczkę przewodów z końcówkami (można bez nich, ale ułatwiają życie) i listwę goldpin, żeńską, precyzyjną. Przydadzą się również koszulki termokurczliwe.

Potrzebne narzędzia itp.

  1. Coś do cięcia przewodów i zdejmowania izolacji
  2. Lutownica + cyna
  3. Pistolet i klej na gorąco
  4. Do prawidłowego zaprogramowania modułu WiPy potrzebna jest podstawka za 99 zł.

Podsumowanie kosztów

  1. Czujnik pyłu: 269.00 zł
  2. Moduł komunikacyjny: 135.00 zł
  3. Obudowa: 48.60 zł
  4. Dodatkowe sensory: 113.90 zł
  5. Zasilacz: 29.91 zł
  6. Przedłużacz: 20.17 zł
  7. Złącze zasilania: 6.17 zł

Razem wychodzi 622.74 zł brutto (z dodatkowych czujników można zrezygnować – wtedy wyjdzie ok. 500 zł).

W momencie pisania tego wpisu mam oczekujące zamówienia na 3 czujniki, więc zamawiam podzespoły i przy montażu zrobię dla Was instrukcję – zapraszam za ok. tydzień.

| Komentarze (13)

Rejestrator sejsmiczny

Tematyka rejestracji fal sejsmicznych była już poruszana przy okazji budowy i prezentacji czujnika drgań – geofonu. Jako rejestratora wykorzystałem wtedy wejście mikrofonowe karty dźwiękowej komputera. Niestety taki rejestrator ma wiele wad: ma małą czułość w stosunku do oczekiwanej amplitudy sygnału, jest zaszumiony przez otaczające go podzespoły komputera i ma małą rozdzielczość.

Profesjonalne rejestratory sejsmiczne to niezależne urządzenia pozwalające na podłączenie 1 lub więcej geofonów, które przetwarzają sygnał analogowy na cyfrowy wysokiej rozdzielczości przy zachowaniu małego poziomu szumów i perfekcyjnej synchronizacji czasu. Niestety urządzenia takie są bardzo drogie i przy cenach zaczynających się od kilku tysięcy dolarów – nieosiągalne dla typowego śmiertelnika amatora.

Od razu pojawił się pomysł (a było to co najmniej pół roku temu) samodzielnej budowy rejestratora. Projekt jest cały czas realizowany, ale najtrudniejsze już za mną. Postanowiłem wykorzystać najlepsze dostępne podzespoły – tak aby osiągnąć możliwie najwyższą jakość. Nie chcę dzielić się w tym miejscu szczegółami technicznymi – podejrzewam, że szersza publika nie jest tym bezpośrednio zainteresowana. Zawsze chętnie wysłucham Waszych pytań i w miarę swoich możliwości na nie odpowiem.

Z aspektów technicznych warto przedstawić sam układ przetwornika analogowo-cyfrowego. Wybrałem dedykowany dla sejsmiki przetwornik firmy Texas Instrument o symbolu ADS1282 – malutki układ o rozdzielczości 32 bitów (!!!). Układ ten dostępny jest tylko w obudowie SMD, która nie jest przyjazna przy prowadzeniu testów na płytce rozwojowej. Aby uporać się z tym problemem przygotowałem projekt płytki drukowanej dla tego układu i jego układów peryferyjnych, tak aby całość podłączyć do mikrokontrolera i zasilana na płytce rozwojowej. Wizualizacja płytki wyglądała następująco:


Wykonanie płytki na podstawie projektu zleciłem profesjonalnej firmie z Gdańska . Staranie i uważnie przylutowałem wszystkie elementy i gotowa do podłączenia płytka wyglądała następująco:

Gotowa płytka była dla mnie sukcesem, ale jej poprawne podłączenie do mikrokontrolera (atmega32) i odczytanie danych z przetwornika zajęło dobrych kilka dni pracy.

Starałem się modyfikować cały układ na płytce rozwojowej w taki sposób, aby na jego podstawie przygotować dużą płytkę drukowaną, gdzie z jednej strony byłoby podłączenie do geofonu a z drugiej wyjście USB do komputera. Ta płytka nie jest jeszcze gotowa, obecnie cały układ działa, ale na płytce rozwojowej. Przygotowane są nawet dwa niezależne kanały do dwóch geofonów:

Dzielę się tym z Wami ponieważ dużo pracy zostało wykonane i podstawowy cel został osiągnięty. Układ działa! Nie chcę wnikać ile pieniędzy pochłonęły te prace, bo sam bym się przestraszył. Nie udałoby się gdyby nie sprzęt pomiarowy użyczony przez Zakład Fizyki Litosfery IGF UW. Cały czas mam na uwadze dokończenie projektu (doskwiera brak czasu) i przygotowania urządzenia “na komercyjnym poziomie”, za pomocą którego możliwe będą konkretne pomiary i eksperymenty w terenie. Chciałbym aby całość była gotowa (przynajmniej kilka sztuk) do lata 2012.

Przypominam przy tym, że nie jestem elektronikiem, więc każdy z etapów prac był dla mnie pewnego rodzaju wyzwaniem i często błądzeniem we mgle…

| Komentarze (7)

Dokładność odczytu / zapisu pozycji GPS

Za każdym razem gdy pojawia się temat nawigacji satelitarnej mówi się o dokładności odbiorników. Osoby używające GPSów (może nie tych samochodowych, ale turystycznych i profesjonalnych) wiedzą, że dokładność odbiornika (w określaniu pozycji poziomej) wynosi w zależności od warunków (widoczność nieba, prędkość) od 20 metrów do nawet 2 metrów.

W większości odbiorników dane pomiędzy układem określającym pozycję, a układem odpowiedzialnym za prezentację danych są przesyłane w formacie NMEA. W ramach tego formatu pozycja geograficzna (długość i szerokość) przesyłane są w następujący sposób:

format pozycji gps

gdzie dd i ddd to stopnie a mm to minuty podane z dokładnością do 4 miejsc po przecinku. Jaka jest dokładność tak zapisanej pozycji? Inaczej: ile metrów ma 0,0001 minuty? Zaraz to policzymy: oddzielnie dla szerokości i długości geograficznej, gdyż jak wiadomo długość wszystkich południków jest taka sama, a równoleżników nie. 

długość geograficzna

Każdy południk ma 20 003 930 metrów długości. Południk dzielimy na 180 stopni, każdy stopień na 60 minut i każdą minutę na 10 000 kawałków. Jaka jest długość najmniejszego kawałka? Obliczenie poniżej:

długość geograficzna

Jak widać, dokładność tak zapisanej długości geograficznej wynosi 18,52 centymetra. Z jednej strony dużo, z drugiej mało.

szerokość geograficzna

Z szerokością jest trochę inaczej, ponieważ równoleżniki nie są takiej samej długości. Najdłuższym równoleżnikiem jest równik, który ma 40 075 016,686 metrów.  Aby obliczyć długość równoleżnika odpowiadającego danej szerokości geograficznej należy pomnożyć długość równika przez kosinus kąta szerokości geograficznej.  

Tak uzyskaną długość dzielimy na 360 stopni, każdy stopień na 60 minut i każdą minutę na 10 000 kawałków.  Długość najmniejszego kawałka wyliczamy według wzoru:

szerokość geograficzna

W Polsce dokładność zapisu szerokości geograficznej wynosi od 10,69 centymetra na północy do 12,17 centymetra na południu.

co dalej?

istnieją oczywiście metody określenia pozycji dokładniej niż wyliczone powyżej ograniczenia. Wymaga to jednak wielokrotnych pomiarów pozycji danego punktu i umiejętne uśrednianie pomiarów. Postaram się kiedyś przeprowadzić i opisać taki eksperyment…

| Komentarze

Przygoda z mikrokontrolerem (cz. 2)

Powracając do tematu mikrokontrolerów chciałbym na wstępie zaznaczyć, że firma BTC dalej nie wyprodukowała dla mucha płytki (albo muchowi sie nie chce w sklepach poszukać, ale nie sądzę, bo strasznie był napalony na lutowanie).

Dzisiaj, po długim okresie zapowiadania i odwlekania w czasie, udostępnię listę elementów elektronicznych potrzebnych do zbudowania zestawu uruchomieniowego ZL3AVR. Muchowi też się pewnie ta lista przyda, bo już zmarnował swoje oporniki na… no właśnie nie wiem na co, ale zmarnował.

Schemat elektroniczny układu znajduje się na stronie internetowej producenta: http://www.kamami.pl/?id_prod=10502

Lista elementów mojego autorstwa w pliku PDF: ZL3AVR – lista elementów.

Następnym razem (myślę, że jeszcze w tym roku) pokażę jak działa mój mikrokontroler i co aktualnie potrafi zrobić.

ZL3AVR - lista elementów, zmontowany, atmega32

goto

| Komentarze (3)

Przygoda z mikrokontrolerem (cz. 1)

Ponieważ (ku ogólnemu zdziwieniu) istnieje na II roku wydziału fizyki przedmiot, który mamy szansę zaliczyć na więcej niż 3 (zresztą zazwyczaj dawane, żeby nas więcej nie oglądać) postanowiliśmy się nim trochę bardziej zainteresować. Chodzi rzecz (kurwa, czemu ja napisałem rzecz przez “ż”?) jasna o elektronikę. Na przedmiocie tym zajmujemy się elektroniką cyfrową i analogową.

Na pierwszym ćwiczniu mieliśmy do czynienia z układami scalonymi serii 74. Fascynujące było jak połączone drucikami (druciki to kabelki zakończone ostrym wtykiem. Twórcą kabelków jest Pani Grażynka, która miała cierpliwość zrobić setki kabelków w czasie wakacji – podziwiam) kilka scalaczków realizuje zamierzoną logikę.

Ponieważ na następne ćwiczenie szykowała się elektronika analogowa (wzmacniacze) i robienie (za razie ręczne) kilkuset pomiarów właściwie tego samego, tylko po to żeby narysować wykres nie wnoszący niczego odkrywczego postanowiliśmy wziąć sprawy w swoje ręce. W naszym laboratorium podpatrzyłem (dzięki uprzejmości Pana Andrzeje – pozdrawiam) układ elektroniczny z programowalnym mikrokontrolerem. Szybko okazało się, że owy układ to gotowa płytka uruchomieniowa do tegoż mikrokontrolera (ideą takiej płytki jest umożliwienie łatwej konfiguracji sprzętowej takiego mikrokontrolera. Ponieważ łatwo się wszystko podłącza można sie skupić na nauce pisania programów na taki mikrokontroler).

Po małym przeszukaniu internetu szybko zdecydowałem się na zestaw uruchomieniowy ZL3AVR wydawnictwa BTC. Sercem tego zestawu jest mikrokontroler ATmega32 firmy ATMEL (o samym chipie następnym razem).

Zestaw (gotowy do uruchomienia) można kupić na stronie producenta: http://www.kamami.pl/?id_prod=10502 za jedyne 329 zł… sporo. Okazuje się, że za 49zł można kupić samą płytkę drukowaną i samemu zmontować.

Podzieliłem się pomysłem z muchą, a ten oświadczył, że on też chce mieć taki zestaw i że w ogóle to nie ma dyskusji bo on chce. Jak chce to ok. Zdecydowaliśmy się na zakup płytki i samodzielny montaż. Wypisałem ze schematu jakie elementy musimy kupić i pojechaliśmy na zakupy. Niestety okazało się, że w warszawie da się kupić tylko 1 płytkę (w sklepie na wolumenie). Kupiłem ją dla siebie (tak, wiem że jestem samolubny, ale jestem jedynakiem i mam takie prawo. Mucha jedynakiem nie jest więc musiał się ze mną podzielić… takie życie), a drugą dla muchy zamówiliśmy i czekamy. Trzeba było dokupić wszystkie potrzebne elementy (lista elementów następnym razem). W sklepie na wolumenie się nie udało bo sprzedawcy się nie chciało kompletować elementów. Jego strata. Pojechaliśmy na Hożą i kupiliśmy prawie wszystko (brakowało paru nieistotnych elementów). Mimo braku płytki muchy postanowił on kupić od razu elementy dla siebie. W sumie wszystko kosztowało (płytka, elementy i zasilacz) około 200 zł. Do tego musiałem później dokupić nietani (70zł) programator, ale o nim następnym razem.

Wróciłem z tym wszystkim do domu (strasznie podniecony nadchodzącym lutowaniem) i zabrałem się do pracy:

o 18:46 miałem na stole takie coś:

elementy

płytka

robiłem przerwy i szło mi powoli, bo do 20:29 zrobiłem niewiele:

zrobiłem niewiele

potem szło mi lepiej bo 9 minut po północy skończyłem:

ZL3AVR

Następnego dnia kupiłem programator i napisałem swój pierwszy program na mikrokontroler ATmega32, ale o tym następnym razem.

Ponieważ o wielu rzeczach obiecałem napisać następnym razem, następnych razów zdecydowanie będzie kilka. Może do tego czasu mucha dostanie swoją płytkę?

goto

| Komentarze (7)