Przeszukaj forum
Pokazywanie wyników dla tagów 'elektronika'.
Znaleziono 51 wyników
-
Witam, chciałem zrobić wzmacniacz do projektu, znalazłem TL494 na internecie i okazało się że jest to popularny układ do wzmacniaczy klasy D. Więc zrobiłem go raz na płytce uniwersalnej i nic, teraz zrobiłem to samo ( bez mosfetów ) na płytce prototypowej i znowu nic. Sytuacja wygląda w ten sposób, wpinam się sygnałem audio z telefonu/modułu bluetooth, podłączam zasilanie, cisza, puszczam jakiś test prawa lewa strona na telefonie i napięcie na wyjściach które powinny iść na mosfety się nie zmienia. Jeden mosfet jest otwarty drugi zamknięty i tak cały czas. Nie ma jakiejkolwiek reakcji na sygnał wejściowy. Czy ktoś z was może mi powiedzieć co robie źle?
-
- Wzmacniacz
- Elektronika
-
(i 1 więcej)
Tagi:
-
- 4 odpowiedzi
-
- Wentylacja
- Monter
-
(i 3 więcej)
Tagi:
-
Cześć! Jako początkujący elektronik nie zdawałem sobie początkowo zbytnio sprawy z szkodliwości wdychania dymu powstającego przy lutowaniu, dlatego przy pracy nie używałem dotychczas żadnego wentylatora, siłą rzeczy opary leciały wprost na mnie i po kilku godzinach w takich warunkach najczęściej wieczorem pojawiały się np. bóle głowy, kaszel, już nie myśląc o tym jakie skutki przyniosło by to przyszłości. Postanowiłem coś w tym kierunku w końcu zrobić i wzorując się na układzie AVT3215 chciałbym przedstawić bardzo prosty w założeniu jak i konstrukcji projekt odciągacza oparów, który można zbudować tanim kosztem: Sterowanie wentylatorem odbywa się poprzez regulowany stabilizator LM317, kręcąc potencjometrem zmieniamy napięcie dostarczane do wentylatora, możemy dzięki temu płynnie zmniejszyć lub zwiększyć jego obroty, chociaż szczerze powiedziawszy ta funkcja jest mała przydatna w moim odczuciu, ponieważ i tak zawsze lutuje przy największych obrotach. Całość jest zasilana z zewnętrznego zasilacza 12V 0,5A, który zapożyczyłem od lampki biurkowej. Dużym atutem tego układu jest to, że można go zbudować dosłownie z części znalezionych w szafie, osobiście musiałem dokupić gniazdo DC oraz stabilizator na co w sumie wydałem +/- 10 zł (gdzie kupiłem sobie od razu kilka sztuk na zapas) Wentylator nie jest przymocowany na stałe, dzięki temu można go złożyć i łatwiej przechować np. w szufladzie. Jako podstawkę wykorzystałem tą, która została mi z kursu arduino, akurat pasowały mi otwory, także uznałem, że dam jej 'drugie życie' 🙂 Lista potrzebnych komponentów: gniazdo DC płytka uniwersalna 2x diody LED 2x rezystory 1k 2x rezystory 330Ω 2x kondensatory elektrolityczne 220uF 1x kondensator elektrolityczny 47uF 2x kondensatory ceramiczne 100nF potencjometr 5K regulowany stabilizator LM317 złącze ARK wentylator na 12V Schemat ideowy: Działanie w praktyce:
-
Instalacja antenowa u młodego i początkującego krótkofalowca. Budowana od zera . Jest to worklog co może potrwać kilka lat. [na dzień pisania postu [25,12,2021] trwa to małymi krokami 1.5 roku gdyż nie kupuje elementów na raz [uwaga w tekście będę przemycał terminologie slangu na początku tekstu z wyjaśnieniem a potem zastępczo ] [i uproszczenia w terminologii i zasad działania ale jestem otwarty na pytania np jakiego narzędzia np praskę lub typ złącza użyłem czy innego elementu montażowego np. wspornik kominowy ] Po zgromadzeniu elementów trochę trwa. Ich obrobienie i zamontowanie . Każdy krótkofalowiec w pewnym monecie chce zamontować w swoim domu . [w swoim QTH domowym] Jakieś anteny i tu jest to mocno uwarunkowane gzie się mieszka. jak ktoś mieszka w bloku to pół biedy Jak na ostatnim piętrze i ma dostęp do dachu. To spoko ale np. w środku 11 piętrowego budynku. To mu zostaje rozciągnięcie anteny z balkonu lub parapetu do latarni lub drzewa . Zawsze taka osoba ma jeden problem . Znaleźć gzie można uziemić anteny. (temat naszej konstrukcji ) Tu czasami przychodzą sztuczki z instalacją ogrzewania lub wodną. Ja całe szczęście mieszkam w domku wolno stojącym. Więc tu mogę sobie wbijać różnorakie żelastwo w ziemie . U siebie mam na razie 2 anteny i w postępie tego workloga będzie ich więcej . Na dachu mam tak zwane X-30N Na tak zwany VHF i UHF. Czyli na częstotliwości około 145MHz i 440 MHz (w uproszczeniu ). Gzie to odpowiada długości fali radiowej 2Mmetrów i 70 CentyMetrów . po której zamontowaniu wyszły problemy z niską jakością instalacji telewizji naziemnej która miała 20 lat i była robiona na kolanie która została wymieniona ciekawostka przewód ,,antenowy '' bardzoo niskiej jakości dodawany w zestawie z anteną drugą z anten jest tak zwane LW long wire jak sama nazwa mówi to kawał drutu na fale krótkie od 3,5MHz 80Metrów do około 50MHz czyli 6Metrów (nie mam zdjęcia trudno jest ją na nim zmieścić tak żeby była widoczna antena żeby dobrze działała potrzebuje tak zwane przewody przeciw wagi i uziemienie najpierw zostało wstępnie wbite uziemienie a potem dodany element kompozytowy co się nazywa studzienka inspekcyjną/ uziomowa uziemienie będzie miało dobite kilka elementów dla poprawy parametrów i będzie nie wystawało no nad studzienkę więc gdy anteny nie będzie będzie można ją zamknąć pokrywką i np skosić trawę to już mamy wstępny zarys prac na 2 systemach anten ale co jak nam tych anten przybędzie 2 musimy zadbać o np ochronę odgromową instalacji więc jak mamy dużo anten lub przewodów pod anteny to musimy je gdzieś umieścić w jednym miejscu i opisać tu taki przykład jest ta listwa aluminiowa co na razie mi do tego służy taki odpowiednik pacz panelu w serwerowni ale docelowo do radio szaku (czyli biurka / pokoju gzie się bawisz radiami ) będą przychodziły przewody tylko te najbardziej potrzebne lub ewentualnie będzie jakiś przełącznik automatyczny na zewnątrz budynku więc tu się pojawia skrzynka na to wszystko na pacz panel na jakąś elektronikę skrzynka jest (bo już ją mam ) metalowa i będzie miała zrobione własne uziemienie skrzynka jest z użytku wtórnego posiada da niechlujną konserwacje lakierniczą kilka dławnic które nam się przydadzą posiada też buzzer / syrenę 24V kilka diod 24 v może nam się przydadzą posiada też wiele zbędnych otworów po osprzęcie ale trochę starego osprzętu przed malowaniem trzeba z niej wymontować więc do dzieła pomalujmy ją w między czasie omówmy sobie kolejne elementy co się pojawią w skrzynce jest w nich w pewnym sensie ochronnik antenowy głównej mierze jest to samo co warystor tak samo jak ochronnik w instalacji domowej 230v ma zabezpieczyć przed wystąpieniem za dużego napięcia na instalacji antenowej w tym przypadku uderzenia pioruna i po przez zwarcie żyły ,,ciepłej '' w przewodzie koncentrycznym z ekranem a ekran podłączony jest w tym przypadku z naszym przypadku z naszym pacz panelem a on jak wiemy z ziemią w skrzynce posiada on on wymienne nazwijmy to bezpieczniki ciąg dalszy nastąpi do usłyszenia w między czasie trwa dalsze malowanie i gromadzenie elementów i przygotowywanie pewnej kombinacji opartej o raspberry pi z RTL-SDR
- 15 odpowiedzi
-
- 1
-
-
- Elektronika
- elektryka
- (i 3 więcej)
-
Cześć wszystkim, Obecnie staram się skonstruować urządzenie dokonujące pomiarów stężenia tlenu (maksymalny zakres: 30%). Wybrałem odpowiednie komponenty, jednak nie jestem pewien czy całość zadziała. Potrzebuję rady osoby, która nieco bardziej zna się na Arduino, w porównaniu do mnie (początkującego) aby oceniła przygotowane przeze mnie bardzo uproszczone schematy 🙂 Zadaniem urządzenia, tak jak wspomniałem wcześniej, jest dokonywanie pomiarów stężenia tlenu. W momencie wykrycia stężenia większego niż 21,5% tlenu w atmosferze powinien uruchomić się buzzer: sygnał ostrzegawczy. Wyniki pomiarów mają wyświetlać się na ekranie LCD, zaś całość będzie zasilana baterią 9V. Dane pozyskam podłączając urządzenie do laptopa według 10 lekcji kursu Arduino, poziom I [Link], tak aby móc przedstawić uzyskane wyniki w postaci wykresów. Zależy mi na tym czy dane komponenty są odpowiednio podłączone. Dzięki temu będę mógł przejść do pisania kodu. Wykorzystane komponenty: - Arduino Uno R3 - Nakładka na Arduino: Base Shield v2 https://botland.com.pl/grove-nakladki-bazowe/4440-grove-base-shield-v2-nakladka-na-arduino-5904422368852.html - Czujnik tlenu https://botland.com.pl/grove-czujniki-gazow-i-pylow/17917--grove-czujnik-tlenu-mix8410-analogowy-.html - Buzzer https://botland.com.pl/grove-moduly-dzwiekowe/11298-grove-buzzer-modul-z-buzzerem-aktywnym-5903351246453.html - Wyświetlacz LCD https://botland.com.pl/grove-wyswietlacze/14736-grove-wyswietlacz-lcd-2x16-i2c-bialo-niebieski-z-podswietleniem-5904422322465.html Mam również pytanie co do wyboru zasilania. Czy zwykła bateria 9V wystarczy do pracy takiego urządzenia? W jaki sposób można to ewentualnie obliczyć? Z góry dziękuję za pomoc osobom chętnym 👍 Pozdrawiam, Wojciech (Wejmon) Ciecierski
- 21 odpowiedzi
-
- Elektronika
- Arduino Uno
- (i 2 więcej)
-
ciekawostka elektronika w służbie badania pogody witajcie chciałem bam pokazać jak wyglądają pomiary (w uproszczeniu ) temperatury i innych parametrów atmosfery codziennie w Polsce obecnie na dzień pisania postu codziennie 2 loty podstawowe 12:00utc i 24:00utc i koło 6-8:00 LT i koło 18:00 LT dodatkowe loty tak zwane burzowe przy jakiś np mocniejszych i gwałtowniejszych zjawiskach meto z 3 miejsc + wojsko + inne miejsca na świecie i Europie są poszczane balony stratosferyczne z tak zwaną sondą pomiarową zazwyczaj posiadające czujnik temperatury i wilgotności ale czasem np Niemcy mają dodatkowy moduł ciśnienia atmosferycznego a czasami są puszczane sondy nazwijmy to specjalne np z czujnikiem pomiaru ozonu lub z miejscowości Lindenberg w Niemczech jest wysyłana sonda nazwijmy to testowa (krowa) za którą jedzie zazwyczaj pracownik odpowiednika niemieckiego instytutu meteorologii tak zwana krowa to jest bliżej nie określona konstrukcja składająca się np z wielu sond lub czujników w fazie badań testowych balon zazwyczaj osiąga górną wartość wznoszenia wynoszącą 32km +- kilka set metrów po czym pęnka i spada w Polsce nie posiada spadochronu lecz czasem balon się tylko roszczeni i powoduje bycie spadochronem a np Niemcy wszystkie sondy zaopatrują w spadochron polska po skończonym radio sondażu traktuje traktuje sondę jako odpad i nie interesuje ich to co się z tym dzieje jest grupa osób co je zbiera np ja przykład ja wygląda sonda w tym przypadku VAISALA RS41-SG za jakiś czas może uzupełnię ten post o więcej typów sond np RS92 lub M20 które od nowego roku w Polsce zastąpią RS41 ewentualnie o wojskowe sondy (polskie) z serii pilosonde lub niemieckie z serii FDM ja z upolowaną sondą z wrocławskiego instytutu meteorologii 2 minuty po upadku
-
Początkujący Źle obliczony prąd bazy w tranzystorze bipolarnym PNP?
Equer opublikował temat w Elektronika
Dzień dobry, dobry wieczór. Przerabiam kurs elektroniki poziom I w ramach przypomnienia sobie podstaw elektroniki. Zatrzymałem się na temacie związanym z tranzystorami bipolarnymi. Wymyśliłem sobie, że spróbuję zaprojektować układ podłączenia tranzystora do diody LED i obliczyć wszystko od zera. Wypiszę moje dane i co zamierzałem obliczyć. Uzas = 9V DC Icmax = 10 mA tutaj zakładałem, że nie chcę mocniej obciążać diody, dlatego "max" β = 200 odczytane bezpośrednio z noty katalogowej Rc = 1kΩ z obliczeniem tej rezystancji akurat nie miałem problemu Założyłem, że napięcie między bazą a kolektorem wyniesie około 0,7V. Teraz przechodzę do rzeczy. Wartość prądu Ib w kursie, w ćwiczeniu praktycznym wyniósł 0,86 mA. Zakładając, że β = 200 a prąd kolektora Ic = 6,64 to ze wzoru Ib = Ic/β wynika, że prąd bazy musi się równać 0,0332 mA. Ib = Ic/β = 6,64/200 = 0,0332 mA. I taki sam mam problem w moim układzie. Chcę aby Ic wyniosił 10 mA, więc: Ib = Ic/β = 10/200 = 0,05 mA Poszedłem z tym dalej i obliczyłem rezystancję rezystora Rb: Rb = (Uzas - Ube) / Ib = (9V - 0,7) / 0,05 mA = 184,44 kΩ Rezystancja ogromna ale spróbowałem podłączyć. Nie zadziałało. Co zrobiłem w moich obliczeniach źle? Co jest w nich nie tak? W załączniku załączam schemat i obliczenia. Po prawej moje a po lewej zgodnie z wynikami z kursu.- 1 odpowiedź
-
- Elektronika
- prąd
-
(i 2 więcej)
Tagi:
-
Cześć wszystkim, potrzebuję zbudować audio switcha takiego jak na znalezionym schemacie lecz nie potrafię dobrać odpowiedni przełącznik obrotowy i w tej sprawie właśnie pisze do was tu na forum.
- 3 odpowiedzi
-
- Audio
- Elektronika
-
(i 1 więcej)
Tagi:
-
Do naszego zespołu w firmie FlyArgo (Aleja Katowicka 11, 05-830 Wolica) poszukujemy Mechatronika. Poniżej przedstawiamy najważniejsze informacje dotyczące oferty. Obowiązki: Projektowanie systemów elektronicznych, w tym: Projektowanie systemów elektronicznych (połączenia między płytkami PCB, dobór komponentów, tworzenie interfejsów) Tworzenie i modyfikację schematów PCB Analiza systemów elektronicznych - zapewnienie stabilnej pracy układów Zarządzenie produkcją PCB Tworzenie oraz nadzorowanie dokumentacji produktów Nadzór nad walidacją produktów i podzespołów elektronicznych Aktywny wkład w proces rozwoju urządzeń Profil Kandydata: Biegła znajomość podstaw elektroniki cyfrowej i analogowej Znajomość C/C++ Znajomość komponentów elektronicznych, układów elektronicznych analogowych/cyfrowych, aplikacji na mikrokontrolerach Znajomość narzędzia edycji schematów, projektowanie PCB w EAGLE Podstawowa wiedza w zakresie procesu produkcyjnego urządzeń elektronicznych Doświadczenie w obsłudze sprzętu laboratoryjnego Umiejętność lutowania TH/SMD Umiejętność budowy i montażu prototypów, uruchamiania, badania, usuwania błędów i testów walidacyjnych Umiejętność czytania dokumentacji technicznej układów elektronicznych Doświadczenie w zakresie testów elektroniki (kompatybilności elektromagnetycznej, testy elektryczne, testy klimatyczne) Komunikatywność, samodzielność, bardzo dobra organizacja pracy, terminowość Znajomość interfejsów szeregowych: SPI, I2C, UART, Doświadczenie w pracy z układami ARM Komunikatywna znajomość języka angielskiego Mile widziane: Doświadczenie w pracy z układami STM32 (CubeMX, HAL, FreeRTOS) Znajomość interfejsów szeregowych: USB, CAN Doświadczenie w pracy z silnikami BLDC, enkoderami, IMU, kamerami (MIPI - CSI, USB, Ethernet), układami FPGA Embedded Linux Dobra znajomość C/C++ Znajomość systemów kontroli wersji (GIT) Doświadczenie w druku 3D i projektowaniu częśći (CAD) Doświadczenie z modelami RC i dronami Oferujemy: Pracę z najnowszymi technologiami w obszarze elektroniki oraz oprogramowania Wsparcie rozwoju pracownika Przyjazną atmosferę sprzyjającą pracy twórczej Pracę przy autorskich produktach Code review, regularny feedback Niekorporacyjną atmosferę, work-life balance Tworzenie sprzętu dla klientów z całego świata Ekscytujące wyzwania! Rabbit Hole: 01001110 01100001 00100000 01110010 01101111 01111010 01101101 01101111 01110111 01101001 01100101 00100000 01111010 01100001 01110000 01111001 01110100 01100001 01101010 00100000 01101111 00100000 01110000 01101111 01110000 01100011 01101111 01110010 01101110 00100000 01011000 01000100 Zachęcamy do przesyłania zgłoszeń oraz zadawania ewentualnych pytań na adres mailowy k.domagalska@vertigo.global 🙂
-
- Praca
- Elektronika
-
(i 1 więcej)
Tagi:
-
Głównym założeniem tego projektu było stworzenie urządzenia wyświetlającego liczbę klatek na sekundę w grach komputerowych, jak i również innych informacji o obciążeniu komputera. Zdaje sobie sprawę, że projekty podobnego to tego pojawiały się już nie raz w sieci pod różnymi postaciami. W tym projekcie skupiłem się jednak na tym, aby całość zmieściła w małej kompaktowej obudowie, którą można w elegancki sposób zamontować pod monitorem. Możliwość wyświetlania FPS również jest tutaj czynnikiem wyróżniającą ten projekt na tle innych. Jest tak głównie dlatego że o ile informacje o wykorzystywanej ilości pamięci RAM, czy też obciążeniu procesora można dosyć łatwo pozyskać za pomocą różnych bibliotek w programie po stronie komputera, tak z klatkami na sekundę jest trochę trudniej. Użyte komponenty Sama budowa tego monitorka jest naprawdę prosta. Zostały w nim użyte właściwie tylko 3 komponenty: Arduino nano wyświetlacz OLED 128x32 przycisk dotykowy Pierwotnie zakładałem również użycie diody LED do sygnalizacji pewnych błędów, czy też wciśnięcia przycisku dotykowego. Uznałem jednak, że w tym przypadku nie miało by to większego sensu zważając na potrzebę minimalizacji. Można byłoby się zastanowić czemu wybór padł na arduino nano, a nie np. arduino pro micro. Arduino pro micro jest mniejsze, prawda? Zgadza się, dlatego też użyłem tego mikrokontrolera w pierwszej wersji tego wyświetlacza, który skończył dość marnie. Było tak dlatego, że przez przypadek chcąc poprawić przewód HDMI za monitorem, szarpnąłem niechcący za przewód idący do arduino. No i stało się, wyrwałem wtyk micro USB z płytki. Chcąc uniknąć ponownie takiej wpadki w następnej wersji użyłem mikrokontrolera, który kosztem ciut większej wielkości jest tańszy oraz posiada lepiej zamontowany na płytce wtyk USB mini. Jeśli chodzi o wyświetlacz to sprawa była prosta. Taki OLED 128x32 nie tylko rozmiarami idealnie pasuje do całego projektu, ale też po prostu prezentuje się ładnie i daje dużo możliwości. No i na koniec czujnik dotykowy. Dostępny w wielu rozmiarach, tani oraz przede wszystkim nie wymagający praktycznej żadnej siły do jego aktywacji. Ukryty w prawym boku obudowy dodaje estetyczności, nie zmniejszając przy tym komfortu użytkowania. Obudowa Obudowa została w całości wydrukowana na drukarce 3D. Sam model do druku zaprojektowałem w programie Fusion 360. Tak jak już pisałem, zależało mi na niewielkich rozmiarach. Dlatego cały model przeszedł przez wiele iteracji, a w każdej z nich starałem się zminimalizować jego wielkość. Zadbałem tutaj również o to, aby każdy z elementów w środku miał dopasowane pod siebie miejsce celem łatwego montażu. Po historii z wyrwaniem wejścia na płytce, finalnie dodałem jeszcze mały uchwyt na przewód mający minimalizować ryzyko ponownego uszkodzenia portu USB. Software Oprogramowanie po stronie komputera to prosty skrypt napisany w pythonie. Poza łączeniem się z arduino i przesyłaniem mu danych, musi te dane jeszcze skądś brać. I tutaj pojawił się mały problem, jeśli chodzi o pobranie ilości klatek w aktualnie włączonej grze. Nie da się od tak wyliczyć takiej wartości w programie, nie ma też na to gotowej funkcji. Z pomocą przyszedł popularny program o nazwie Msi AfterBurner. Nie wchodząc w szczegóły, program ten pozwala na monitorowanie zasobów komputera ( RAM, CPU, GPU itp.), jak i również uzyskanie potrzebnych nam FPS w aktualnie włączonej grze/programie. Teraz już tylko wystarczyło użyć wbudowanej w program funkcji do logowania tych danych do pliku, oraz odczytać je w pythonie i przesłać do arduino. Czy taki sposób jest wydajny? Cały proces wykorzystania pliku jako bufora do danych nie powinien w znaczący sposób obciążyć komputera, jednak lepszą opcją byłoby wykorzystywanie współdzielenia pamięci między dwoma programami. Aby to jednak osiągnąć potrzebna jest trochę większa wiedza z programowania w C++/C#, której niestety jeszcze nie posiadam. W przypadku arduino program po za odczytaniem danych oraz ich wyświetleniem, obsługuje również dotykowy przycisk. Pojedyncze dotknięcie przycisku zmienia wyświetlaną zawartość na 1 z 6 ekranów, zaś przytrzymanie przycisku powoduje zmianę ekranu co jedną sekundę. Dostępnymi ekranami są: klatki na sekundę, użycie CPU i GPU, temperatura CPU i GPU, użycie pamięci RAM i VRAM, prędkość wentylatora oraz ekran główny powodujący wygaszenie ekranu po paru sekundach. Dalsze plany W przyszłości planuje jeszcze większą minimalizacje wielkości obudowy, bo jest na tym polu jeszcze dużo do zrobienia. Mam zamiar również poduczyć się C++, aby móc wykorzystać współdzieloną pamięć między programami, rezygnując z odczytywać danych z pliku.
- 4 odpowiedzi
-
- 12
-
-
- Elektronika
- OLED
-
(i 3 więcej)
Tagi:
-
Na łamach Forbot-a temat był już wcześniej poruszany i tak naprawdę cały artykuł powstał ze względu na duże niezrozumienie tematu oraz reakcje osób na forum. Celowo odnoszę się bezpośrednio do artykułu Sandry, ponieważ część z informacji warto przeczytać, a nie chcę powtarzać tego samego, dlatego przed przeczytaniem dalszej części polecam lekturę. Ten artykuł bierze udział w naszym konkursie! 🔥 Na zwycięzców czekają karty podarunkowe Allegro, m.in.: 2000 zł, 1000 zł i 500 zł. Potrafisz napisać podobny poradnik? Opublikuj go na forum i zgłoś się do konkursu! Czekamy na ciekawe teksty związane z elektroniką i programowaniem. Sprawdź szczegóły » Niestety autorka dopuściła się moim zdaniem błędu interpretacyjnego samych przepisów, jak i niezrozumieniu samej konstrukcji urządzeń DIY wykonywanych przez amatorów. Prowadzi to do błędnych wniosków, które miałem okazję czytać na forum pod tym wpisem. Niestety w tej części nie będzie już tak łatwo, każde z pytań ma kilka zmiennych na które nie da się odpowiedzieć wprost tak lub nie. Pytanie: Czy muszę umieszczać znak CE i robić certyfikaty jeśli chce sprzedać mój projekt DIY? Aby odpowiedzieć na to pytanie odpowiadają nam konkretnie cztery z kilkudziesięciu dyrektyw tzw. nowego podejścia (wcześniej było tzw. stare podejście i było trochę bardziej upierdliwe dla producentów): 2011/65/UE DYREKTYWA ROHS II I 2015/863 DYREKTYWA ROHS III (pomijam z opisu, ponieważ przyjmujemy założenie, że korzystamy z gotowych podzespołów) 2014/53/UE DYREKTYWA RADIOWA / DYREKTYWA RED 2014/35/UE DYREKTYWA NISKONAPIĘCIOWA LVD i teoretycznie 2014/30/UE DYREKTYWA KOMPATYBILNOŚCI ELEKTROMAGNETYCZNEJ EMC Definicje W związku z tym musimy odnieść się do rozporządzenia wprowadzającego obowiązek stosowania znaku CE na produktach określonych w dyrektywach tzw. nowego podejścia (Rozporządzenie Parlamenty Europejskiego i Rady (WE) NR 765/2008) Jako hobbystę amatora, który wymyśla sobie produkt, najczęściej z półproduktów, np. wspomniany przez autorkę poprzedniego artykułu budzik, interesują nas definicje: - udostępnienie produktu na rynku - producent Tutaj mamy tak naprawdę pierwszy zgrzyt interpretacyjny w poprzednim artykule. Z niewiadomych mi przyczyn definicja udostępniana produktu na rynku, określona przez ustawodawcę źródło: art. 2 pkt 1 Rozporządzenia Parlamentu Europejskiego i rady (WE) NR 765/2008 z dnia 9 lipca 2008 r. ustanawiające wymagania w zakresie akredytacji i nadzoru rynku odnoszące się do warunków wprowadzania produktów do obrotu i uchylające rozporządzenie (EWG) nr 339/93 Została odczytana jako alternatywa, czyli kiedy chociaż jeden z danych elementów ma miejsce. Jest to całkowicie błędne rozumowanie. Niestety jedną z opisywanych wcześniej wykładni jest wykładnia logiczna i nie została tutaj zastosowana. W naszym przykładzie nie bierzemy pod uwagę „działalności handlowej” tylko hobbystyczną. W związku z tym nie udostępniasz swojego projektu na rynku, ponieważ nie jesteś podmiotem profesjonalnym. Koledze możesz oddać wszystko (nawet dziewczynę/chłopaka) i „zła unia” nie ma nic do tego, oczywiście jeśli robisz to poza działalnością handlową. Aby rozróżnić czy jesteśmy hobbystą-amatorem, czy też jest to działalność handlowa, musimy wziąć pod uwagę cel w jakim dany przedmiot powstaje. Jeśli wykonujesz go dla siebie, ale później chcesz go odsprzedać, nie podchodzi to pod działalność handlową. Jeśli natomiast produkujesz dany przedmiot tylko w celu jego sprzedaży, jest to jak najbardziej przesłanka do zastosowania dyrektywy, niezależnie czy prowadzimy działalność gospodarczą czy nie. Podstawa prawna: 1. art. 3 ustawy prawo przedsiębiorców z dnia 6 marca 2018 r. (Dz.U. 2018 poz. 646) 2. art. 5a pkt 6 ustawy o podatku dochodowym od osób fizycznych z dnia 26 lipca 1991 r. (Dz.U. 1991 nr 80 poz. 350) 3. art. 3 pkt 9 ustawy ordynacja podatkowa z dnia 29 sierpnia 1997 r. (Dz.U. 1997 nr 137 poz. 926) 4. art. 43[1] Ustawy kodeks cywilny z dnia z dnia 23 kwietnia 1964 r (Dz.U. 1964 nr 16 poz. 93) No dobra ale co jeśli jednak chciałbym na tym zarabiać? Tutaj sprawa się komplikuje, ponieważ ma to się zupełnie odwrotnie do opisywanej wcześniej ustawy o prawach konsumenta (link do poprzedniej części). Mamy dwie istotne sprawy, pierwsza to czy prowadzimy działalność czy tez wykonujemy to jako zleceniobiorca. Dlaczego jest to istotne? Ponieważ zgodnie z definicją dyrektywy: źródło: art. 2 pkt 3 Rozporządzenia Parlamentu Europejskiego i rady (WE) NR 765/2008 z dnia 9 lipca 2008 r. ustanawiające wymagania w zakresie akredytacji i nadzoru rynku odnoszące się do warunków wprowadzania produktów do obrotu i uchylające rozporządzenie (EWG) nr 339/93 W skrócie – podpisując odpowiednio zredagowaną umowę o dzieło stajemy się jedynie wytwórcą danego produktu i to na zleceniodawcy spoczywa obowiązek przestrzegania przepisów związanych z dyrektywami CE. Fajne, nie? No tak, tylko trochę nieuczciwe 😉 Prawdopodobnie nie do wybronienia też w sądzie ze względu na czynność pozorną w celu ominięcia przepisów (art. 83 KC). Dlatego nie wchodźmy w szarą strefę i przyjmijmy, że chcemy jednak sprzedawać nasz produkt jako producent i pod naszą nazwą. Bez znaczenia jaką formę działalności przyjmiemy – zarabiamy na tym, więc jesteśmy producentem. Podstawa prawna: art. 83 Kodeksu Cywilnego Ok ale właściwie to ja przecież niczego nie robię sam, kupuję podzespoły i składam je tylko do kupy. One wszystkie mają znaczek CE, więc czemu się czepiać wyrobu końcowego. Niestety po złożeniu go w całość, wytwórca ponosi odpowiedzialność za całość układu (powrót do podstaw z poprzedniego artykułu – prawo autorskie). Wracamy wiec do dyrektyw określających do jakich produktów musi być zastosowany znak CE. 2014/53/UE DYREKTYWA RADIOWA / DYREKTYWA RED Jeśli twoje urządzenie posiada Bluetooth, Wifi 2,4G, nRF, czy też inny podobny protokół łączności radiowej, niestety twoje urządzenie powinno posiadać znak CE. Autorka poprzedniego artykułu błędnie zdefiniowała amatorską służbę radiolokacyjną, co niewiele ma wspólnego z wymienionymi protokołami, tym bardziej, że w ogóle nie dotyczy kwestii gdy chcemy na tym zarabiać. Martwić się? Pójdę do więzienia? Nie. Wytłumaczę to na końcu. 2014/35/UE DYREKTYWA NISKONAPIĘCIOWA LVD Dotyczy urządzeń pracujących w zakresie napięcia 50-1000V AC/DC i 74-1500V DC. Praktycznie do większości z urządzeń opartych na Raspberry Pi, Arduino, ESP, Pi Pico, Spresense itd., ta dyrektywa nie ma zastosowania. Wystarczy tylko aby zasilacz był oddzielnym peryferyjnym podzespołem, wtedy zamiast jego producentem stajemy dystrybutorem, czyli po prostu przerzucamy pełną odpowiedzialność ze znakiem CE na producenta który go wytworzył (czy też jego importera). W związku z tym dla własnego bezpieczeństwa lepiej kupować go od polskiego kontrahenta. Czyli w tym przypadku znak CE nie jest potrzebny. Podstawa prawna: art.1 dyrektywy 2014/35/UE 2014/30/UE DYREKTYWA KOMPATYBILNOŚCI ELEKTROMAGNETYCZNEJ EMC Jest to moim zdaniem najmniej prawdopodobny powód dla jakiego mielibyśmy przeprowadzać badania pod kątem zgodności produktu, ponieważ w przypadku większości zastosowań i niskich napięć, nie mamy możliwości powodować zaburzeń elektromagnetycznych (jedynie mogą być podatne na inne zakłócenia) Podstawa prawna: art 2 ust 2 lit d) dyrektywy 2014/30/UE Idąc za definicją zespołu podzespołów czyli aparatury: źródło: art 3 ust. 1 pkt 2 dyrektywy 2014/30/UE Przyjmujemy, że nasz budzik zasilany napięciem 3,3V nie będzie samoistnie włączać nam telewizora i powodować ciąży u sąsiadki. Po prostu z założenia jest to głupie. Oczywiście jeśli naszym projektem jest elektromagnes, warto jednak przeprowadzić by te cholerne badania 😉 Reasumując, znak CE na wyrobach hobbystycznych DIY typu budzik musimy zastosować jedynie w przypadku gdy podłączamy je bezpośrednio do gniazdka 230V (nie przez zasilacz innego producenta) i gdy mamy w nim zastosowany system łączności radiowej (czyli prawie każdy). Oczywiście tylko i wyłącznie jeśli robimy to w celach handlowych, a nie dajemy chłopakowi/dziewczynie prezent z okazji zadawania się z nami i naszymi gazami lutowniczymi. Pytanie: Czyli muszę odezwać się do firmy zajmującej się certyfikacją CE, żeby przebadała mój projekt i wystawiła certyfikat? Nie, zupełnie nic z tych rzeczy. „Zła unia” nie zmusza małych wytwórców do przeprowadzania badań za grube tysiące, tylko po to żeby sprzedali dziesięć budzików po 200 zł. Ogólnie nie istnieje coś takiego jak certyfikat CE. Przepisy definiują jedynie jednostki notyfikacyjne dla grup produktów, które muszą posiadać szczegółowe badania dla swoich produktów. Każdy z producentów ma w większości przypadków przeprowadzić badania we własnym zakresie i wystawić deklarację zgodności WE. Jest to dokument, który jako producent wystawiasz wg wzoru dostępnego na stronach Parlamentu UE i wkładasz sobie do szuflady, nic więcej z tym nie musisz robić. W przypadku gdyby pojawiła się kontrola, masz obowiązek go przedstawić. Dodatkowo na produkcie powinien pojawić się znaczek CE lub jeśli nie uda się go zamieścić na produkcie ma być dostępny na oddzielnym dokumencie dołączonym do produktu. Myślę, że w przypadku korzystania z gotowych podzespołów dostarczanych przez innych producentów, typu płytki rozwojowe, spokojnie możemy bazować na ich badaniach dotyczących protokołów radiowych działających zgodnie z normami. Również warto w tym przypadku korzystać z polskich podmiotów. Pozostaje jedynie kwestia odpowiedzialności prawnej jaka grozi w przypadku sprzedaży wadliwego produktu. Zapraszam do ostatniej części artykułu.
- 112 odpowiedzi
-
- 4
-
-
- konkurs2021
- prawo
-
(i 3 więcej)
Tagi:
-
Na wstępie chciałbym zaznaczyć, że jest to artykuł napisany pod kątem wyłącznie hobbystów, pasjonatów i osób, tak jak ja, uczących się elektroniki i programowania. Ponieważ niektóre zagadnienia są dużo bardziej skomplikowane, nie mogą być przenoszone 1:1 dla producentów seryjnych podzespołów czy też działalności stricte zawodowej. Natomiast postaram się w tej serii artykułów opisać podstawowe problemy prawne na jakie może natrafić każda osoba chcąca sprzedać wykonane projekty. Ten artykuł bierze udział w naszym konkursie! 🔥 Na zwycięzców czekają karty podarunkowe Allegro, m.in.: 2000 zł, 1000 zł i 500 zł. Potrafisz napisać podobny poradnik? Opublikuj go na forum i zgłoś się do konkursu! Czekamy na ciekawe teksty związane z elektroniką i programowaniem. Sprawdź szczegóły » Spis treści: 1. Podstawy – Czy mogę sprzedawać projekty DIY? 2. Znak CE – co to jest i co się z tym wiąże 3. Odpowiedzialność twórcy 1. Podstawy Często spotykam się z nierozumieniem rozmówców dotyczącym pojęcia prawodawstwa i całego systemu prawnego. W świecie prawniczym istnieje metoda rozumienia tekstów ustaw, dyrektyw, rozporządzeń itd., zwana wykładnią. Jest to zestaw zasad pomagający rozumieć tekst w sposób w jaki autor (ustawodawca) chciał aby to było zrozumiane. Działa to trochę na zasadzie tekstu źródłowego i bibliotek: teoretycznie bez nich program mógłby działać, ale za bardzo nie wykonuje tego co miał robić. Dlatego nie wystarczy przeczytać jeden akt prawny, a trzeba spojrzeć na sprawę szerzej i korzystać z definicji legalnych ustanowionych przez autora. Czyli po ludzku musimy przeczytać więcej dokumentów napisanych trudnym językiem oraz mając na uwadze podstawy prawodawstwa. Głównym aktem normatywnym (ustawą), na którym opieramy większość relacji międzyludzkich, jest kodeks cywilny. Reguluje on praktycznie wszystko od zasad sprzedaży, poprzez sprawy spadkowe, aż do szkód wyrządzonych przez zwierzęta wchodzące w miedzę. Dlatego też do niego zawsze będziemy się odnosić w przypadku różnego rodzaju umów sprzedaży, gwarancji, rękojmi oraz odpowiedzialności twórcy. Natomiast należy pamiętać, że są to tylko ogólniki i większość z tych przepisów regulowana jest szczegółowo przez inne ustawy jak np. Ustawa o prawach konsumenta, Ustawa o prawie autorskim i prawach pokrewnych. Przy niektórych specjalistycznych zagadnieniach mogłyby jeszcze być istotne rozporządzenia ale tak jak wspomniałem na wstępie, bierzemy pod uwagę sytuację tylko wariant hobbysty, amatora, konstruującego „migającą diodę”. Nie bez przyczyny wspomniałem o tych dwóch dodatkowych ustawach, ponieważ są one dosyć istotne w przypadku chęci sprzedaży naszych projektów. Jeśli zdecydujemy się na sprzedaż online, jesteśmy zobligowani do przestrzegania przepisów Ustawy o prawach konsumenta, brać pod uwagę możliwość zwrotu towaru bez podania przyczyny, możliwość reklamacji i pełną odpowiedzialność za sprzedawany produkt. Ale czy zawsze? Odpowiedź brzmi: NIE Po pierwsze – jeśli jesteśmy hobbystą, nie posiadającym własnej działalności gospodarczej, nie podlegamy pod tę ustawę. Po prostu jesteśmy zwykłym chałturnikiem, który w świetle prawa nie jest podmiotem profesjonalnym – coś jak grajek na weselach, robi to tylko okazjonalnie. Teoretycznie jeśli przedmiot powstaje tylko po, żeby go sprzedać, powinniśmy jednak zarejestrować naszą działalność, gdyż jest to delikt podatkowy. Jednakże w przypadku gdy tworzymy sobie jakiś projekt dla zabawy i później po prostu chcemy go sprzedać, nie ma tutaj przeciwskazań, a powyższa ustawa nie ma zastosowania. Dlatego też sprzedając go na portalu aukcyjnym, kupujący nie ma prawa zwrotu bez podania przyczyny. Podstawa prawna: art. 27 w zw. z art. 1 pkt. 1 ustawy o prawach konsumenta z dnia 30 maja 2014 r. (Dz. U. 2014 poz. 827) Dodatkowo istnieje wyłączenie w powyższej ustawie dotyczącej sprzedaży na odległość produktów wytworzonych na zlecenie kupującego, personalizowanych itp. W takim przypadku również następuje wyłączenie z prawa do zwrotu towaru, nawet jeśli jesteście przedsiębiorcą. Piszę to nie przez przypadek, gdyż przy małej modyfikacji kodu, jesteście w stanie pozbyć się sporego problemu związanego ze zwrotami, szczególnie jeśli sprawa dotyczy projektów DIY. Podstawa prawna: art. 38 pkt. 3 ustawy o prawach konsumenta z dnia 30 maja 2014 r. (Dz. U. 2014 poz. 827) Drugą ustawą o której wspomniałem jest Ustawa o prawie autorskim i prawach pokrewnych. Bardzo często w różnych dyskusjach na forach internetowych pomijany jest fakt, że w świetle prawa zarówno kod źródłowy programu jak, projekt układu elektronicznego czy też sama płytka z zainstalowanymi konkretnymi podzespołami elektronicznymi, jest chroniona prawem autorskim. Oczywiście w przypadku udostępnianego oprogramowania istnieją licencje na zasadzie których autor je udostępnia, jednakże większość z nich jest tylko do użytku osobistego bez możliwości zarabiania na ich odsprzedaży. Czyli nie każdy projekt DIY możemy sprzedawać masowo ale jeśli wykonaliśmy go dla siebie, zawsze możemy go odsprzedać komuś innemu (natomiast pozwać mogą nas i tak). Podstawa prawna: art. 1 ust. 2 pkt. 1 w zw. z art. 1 ust. 1 ustawy o prawie autorskim i prawach pokrewnych z dnia 4 lutego 1994 r. (Dz. U. 1994 Nr 24 poz. 83) Pytanie: Czy w związku mogę sprzedać swój projekt DIY? Odpowiedź brzmi: TAK Co więcej, kodeks cywilny umożliwia przetwarzanie rzeczy zakupionych/znalezionych, daje dodatkowe prawa kiedy podnosi się jej wartość. Z punktu widzenia polskich przepisów nie jest zabroniona sprzedaż materiałów elektronicznych, składanych z innych podzespołów, które dodatkowo wyposażone są w autorskie oprogramowanie. Oczywiście nie mogą być to produkty niebezpieczne, czy też specjalistyczne, które obowiązują oddzielne przepisy – jak np. sprzęt medyczny czy zapalniki do materiałów wybuchowych lub broń. Mógłbym zakończyć w tym miejscu, niestety pozostaje nam jeszcze kwestia sprawy związanej ze znakiem CE, który jest wymagany na produktach wprowadzonych do obrotu na ternie Unii Europejskiej. O tym w kolejnej części.
- 34 odpowiedzi
-
- 6
-
-
- konkurs2021
- prawo
-
(i 3 więcej)
Tagi:
-
Opisałem już ogólne ramy prawne w jakich poruszamy się przy określaniu możliwości sprzedaży produktów oraz wymogi jakie mają spełniać. Przejdźmy teraz do najmniej przyjemnej części zagadnienia, czyli ryzyka związanego z tego typu działalnością. Ten artykuł bierze udział w naszym konkursie! 🔥 Na zwycięzców czekają karty podarunkowe Allegro, m.in.: 2000 zł, 1000 zł i 500 zł. Potrafisz napisać podobny poradnik? Opublikuj go na forum i zgłoś się do konkursu! Czekamy na ciekawe teksty związane z elektroniką i programowaniem. Sprawdź szczegóły » W tej części odejdę trochę o mojego założenia z początku czyli: jesteśmy hobbystami, robiącymi projekty typu „migająca dioda”. Ponieważ de facto tutaj nie mamy żadnego ryzyka związanego z odsprzedażą gotowego projektu, zrobionego pod nas, na zasadzie „jest już mi niepotrzebny może inny pasjonat się tym zajmie”. Jeśli ktoś to kupuje wie dobrze, że konstrukcja prawdopodobnie przestanie działać po kilku minutach, jak to zwykle mają w zwyczaju 😉 Weźmy pod uwagę sytuację gdy jesteśmy cały czas na tym samym etapie rozwoju biznesu (czyli nie istnieje) ale chcielibyśmy sprzedawać nasze projekty ludziom, którzy z techniką mają do czynienia gdy używają smartphona. Z założenia taka osoba może uważać, że kupuje produkt pełnowartościowy, który ma działać zgodnie z tym co było napisane na pudełku/aukcji i raczej nie chce sprawdzać wszystkich kabelków czy dobrze stykają przez 2h. Pierwsze co nasuwa mi się przez myśl jest w tym przypadku możliwość zwrotu towaru zgodnie z Ustawą o prawach konsumenta. Drugie to niezgodność towaru z umową. Warto w tym przypadku dobrze opisać swój produkt, ponieważ jeśli pojawią się nieścisłości w opisie, konsument ma zawsze prawo do zwrotu towaru, w tym zwrotu kosztów przesyłki. Nie obowiązuje tutaj opisywany przeze mnie wyjątek do ustawy. Trzecie to wadliwość samego produktu. Oprócz gwarancji, której warunki możecie określić w karcie gwarancyjnej produktu, obowiązuje coś takiego jak rękojmia. Tak jak w przypadku gwarancji można wykluczyć dużo usterek jako z winy użytkownika, tak w przypadku rękojmi konsument w ciągu pierwszego roku od zakupu ma prawo zwrócić towar jako niesprawny na zasadach rękojmi. To wy jako twórca musicie udowodnić w ciągu 14 dni od daty zgłoszenia, że towar jest uszkodzony z winy posiadacza. W przypadku opóźnienia w odpowiedzi reklamacja jest uznana z mocy prawa. Dodatkowo konsument ma jeszcze 1 rok (łącznie 2 lata) na zgłoszenie usterki ale w tym przypadku sam musi udowodnić, że była to wada fabryczna. Czwarta to możliwość spowodowania szkód z tytułu wadliwego działania produktu Jako twórca (i wytwórca właściwie) ponosicie wszelką odpowiedzialność prawną z tytułu szkód spowodowanych przez produkt w przypadku jego prawidłowego użytkowania. Czyli jeśli produkt się zapali i spowoduje pożar, możecie być pociągnięci do odpowiedzialności, nawet karnej. Jeśli w jakiś sposób zakłóci pracę innego urządzenia, np. rozrusznika serca, tak samo. Jeśli z powodu jego nieprawidłowego działania żona odkryje, że ktoś ma romans i się z nim rozwiedzie, też, tyle że to akurat odpowiedniość cywilna, a tutaj możemy pozwać kogo chcemy, za co chcemy 😉 Dlatego bardzo polecam wszystkim stosowania zasilaczy zewnętrznych jeśli potrzebujemy niskiego zasilania w naszych projektach. Bardzo ułatwia to zdjęcie z siebie odpowiedzialności w przypadku przepięć, pożarów z nimi związanych itp. Po prostu lepiej nie bawić się w wysokie napięcia, gdy się jest amatorem. Piąta to możliwość problemów związanych z oznakowaniem CE Najczęściej pojawiająca się w przypadku problemów z czwartej możliwości. Ogólnie najmniej prawdopodobny scenariusz. Chyba, że robimy zabawki dla dzieci, wtedy możemy spodziewać się kontroli. Podsumowanie Mam nadzieję, że udało mi się nakreślić ogólne ramy prawne dotyczące sprzedaży produktów DIY, podstawowych pojęć i ryzyka związanego z takim sposobem zarabiania. Bardzo proszę nie traktujcie tego tekstu jako wykładni, ponieważ opierałem się w nim na pewnych założeniach, które mogą całkowicie nie odnosić się do waszej sytuacji. Celowo upraszczałem zagadnienia, aby były jak najprostsze w zrozumieniu, jak to przy upraszczaniu, pomijałem również niektóre aspekty przepisów. Prawo jest dosyć skomplikowane, dlatego każdy prawnik uwielbia powiedzenie „co do zasady”.
- 7 odpowiedzi
-
- 4
-
-
- konkurs2021
- prawo
-
(i 3 więcej)
Tagi:
-
Niskobudżetowy zegar Nixie Każdy elektronik chyba kiedyś widział urządzenie oparte o lampy Nixie. Z racji ich uroku, niepowtarzalnego wyglądu i chęci zrobienia czegoś "wow", i ja taki zbudowałem. Działanie lamp Nixie: Dla tych, którzy nie wiedzą co lampy Nixie, już służę pomocą: lampy Nixie zostały wynalezione w latach 60. ubiegłego wieku. Pierwsza firma która je produkowała tak je nazwała i się ta nazwa przyjęła. Były też to pierwsze wyświetlacze cyfrowe. Ich działanie polega na jonizowaniu się gazu (neonu z domieszkami) wokół katody z przyłożonym napięciem ok. 180V. Zjonizowany gaz powoduje świecenie się, i układa się wokół katody (w tym przypadku cyfry). Na żywo wygląda to bezcennie, lecz należy pamiętać że to wysokie napięcie. Budowa: Ale może najpierw coś o mnie: nazywam się Leon, mam 14 lat, chodzę do 8 klasy podstawówki i interesuję się elektroniką, informatyką, itp. Mam też drukarkę 3D - nie wykorzystałem jej w konstrukcji z racji jej awarii (czekam jeszcze na nowego rampsa 😉 ). Przechodząc już do zegara: z racji mojego stosunkowo młodego wieku, nie mam zbyt dużo pieniędzy na projekty więc chciałem na całość przeznaczyć ok. 100 zł zebranych od dziadków. Dlatego miało wyjść tanio i dobrze. Założenia z góry były jasne: multiplexowanie 1 sterownikiem, użycie 4 lamp, oraz materiałów z odzysku. Zacząłem od zrobienia przetwornicy step-up na 200V prądu stałego. Skorzystałem z tego schematu, który się sprawdził dość dobrze. Potem przyszedł mi sterownik 74141, oraz neonówka - mogłem już sprawdzić czy wszystko działa, i działało za pierwszym razem (możecie zacząć budować bunkier na apokalipsę). Następnie przeszedłem do zrobienia płytki głównej - goła atmega 328 z kwarcem 16mhz, ze sterownikiem na jednej płytce. Od razu zamontowałem moduł czasu RTC DS1302 (najtańszy) który lekko zmodyfikowałem - piny dałem z drugiej strony, a na górze zamontowałem koszyczek na dużą baterię od biosa. Do tego doszedł stabilizator 7805 i sterownik katod lamp. Całość wyszła całkiem schludnie - jestem z tego zadowolony. Na końcu doszły mi tranzystory do sterowania anodami lamp. Zastosowałem tu klucz z NPN MPSA42 oraz PNP MPSA92. I tutaj, podczas testów zrobiłem błąd - z racji małego protoboarda zrobiło się zwarcie, przez które zjarałem mój pierwszy rezystor w życiu (!), a tranzystory jakoś działały dalej. Po naprawieniu usterki 1 lampa działała - mogłem wyświetlić wszystkie cyfry od 0 do 9. Mogłem też zmierzyć, że napięcie zapłonu wynosi 180V i obniża się do 140V napięcia pracy. Teraz zostało mi zrobić podstawki - model pod lampy IN-12 do druku mogę udostępnić, ale z racji uszkodzenia płyty musiałem je zrobić sam. Wziąłem więc starą pokrywkę od farby, wyciąłem prostokąty, markerem zaznaczyłem miejsca na piny wdg. datasheetu, mini wiertarką wywierciłem otwory. Musiałem przygotować też same piny do podstawek - użyłem tu rozwierconych pinów z podstawek precyzyjnych, a następnie młotkiem wbiłem we wcześniej przygotowaną podstawę. Elektronika była gotowa, więc zacząłem programować. Po chwili dodałem mikrofon elektretowy, aby po klaśnięciu zegar się sam wyłączył, i od razu przeświecił wszystkie cyfry w celu uniknięcia efektu zatrucia katod. Zauważyłem też, że cewka w przetwornicy się dość mocno grzeje - dałem więc kapkę pasty termoprzewodzącej z domieszkami złota i przykleiłem radiator. Została mi już najgorsza część - obudowa. Normalnie bym takową wydrukował, ale że nie mogłem, wyciąłem ze sklejki listewki które pomalowałem szprejem na czarny mat. Wywierciłem otwory, poskręcałem śrubami M2,5. Wyszło źle, krzywo, niedokładnie - po prostu do d.... , pewnie dlatego że to była moja pierwsza obudowa ze sklejki, i z pewnością wydrukuję później obudowę (post zaktualizuję). Z daleka, jak patrzymy na zegar, wygląda on ciekawie - czarna bryła, lampy rosyjskiej produkcji i to klaśnięcie - wszystko to sprawia, że zegar dodaje niepowtarzalny klimat do pokoju. Zegar robiłem cały tydzień szkolny. Działanie zegara: Zegar wyposażyłem w klawiaturę 3 przycisków - "+", "-", oraz "prog". Przytrzymując przycisk prog możemy nastawić zegar, klikając odpowiednio + i -, oraz kliknąć prog ponownie by nastawić kolejną cyfrę. Podczas zwykłego działania, kliknięcie + spowoduje wyświetlanie się minut oraz sekund, a - będzie wyświetlał godziny i minuty. Dodatkowo, jeżeli podczas uruchamiania zegara przytrzymamy przycisk +, zostanie wywołany efekt "slot machine". Całość programowałem w środowisku Arduino, za pomocą programatora USBASP. Lista zakupów: 4x lampy IN-12 - ok. 10zł/sztuka, 50zł całość (+przesyłka) konwerter step-up - jakieś 20zł za całość sterownik, neonówka i przesyłka - 20zł tranzystory z drobiazgami - 20zł ----------------------------------------------------------------------- Za całość zapłaciłem jakieś 110zł. Resztę elementów już miałem. Dość nieźle, kiedy najtańsze zegary były chyba za ok. 300zł. Cudem jest fakt, że przeżyłem - akurat teraz mnie nic nie kopnęło, ale wcześniej doświadczyłem mocy napięcia gniazdkowego (długa historia). Sam zegar przyniósł mi dużo pochwał, szacunek u kolegów, 6 z fizyki na semestr - to tak jak te cudowne aplikacje na androida 😉 Od siebie jeszcze powiem, że na pewno zegar rozbuduję i wzbogacę o nowe funkcje. Co dalej? Mam w planach kalkulator domowej roboty, z kolegą zbudowałem już działający prototyp urządzenia podlewającego rzeżuchę. Oczywiście zachęcam do budowy zegara, ale należy pamiętać o wysokim napięciu. Pozdrawiam, Leoneq :3
- 5 odpowiedzi
-
- 6
-
-
- elektronika
- arduino
-
(i 3 więcej)
Tagi:
-
Witam! Z racji tego że są Święta postanowiłem stworzyć elektroniczną choinkę. Nie jest to projekt lecz ozdoba która jak dla mnie wyszła bardzo fajnie. Zacząłem od zaprojektowania układu w programie EasyEDA, następnie w polu do tworzenie ścieżek narysowałem kształt choinki i według tego obramowania rozmieszczałem elementy. Następnie płytkę wyeksportowałem do pliku "gerber" i wrzuciłem do programu FlatCAM który przekonwertował ścieżki, otwory oraz obramowanie na ruchy frezarki CNC. Niestety nie mam filmiku z procesu obróbki płytki PCB. Tak wygląda gotowa płytka do sprawdzenia i przylutowania układów. Gdy sprawdziłem wszystkie ścieżki czy nie ma gdzieś jakiegoś zwarcia przystąpiłem do lutowania elementów. I sprawdzenia działania. Na samym końcu wydrukowałem podstawkę do choinki. Tutaj filmik z działania ozdoby. Na odwrocie płytki umieściłem potencjometr którym można zmieniać czas przełączania diod LED.
- 5 odpowiedzi
-
- 15
-
-
Cześć. Chciałbym się z Wami podzielić projektem, który jak pewnie większość takich projektów – wziął się z pewnej potrzeby. Otóż mój znajomy, który miesza w domku jednorodzinnym ma garaż. Garaż jest otwierany elektrycznie za pomocą m.in. pilota zdalnego sterowania. Często zdarzało się, że w nocy brama garażowa była otwarta bo np. ktoś z domowników miał pilot do garażu w tylnej kieszeni spodni i… po prostu usiadł. Poprosił mnie o pomoc. Chciał po prostu wiedzieć kiedy brama jest otwarta a kiedy zamknięta. Ustaliliśmy, że do sygnalizacji wystarczy prosta dioda LED. Urządzenie pokazujące stan otwarcia bramy miało być w dwóch miejscach w domu: w sypialni i w salonie obok telewizora. Oczywiście nie ma mowy o ciągnięciu jakichś kabli po nowo wybudowanym domu, więc w grę wchodzi tylko komunikacja bezprzewodowa. Zasada działania miała być prosta: Kiedy brama garażowa jest otwarta na odbiornikach widać świecącą diodę w kolorze czerwonym. Gdy jest zamknięta – w zielonym. Układ składał się więc z nadajnika, czyli modułu z kontraktonem, który „wykrywał” czy drzwi są zamknięte, oraz dwóch modułów z diodą RGB, która – w zależności od położenia drzwi – świeciła w odpowiednim kolorze. Nadajnik zbudowany jest z mikrokontrolera – klona ATMEGi, tzn. LGT8F328D (miałem po prostu kilka sztuk), czujnika zamknięcia bramy – czyli kontraktonu i nadajnika radiowego. Wybór mikrokontrolera podyktowany był tym, że w zasadzie sam program jest banalnie prosty i jakoś specjalnie nie wymagający sprzętowo, ale potrzebowałem mikrokontrolera z interfejsem SPI (o czym piszę poniżej) i… taki mikrokontroler po prostu miałem na stanie. Na początku przeprowadziłem testy z prostym nadajnikiem 433MHz, niestety zasięg nie był imponujący i po prostu nie sprawdził się. Nadajnik był zasilany napięciem 5V, mogłem próbować oczywiście zasilić go większym napięciem (12V), ale wtedy układ nieco by się skomplikował… Postawiłem więc na moduł nRF24l01 (stąd potrzeba SPI). Całość zasilana przez zasilacz zewnętrzny 5V. nRF24l01 pracuje na napięciu 3,3V, więc oczywiście w module nie zabrakło LDO, dokładnie AMS1117 3.3V. Mikrokontroler oczywiście też pracuje na napięciu 3.3V, częstotliwość taktowania to 8MHz. Odbiorniki działają na tym samym mikrokontrolerze, również wyposażone są oczywiście w moduł radiowy nRF24L01, oraz diodę LED RGB. Zasada działania układu jest prosta. Nadajnik sprawdza wejście cyfrowe z kontraktonem. Jeżeli jest „1” – tzn. drzwi są zamknięte – wysyła komunikat o treści „ON” co 1 sekundę. Jeżeli są otwarte – wysyła „OFF” co jedną sekundę. Odbiorniki natomiast czekają na komunikat. Jeżeli dostają „ON” - dioda świeci na zielono, jeżeli „OFF” – na czerwono. Jeżeli w ciągu 5 sekund nie dostaną żadnego komunikatu – dioda świeci na niebiesko. W ten oto sposób wiadomo, że nadajnik działa (lub też nie). Prototyp na pro mini służący do testów: Jeżeli chodzi o montaż w garażu, to na bramie garażowej przykleiłem magnes, na naprzeciwko magnesu umieściłem kontrakton, czyli urządzenie mechaniczne, które w polu magnetycznym magnesu zwiera dwa przewody ze sobą. Jako obudowa nadajnika i odbiorników służy zwykła puszka elektryczna. Dla układu nadajnika i odbiorników zaprojektowałem płytkę PCB (tę samą dla nadajnika i odbiorników) i zamówiłem w jednej z chińskich firm zajmujących się produkcją płytek PCB. Po otrzymaniu płytek przylutowałem niezbędne komponenty, podłączyłem i… działa już parę miesięcy. Nadajnik: Odbiornik: Gotowy projekt: Kilka uwag do projektu płytki Schemat: Jest tam kilka elementów nadmiarowych, nie używanych, ale zaprojektowanych „na zapas”. Po pierwsze jest miejsce na rezonator kwarcowy (wraz z odpowiednimi kondensatorami)– nie przylutowany. Mikrokontroler korzysta z wbudowanego oscylatora. Działa stabilnie, więc po co przepłacać Można także zauważyć, że i nadajnik i odbiornik mają wlutowaną diodę LED RGB. Bezpośrednio na nadajniku też widać czy brama jest otwarta, czy zamknięta. W projekcie na wyjściach mikrokontrolera PD5, PD6 i PB1 są tranzystory BC639 – to w wypadku, gdyby okazało się, że dioda RGB LED jest zbyt ciemna – wtedy można podłączyć np. taką diodę 3W, wiadomo – bardziej wymagająca prądowo. Jest jeszcze wyprowadzenie kilku dodatkowych wyjść mikrokontrolera, bo… było miejsce, a płytka może się jeszcze przydać do czegoś innego. Na płytce PCB widać, że nawet przycisku RESET nie przylutowałem… ale jest na niego miejsce. Zamiast LGT8F328D można przylutować na płytkę ATMEGA328P (zwierając odpowiednie wyprowadzone piny mikrokontrolera) lub ATMEGA328PB – tutaj akurat zgodne elektrycznie z LGT. Kodu źródłowego nie publikuję, bo to zaledwie kilka linijek. Kod pisany w środowisku Arduino. Projekt zdecydowanie bardziej hardware’owy. Prosty i skuteczny.
- 3 odpowiedzi
-
- 6
-
-
- LGT8F328D
- elektronika
-
(i 2 więcej)
Tagi:
-
ATmega328 Czujnik natężenia gazów na bazie czujnika MQ-2
StrongVoltage opublikował temat w Projekty - DIY
Słowem wstępu, projekt ten został wykonany w czasie pandemicznego wymogu pozostania w domu, kiedy to zbliżał się koniec semestru na mojej uczelni. Był to mój projekt zaliczeniowy z przedmiotu o wdzięcznej nazwie: "Układy mikroprocesorowe". Prowadzący udostępnił listę urządzeń, z której każdy może wybrać jedno. Po dokonaniu wyboru należało wykonać je w warunkach domowych do końca wówczas trwającego miesiąca. Jako że był to dość niewygodny moment do wychodzenia po części do sklepu, a na zamówienie ich i czekanie nie chciałem marnować czasu, zrobiłem szybki przegląd swojego warsztatu. Wśród przewalających się podzespołów i elementów udało mi się dostrzec czujnik gazów MQ-2, który kiedyś kupiłem w promocji wraz z czujnikami alkoholu MQ-3. Jako że na liście widniał czujnik gazów, niewiele myśląc zebrałem to co miałem i przystąpiłem do pracy. Efektem tej pracy jest właśnie... DETEKTOR GAZÓW W POWIETRZU ATMOSFERYCZNYM OPARTY NA CZUJNIKU MQ-2 Detektor gazów przystosowano do pomiaru stężeń czterech gazów: LPG, dymu, CO oraz H2. Urządzenie zaprojektowano tak, by miało kompaktową obudowę i prosty, intuicyjny interfejs użytkownika. Wszystkie elementy tego interfejsu opisano na rysunku 1. Gaz którego odczyt ma zostać dokonany, zostaje wybrany za pomocą pokrętła głównego. Zgodnie z jego nastawą detektor będzie przeliczał odczyty czujnika pod wybrany gaz i wyświetli wynik na skali ledowej, znajdującej się po lewej stronie urządzenia. Wartości zmierzonych stężeń przelicza się na jednostkę PPM (Part Per Milion). W zależności od wysokości stężenia, skala LED pokazuje nie tylko zakres, ale także za pomocą odpowiedniej barwy pokazuje czy dany gaz znajduje się w strefie małego, umiarkowanego czy też dużego niebezpieczeństwa. rysunek 1. opis elementów detektora Urządzenie nie jest skomplikowane zarówno w swojej budowie, ale także w działaniu. Cały proces zachodzący pod obudową wykonaną z PLA opisuje schemat algorytmu na rysunku 2. rysunek 2. schemat algorytmu detektora Czytając schemat elektryczny umieszczony na rysunku 3., od lewej strony widzimy źródło zasilania, którym są akumulatory li-ion o napięciu 4.2 [V] każdy. Układ może być zamiast z akumulatorów zasilany z zasilacza o napięciu od 9 do 12 [V], o wydajności minimum 1.5 [A]. Po załączeniu układu przyciskiem “start” zasilanie prowadzone jest na dwa stabilizatory liniowe LM7805. Jeden z nich zasila mikrokontroler oraz interfejs urządzenia, a drugi odpowiada za zasilenie czujnika MQ-2. Zastosowanie dwóch stabilizatorów wiąże się z zapotrzebowaniem czujnika na prąd. Aby nie wprowadzać zakłóceń w działaniu mikrokontrolera, czujnik zasilany jest osobno a sam stabilizator jest chłodzony dodatkowo radiatorem. Sercem urządzenia jest mikrokontroler Atmega328PU. Zastosowano go ze względu na odpowiednio dużą liczbę dostępnych portów oraz wbudowany przetwornik analogowo- cyfrowy. Mikrokontroler przyjmuje sygnał analogowy z czujnika gazów na pin A1, analizuje go, sprawdza nastawę przełącznika “S1” po przez weryfikację stanów portów A2-A5, a na koniec wyświetla wynik za pomocą diod LED podpiętych pod porty PD0-PD7 oraz PB0. Oprócz tego, układ podłączony jest do 10-cio pinowego gniazda CANDA, które umożliwia programowanie mikrokontrolera bez konieczności rozbierania urządzenia i wyjmowania Atmegi328PU. rysunek 3. schemat elektryczny detektora gazów Płytę główną detektora zaprojektowano przy pomocy programu Cadsoft Eagle. Wykonany w nim wzór został przeniesiony na miedziany laminat za pomocą metody termicznej, a następnie wytrawiony nadsiarczanem sodowym. rysunek 4. Po lewej projekt PCB, po prawej zmontowana płytka Obudowa została zaprojektowana w programie Fusion360. Rzut na model złożony w programie cadowskim ukazano na rysunku 5. Na podstawie utworzonego modelu wykonano wydruki 3D, które po oszlifowaniu oraz wyczyszczeniu skompletowały projekt i umożliwiły zabudowę elektroniki w kompaktowej obudowie. rysunek 5. model obudowy w Fusion360 Jednym z najważniejszych etapów konstruowania detektora było wyprowadzenie liniowej zależności na stężenie gazu. Nota katalogowa czujnika przedstawia charakterystykę PPM w skali logarytmicznej. Wyprowadzenie wzoru było konieczne aby umożliwić mikrokontrolerowi wykonywanie obliczeń: a) wyprowadzenie zależności ogólnej: a = (Y2 – Y1) : (X2 – X1) Y - Y1 = a*(X- X1) X= ((Y – Y1) : a) + X1 logX= ((log(Y – Y1)) : a) + X1 X = 10^ (((log(Y – Y1)) : a) + X1) gdzie: X= PPM, Y= Rs: Ro PPM = 10^ (((log((Rs: Ro) – Y1)) : a) + X1) b) przykład aplikacji wzoru dla odczytu stężenia gazu LPG w powietrzu: X1 = 200, X2 = 10000, Y2 = 1,6, Y1 = 0,26 X1 = log200 = 2,3 X2 = log10000 = 4 Y1 = log1,6 = 0,2 Y2 = log0,26 = -0,58 PPM = 10^ (((log((Rs: Ro) – 0,2)) : (-0,58)) + 2,3) rysunek 6. po lewej charakterystyka PPM= f(Rs/Ro) z datasheet MQ-2, po prawej charakterystyka PPM=f(Uo) wykonana na bazie obliczeń w programie Graph 4.4.2 Film z prezentacji działania urządzenia: Na koniec udostępniam jeszcze kod napisany w środowisku Atmel Studio: #define F_CPU 16000000 #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> int main(void) { //Deklaracja portów wyjściowych DDRD = (1 << PORTD0) | (1 << PORTD1) | (1 << PORTD2) | (1 << PORTD3) | (1 << PORTD4) | (1 << PORTD5) | (1 << PORTD6) | (1 << PORTD7); DDRB = (1 << PORTB0) | (1 << PORTB1); //Deklaracja portów wejściowych DDRC = 0x00; //Załączenie rezystorów podciągających do portów A2- A5 PORTC = 0x3C; //Skala ledowa zaczyna się ładować, aby po dotarciu do wartości maksymalnej uruchamić krótki, podwójny brzęk buzzera informujący o rozpoczęciu kalibracji czujnika PORTB |= (1<<PORTB0); _delay_ms(300); PORTD |= (1<<PORTD7); _delay_ms(300); PORTD |= (1<<PORTD6); _delay_ms(300); PORTD |= (1<<PORTD5); _delay_ms(300); PORTD |= (1<<PORTD4); _delay_ms(300); PORTD |= (1<<PORTD3); _delay_ms(300); PORTD |= (1<<PORTD2); _delay_ms(300); PORTD |= (1<<PORTD1); _delay_ms(300); PORTD |= (1<<PORTD0); _delay_ms(300); PORTB |= (1<<PORTB1); _delay_ms(300); PORTB &= ~(1<<PORTB1); _delay_ms(300); PORTB |= (1<<PORTB1); _delay_ms(300); PORTB &= ~(1<<PORTB1); _delay_ms(100); //Ustawienia rejestrów do obsługi przetwornika analogowo-cyfrowego: ADMUX = (1 << REFS0) | ( 1 << MUX0 ); ADCSRA = (1 << ADEN) | (1 << ADIE) | (1 << ADPS0) | (1 << ADPS1) | (1 << ADPS2); DIDR0 = (1 << ADC0D); ADCSRA |= (1 << ADSC); TCCR0B = (1 << CS00) | (1 << CS02); //Deklaracja mierzonej wartości napięcia: double pomiar_V; //Parametry krzywej gazu LPG: double LPG_X1 = 2.3; double LPG_Y1 = 0.2; double LPG_a = 0.46; //Parametry krzywej dymu: double SMOKE_X1 = 2.3; double SMOKE_Y1 = 0.56; double SMOKE_a = 0.5; //Parametry krzywej tlenku węgla: double CO_X1 = 2.3; double CO_Y1 = 0.7; double CO_a = 0.31; //Parametry krzywej wodoru: double H2_X1 = 2.3; double H2_Y1 = 0.32; double H2_a = 0.45; //Parametry kalibracji czujnika: double ilosc_probek_kalibracyjnych = 60; double czas_probkowania_kalibracyjnego = 500; double rezystancja_Robc = 5.6; double wsp_czystosci_powietrza = 9.83; //Parametry próbkowania napięcia: double ilosc_probek_pomiarowych = 60; double czas_probkowania_pomiarowego = 5; double Rs_do_Ro = 0; //Zmienna zliczania: int i = 0; //Zmienna zliczająca- suma: int suma = 0; //Deklaracja Ro: double Ro = 0; //***********************kalibracja czujnika**************************: //W pętli "for" odczytywane jest napięcie z czujnika gazu. Czujnik jest //wystawiony na czyste powietrze. Kalibracja polega na wyznaczeniu rezy- //stanchi Ro dla czystego powietrza. Po kazdej pętli odczytane napięcie //jest sumowane. Suma tych napięć po zakończeniu pętli jest dzielona //przez liczbę próbek, otrzymując średnią wartość rezystancji. Wartość ta //podzielona przez współczynnik czystego powietrza (9.83) daje rezysta- //ncje Ro, na której będą oparte następne obliczenia. Obliczenia te wy- //konywane są raz. for (i=0;i<ilosc_probek_kalibracyjnych;i++) { pomiar_V = ADC; ADCSRA |= (1 << ADSC); Ro = ((1024-pomiar_V)/pomiar_V)*rezystancja_Robc; _delay_ms(czas_probkowania_kalibracyjnego); suma = suma+Ro; } Ro = suma/ilosc_probek_kalibracyjnych; Ro = Ro/wsp_czystosci_powietrza; //Opadanie wskazania ledowego i podwójny sygnał z buzzera informuje użytkownika o zakończeniu klibracji urządzenia PORTD &= ~(1<<PORTD0); _delay_ms(300); PORTD &= ~(1<<PORTD1); _delay_ms(300); PORTD &= ~(1<<PORTD2); _delay_ms(300); PORTD &= ~(1<<PORTD3); _delay_ms(300); PORTD &= ~(1<<PORTD4); _delay_ms(300); PORTD &= ~(1<<PORTD5); _delay_ms(300); PORTD &= ~(1<<PORTD6); _delay_ms(300); PORTD &= ~(1<<PORTD7); _delay_ms(300); PORTB &= ~(1<<PORTB0); _delay_ms(300); PORTB |= (1<<PORTB1); _delay_ms(300); PORTB &= ~(1<<PORTB1); _delay_ms(300); PORTB |= (1<<PORTB1); _delay_ms(300); PORTB &= ~(1<<PORTB1); _delay_ms(100); while(1) { //Zmienna zliczania: int j = 0; //Zmienna zliczająca- razem: int razem = 0; //Deklaracja liczonej rezystancji czujnika: double Rs = 0; //************************pomiar z czujnika************************: //W pętli "for" wyliczana jest wartość rezystancji na podstawie na- //pięcia z czujnika gazu. Obliczane rezystancje są sumowane. Po za- //kończeniu pętli, suma rezystancji jest dzielona przez liczbę pró- //bek i otrzymujemy przybliżony odczyt rezystancji czujnika. for (j=0;j<ilosc_probek_pomiarowych;j++) { pomiar_V = ADC; ADCSRA |= (1 << ADSC); Rs = ((1024-pomiar_V)/pomiar_V)*rezystancja_Robc; razem = razem + Rs; _delay_ms(czas_probkowania_pomiarowego); } Rs = razem/ilosc_probek_pomiarowych; //Znając Rs oraz Ro obliczamy ich stosunek i podstawiamy do wzoru //na zawartość cząstek LPG w powietrzu. Rs_do_Ro = Rs/Ro; _delay_ms(10); //Zawartość PPM gazu LPG w powietrzu: if (!(PINC & 0b00100000)) { double PPM = 0; PPM = pow(10,((log(Rs_do_Ro - LPG_Y1)/((-1)*LPG_a)) + LPG_X1)); _delay_ms(10); if ((PPM >= 0)&&(PPM <= 500)) { PORTB = 0b00000001; PORTD = 0b00000000; } if ((PPM >= 500)&&(PPM <= 1000)) { PORTB = 0b00000001; PORTD = 0b10000000; } if ((PPM >= 1000)&&(PPM <=2000)) { PORTB = 0b00000001; PORTD = 0b11000000; } if ((PPM >= 2000)&&(PPM <=5000)) { PORTB = 0b00000001; PORTD = 0b11100000; } if ((PPM >= 5000)&&(PPM <=7500)) { PORTB = 0b00000001; PORTD = 0b11110000; } if ((PPM >= 7500)&&(PPM <=10000)) { PORTB = 0b00000001; PORTD = 0b11111000; } if ((PPM >= 10000)&&(PPM <=15000)) { PORTB = 0b00000001; PORTD = 0b11111100; } if ((PPM >= 15000)&&(PPM <=20000)) { PORTB = 0b00000001; PORTD = 0b11111110; } if (PPM >= 20000) { PORTB = 0b00000001; PORTD = 0b11111111; } } //Zawartość PPM dymu w powietrzu: if (!(PINC & 0b00010000)) { double PPM = 0; PPM = pow(10,((log(Rs_do_Ro - SMOKE_Y1)/((-1)*SMOKE_a)) + SMOKE_X1)); _delay_ms(10); if ((PPM >= 0)&&(PPM <= 500)) { PORTB = 0b00000001; PORTD = 0b00000000; } if ((PPM >= 500)&&(PPM <= 1000)) { PORTB = 0b00000001; PORTD = 0b10000000; } if ((PPM >= 1000)&&(PPM <=2000)) { PORTB = 0b00000001; PORTD = 0b11000000; } if ((PPM >= 2000)&&(PPM <=5000)) { PORTB = 0b00000001; PORTD = 0b11100000; } if ((PPM >= 5000)&&(PPM <=7500)) { PORTB = 0b00000001; PORTD = 0b11110000; } if ((PPM >= 7500)&&(PPM <=10000)) { PORTB = 0b00000001; PORTD = 0b11111000; } if ((PPM >= 10000)&&(PPM <=15000)) { PORTB = 0b00000001; PORTD = 0b11111100; } if ((PPM >= 15000)&&(PPM <=20000)) { PORTB = 0b00000001; PORTD = 0b11111110; } if (PPM >= 20000) { PORTB = 0b00000001; PORTD = 0b11111111; } } //Zawartość PPM CO w powietrzu: if (!(PINC & 0b00001000)) { double PPM = 0; PPM = pow(10,((log(Rs_do_Ro - CO_Y1)/((-1)*CO_a)) + CO_X1)); _delay_ms(10); if ((PPM >= 0)&&(PPM <= 500)) { PORTB = 0b00000001; PORTD = 0b00000000; } if ((PPM >= 500)&&(PPM <= 1000)) { PORTB = 0b00000001; PORTD = 0b10000000; } if ((PPM >= 1000)&&(PPM <=2000)) { PORTB = 0b00000001; PORTD = 0b11000000; } if ((PPM >= 2000)&&(PPM <=5000)) { PORTB = 0b00000001; PORTD = 0b11100000; } if ((PPM >= 5000)&&(PPM <=7500)) { PORTB = 0b00000001; PORTD = 0b11110000; } if ((PPM >= 7500)&&(PPM <=10000)) { PORTB = 0b00000001; PORTD = 0b11111000; } if ((PPM >= 10000)&&(PPM <=15000)) { PORTB = 0b00000001; PORTD = 0b11111100; } if ((PPM >= 15000)&&(PPM <=20000)) { PORTB = 0b00000001; PORTD = 0b11111110; } if (PPM >= 20000) { PORTB = 0b00000001; PORTD = 0b11111111; } } //Zawartość PPM H2 w powietrzu: if (!(PINC & 0b00100000)) { double PPM = 0; PPM = pow(10,((log(Rs_do_Ro - H2_Y1)/((-1)*H2_a)) + H2_X1)); _delay_ms(10); if ((PPM >= 0)&&(PPM <= 500)) { PORTB = 0b00000001; PORTD = 0b00000000; } if ((PPM >= 500)&&(PPM <= 1000)) { PORTB = 0b00000001; PORTD = 0b10000000; } if ((PPM >= 1000)&&(PPM <=2000)) { PORTB = 0b00000001; PORTD = 0b11000000; } if ((PPM >= 2000)&&(PPM <=5000)) { PORTB = 0b00000001; PORTD = 0b11100000; } if ((PPM >= 5000)&&(PPM <=7500)) { PORTB = 0b00000001; PORTD = 0b11110000; } if ((PPM >= 7500)&&(PPM <=10000)) { PORTB = 0b00000001; PORTD = 0b11111000; } if ((PPM >= 10000)&&(PPM <=15000)) { PORTB = 0b00000001; PORTD = 0b11111100; } if ((PPM >= 15000)&&(PPM <=20000)) { PORTB = 0b00000001; PORTD = 0b11111110; } if (PPM >= 20000) { PORTB = 0b00000001; PORTD = 0b11111111; } } //Po dotarciu do końca komendy, pętla rozpoczyna się od począ- //tku mierząc jeszcze raz napięcie na czujniku. _delay_ms(100); } return(0); } Jeżeli dotrwaliście aż do tego momentu, to bardzo dziękuje wam za uwagę. Mam nadzieję, że ten projekt będzie pomocny dla każdej osoby rozpoczynającej swoje przygody z czujnikiem gazu MQ-2. Osobiście jestem zadowolony z rezultatu jaki osiągnąłem tym projektem. Mam jednak do niego sporo zastrzeżeń i kiedy będę miał możliwość, planuję do niego wrócić wprowadzając następujące zmiany: Skala ledowa zostanie zastąpiona wyświetlaczem 2x16 aby widzieć dokładny odczyt PPM wybranego gazu. Urządzenie zostanie wyposażone we własne źródło zasilania. Atmega328 będzie zastąpiona przez mikrokontroler atmega8. Obudowa zostanie lepiej uszczelniona. Czujnik zostanie wyprowadzony na długim przewodzie jako sonda, którą można umieścić w dowolnym miejscu. W programie napisane zostanie proste menu, dzięki czemu będzie można wygodnie wybrać gaz, przeprowadzić kalibrację (aby wyeliminować czekanie po uruchomieniu i pamiętać stałą wartość czujnika) oraz opcjonalnie zmienić współczynnik czystego powietrza. Przydatny link: Wyjaśnienie działania czujnika MQ-2 https://sandboxelectronics.com/?p=165- 17 odpowiedzi
-
- 10
-
-
- Elektronika
- Druk 3d
-
(i 2 więcej)
Tagi:
-
Raspberry Pi i pomiar fotorezystora bez ADC - wideoporadnik
uC_Academy opublikował temat w Raspberry Pi
Witam. Chciałem pokazać wam patent, jak sobie poradzić z pomiarem wskazań fotorezystora na Raspberry Pi, gdy nie mamy pod ręką żadnego przetwornika ADC. Ten sposób jest wysoce zależny od obciążenia naszego RPi, ale do prostych aplikacji wykrywania, czy światło jest zgaszone czy zapalone powinno wystarczyć. Ten sposób działa jedynie z sensorami o charakterze rezystancyjnym i nie nadaje się do sensorów z czysto analogowymi wyjściami. Mimo wszystko uważam, że warto go znać. Zapraszam do oglądania 🙂-
- Elektronika
- Raspberry Pi
-
(i 1 więcej)
Tagi:
-
Cześć, przedstawiam projekt inspirowany życiem 🙂 Często wietrzymy w domu i nikt nie pamięta żeby zamknąć okno balkonowe. Akurat w ciągu dnia siedzę pod balkonem i zawsze mi zimno. Na zmianę nawyków nie liczę 🙂 Wpadłem za to na pomysł żeby zrobić z tego co mam pod ręką małe urządzenie na okno, które będzie przypominać że czas skończyć wietrzenie. Elektronika Chciałem zrobić coś małego, co: będzie wisieć na oknie, da się zasilać z baterii, będzie pokazywać ile jeszcze zostało, będzie wkurzające kiedy zacznie się przypominanie. Wolałem skorzystać z płytki, bo wolę programować urządzenia przez USB. Z małych płytek miałem tylko klona Digispark Attiny 85 i takiego użyłem. Buzzer był oczywistym wyborem do sygnalizacji, miałem ten z zestawu do techniki cyfrowej o najgłośniejszej częstotliwości ~4 kHz. Kontrakron na okno wybrałem po prostu najmniejszy, dodałem do niego kondensator 100nF i rezystor żeby przy zamkniętym oknie schodziło mniej energii. Niewiele pomogło, ale cóż.. Pojawił się problem z sygnalizacją. Płytka Attiny85 ma tylko 6 pinów, dodatkowo jeden jest używany jako reset i nie chciałem go używać. Buzzer plus kontaktron zabierają dwa piny i zostaję z trzema. To trochę mało do pokazywania postępu - jeśli wietrzenie ma trwać 30 minut to ciężko pokazać ile już minęło. Wymyśliłem żeby skorzystać z układu CD4017B, który liczy do dziesięciu i aktywuje po jednym pinie w zależności od wartości. Podłączyłem do niego wykres LEDowy i już mam wyświetlacz, który aktywuje wybrany pasek. Udało się zmieścić w trzech pinach (clock, reset i odłączane zasilanie z attiny85). To ma też taki plus, że wszystkie diody obsługuje jeden rezystor, a jak się okaże później i tak zabrakło miejsca 🙂 Na attiny85 piny P3 i P4 są też używane jako szyna danych USB i nie mogłem programować płytki kiedy były podłączone. Dodałem do nich włącznik (dokładnie ten - jest fajny bo można nim włączać dwie rzeczy po obu stronach. Oprócz tego włącznik do zasilania i finalnie skończyłem z takim schematem: Tak wyglądał pierwszy prototyp: 10 LEDów nie mieści się na płytce, więc zrobiłem taką małą macierz z czterech czerwonych diod. Dodałem też dwa przyciski do scalaka żeby sprawdzić "na sucho" czy wszystko dobrze podłączyłem. Oprogramowanie Do CD4017B napisałem prostą klasę, która w gruncie rzeczy po prostu wysyła impulsy góra-dół. Wyświetlacz można wyłączać odłączając zasilanie na jednym pinie - uznałem, że skoro świeci się tylko jedna dioda na raz to będzie działać. I działa. Do tego dodałem prostą klasę korzystającą z arduino-timer, która podnosi pasek o jeden co 10% oczekiwania. Buzzer jest bardzo standardowy - również skorzystałem z biblioteki arduino-timer, która włącza dźwięk funkcją tone co określony czas. Kontaktron jest obsługiwany przerwaniem sprzętowym (Digispark ma jedno). W oczekiwaniu na otwarcie okna płytka miała przechodzić w stan uśpienia. Niestety działa to tylko na Arduino Nano i Digispark nie wybudza płytki po przerwaniu, więc po prostu skorzystałem z delay - w przypadku otwarcia okna kilka-kilkanaście dodatkowych sekund opóźnienia nie robi różnicy. Na najwyższym poziomie oprogramowanie to prosta maszyna stanów - po otwarciu okna uruchamia licznik i zaczyna zliczanie, a kiedy skończy się zliczanie uruchamia buzzer. Cały kod jest dostępny w repozytorium: https://github.com/kantoniak/airing-scheduler Sprawdziłem na prototypie, że diody ładnie się palą (jak na zdjęciu poniżej) i przeszedłem do składania. Składanie urządzenia To była chyba najgorsza część tego projektu. Chciałem się zmieścić na płytce 30x70 mm i musiałem bardzo długo przestawiać elementy zanim mi się udało. Tak wyglądał kandydat do składania: Musiałem parę rzeczy przypiłować, buzzer jest nad płytką i jeden włącznik jest przycięty, ale wszystko się zmieściło. No prawie - bateria wystaje z jednej strony, ale nie jest najgorzej. Z lutowaniem wyszło OK, ale trwało to prawie cały dzień. Na koniec miałem tylko nadzieję, że będzie działać. Następnym razem zamówię PCB 🙂 Na koniec wydrukowałem jeszcze obudowę. Niestety pomyliłem się z dziurką na buzzer, ale wszystko działa i szkoda mi filamentu. Obudowa ma miejsce na jedną śrubkę - płytka jest lekka i takie mocowanie daje radę: Całość działa jak na poniższym filmiku: Projekt miał być prosty, ale jednak trochę się namęczyłem. Nie mniej trzeba się było trochę nagłówkować i cieszę się że udało mi się złożyć urządzenie z tego co miałem pod ręką 🙂
- 3 odpowiedzi
-
- 5
-
-
- DIY
- oprogramowanie
-
(i 2 więcej)
Tagi:
-
Dość długo zabierałem się za ten projekt, ale w końcu udało się go zrealizować. Powstał on, ponieważ potrzebowałem czegoś, co umożliwi mi szybki wgląd w aktualne obciążenie komputera, bez niepotrzebnego przełączania okienek. Rozwiązanie czysto programowe byłoby też w moim przypadku o tyle mniej praktyczne, że często korzystam z maszyn wirtualnych, a taki zewnętrzny monitor obciążenia pozwala mi na wyświetlanie statystyk wszystkiego jednocześnie. Poza wyświetlaniem informacji zależało mi także na graficznej reprezentacji obciążenia, dzięki czemu można nawet "kątem oka" zauważyć że pojawiło się jakieś duże obciążenie lub że kończy się pamięć RAM. Parę lat temu zbudowałem taki monitor na ekranie LCD 4x20, jednak z biegiem czasu i modernizacją sprzętu coraz ciężej było zmieścić na nim wszystkie informacje które bym chciał, dlatego stwierdziłem że czas na nową odsłonę 😄 Tym razem zamiast ekranu LCD postanowiłem użyć wyświetlaczy OLED. Z kolei do reprezentacji graficznej chciałem wykorzystać diody WS2812. Dość długo zastanawiałem się w jaki sposób je ułożyć i jak to najprościej zrobić. Ostatecznie diody zostały ułożone w dwóch półpierścieniach nad wyświetlaczami. Aby ułatwić sobie życie kupiłem pierścienie 16 diodowe i 24 diodowe i przeciąłem na na pół. Wadą takiego rozwiązania było to, że tylko na jednej połówce miałem do dyspozycji wygodne pola lutownicze z tyłu, a na drugiej musiałem wlutować kable bezpośrednio w pierwszą diodę. Na zdjęciu widać pierwsze przymiarki diod do wyświetlacza: Docelowo planowałem wykonać 4 takie zestawy oled + diody, co wiązało się z pewnym problemem. Wyświetlacze które posiadałem podłącza się przez I2C, a ponieważ miałem 4 identyczne, to wszystkie miały ten sam adres, niestety producent wyświetlaczy nie przewidział takiego scenariusza (niektóre wersje umożliwiają ustawienie ostatniego bitu, co umożliwia podpięcie 2 wyświetlaczy, moje akurat nie miały takiej opcji). Po zrobieniu researchu rozwiązanie tego problemu okazało się bardzo proste. Polega ono na selektywnym doprowadzaniu sygnału zegara do poszczególnych wyświetlaczy. Ja w tym celu wykorzystałem demultiplekser 74HC139. Takie rozwiązanie jest możliwe, ponieważ tylko master (w tym wypadku mikrokontroler) steruje linią zegara, dzięki temu możliwe jest zastosowanie demultipleksera. W przypadku gdyby slave'y też sterowały linią zegara rozwiązanie byłoby bardziej złożone (o ile w ogóle możliwe), bo demultipleksery działają tylko w jedną stronę 😄 Z tego powodu też nie można tego zrealizować na linii danych (nawet jeśli przesyłanie danych odbywa się tylko w jedną stronę, to linia SDA musi być "dwustronna" żeby możliwa była realizacja protokołu I2C). W przypadku diod WS2812 sprawa była prostsza, docelowo każdy półpierścień dostał własny pin procesora, dzięki czemu każdy z nich może być odświeżany niezależnie. Jako mikrokontroler wybrałem Atmegę4809, ponieważ potrzebowałem 4kB ramu na trzymanie klatek z każdego z 4 oledów (128*64*4 = 32kb = 4kB). Możliwa by była realizacja przy mniejszej ilości pamięci, np 2kB, poprzez trzymanie tylko jednej klatki, jednak wiązałoby się to z mniejszą wydajnością całego programu, ponieważ generowanie kolejnej klatki można by było rozpocząć dopiero po zakończeniu przesyłania poprzedniej. W przypadku gdy każdy wyświetlacz ma swój bufor, to w trakcie gdy na przykład dane są wysyłane do pierwszego wyświetlacza możliwe jest generowanie obrazu dla drugiego wyświetlacza itd. Wymaga to asynchronicznej implementacji I2C, co zrealizowałem poprzez kolejkę do której można dodawać wskaźniki na tablice danych które mają być po kolei wysłane i ich obsługa jest w pełni realizowana na poziomie przerwania. Samo generowanie klatek zrealizowane jest w ten sposób, że dla każdego wyświetlacza przygotowany jest szablon zawierający stałe części obrazu, a następnie renderowane są na nim wartości w określonych pozycjach x,y, co łącznie generuje pełną klatkę obrazu. Graficznie wygląda to tak (po lewej templatka, po prawej z wypełnionymi wartościami): Wszystkie przygotowane ekrany wyglądają następująco: Ekrany przygotowane są stricte pod moją konfigurację, oczywiście możliwe by było generowanie wszystkiego po stronie komputera i przesyłanie gotowych klatek, akurat ja wolałem podejście z renderowaniem po stronie uC, ale co kto lubi 😄 Układ został zrealizowany na płytce uniwersalnej, a szkielet i obudowa zostały wydrukowane na drukarce 3D. Projekt ma budowę modułową i działa poprawnie z każdą liczbą modułów między 1 a 4, na ten moment mam zrealizowane dwa, kolejne dwa czekają aż będę miał trochę więcej wolnego czasu. Ponieważ każdy moduł wykorzystuje 4 kable do przesyłania danych (2 do pierścieni i 2 do wyświetlacza), to do ich podłączania wykorzystałem skrętkę, akurat po pół skrętki na moduł. Na ten moment całość prezentuje się następująco, kable z boku są przygotowane dla następnych modułów. Urządzenie łączy się z komputerem poprzez konwerter USB↔UART. Po stronie komputera działa aplikacja napisana w javascripcie, która zbiera dane z komputera na którym działa, używając głównie biblioteki systeminformation. Dodatkowo, nasłuchuje na jednym z portów sieciowych, pod który mogą się podpinać maszyny wirtualne i przesyłać dane o swoim obciążeniu. Technicznie, zamiast maszyn wirtualnych możliwe by było podpinanie innych fizycznych urządzeń, opcji jest wiele, wszystko zależy od potrzeb. Wyświetlanie informacji z dwóch źródeł jednocześnie na pierścieniach realizowane jest poprzez kolory, host wykorzystuje zielony i czerwony, natomiast maszyna wirtualna niebieski.
- 12 odpowiedzi
-
- 12
-
-
- Elektronika
- C
-
(i 3 więcej)
Tagi:
-
Krótki wstęp: Witam, chciałbym przedstawić wam projekt, który nosi nazwę mikrofon paraboliczny. Każdy z nas poza domem słyszał hałasy, śpiewające ptaki itd, albo miałeś ochotę podsłuchać kogoś z dalszej odległości. Występują dźwięki, których ich słyszalność już nie jest, aż taka wyraźna. Dlatego za pomocą tego urządzenia możesz wyłapać te głosy. Sprzęt osobiście polecam dla miłośników wsłuchujących się w przyrodę. Zasada działania oraz schemat: W streszczeniu: Mikrofon odbiera dźwięki, które są przekształcane w sygnał elektryczny, następnie wzmacniane i przekazywane do odbiornika. Dla dociekliwych: Warto zacząć, że cały układ jest zasilany z akumulatora 12V. Za pomocą mikrofonu elektretowego, który kupiłem w sklepie Botland , obieramy fale dźwiękowe, które są zamieniane na sygnały elektryczne. Mikrofon jest zasilany z dodatniej szyny przez rezystor R1. Odebrany i przetworzony sygnał płynie przez kondensator C6, którego zadaniem jest nie przepuszczanie prądu stałego. Układ regulacji głośności tworzą elementy PR1 oraz C5, po czym sygnał trafia do wejścia wzmacniacza. Układ scalony jaki został tu wykorzystany jest dobrze każdemu znany LM386, który można kupić za małe grosze. Wartość wzmocnienia układu zależy od kondensatora C1, przez co napięcie wyjściowe jest około 200 razy wyższe od wejściowego. Za pomocą kondensatora C7 unikamy przemian obieranych sygnałów w mieszankę niewyraźnych dźwięków. Dwójnik C9, R2 tworzą tzw. rezerwuar sygnału wyjściowego, czyli kondensator jest ładowany/rozładowywany w zależności od wzrostu/spadku natężenia pobieranego prądu. Kondensator C8 ma za zadanie odseparować składową stałą. Sposób wykonania: Ja do swojego projektu użyłem zwykłej płytki uniwersalnej, którą możemy nabyć w sklepie z elektroniką, można również wytrawić samemu taką płytkę. Podczas lutowania układu zastosowałem złącza ARK po to abym mógł bezpośrednio poprowadzić przewody do wejścia mikrofonu oraz wyjścia na słuchawki. Na sam koniec lutowania specjalnie zostawiłem potencjometr, abym mógł poprowadzić kable do niego i swobodnie umieścić go w górnej części obudowy. Tuż przed wykonaniem tej czynności wywierciłem dziury w obudowie na wyjście słuchawek, potencjometr, włącznik oraz na złącza banankowe. Następnie przymocowałem układ na tulejkach i przylutowałem przewody do poszczególnych pinów. Do mojej wkładki mikrofonu użyłem złącz banankowych, przez co mogę wypiąć, wpiąć mikrofon. Moim odbiornikiem są zwykłe przerobione słuchawki na Mono. Tuż przed złączami na obudowie do mikrofonu widać jest kolejne, które służą do ładowania akumulatora znajdującego się w środku. Dodatki wykorzystane w sprzęcie: Na schemacie poza wzmacniaczem do naszego mikrofonu parabolicznego możemy dostrzec Transformator wraz z mostkiem oraz drugi układ, służący do wskazywania napięcia naładowania naszego akumulatora, który nie został wykorzystany w moim sprzęcie, ze względu na brak potrzeby, gdyż akumulator ładuje bezpośrednio z zasilacza. Wracając do wskaźnika naładowania akumulatora ma on za zadania załączyć diodę w zależności od tego czy nasze napięcie na akumulatorze jest już wystarczające czy niskie. Jego zasadę można opisać w następujący sposób: Gdy napięcie na akumulatorze jest większe to DZ zaczyna przewodzić co powoduje załączanie tranzystora Q1 co powoduje zwarcie pinu 2 do masy, na wyjściu NE555 pojawia się stan wysoki, czyli akumulator dobry, w całym procesie dioda D1 również przechodzi w stan przewodzenia powodując włączenie tranzystora Q2. Obniżające się napięcie poniżej 12V powoduje wyłączenie Q1. Kondensator jest ładowany, gdy osiągnie określoną wartość pojawia się stan niski co powoduje zapalnie diody czerwonej. Zalecenia: Aby uzyskać jak najlepszy efekt, zalecam kupienia talerza parabolicznego i umieszczenie w nim wkładki mikrofonowej. Całość powinna być nie ruchoma, tak samo jak i odbiorca. Odbieranie dźwięków polecam przy ładnej pogodzie oraz braku odczuwalnego wiatru. Przy tworzeniu wersji jak na zdjęciach, należy wykorzystać Transformator o min Mocy = 6VA. Do podłączenia słuchawek w obudowie wykorzystałem gniazdo Jack. Całość proponuje umieścić w obudowie. Zastrzeżenia/Uwagi: Przed założeniem słuchawek należy wyregulować poziom głośności na minimalną i stopniowo ją zwiększać. W przypadku zdejmowaniu słuchawek wykonać tą samą czynność! Unikaj głośnych dźwięków, które są odbierane blisko mikrofonu! Zalety: Niski poziom szumów. Wysoka czułość. Maksymalny zasięg około 40m. Mały prąd spoczynkowy. Wady: Waga. Tzw. strzał wynikający z załączenia układu. Wrażliwy na uderzenia, wiatr, deszcz. Zakończenie: Tak więc się prezentuje mikrofon paraboliczny czy tzw. podsłuchiwacz. Zachęcam do skonstruowania sobie takiego sprzętu za małe pieniądze. Pozdrawiam i czekam na pierwsze komentarze.
-
Witam, Mam do zrobienia robota mobilnego (pojazd zdalnie sterowany). Muszę do niego policzyć wymaganą siłę pociągową (może chodzić o siłę ciągu) oraz moment dynamiczny (moment wymagany do rozpędzenia pojazdu). Na podstawie tych wartości muszę dobrać napędy. Pojazd będzie posiadał 4 silniki i będzie sterowany przy pomocy Raspberry Pi. Niestety szukanie wzorów, czy sposobów na wyliczenie tego idzie mi dość topornie, także liczę na pomoc. Dane: · Szacowana masa pojazdu: M ≤ 0,5 kg · Zakładana rampa: α = 25° · Zakładana prędkość: v = 2,0 m/s · Zakładane przyspieszenie: a = 2,5 m/s2 Do obliczenia: · Wymagana siła pociągowa (siła ciągu) · Moment dynamiczny Z góry dziękuję za jakąkolwiek pomoc
-
Założeniem projektu było zbudowanie w krótkim czasie biurkowego zegara. Na początku rozważałem zbudowanie prostego zegara na wyświetlaczach siedmiosegmentowych, jednak po przeanalizowaniu potrzebnych funkcjonalności stanęło na cyfrowym wyświetlaczu LCD. Taki wyświetlacz, dzięki bardzo małemu poborowi prądu, umożliwił sensowne zasilanie bateriami. Był to mój pierwszy projekt zasilany w ten sposób, gdzie czas pracy miał być w założeniu liczony przynajmniej w miesiącach. Wyświetlacz który użyłem w projekcie to DE 120-RS-20/7,5/V, który charakteryzuje się pełnymi 4 cyframi o wysokości 18mm i, co ważne, nie jest multipleksowany, dzięki czemu nieco łatwiej było napisać program który nim sterował. Jeśli chodzi o mikrokontroler, to wybrałem Atmegę 4809, ponieważ był to jedyny mikrokontroler z nowej rodziny AVR, dostępny w wersji przewlekanej, posiadający odpowiednią liczbę i/o. W kwestii zasilania stanęło na dwóch bateriach AA, zastosowanie AAA nie miałoby większego wpływu na rozmiar całości, z kolei zastosowanie baterii typu CR2032 znacząco by zmniejszyło czas pracy. Całość została zlutowana na płytce uniwersalnej, połączenia zostały zaprojektowane w eagle. Było kilka iteracji projektu, tak aby zminimalizować liczbę zworek i maksymalnie uprościć połączenia. Atmega została umieszczona pod ekranem, natomiast z drugiej strony został przykręcony zasobnik na baterie. Do ustawiania czasu służą dwa przyciski - jeden ustawia godziny, drugi minuty. Wydaje mi się to najprostszą możliwą metodą ustawiania czasu (poza opcją automatyczną :)). Piny w mikroprocesorze wykorzystane są wszystkie, przy czym nie wszystkie segmenty wyświetlacza są podłączone - ucierpiały kropki i jeden segment z pierwszej cyfry, który w przypadku wyświetlania tylko i wyłącznie czasu jest niepotrzebny, przy założeniu że godziny poranne wyświetlamy bez zera, czyli np 8:36 a nie 08:36. Jedną z ciekawszych części projektu była realizacja możliwie energooszczędnego oprogramowania. Wyświetlacze, takie jak ten zastosowany w projekcie, wymagają odświeżania z częstotliwością 30Hz - 100Hz (rekomendowane jest 32Hz). Jest kilka możliwości energooszczędnej realizacji tego zadania, ja ostatecznie zdecydowałem się na napędzanie Atmegi wewnętrznym oscylatorem z dzielnikiem 10, co dawało ok 2MHz i całkowite usypianie procesora na czas bezczynności (power down). Odmierzanie czasu, a jednocześnie wybudzaniem procesora z trybu power-down realizowane było natomiast z użyciem kwarcu zegarkowego i okresowego przerwania z modułu RTC, wywoływanego co 512 cykli kwarcu (co daje 64Hz). Zasada działania całości jest raczej prosta - co 1/64s wywoływane było przerwanie, program doliczał sobie kwant czasu, obsługiwał wyświetlacz (albo odwracał wszystkie piny, albo "renderował" nowy czas) i szedł dalej spać. W celu dodatkowej optymalizacji, wszystkie możliwe godziny zostały stablicowane przy pomocy małego skryptu w Typescripcie. Dzięki temu wyświetlenie nowej godziny było bardzo szybkie - wystarczyło odczytać 5 kolejnych wartości z tablicy (po jednej na każdy port uC) i wpisać je na odpowiednie porty (po uprzednim przepisaniu wartości z pinów które nie były podłączone do wyświetlacza). Takie podejście zapewniło mi pobór prądu, który był ciężki do zmierzenia moim tanim miernikiem, wynosił średnio ok 5-6uA, co przy idealnych warunkach daje jakieś 50 lat pracy na baterii (nie uwzględniając samorozładowania). Wiadomo, taka wartość jest nieosiągalna, ale pozwala przypuszczać, że przynajmniej kilka lat zegar powinien podziałać na jednym komplecie baterii. Obudowa zegara została wydrukowana na drukarce 3D. Śrubki, które trzymają całość w jednym kawałku, nie są może najładniejsze, ale mogłem wykorzystać tylko to co miałem po ręką 😄. Gwinty zostały przylutowane do płytki uniwersalnej (są to po prostu konektory typu zacisk śrubowy, wykorzystane w trochę innym celu). W trakcie budowy sporym problemem okazały się zakłócenia powstające na ścieżkach. Było to do przewidzenia, jednak nie spodziewałem się że tak mocno wpłynie na stabilność kwarcu. Ostatecznie musiałem nieco przeprojektować płytkę i pozmieniać część ścieżek, tak aby zmaksymalizować wolną przestrzeń dookoła kwarcu, zmieniłem też nieco wartości kondensatorów przy nim. Myślę że w przypadku wykonania normalnej PCB takie problemy by nie wystąpiły, możliwe by też było otoczenie kwarcu polem masy. Jeśli chodzi o możliwości rozbudowy, to możliwe by było dodanie wyświetlania temperatury, ponieważ Atmega4809 ma wbudowany termometr. Z kolei przejście na SMD i zmiana zasilania np na baterie CR2032 pozwoliłaby na zauważalne zmniejszenie grubości zegara.
-
Sprzedam Sprzedam elektronikę do arduino/rasberry pi
Terzu opublikował temat w Sprzedam/Kupię/Zamienię/Praca
Witam, Na sprzedaż posiadam dużą ilość elektroniki związanej z budowaniem układów na arduino / malince. Studiowałem AiR i wiadomo, podczas studiów człowiek się trochę bawił, lecz teraz przy normalnej pracy nie mam już czasu/chęci. Nie sposób wymienić wszystkich elementów, które tutaj są ale z ciekawszych: - rasberry pi 3, z zasilaczem, kartą pamięci, modułem kamery itd. - klony arduino, czujniki wagi, odległości, joystik, klawiaturki itd. - wiele wiele pierdół, rezystorów, kabli, - akcesoria do lutowania Link do zdjęć ze wszystkimi elementami: https://drive.google.com/drive/folders/1GeEhGKALeyMzg0ZHvzhuuUFbM4BgsNpj?usp=sharing Cena: 300zł Ze względu na ilość tych wszystkich rzeczy preferowałbym odbiór osobisty w Poznaniu, ale jestem w stanie również to wysłać. W razie co proszę o kontakt na telefon: 781358758 Nie wiem gdzie mam wstawić ten post, jestem tutaj nowy. Mam nadzieję, że nie łamię regulaminu. Chcę po prostu komuś oddać praktycznie nowy zestaw do zabawy bo ja już nie potrzebuję.- 2 odpowiedzi
-
- Arduino
- Raspberry Pi
-
(i 1 więcej)
Tagi:
-
Cześć 😊 w Medicalgorithmics w Gdańsku uruchomiliśmy rekrutację na doświadczonego Inżyniera Elektronika – poszukujemy kolegi/koleżanki który/-a zajmie się projektowaniem i integracją rozwiązań elektronicznych w branży medycznej. Dużo dzieje się u nas z obszaru elektroniki analogowej oraz cyfrowej i mieszanej. Obwody drukowane projektujemy w Altiumie. A pracę organizuje nam Scrum – a w zasadzie Scrum Master 😉 Chętnie opowiemy więcej o nas i o ofercie, a jeśli akurat nie szukacie żadnej oferty, to może znacie kogoś kogo taka propozycja by zainteresowała? Więcej informacji umieściliśmy w ogłoszeniu: https://www.medicalgorithmics.pl/oferty-pracy/gdansk/starszy-inzynier-elektronik-rd A kontaktować się można z nami mailowo: praca@medicalgorithmics.com