Przeszukaj forum
Pokazywanie wyników dla tagów 'elektronika'.
Znaleziono 81 wyników
-
Cześć! Jesteśmy świeżo powstałym kołem naukowym działającym na Politechnice Poznańskiej, założonym w celu zrzeszania miłośników mechaniki, elektroniki, robotyki i każdego, kogo interesują roboty w każdym tego słowa znaczeniu. Naszymi obecnymi projektami są rozwiązania, w których staramy się łączyć wszystkie te dziedziny w praktyce. Aktualnie na warsztacie mamy dwa główne przedsięwzięcia: 1. Wielozadaniowa Platforma Modułowa. To nasz projekt flagowy. Tworzymy od zera autorskiego robota opartego na koncepcji łatwo wymiennych modułów. Dzięki jednolitemu systemowi złączy możemy błyskawicznie zmieniać konfigurację sprzętu w zależności od potrzeb. 2. Mechatroniczna Tiara Przydziału. Zbudowaliśmy interaktywne urządzenie, które pomaga niezdecydowanym kandydatom podjąć tę trudną decyzję i (po odpowiedniej "analizie") automatycznie przydziela ich na jeden z 4 kierunków na naszym Wydziale Inżynierii Mechanicznej (WIM). Jako że dopiero się rozkręcamy, postanowiliśmy założyć konto na Forbocie, żeby czerpać inspirację od bardziej doświadczonych twórców i od czasu do czasu pochwalić się naszymi postępami. Jesteśmy bardzo ciekawi Waszych opinii – zwłaszcza na temat koncepcji naszej platformy modułowej! Będziemy wdzięczni za wszelkie rady, konstruktywną krytykę i wymianę doświadczeń. Pozdrawiamy, Ekipa Robo Forge Tutaj znajdziecie więcej informacji o nas: https://roboforgepp.my.canva.site/
-
- Koło Naukowe
- mechatronika
- (i 2 więcej)
-
Z radością ogłaszamy, że Kazik przechodzi właśnie sporą transformację — a wszystko to dzięki elementom dostarczonym przez Botland. Jest to polski dystrybutor drukarek 3D, elektroniki i technologii dla pasjonatów. Dzięki tej współpracy możemy dalej rozwijać nasze projekty i zdobywać nowe doświadczenia w dziedzinie elektroniki oraz informatyki. Już niedługo pokażemy efekty zmian, nad którymi obecnie pracujemy. Jeśli szukasz sprawdzonych części do własnych projektów, koniecznie zajrzyj na stronę botland.com.pl Dużymi krokami przygotowujemy się także do TRiLiady… ale na razie nie możemy zdradzić zbyt wiele Poniżej zdjęcie Kazika na "stole operacyjnym".
-
- Elektronika
- układy scalone
-
(i 1 więcej)
Tagi:
-
Cześć, ostatnio skończyłem robić PCB do mojej listwy czujników koloru. Po polutowaniu i pomierzeniu czujnik nie działa. Na załączonych zdjęciach przesyłam schemat, schemat PCB, screenshot całego PCB i zdjęcie na którym widać że diody się świecą. Próbowałem świecić latarką, świecić dioda z pilota, zmieniać dynamicznie z czarnej powierzchni na białą i ani na odczycie z stm'a ani na mierniku nie widać zmiany albo widać jakąś leciutką zmianę typu z 3,3V na 3,2V, 3,15V, a na analogowym odczycie na live expressions odczyt sie nie zmienia na tyle znacząco żebym umiał stwierdzić czy działa czy nie. Czy może to być problem tego ze rezystor pull up ma za duża wartosc?
-
Tym razem chciałbym pokazać wam projekt, w którym użyłem nie tylko elementy analogowe ale też i cyfrowe bo zaprojektowałem i wykonałem inteligentną podstawkę pod doniczkę sterowaną Arduino nano. Ten projekt był ciekawą przygodą bo zrobiłem go wraz z moimi kolegami z uczelni gdy już miałem odrobinę większe doświadczenie w elektronice, projektowaniu płytek PCB i druku 3d. Nasza inteligentna podstawka pod doniczkę miała być nie tylko projektem elektronicznym, ale także miała łączyć się z częścią mechaniczną i tak końcowo powstał projekt mechatroniczny. Tym razem projekt pomógł nam upiec dwie pieczenie na jednym ogniu, ponieważ zaliczyliśmy tym dwa osobne przedmioty, jeden który skupiał się na projektowaniu układów elektronicznych, a drugi zaś na druku 3d. Dostaliśmy odpowiednie wytyczne co do wykonania projektu i przeszliśmy do kwestii wymyślenia co tu by zrobić, no i tak po dość szybkiej naradzie padło na inteligentną doniczkę, ale okazało się, że nie byliśmy z tym pomysłem pierwsi i musieliśmy nieco zmodyfikować nasz pomysł. I tak oto stwierdziliśmy, że inteligentnych doniczek już było wiele ale inteligentna podstawka dalej była świeżym tematem. Projektowanie rozpoczęło się standardowo od projektu i symulacji części analogowej projektu w programie LTspice, a jako że ta miała na celu zasymulowanie wyświetlania na diodach LED temperatury powietrza zmierzonej przez czujnik LM35DZ/NOPB przy pomocy komparatorów napięcia, to poszło bardzo sprawnie bo mieliśmy już wiedzę jak taki układ zbudować i zasymulować. Poniżej zamieszczam schemat symulacji z LTspice. Gdy już część analogową mieliśmy z głowy to przeszliśmy do części cyfrowej, tutaj chcieliśmy zrobić pomiar wilgotności gleby przy pomocy czujnika pojemnościowego, pomiar, oraz pomiar temperatury powietrza i wyświetlenie tych informacji na wyświetlaczu LCD 2x16 i oprócz tego chcieliśmy sterować silnikiem krokowym nema17, który miał za zadanie wprawić w ruch podstawkę i obrócić doniczkę, żeby roślina była równomiernie nasłoneczniona z każdej strony. Schemat blokowy działania układu pokazano poniżej: Założenia projektowe: Układ inteligentnej doniczki działa na zasadzie integracji kilku modułów pomiarowych i wykonawczych, które wspólnie monitorują kluczowe parametry środowiskowe i sterują odpowiednimi funkcjami. Czujnik temperatury odczytuje bieżącą temperaturę otoczenia i przekazuje sygnał do komparatorów analogowych. Komparatory porównują odczyty z ustalonymi progami, które można regulować za pomocą potencjometrów. W wyniku tej analizy uruchamiane są odpowiednie kolory diod LED: niebieski sygnalizuje zbyt niską temperaturę, zielony wskazuje optymalny zakres, żółty ostrzega przed zbyt wysoką temperaturą, natomiast czerwony mówi o zawysokiej temperaturze. Dodatkowo, układ zawiera czujnik wilgotności gleby, który mierzy poziom wilgotności i przesyła dane do Arduino Nano. Mikroprocesor Arduino przetwarza te dane i wyświetla je na ekranie LCD. Na wyświetlaczu użytkownik może odczytać aktualny poziom wilgotności gleby (w procentach) oraz temperaturę otoczenia (w stopniach Celsjusza). Dzięki temu układ umożliwia stały nadzór nad warunkami, w jakich znajduje się roślina. Jednym z kluczowych elementów doniczki jest mechanizm obrotu, który jest sterowany przez Arduino Nano. Silnik krokowy odpowiedzialny za obrót aktywuje się w określonych odstępach czasu, co zapewnia równomierne nasłonecznienie rośliny, zwłaszcza w przypadku jednostronnego oświetlenia. Częstotliwość obrotu można dostosować w oprogramowaniu Arduino, co pozwala na elastyczne dostosowanie systemu do indywidualnych potrzeb użytkownika. Cały układ jest w pełni zautomatyzowany, co sprawia, że obsługa doniczki jest intuicyjna i nie wymaga stałego nadzoru. Możliwość regulacji progów temperatury za pomocą potencjometrów oraz programowalność Arduino Nano pozwalają na łatwą personalizację działania systemu. Dzięki integracji funkcji pomiarowych, sygnalizacyjnych, wizualizacyjnych i mechanicznych, doniczka zapewnia kompleksowe wsparcie w dbaniu o rośliny, niezależnie od warunków środowiskowych. Gdy już mieliśmy pomysł na obydwie części, analogową i cyfrową, oraz jak mają ze sobą współpracować to przeszliśmy do zaprojektowania schematu układu, który wyglądał następująco: Zasada działania: Układ sterowany jest za pomocą mikrokontrolera Arduino Nano, który pełni centralną rolę w zarządzaniu wszystkimi podłączonymi peryferiami. Mikrokontroler odbiera dane z czujników wilgotności oraz temperatury (LM35DZ), a także komunikuje się z wyświetlaczem LCD wykorzystującym interfejs I2C. Dodatkowo Arduino steruje ruchem silnika krokowego za pomocą sterownika A4988, co umożliwia realizację automatycznego podlewania rośliny. Stabilne zasilanie całego układu zapewnia regulator napięcia L7805CV, który konwertuje napięcie wejściowe na 5V. W celu poprawy stabilności pracy regulatora zastosowano kondensatory odsprzęgające na jego wejściu i wyjściu. W układzie zastosowano również czujniki temperatury LM35DZ, które dostarczają sygnały analogowe. Sygnały te są porównywane w komparatorach LM339N z napięciami referencyjnymi (REF1-REF8). W przypadku przekroczenia określonych progów temperatury zapalane są odpowiednie diody LED, sygnalizujące stan temperatury. Napięcia referencyjne zostały skonfigurowane za pomocą dzielników rezystorowych, co pozwala na precyzyjne ustawienie progów działania. W kolejnym kroku przeszliśmy do rozmieszczenia elementów na płytce PCB, wyszło to następująco: Rozmieszczenie elementów na płytce PCB zostało zaprojektowane z myślą o minimalizacji długości ścieżek oraz łatwości montażu. Arduino Nano zostało umieszczone centralnie po lewej stronie płytki, co ułatwia dostęp do jego pinów. Sterownik silnika krokowego (A4988) został ulokowany w pobliżu złącza silnika, co minimalizuje długość ścieżek sygnałowych. Regulator napięcia L7805CV z kondensatorami znalazł się w górnej części płytki, zapewniając stabilne zasilanie dla pozostałych elementów. Ścieżki na płytce zostały zaprojektowane w dwóch warstwach: połączenia na górnej warstwie oznaczono kolorem czerwonym, a na dolnej – niebieskim. Grubsze ścieżki odpowiadają za zasilanie, co zapewnia odpowiednią wydajność prądową. W prawej części płytki umieszczono złącza dla czujników wilgotności i temperatury oraz wyprowadzenia dla diod sygnalizacyjnych. Komparatory LM339N oraz diody LED z rezystorami 1 kΩ zostały rozmieszczone w górnej części płytki w sposób pozwalający na ich łatwe podłączenie do napięć referencyjnych i sygnałów sterujących. Projekt został zoptymalizowany tak, aby ułatwić zarówno montaż, jak i podłączanie zewnętrznych elementów, takich jak czujniki, silnik krokowy czy wyświetlacz LCD. Lista użytych elementów: Silnik krokowy nema17 Rezystor 1 kΩ [8szt] Rezystor 2 kΩ [1szt] Rezystor 10 kΩ [7szt] Potencjometr 10 kΩ [8szt] Regulator napięcia LM7805CV Czujnik temperatury lm35DZ Wyświetlacz LCD 2x16 Konwerter I2C dla wyświetlacza LCD HD44780 Pojemnościowy czujnik wilgotności gleby Sterownik silnika krokowego TMC2208 Gniazdo zasilania 2.5/5.5 kondensator 10 uF [1szt] kondensator 100 uF [2szt] komparator uniwersalny LM339N Arduino nano Dioda LED 5mm [8szt] W kolejnym kroku wytrawiliśmy płytkę PCB, następnie wywierciliśmy otwory i przylutowaliśmy elementy. A tak wyglądała płytka z osadzonymi komponentami: Jak już płytka była gotowa przeszliśmy do zaprojektowania obudowy w Fusion360 a następnie wydrukowaliśmy ją na drukarce Bambu P1S. Gdy już została wydrukowana obudowa do jednostki sterującej to trzeba był jeszcze wymyślić i zaprojektować część ruchomą podstawki z silnikiem i przekładnią, a to już nie było takie łatwe, gdyż jednak chcieliśmy żeby w miarę estetycznie to wyglądało, po dobrych kilku dniach spędzonych na szukaniu inspiracji powstała część ruchoma przedstawiona na kolejnych zdjęciach: Całość złożona wyglądała w ten sposób: Podsumowanie: Projekt inteligentnej podstawki pod doniczkę stanowi kompleksowe połączenie elektroniki analogowej i cyfrowej z elementami mechanicznymi oraz druku 3D, tworząc w efekcie w pełni funkcjonalny system mechatroniczny. Został on zrealizowany zespołowo w ramach zajęć akademickich i pozwolił jednocześnie zaliczyć dwa przedmioty: projektowanie układów elektronicznych oraz druk 3D. Dzięki zdobytemu wcześniej doświadczeniu możliwe było świadome podejście do projektowania PCB, programowania mikrokontrolera oraz konstruowania elementów mechanicznych. Układ oparto na Arduino Nano, które integruje dane z czujników temperatury i wilgotności gleby, prezentuje je na wyświetlaczu LCD oraz steruje silnikiem krokowym odpowiedzialnym za okresowy obrót doniczki. Część analogowa, zaprojektowana i zasymulowana w LTspice, realizuje wizualną sygnalizację temperatury za pomocą diod LED sterowanych przez komparatory napięcia. Część cyfrowa odpowiada za przetwarzanie danych, automatyzację pracy oraz obsługę interfejsu użytkownika. Całość została zaprojektowana jako system konfigurowalny, umożliwiający regulację progów temperatury oraz parametrów pracy silnika. Projekt obejmował pełny cykl realizacyjny: od koncepcji i symulacji, przez schemat i projekt PCB, wykonanie oraz montaż płytki, aż po zaprojektowanie i wydruk obudowy oraz mechanizmu obrotowego. Efektem końcowym jest estetyczne, funkcjonalne i w pełni zautomatyzowane urządzenie, które umożliwia stały nadzór nad warunkami wzrostu rośliny oraz zapewnia jej równomierne nasłonecznienie. Projekt ten był wartościowym doświadczeniem praktycznym, pozwalającym na integrację wiedzy z zakresu elektroniki, programowania, mechaniki i projektowania 3D w jednym, spójnym rozwiązaniu inżynierskim.
-
Cześć mam nadzieję, że wszyscy mają bardzo spokojne i wesołe świeta. Postanowiłem stworzyć moją najbardziej złożoną kierownicę do simracing do tej pory i jest to mój pierwszy raz, kiedy podłączam przełączniki typu funky (funky switches). Mam 14 normalnych przycisków tact i 2 przełączniki funky w matrycy 4x6. Czy jest to poprawnie podłączone? Jeśli nie, będę wdzięczny za radę. Z góry dziękuję.
- 1 odpowiedź
-
- Elektronika
- simracing
-
(i 1 więcej)
Tagi:
-
Oferuję kompleksowe usługi w zakresie budowy maszyn: Wizualizacje Komputerowe Projektowanie 3D Druk 3D Konstrukcja Maszyn Elektronika, PCB Programowanie na Wszystkie Platformy Aplikacje mobilne, internetowe, desktopowe Zapraszam do odwiedzenia stron oraz kontaktu poprzez maila: [email protected] https://www.shargon.com/ https://www.facebook.com/SHARGONtech
-
- 1
-
-
- budowa maszyn
- innowacje
- (i 3 więcej)
-
Jednym z głównych problemów przesyłu energii elektrycznej są problemy związane z rezystancją materiałów. Straty energetyczne przy jednoczesnym wydzielaniu się ciepła stanowią istotny problem. Z tego powodu nauka poszukuje nowych rozwiązań, które pozwolą na eliminację lub przynajmniej minimalizację tych strat. Jednym z najważniejszych odkryć w tej dziedzinie jest zjawisko nadprzewodnictwa, które pozwala na praktycznie całkowity zanik oporu elektrycznego w określonych warunkach. Nadprzewodniki, dzięki swojej zdolności do przewodzenia prądu bez żadnych strat energii, oferują potencjalnie rewolucyjne rozwiązanie w wielu dziedzinach, od energetyki po technologie informacyjne. Czym więc są nadprzewodniki i gdzie mogą znaleźć zastosowanie? W tym artykule przedstawię Ci: Czym są nadprzewodniki i jakie są ich właściwości? Historię nadprzewodnictwa. Odkrycie pierwszego nadprzewodnika. Teorię działania zjawiska nadprzewodnictwa. Efekt Meissnera. Zastosowania nadprzewodników. Nadprzewodniki wykazują niezwykle ciekawe zjawiska, takie jak efekt Meissnera. Źródło zdjęcia. Czym są nadprzewodniki i jakie są ich właściwości? Nadprzewodnikiem nazywamy materiał, który w odpowiednich warunkach (np. przy niskiej temperaturze i odpowiednim ciśnieniu) charakteryzuje się praktycznie zerową rezystancją. Oznacza to, że może przewodzić prąd bez żadnych strat. Jest to efekt kwantowy, który ujawnia się w skali makroskopowej i wynika ze zbiorowego zachowania elektronów w materiale. Nadprzewodnictwo może występować w różnych materiałach. Nadprzewodnictwem mogą charakteryzować się również dielektryki! Aby dany materiał wszedł w stan nadprzewodzący, musi zostać schłodzony poniżej swojej charakterystycznej temperatury krytycznej oraz poddany pewnemu ciśnieniu. W tych warunkach zachodzą głębokie zmiany we właściwościach fizycznych materiału - opór elektryczny spada praktycznie do zera, a z wnętrza materiału wypierane jest zewnętrzne pole magnetyczne. To wypieranie wiąże się z efektem Meissnera, które objawia się lewitacją magnetyczną nadprzewodnika nad magnesem. Nadprzewodnictwo wiąże się z efektem Meissnera. Obraz wygenerowany przez ChatGPT. Historia nadprzewodnictwa. Odkrycie pierwszego nadprzewodnika Pierwsze skroplenia tlenu dokonane przez Louis Paula Cailleteta przyczyniły się do skroplenia helu w 1908 roku. Tego zabiegu dokonał naukowiec Heike Kamerlingh Onnes. Był to fundamentalny krok w dziedzinie badań nad materiałami w ekstremalnie niskich temperaturach. Heike Kamerlingh Onnes (po prawej) i Gerrit Flim, jego główny technik, przy skraplaczu helu. Źródło zdjęcia. Z naukowego punktu widzenia powodem, dlaczego w tym czasie prężnie badano materiały w ekstremalnie niskich temperaturach, były teorie wysnute przez Paula Drude, które mówiły, że przy obniżaniu temperatury liniowo będzie spadała rezystancja. Z drugiej strony William Thomson (zwany Lordem Kelvinem) twierdził, że elektrony zostaną zamrożone i w tym wypadku rezystancja będzie nieskończona. Zespół Onnesa badał płytki złota i platyny o różnych czystościach. Podczas badań zauważono, że im czystszy był materiał, tym mniejszą rezystancję on osiągał przy obniżaniu temperatury. W pewnym momencie następowała stała rezystancja powodowana nieczystościami materiału. To obalało przytoczoną teorię Kelvina. Do kolejnych eksperymentów wybrano rtęć ze względu na wysoką czystość materiału po wykonaniu procesu destylacji. 8 kwietnia 1911 celem przeprowadzonego eksperymentu było przetestowanie systemu transferu dla ciekłego helu. Zespół pod przewodnictwem Kamerlingha Onnesa i Gerrita Jana Flima rozpoczął badania. Do pomiaru rezystancji rtęciowego przewodu użyto mostka elektrycznego oraz galwanometru lustrzanego. Interesującą obserwacją był spadek rezystancji rtęci do zera poniżej temperatury 4.2 K. Zależność rezystancji od temperatury dla różnych materiałów, w tym dla rtęci (Hg). Źródło zdjęcia. Notatki HKO. Zależność rezystancji od temperatury przewodu z rtęci. W okolicach 4.2 K widać nagły spadek rezystancji. Zgodnie z wykresem poniżej 4.2 K rezystancja wynosi 10-5 Ω. Źródło zdjęcia. Notatki HKO. Strona notatnika Onnesa. Po prawej zaznaczony fragment mówiący Rtęć praktycznie zero. Oczywiście chodzi o jej praktycznie zerową rezystancję. Źródło zdjęcia. Za swoje osiągnięcia w dziedzinie badań nad materiałami w niskich temperaturach Heike Kamerlingh Onnes otrzymał w 1913 roku Nagrodę Nobla. Od tego momentu badania nad nadprzewodnikami wzrosły. Ostatecznym celem tych badań jest odkrycie nadprzewodnika, który wykazuje właściwości nadprzewodnicze w temperaturze pokojowej i przy naturalnym ciśnieniu. Oczywiście jeszcze tego nie dokonano. Niemniej wciąż odkrywa się materiały, które charakteryzują się nadprzewodnictwem w coraz to wyższych temperaturach. Rok odkrycia materiału w funkcji jego krytycznej temperatury. Z wykresu wynika, że na przestrzeni lat odkryto wiele materiałów nadprzewodnikowych. Źródło zdjęcia. W sierpniu 2018 roku osiągnięto nadprzewodnictwo w 215 K, a w grudniu w 250 K. W marcu 2019 rekord wynosił już 280 K. ~ Źródło cytatu. Warto tutaj wspomnieć o jednej z kategorii nadprzewodników, jakimi są nadprzewodniki wysokotemperaturowe. Nie wdając się w szczegóły, są to materiały, których temperatura krytyczna wynosi powyżej 30 K (−243.15 °C) i są dużą nadzieją na wykrycie nadprzewodnika w temperaturze około pokojowej. Nadprzewodnikami nie muszą być tylko przewodniki. Pierwszym odkrytym nadprzewodnikiem wysokotemperaturowym był materiał, który w normalnych warunkach był izolatorem. Teoria działania zjawiska nadprzewodnictwa Nie istnieje jedna, uniwersalna teoria, dlaczego nadprzewodnictwo występuje w naturze. Teoria opisująca klasyczne nadprzewodniki (np. rtęć) nie sprawdza się dla nadprzewodników wysokotemperaturowych lub bardziej egzotycznych. W tym artykule spróbuję przedstawić Ci teorię BCS. Ominę aspekty matematyczne i skupię się na przedstawieniu teorii w jak najprostszy sposób. Teoria BCS to teoria sformułowana przez 3 naukowców. Są nimi: John Bardeen (wynalazca tranzystora). Leon Cooper. John Robert Schrieffer. Nazwa teorii bierze się od pierwszych liter nazwisk naukowców. W 1972 roku autorzy tej teorii otrzymali Nagrodę Nobla za jej sformułowanie. Podkreślam jeszcze raz, że to tylko teoria! Nie jest to uniwersalne wyjaśnienie tego zjawiska. Twórcy teorii BCS. Od lewej: Bardeen, Cooper, Schrieffer. Źródło zdjęcia. W naturze wyróżnia się dwa typy cząstek: bozony i fermiony. Fermiony nie mogą znajdować się na tym samym stanie energetycznym. Jest to między innymi elektron. Fermiony charakteryzują się niecałkowitym spinem. Bozony to cząstki elementarne, które lubią być razem. W przeciwieństwie do innych cząstek bozony mogą zajmować to samo miejsce i stan energetyczny w tym samym czasie. Na przykład kilka bozonów może zajmować ten sam poziom energetyczny. Posiadają spin całkowity. Zestawienie fermionów i bozonów. Źródło zdjęcia. Intuicja podpowiada, że dwa elektrony będące fermionami i mający ujemny ładunek, powinny się odpychać elektrostatycznie. Jednak w nadprzewodnikach, przy odpowiednich warunkach, pojawia się zjawisko, które pozwala im się łączyć w tzw. pary Coopera. Pary Coopera powstają dzięki oddziaływaniu elektronów z siecią krystaliczną. Elektron przechodząc przez sieć krystaliczną jonów dodatnich (np. w metalu), przyciąga je do siebie, lekko deformując sieć. Ta deformacja powoduje chwilowy nadmiar ładunku dodatniego w tym miejscu. Drugi elektron z przeciwnym spinem jest przyciągany do tej deformacji. W efekcie dwa elektrony są pośrednio przyciągane do siebie przez sieć krystaliczną. Drugi elektron powoduje przesunięcie jonów w przeciwnym kierunku, dzięki czemu sieć wraca do równowagi. Oddziaływanie fononowe, czyli pośrednie przyciąganie elektronów przez deformację sieci krystalicznej, jest stosunkowo słabe. Jednak w bardzo niskich temperaturach (bliskich zeru bezwzględnemu), gdy zanikają zakłócenia termiczne, może ono przeważyć nad naturalnym odpychaniem elektrostatycznym między elektronami. Model sieci krystalicznej. Źródło zdjęcia. Kiedy dwa elektrony o przeciwnych spinach łączą się w parę Coopera, ich całkowity spin wynosi 0. Dzięki temu zerowemu spinowi dwa fermiony zachowują się jak bozon. Wiele bozonów na jednym poziomie kwantowym opisuje się jako jedna całość, a nie jako pojedyncze cząstki. Pary Coopera również tworzą taki stan, który jest formalnie analogiczny do kondensatu Bosego-Einsteina. Oznacza to, że wszystkie pary Coopera mogą poruszać się wspólnie i synchronicznie. To kolektywne zachowanie oraz równoczesne przyciąganie i oddalanie dodatnich ładunków sprawia, że elektrony połączone w pary Coopera nie oddziałują indywidualnie z defektami sieci krystalicznej, drganiami termicznymi, czy innymi zakłóceniami w materiale, które normalnie powodują opór elektryczny. W typowym przewodniku pojedyncze elektrony są rozpraszane na takich przeszkodach, co prowadzi do strat energii i objawia się jako rezystancja. W nadprzewodniku natomiast, dzięki istnieniu par Coopera, ten mechanizm rozpraszania zostaje skutecznie wyeliminowany. Opór wynosi zero. Opis może wydawać się skomplikowany, dlatego poniżej znajduje się wyjaśnienie tego zjawiska w postaci listy punktowanej: Materiał jest schładzany do niskiej temperatury, aby wzmocnić połączenia elektronowe. Pierwszy elektron zaczyna przemieszczać się przyciągając jony dodatnie. Drugi elektron widzi tę deformację i przez lokalne większe skupienie ładunków dodatnich jest przyciągany do obszaru deformacji. Elektrony łączą się w parę Coopera. Ich całkowity spin wynosi 0, więc są bozonami. Bozony opisywane są jako jedna całość, więc te 2 elektrony działają wspólnie w tym samym czasie. Opór zanika przez brak zderzeń między elektronami a dodatnimi jonami. To efekt kolektywnego ruchu całej chmury par Coopera. Wizualizacja działania pary Coopera. Źródło zdjęcia. Efekt Meissnera Interesującym zjawiskiem (oraz najbardziej efektownym), które jest nieodłącznie związane z nadprzewodnikami jest Efekt Meissnera. W normalnych warunkach zewnętrzne pole magnetyczne wnika do przewodnika. Jeżeli materiał nadprzewodnikowy obniżymy poniżej temperatury krytycznej oraz zadziałamy na niego zewnętrznym polem magnetycznym, to pole magnetyczne będzie wypychane z nadprzewodnika. Powodem jest indukowanie się prądu w wierzchniej warstwie materiału, które kompensuje zewnętrzne pole magnetyczne. Skutkiem jest lewitacja magnetyczna. Nadprzewodnik jest uwięziony w liniach zewnętrznego pola magnetycznego, dlatego pozostaje on w jednym miejscu w przestrzeni. Warto wspomnieć, że przy odpowiednio silnym polu magnetycznym nadprzewodnik traci swoje właściwości nadprzewodnicze! Wizualizacja działania Efektu Meissnera. Po lewej nadprzewodnik o temperaturze większej niż temperatura krytyczna. Po lewej o temperaturze mniejszej niż krytyczna. Skutkiem jest wypychanie pola magnetycznego z materiału. Źródło zdjęcia. Zastosowania nadprzewodników Nadprzewodniki, dzięki swoim wyjątkowym właściwościom fizycznym, znajdują potencjalne zastosowanie w wielu dziedzinach nauki i technologii. Ich rosnące znaczenie wynika z możliwości, jakie oferują w zakresie nowoczesnych rozwiązań inżynieryjnych i przemysłowych. Jeszcze nie znamy wszystkich możliwych zastosowań nadprzewodników, ponieważ ich pełny potencjał ograniczają trudne warunki pracy. Wymagania te wiążą się z wysokimi kosztami i wyzwaniami technologicznymi, które obecnie ograniczają ich szersze zastosowanie. 1. Kable i przewody nadprzewodnikowe W odpowiedzi na rosnące zapotrzebowanie na wydajny przesył energii coraz większe znaczenie zyskują kriokable nadprzewodnikowe, zwłaszcza te wykonane z wysokotemperaturowych materiałów nadprzewodnikowych. Umożliwiają one przesył prądu elektrycznego przy minimalnych stratach mocy. To rozwiązanie szczególnie dobrze sprawdzałoby się w gęsto zabudowanych obszarach miejskich, gdzie przestrzeń dla infrastruktury energetycznej jest mocno ograniczona. Model kriokabla z wysokonapięciowymi doprowadzeniami prądowymi. Źródło zdjęcia. Takie przewody charakteryzują się bardzo małym przekrojem. Takie rozwiązania były już implementowane. 2. Kolej i pociągi nadprzewodnikowe Zastosowanie nadprzewodników pozwala na wytworzenie silnego i stabilnego pola magnetycznego, dzięki czemu możliwa jest bezoporowa lewitacja i poruszanie się z bardzo dużą prędkością. Brak tarcia sprawia, że takie pociągi są wyjątkowo ciche, co czyni je atrakcyjną alternatywą dla tradycyjnych środków transportu naziemnego. Budowa pociągu Maglev wykorzystującego nadprzewodniki. Źródło zdjęcia. 3. Kriotron – element przełączający Wykorzystując zmiany zewnętrznego pola magnetycznego, można nadprzewodnik włączać i wyłączać. Jest to sposób na stworzenie ultra szybkiego elementu przełączającego. Taki element jest nazywany kriotronem. Kriotron. Źródło zdjęcia. Kriotron jest ogromną nadzieją na stworzenie w pełni funkcjonalnego ultraszybkiego komputera. Podsumowanie Nadprzewodniki to wielka nadzieja dla współczesnej energetyki i technologii. Brak strat przy przesyle energii elektrycznej, lewitujące pociągi lub super szybkie elementy przełączające to tylko niektóre z obszernej gamy potencjalnych zastosowań nadprzewodników, których nie zdążyłem omówić w tym artykule. Przed nami wiele odkryć, biorąc pod uwagę, że badania nad tymi materiałami wciąż trwają. Mimo wielu postępów dokładny mechanizm nadprzewodnictwa wciąż nie jest w pełni poznany. Miejmy nadzieję, że szybko się to zmieni.
- 1 odpowiedź
-
- 1
-
-
- Początkujący
- metal
-
(i 1 więcej)
Tagi:
-
schemat Sterowanie DC za pomocą potencjometru i tranzystora
Torston opublikował temat w Sprawdzanie schematów
Emm, mam taki problem, pomimo że raczej dobrze połączyłem wszytko to nadal nie działa, próbowałem u chataGpt ale jakoś zbytnio nie pomógł, może wam się uda, próbuje za pomocą potencjometru i tranzystora NPN kontrolować prędkość silnika DC, niestety gdy dodaje potencjometr i tranzystor wszytko przestaje działać, stabilizator liniowy sam w sobie działa, reszta częsci też.- 2 odpowiedzi
-
- silnik DC
- Elektronika
-
(i 1 więcej)
Tagi:
-
Witam. Mam pytanie jaką gaśnicę lub spray gaśniczy kupić do dedykowanego kursu elektroniki Forbotu chcę czuć się bezpiecznie nawet jeżeli np. zapalenie się czegoś jest mało prawdopodobne. Wiem, że już długo jestem na forum, ale miałam pewne problemy, które uniemożliwiały mi naukę elektroniki. Pozdrawiam.
-
Interesuję się chemią i czasami do moich „doświadczeń” przydało by mi się mieszadło magnetyczne. Niestety, takie urządzenia są dość drogie (ceny zaczynają się od 100-150 złotych), skąd pomysł zrobienia mieszadełka DIY. Potrzebne materiały: Silnik z nakładką Włącznik, np. dźwigniowy Obudowa (ja użyłem Kradex Z123, można też wydrukować 3D) Gniazdo DC Sterownik silnika PWM 2 Magnesy neodymowe Małe mieszadełko (można kupić na Allegro lub Aliexpress) (kosztuje ok. 5zł) Poza tym można dodać diodę sygnalizującą zasilanie. Schemat połączeń jest tak łatwy, że chyba każdy sobie z nim poradzi. Ale na wszelki wypadek zamieszczę go tutaj. Zasilanie: Połącz gniazdo DC z przełącznikiem ON/OFF. Wyjście przełącznika podłącz do zasilania całego układu. Dioda LED: Połącz anodę (dłuższą nóżkę) diody z wyjściem przełącznika. Do katody (krótszej nóżki) podłącz rezystor, a następnie podłącz to do masy. Sterownik silnika: Połącz wejście zasilania sterownika do przełącznika ON/OFF, a wyjście sterownika do silnika. Był trochę problem z upchnięciem w obudowie ale działa i nie haczy o silnik. I kilka zdjęć z budowy Urządzenie może nie jest idealne, ale na pewno tańsze niż drogie, kupne mieszadła .
-
Współczesne narzędzia pozwalają na tworzenie skomplikowanych symulacji rzeczywistych systemów. Taki zabieg pozwala na przetestowanie układu w różnych okolicznościach. Dzięki temu inżynierowie i naukowcy mogą przeprowadzać analizy oraz optymalizować działanie systemów bez konieczności narażania rzeczywistych obiektów na ryzyko. Dzięki modelowaniu komputerowemu i identyfikacji możemy dokładnie zrozumieć dynamikę obiektów i układów, i precyzyjnie sterować ich działaniem. W tym artykule przedstawię Ci: Czym jest modelowanie i identyfikacja? Klasyfikację modeli. Różne postacie modeli. Identyfikację w Matlab. Elektroniczny przykład. Modelowanie pozwala na symulację systemu, który chcemy zbudować. Źródło zdjęcia. Czym jest modelowanie i identyfikacja? Konstrukcja, schemat lub opis ukazujący działanie, budowę, cechy, zależności jakiegoś zjawiska lub obiektu - definicja PWN modelu. Powszechnie znanym przykładem modelowania jest modelarstwo. Odwzorowując samolot, analizujemy jego pełnowymiarowy odpowiednik i konstruujemy jego pomniejszoną wersję, łącząc ze sobą odpowiednie elementy zgodnie z rzeczywistą strukturą. W podobny sposób działa modelowanie matematyczne – zamiast fizycznych części używamy równań i zależności, aby oddać kluczowe właściwości obiektu. Dzięki temu, mając rzeczywisty obiekt, możemy go opisać za pomocą równań matematycznych. Takim obiektem może być samochód, jego silnik, czy nawet kondensator w jego sterowniku. Po co modelujemy? W inżynierii stosuje się to przede wszystkim do testowania zachowania obiektu pod wpływem różnych czynników zewnętrznych, takich jak sterowanie za pomocą sygnałów wejściowych o zmiennym charakterze. Dzięki modelowaniu możemy zbadać wpływ zakłóceń na obiekt. Z punktu widzenia sterowania, dzięki modelowi możemy przeprowadzić symulację różnych strategii regulacji. Współczesne narzędzia pozwalają modelować i identyfikować nawet największe systemy i urządzenia. Źródło zdjęcia. Równie ważnym pojęciem co modelowanie jest identyfikacja. Polega ona na znalezieniu modelu istniejącego systemu na podstawie przeprowadzenia eksperymentów. W trakcie identyfikacji szukamy zależności wyjścia do wejścia. Innymi słowy, podanie sygnału na obiekt spowoduje wygenerowanie wyjścia zależnego od sygnału wejściowego. Znalezienie zależności tych sygnałów pozwoli na wygenerowanie modelu. Podobnie jak w modelowaniu, identyfikacja jest użyteczna przy tworzeniu symulacji sterowania obiektem. Dobieranie nastaw PID do obiektu może być czasochłonne, ale po wygenerowaniu modelu symulacje są zazwyczaj szybkie, co pozwala na przetestowanie wielu nastaw w krótkim czasie i wybranie tych najlepszych. Podsumowując: Modelowanie ma miejsce, gdy wyprowadzamy model obiektu za pomocą praw fizyki i równań matematycznych. Identyfikacja opiera się na znalezieniu modelu istniejącego już systemu na podstawie eksperymentów. Klasyfikacja modeli Główną klasyfikacją jest podział modeli na czarne skrzynki (black box) i białe skrzynki (white box). W przypadku czarnych skrzynek nie posiadamy żadnej informacji o zachowaniu układu. Czarną skrzynką może być mikser audio z kilkoma nieoznaczonymi pokrętłami, ponieważ obracając losowo gałki (nie wiedząc, jakie dokładnie parametry zmieniamy) słyszymy zmodyfikowany dźwięk (nie wiedząc, jaki dokładnie efekt uzyskamy). O białych skrzynkach wiemy wszystko, tym samym możemy przewidzieć jego zachowanie w każdej okoliczności. Możemy powiedzieć, że białą skrzynką jest samochód z bardzo dokładną dokumentacją techniczną, która zawiera każdy szczegół. Różnica między czarnymi i białymi skrzynkami. O czarnych skrzynkach nic nie wiemy, natomiast białe skrzynki są w pełni transparentne i dają nam pełny wgląd w działanie systemu. Różne postacie modeli W jaki sposób można przedstawić model? Istnieje na to wiele sposobów. Jedne z najpopularniejszych to: Równania różniczkowe: opisują obiekt za pomocą równania, które zawiera funkcję zależną od czasu i jej pochodne. Równania uwzględniają zmiany obiektu w czasie. Równania różniczkowe mogą posłużyć do pełnego opisu systemów modelowanych oraz do tworzenia białych skrzynek. Znając prawa fizyki jakiegoś systemu możemy wyprowadzić równania, które w pełni opisują ten system. Przykład równania różniczkowego. Równanie różniczkowe możemy wykorzystać do zamodelowania masy w wodzie, która jest zawieszona na sprężynie. Źródło zdjęcia. Transmitancja operatorowa (funkcja przejścia): matematyczne narzędzie, które umożliwia opisanie dynamiki systemu poprzez związek między sygnałem wyjściowym a sygnałem wejściowym, wyrażonym w dziedzinie zespolonej 's'. Transmitancja jest szczególnie użyteczna w identyfikacji czarnych skrzynek, gdzie mając znane sygnały wejściowe i wyjściowe, możemy określić zależność, która reprezentuje cały układ. Przykład obliczenia transmitancji operatorowej układu elektronicznego RC. Źródło zdjęcia. Oczywiście, istnieje wiele innych metod modelowania obiektów, takich jak równania stanów. Każda z metod modelowania ma swoje specyficzne zastosowania i jest przydatna w różnych kontekstach. Identyfikacja w Matlab. Elektroniczny przykład Jeżeli chcesz się dowiedzieć, w jaki sposób modelować w środowisku Simulink, koniecznie przeczytaj artykuł o Simulinku, w którym został przedstawiony przykład modelowania masy w wodzie zawieszonej na sprężynie. W tym artykule skupimy się na identyfikacji czarnej skrzynki w Simulinku. Spróbujemy wyprowadzić jej model i przy okazji pokażę Ci bardzo przydatne narzędzie System Identification. Służy ono do identyfikacji obiektów i wyprowadzania modeli pod różnymi postaciami. Spróbuj w trakcie czytania artykułu zgadnąć jaki obiekt znajduje się pod czarną skrzynką. Podpowiem tylko, że to układ elektroniczny. Załóżmy, że mamy obiekt przedstawiony poniżej. Posiada on jedno wejście i jedno wyjście. Czarna skrzynka w Simulink. Czarna skrzynka, którą stworzyłem w Simulinku, to jedynie symulacja rzeczywistej sytuacji, w której przeprowadzamy eksperymenty na prawdziwym obiekcie. W normalnych warunkach wszystkie sygnały wejściowe pochodzą z różnych urządzeń, takich jak generator funkcyjny, i są podawane na rzeczywisty układ, który generuje sygnały wyjściowe. Te sygnały są odczytywane za pomocą narzędzi, które mogą je rejestrować i przenieść je na dysk komputera. Zapisane dane, czyli przebiegi tych sygnałów, analizowalibyśmy w ten sam sposób, co w późniejszej części artykułu. Zgodnie z regułą identyfikacji powinniśmy wprowadzić pewne wejście i obserwować wyjście. Podanie wejścia i obserwacja wyjścia wraz z wejściem. Na wejście obiektu podajmy sygnał o wartości 1 i obserwujmy sygnał wyjściowy. Zmiana parametrów bloku Step. Od początku symulacji będziemy pobudzali układ sygnałem o wartości jeden. Po czasie 0.1 s ten sygnał wyzeruje się. Rezultat symulacji. Czy potrafisz na tym etapie ustalić, jaki układ elektroniczny kryje się pod czarną skrzynką? Mając informację o wejściu i wyjściu obiektu możemy wykorzystać System Identification Toolbox i znaleźć model czarnej skrzynki. Jednak przed włączeniem tej aplikacji musimy przenieść interesujące nas sygnały do Workspace Matlaba. Dodajmy więc bloki To Workspace i podłączmy je do linii sygnałowych. Dodanie dwóch bloków To Workspace wraz z połączeniami. Przykładowe parametry bloku To Workspace. Format ustawiony jest na Array. Rezultat przeniesienia danych z Simulinka. Narzędzie do identyfikacji włączymy w Matlab za pomocą wpisania komendy systemIdentification w Command Window. Po wpisaniu komendy wyskoczy nam okno, w którym będziemy mogli rozpocząć swoją pracę. Okno główne System Identification. Na początku musimy wczytać zapisane wcześniej dane. W tym celu należy rozwinąć listę Import data w lewym górnym rogu i wybrać opcję Time domain data. Dzięki niej będziemy mogli importować dane w dziedzinie czasu. Importowanie danych w dziedzinie czasu. Okno importowania danych. Możemy uzupełnić odpowiednie pola o nasze dane: Input: sygnały wejściowy na nasz obiekt. W naszym przypadku wektor o nazwie out.wejscie. Output: wyjście/odpowiedź naszego obiektu. Zmienna out.wyjscie. Data Name: nazwa reprezentująca nasze dane. Możesz tutaj wpisać cokolwiek. Start Time: czas początkowy symulacji. Nasza symulacja zaczynała się w czasie 0. Sample time: czas próbkowania. Tę daną znajdziesz w Workspace po zmienną tout. Różnica między drugim a pierwszym czasem to czas próbkowania. Uzupełnienie pól o dane symulacji. Po wciśnięciu przycisku Import w oknie głównym aplikacji ukaże się kafelek reprezentujący nasze dane. Klikając pole wyboru Time plot wyskoczą wykresy z naszymi przebiegami. Efekt importu danych. Rozwinięcie listy Preprocess pozwala na obróbkę danych przed procesem identyfikacji. Dostępne opcje pozwalają na filtrowanie sygnałów, wybranie zakresu do identyfikacji lub zmianę próbkowania sygnałów. Lista przetwarzania wstępnego importowanych sygnałów. Nie potrzebujemy przetwarzać naszych sygnałów. Zabierzmy się za identyfikację. Klikając listę Estimate wyświetlą nam się dostępne opcje możliwych technik modelowania. Znajdziemy tutaj takie postacie modeli jak modele funkcji przejścia (Transfer Function Models), modele przestrzeni stanów lub modele ARX. Dostępne postacie modeli. Wybierzmy funkcję przejścia. Wyskoczy okno konfiguracji identyfikacji modelu. Estymacja funkcji przejścia. Oprócz nazwy wygenerowanego modelu możemy ustawić ilość zer i biegunów. Zasadniczo próbujemy przewidzieć, jaką postać ma nasz obiekt. Nasz przypadek nie wygląda zbyt skomplikowanie, więc wybierzmy 1 biegun i 0 zer. Konfiguracja estymacji modelu w postaci funkcji przejścia. Estymujmy nasz obiekt poprzez wciśnięcie przycisku Estimate. Przebieg identyfikacji. Wyskoczyło okno z przebiegiem identyfikacji i jej rezultat. Wykres przedstawia, w jaki sposób wygenerowany model odpowiada naszym danym. Akurat ten przykład nie jest zbyt edukacyjny, ponieważ wygenerowany model pokrywa się w 100% z naszym sygnałem wyjściowym. Przykład identyfikacji wykonanej przez MathWorks. Znaleziony model nie pokrywa się w 100% z sygnałem wyjściowym obiektu. Na szaro wyjście obiektu, a na niebiesko znaleziony model. Wróćmy do okna głównego aplikacji. Po procesie identyfikacji pojawi się kafelek z naszym modelem. Dodany model w przeglądarce. Aby wyświetlić porównanie wygenerowanego modelu wraz z naszymi sygnałami wyjściowymi, należy wcisnąć ten model oraz model output. Przebieg znalezionego modelu. Klikając dwukrotnie na okno naszego modelu, wyświetlą nam się szczegółowe informacje o tym modelu. Szczegóły na temat modelu. Widnieje tu jego transmitancja, parametry i kolor, pod jakim widnieje na wykresach. Eksport modelu jest bardzo prosty. Wystarczy przeciągnąć okienko modelu na opcję To Workspace. Eksport modelu do Workspace Matlaba. W taki sposób wykorzystaliśmy tę aplikację do identyfikacji czarnej skrzynki. Przedstawiłem tylko niektóre z dostępnych możliwości aplikacji systemIdentification. Oprócz tego możesz również: Importować dane, które są w dziedzinie częstotliwości. Generować wiele modeli dla jednego obiektu. Wyświetlać zera i bieguny wygenerowanego modelu na wykresie. Usuwać sygnały wejściowe i wyjściowe. Oraz wiele więcej. Eksportowany model pod nazwą tf1. Wróćmy do Simulinka. Wykorzystamy blok LTI System. Jednym z jego parametrów jest nazwa systemu, który ma reprezentować. Dzięki temu ten blok będzie implementował znaleziony przez nas model. LTI System. Jako jego parametr wpisujemy wygenerowany model. Podobnie jak z czarną skrzynką, na wejście naszego modelu podamy wejścia i będziemy obserwowali wyjścia. Podamy te sygnały jednocześnie na black box, jak i na nasz model. Wynik symulacji. Podobnie jak w systemIdentification wykresy pokrywają się praktycznie w 100%. Wykorzystajmy inny sygnał, na przykład sinusoidę. Pobudzenie obiektów sinusoidą. Wykresy również się pokrywają. W taki sposób dokonaliśmy identyfikacji czarnej skrzynki. Podkreślę jeszcze raz: czarną skrzynką może być rzeczywisty układ. Poprzez dokonanie pomiarów i eksperymentów w rzeczywistości, możemy zmierzone sygnały przenieść do Matlaba, dokonać identyfikacji i znaleźć model tego układu. A jaki model skrywał się pod tą transmitancją? Ujawniona czarna skrzynka. Nasza czarna skrzynka stała się białą skrzynką. Była to implementacja transmitancji operatorowej układu RC. Transmitancja, która ukrywała się pod czarną skrzynką jest identyczna jak ta po identyfikacji. Dodatkowo współczynniki modelu, który znaleźliśmy były takie same jak w rzeczywistym obiekcie. Co prawda model miał trochę inną postać niż czarna skrzynka, ale dokonując kilku przekształceń otrzymalibyśmy to samo. Podsumowanie Dzięki modelowaniu i identyfikacji jest możliwe zrozumienie zachowania obiektu przed faktycznym wdrożeniem sterowania lub innych procesów inżynierskich. Współczesne narzędzia umożliwiają tworzenie zaawansowanych modeli matematycznych i ich symulację, co znacząco redukuje ryzyko błędów oraz koszty związane z eksperymentami na rzeczywistych obiektach. W dobie rosnącej złożoności systemów technicznych oraz zaawansowanych algorytmów sterowania, narzędzia te stają się nieodzownym elementem pracy inżynierów i naukowców w wielu dziedzinach, od automatyki przemysłowej po medycynę i robotykę. Jeżeli chcesz zobaczyć identyfikację w praktyce, to odsyłam Cię do artykułu o implementacji regulacji PID dla silnika z enkoderem.
-
- 7
-
-
- Początkujący
- Elektronika
- (i 2 więcej)
-
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
- 6 odpowiedzi
-
- 8
-
-
- elektronika
- arduino
-
(i 3 więcej)
Tagi:
-
Witam, Od dawna interesowałem się elektroniką, lecz dopiero od zeszłego roku poświęciłem na to więcej uwagi, i tak zacząłem intensywną naukę. Głównie moje projekty bazują na oświetleniu(różnego rodzaju diody LED), po prostu wszystko co daje światło. Chciałbym zaznaczyć, że niniejszy projekt może nie jest nie wiadomo czym, ale dał mi ogromną wiedzę jak posługiwać się w praktyce diodami LED. Zaczynając krótkim wstępem, następnie przechodząc przez 5 etapów budowy oświetlenia, na końcu nasze oczy będą mogły delektować się filmem demonstrującym działanie całego układu. Słowo wstępu Jedną z kategorii, w której stosuje ledy są zestawy klocków(Lego, Chińskie itp.). Ktoś może rzec, przecież można kupić gotowe moduły oświetlenia, nawet specjalnie dedykowane pod określone modele. Tylko właśnie są co najmniej 3 powody dla których warto takie oświetlenie zrobić samemu: Cena, pomijając kwoty samych klocków, zestawy oświetleniowe nie są tanie(wliczając nawet te z chińskich stron) i chodzi mi bardziej o takie konstrukcje jak ta opisana w dalszej części tego tematu. Customizacja, o ile gotowe zestawy spełniają większość wymagań nabywców, to nie każdy może się tym zadowolić(np. mimo, że Lego posiada różne czujniki itp.). Mamy możliwość pokazania swojej własnej kreatywności. Poszerzanie wiedzy, zaprojektowanie następnie zbudowanie czy rozwiązywanie problemów samodzielnie w bardzo dużym stopniu rozwija myślenie, co wpływa na lepsze efekty w przyszłości. Dzisiejszym modelem konstrukcyjnym jest słynna wieża Eiffla o wymiarach 57x57cm i aż 1.5m wysokości! Budowa Całość składa się z 5 etapów, które są opisane poniżej ze zdjęciami i krótkimi objaśnieniami. 4 układy oświetlenia(większe i te bardziej prymitywne) oraz elektronika zasilająca. Działanie całości pokazuje film na końcu. Do budowy oświetlenia wykorzystano diody led 5mm oraz łańcuch połączonych ze sobą równolegle małych diod led(zob. zdj. poniżej), które można kupić w PEPCO, 10 metrów za ok. 10 zł. Cały łańcuch jest emaliowany, także można go ciąć w dowolnym miejscu i tak samo łączyć. Etap 1 Pierwsza grupa oświetlenia zrobiona z powyższego łańcucha o długości ok. 5 metrów. Wieża liczy 1.5m, lampki umieszczono na każdym z ramion od dołu do góry(pomijając wierzchołek), więc wychodzi ok. 4 x 1.2m. Ta grupa lampek jest zasilana z 9V przez 2 rezystory połączone szeregowo 68Ω 0,5W, co daje 136Ω 1W(bo nie miałem innych). Rezystory zostały dobrane metodą prób i błędów, ponieważ oryginalnie lampki pracują na 5V, żeby się szybko nie przepaliły potrzebny był większy rezystor(Oryginalny rezystor z tych lampek to 10Ω 0,5W). Rezystor przy 9V mocno się nagrzewał, więc jego moc musiała być 1W. Efektem powyższego jest taki oto efekt: Etap 2 Kolejną grupą oświetlenia są małe latarnie umieszczone pod konstrukcją. W tej części również wykorzystano łańcuch lampek. Jednak pocięto go na 48 części, bo tyle jest latarni. W tym etapie było dużo lutowania, samo to zajęło cały dzień. Wcześniej trzeba było poprzewiercać się przez klocki, żeby doprowadzić każdego leda do latarni. Wszystko polutowano pod spodnią warstwą konstrukcji(zob. zdj. poniżej - prawe). Ledy(48 sztuk) połączone równolegle zasilane są z napięcia 3,3V przez rezystor 10Ω 0,5W. Każde łączenie zabezpieczone jest klejem na gorąco(zob. zdj.), dobra metoda zabezpieczania lutów przed różnymi warunkami środowiskowymi. Etap 3 Kolejny układ jest banalny. Po prostu połączono 4 diody led 5mm, 2x czerwona, niebieska i biała, szeregowo(symulacja flagi Francji). Zasilony jest z 12V przez rezystor 220Ω. Diody zamontowano na iglicy.(Sorki za rozmyte zdjęcie) Etap 4 Teraz najciekawszy rodzaj oświetlenia(według mnie), czerwone światło biegnące w dół(możliwość sterowania szybkością, potencjometrem na płytce i przerobienie świecenia z dołu do góry). Do tego celu wykorzystano zestaw AVT EDU631(zob. zdj.). Odlutowano diody led z płytki i przylutowano przewody prowadzące do każdego z 4 "pięter" konstrukcji, połączonych po 4 ledy czerwone równolegle ze sobą. Moduł zasilany jest prosto z 5V i pobiera najwięcej prądu - ok. 250mA. Gif słabej jakości, lecz pokazuje samą zasadę działania, lepsza jakość na końcowym filmie. Etap 5 Dlaczego każda sekcja oświetlenia zasilana jest z 4 różnych napięć? Oczywiście można było by wszystko zasilić z 12V(najwyższe napięcie jednego z układów), lecz należałoby zastosować wielowatowe rezystory, gdzie były by duże straty mocy. Wydaje mi się, że praktyczniejsze jest stosowanie stabilizatorów liniowych napięcia. W tym celu wszystko zasilane jest przez eliminator baterii np. AVT5872. Nie chciałem też przeciążać stabilizatorów, ponieważ układ z etapu 4 i tak nagrzewa dość stabilizator L7805CV, dlatego taki układ bardzo dobrze sprawdził się w tym zastosowaniu do rozdzielenia i zmiany napięć. Ostatnią rzeczą, którą chciałbym opisać, przed końcowym pokazem, jest kwestia estetyczna. Przewody jakie wykorzystywane są w tego typu klockach to 32AWG(miara określania średnicy przewodu), które można bez problemu chować między klocki. Ja użyłem przewodów 26AWG, jednak są zbyt grube do takich zastosowań(zob. zdj. poniżej), mimo to nie są mocno widoczne. Akurat na tamtą chwilę miałem tylko takie przewody i po drugie gonił mnie czas, żeby pokazać efekt na święta zebranemu gronu widzów. Teraz można zauważyć ile kosztował by specjalny zestaw z przewodami, ledami, zasilaniem do tej konstrukcji, gdzie liczone jest w metrach. Mały zestaw na chińskiej stronie chodzi od ok. 30 do 50 zł. Rozwiązywanie problemów W konstrukcji napotkałem jeden problem - z zasilaniem. Okazało się, że przy świeceniu oświetlenia z etapu 4(pobór ok. 250mA) pozostałe oświetlenie przygasało. Problemem był zasilacz o maksymalnym prądzie 300mA. Ponieważ cała konstrukcja pobiera 380mA(a gdzie jeszcze zapas dla zasilacza). To tak na marginesie. Demonstracja Oto całkowity efekt, przed oglądaniem sprawdźcie głośność . Oczywiście film nie oddaje w pełni tego, co na żywo. https://vimeo.com/manage/videos/1059316858/165a40d714 PS. Czujcie się wolni wytykania błędów i swoich opinii.
- 2 odpowiedzi
-
- 6
-
-
- Elektronika
- LED
-
(i 2 więcej)
Tagi:
-
Firma Arduino głównie jest znana ze swoich płytek deweloperskich o tej samej nazwie. W sprzedaży jest wiele rodzajów Arduino, ale czy wiedziałeś, że Arduino ma w swojej ofercie sterowniki PLC? Arduino Opta jest to sterownik micro PLC wyprodukowany we współpracy z firmą Finder, która specjalizuje się w projektowaniu i produkcji komponentów elektromechanicznych, takich jak przekaźniki. Chociaż projekt miał swoją premierę już dość dawno, to do tej pory nie był pokazywany szerzej na Forbocie. Mam nadzieję, że ten artykuł opisujący moje pierwsze uruchomienie tego sterownika będzie pomocny dla osób, które chcą rozpocząć przygodę z Arduino Opta. W tym artykule przedstawię Ci: Czym właściwie jest Arduino Opta? Twoje pierwsze kroki z tym sterownikiem. Jakie funkcje i możliwości oferuje? Projekt: implementacja sterowania temperaturą w terrarium. Arduino Opta PLC. Źródło zdjęcia. Czym właściwie jest Arduino Opta? Sterownik charakteryzuje się swoją małą skalą. Mikro PLC oznacza, że jest to urządzenie wyprodukowane w standardzie zwykłego sterownika, ale w mniejszej skali - np. mniej wejść i/lub wyjść, mniej funkcjonalności. Takie rozwiązania sprawdzą się w mniej skomplikowanych aplikacji. A jakie parametry cechują sterownik? Generalna specyfikacja PLC. Źródło zdjęcia. Sterownik jest certyfikowany, co oznacza, że można go stosować w przemyśle - ograniczeniem są parametry techniczne, takie jak pamięć, klasa ochrony IP, itp. Sterownik na pewno nie ma problemu z szybkością przez swój dwurdzeniowy procesor STM32. Parametry wejść analogowych. Źródło zdjęcia. Parametry wejść cyfrowych i wyjść przekaźnikowych. Źródło zdjęcia. Maksymalny prąd wyjściowy na pojedyncze wyjście sterownika wynosi 10 A. W sterowniku zastosowano wyjścia przekaźnikowe, które są o wiele wolniejsze od tranzystorowych. Przez to czas przełączania stanu wyjść jest rzędu milisekund, ale w zamian możliwe jest przełączanie stosunkowo wysokich prądów, przy jednoczesnej izolacji sygnałów. Po więcej informacji nt. danych technicznych odsyłam do dokumentacji sterownika. Pierwsze kroki z Arduino Opta: micro PLC Producent oferuje bezpłatny kurs, który wprowadzi Cię w podstawy sterowników logicznych, a także pokaże jak możesz stworzyć swoje pierwsze programy. Są to świetne materiały dla początkujących. Dowiecie się czym są sterowniki PLC, jakie są języki programowania lub jak odczytywać wartości analogowe z czujnika temperatury. Dodatkowo kurs wprowadzi Cię w techniki łączenia ze sobą kilku sterowników za pomocą standardu Modbus TCP/IP. Dla zainteresowanych polecam mój bliźniaczy artykuł, w którym omówiłem dokładniej czym są sterowniki PLC. Pomoże Ci przy pierwszych uruchomieniach programów na Arduino Opta. A teraz dość gadania i przejdźmy do praktyki! W poniższym artykule testuję Arduino PLC Starter Kit, który możecie zakupić na Botlandzie. Na zestaw składają się: sterownik Arduino Opta WiFi. moduł DIN Simul8 (przełączniki). moduł DIN Celcius (płytka grzewcza wraz z czujnikiem temperatury). Co oferuje Arduino Opta? Sterownik z dedykowanym środowiskiem programistycznym Arduino PLC IDE to naprawdę potężne narzędzie. Nie sposób w jednym artykule zmieścić wszystkich dostępnych możliwości, dlatego poniżej znajdziesz skrót tych najważniejszych, a potem przejdziemy do realnego wykorzystania Arduino Opta. Do testów oscyloskopu i trybów debugowania wykorzystałem środowisko Arduino PLC IDE. WiFi i Bluetooth zostały przetestowane w Arduino IDE. Wszystkie adresy ukryłem - lepiej dmuchać na zimne . a) Proste programowanie i diody Sterownik zaprogramujemy za pomocą USB-C w bardzo szybki i przyjemny sposób. Do dyspozycji na sterowniku mamy kilka diod, których zachowanie możemy zaprogramować w taki sposób, jaki chcemy. b) Cyfrowy oscyloskop W Arduino PLC IDE możemy śledzić konkretne wartości włączając oscyloskop i dodając do niego interesującą nas zmienną. Wygenerowany wykres możemy analizować i pobrać. Dodanie do oscyloskopu zmiennej sens_temp_cels, która symuluje temperaturę. Widok oscyloskopu. c) WiFi Wykorzystuję Arduino Opta WiFi, więc głupio byłoby nie przetestować jego tytułowej funkcjonalności. Na początku połączyłem się z moim domowym WiFi za pomocą przykładu Scan Network Advanced. Wykrycie dostępnych sieci WiFi i wypisanie ich na Serial Monitor. Udane połączenie z moją siecią WiFi. Do połączenia wykorzystałem ten przykład. Czas na rozmowę! Wykorzystuję przykład WiFiAdvancedChatServer, dzięki któremu mogę stworzyć chat server i wysyłać wiadomości do sterownika. Za pomocą laptopa połączę się bezprzewodowo z serwerem i wyślę wiadomość. Sterownik będzie połączony z moim komputerem stacjonarnym za pomocą przewodu, na którym wyświetlę odebraną wiadomość. Przykład musiałem lekko zmodyfikować, aby wyświetlał znaki, a nie pełne wiadomości. Wtedy lepiej działało . Połączenie do WiFi i utworzenie chat server. Strona Arduino Opta. Połączenie do serwera za pomocą komendy telnet <IP> i wpisanie wiadomości. Strona laptopa. Odebrana wiadomość i rozłączenie klienta. Strona Arduino OPTA. d) Ethernet i Modbus Niestety nie byłem w stanie przetestować tych funkcjonalności, dlatego odsyłam do materiałów od Finder . e) Bluetooth Low Energy Oprócz WiFi jest także możliwość połączenia się ze sterownikiem za pomocą Bluetooth! Skan pobliskich urządzeń z włączonym Bluetooth. Opta wykrył mój telefon. Wykorzystałem przykład Arduino BLE Scan. f) Live debug mode Środowisko Arduino PLC IDE oferuje podglądanie stanu zmiennych na żywo. Było to bardzo przydatne, gdy tworzyłem algorytm do sterowania terrarium, który przedstawię w dalszej części tego artykułu. Podgląd zmiennych na żywo. Aktywowane zmienne są podświetlone. Wyświetlany jest także odliczony czas timera obok jego wyjścia ET. g) Debugowanie Wykonywany kod można debugować, zaznaczając odpowiednie punkty stopu. Wynik debugowania. W prawym dolnym rogu możemy zauważyć status sterownika HALTED, co oznacza, że przez debugowanie został zatrzymany. Twój pierwszy projekt wykorzystując Opta! W imię zasady Learning-by-doing i w celu przedstawienia możliwości sterownika wymyślmy problem, na podstawie którego krok po kroku przeprowadzę Cię przez podstawy programowania tej jednostki. Zaprojektujmy program sterujący ogrzewaniem terrarium. Nie jestem ekspertem zoologii. Użycie algorytmu na żywych jednostkach na własną odpowiedzialność! System ma działać zgodnie z następującymi zasadami: Standardowe ogrzewanie: Terrarium jest ogrzewane co minutę, aby utrzymać temperaturę 27°C, gdy drzwi są zamknięte. Zamknięcie zrealizujemy za pomocą symulacji krańcówki - wykorzystamy przełącznik. Zakładamy, że jeżeli drzwi są otwarte, to zmienna drzwi = 1. Jeżeli są zamknięte, to drzwi = 0. Reakcja na otwarcie drzwiczek: W stanie otworzonego terrarium niemożliwe jest załączenie grzałki. Jeśli drzwiczki zostaną otwarte i zamknięte, system natychmiast podnosi temperaturę do 30°C. Tryb manualny: Użytkownik może włączyć ogrzewanie ręcznie za pomocą przełącznika. Grzałka działa w tym trybie, dopóki przełącznik nie zostanie zwolniony. Informacja dla programisty: Po podłączeniu sterownika do komputera i włączeniu terminala powinny co 5 sekund pojawiać się informacje o: Temperaturze. Stanie drzwi (otwarte/zamknięte). Informacje mogą pojawić się także po wciśnięciu przycisku na PLC (USER). Zaprojektowany algorytm powinien uwzględniać bezpieczeństwo i zapewniać płynne przełączanie między trybami pracy. Włączenie grzałki powinno być zasygnalizowane włączeniem LED 1 na PLC. Połączenie układu Zanim zabierzemy się do programowania musimy wykonać odpowiednie połączenia między sterownikiem a modułami. Starter Kit oferuje przewody, za pomocą których możemy wszystko połączyć. Poniżej znajduje się schemat, w jaki sposób należy połączyć układ: Schemat połączeniowy dla naszego ćwiczenia. Powyższy układ połączono następująco: +24 V połączono razem między modułami. Osobne połączenia wykonano dla GND. Wyjście przełączników w DIN SIMUL8: nr 1 → I1. nr 8 → I2. Do wyjścia przekaźnikowego nr 1 podłączono na wejście +24 V. Wyjście z niego podłączono do INPUT HEAT 1. Gdy wyjście będzie aktywne, to rozpocznie się grzanie płytki. OUTPUT VOLTAGE w Din Celcius połączono do I7. Tym wejściem będziemy odczytywali temperaturę. Kolory przewodów: Czerwony - +24 V. Czarny - GND. Niebieski - sygnały logiczne/informacyjne. Znaczenie wejść i wyjść, i zmienne odpowiadające za nie: I1 - grzanie manualne (grzanie_manual). I2 - otworzenie drzwiczek (drzwi). I7 - temperatura terrarium (temperatura_terrarium). Przycisk USER na PLC - wysłanie informacji o stanie układu (info). Wyjście nr 1 - załączenie grzania terrarium (grzalka). LED STATUS 1 - informacja o załączeniu grzania (led_grzanie). Jeżeli uruchamiasz sterownik po raz pierwszy, to skorzystaj z lekcji Getting Started na stronie Arduino. Lekcja nauczy Cię jak skonfigurować sterownik i upewnić się, że wszystko działa. Oprogramowanie 1. Deklaracja zmiennych Zacznijmy od zadeklarowania wejść i wyjść. Robi się to w tabeli, co gwarantuje przejrzystość i czytelność. Konfiguracja wejść programowalnych. I7 ustawiamy jako wartość analogową o rozdzielczości 12 bitów. Konfiguracja wyjść programowalnych. Konfiguracja LED. Konfiguracja przycisku USER umieszczonego na PLC. Arduino OPTA umożliwia dodanie kilku programów, które będą równolegle wykonywane. Przyda nam się to, bo nasz projekt będzie się składał z: Pętli głównej odpowiedzialnej za: Pracę manualną. Pracę automatyczną. Przełączanie między pracą automatyczną a manualną. Wykrycie otworzenia terrarium. Załączanie grzałki. Skryptu, który będzie przeliczał wartość wyjściową czujnika temperatury na temperaturę wyrażoną w stopniach Celsjusza. Skryptu wyświetlającego informację o stanie układu. 2. Tryb manualny Sprawa jest prosta - załączając I1 włączamy grzałkę. Dodajmy nowy program: Dodawanie nowego programu. Po wybraniu New program wyskoczy okno: Wybieramy język LD, czyli najpopularniejszy język programowania PLC. Program nazwiemy main. Istnieją 4 rodzaje programów: Opisy typów programów. Źródło zdjęcia. Wybierzemy Fast, bo będzie to nasz główny program, w którym będą odbywały się najważniejsze rzeczy. Wyskoczy nam okno programu: Poświęćmy chwilę na wyjaśnieniu jak działa język LD. Język drabinkowy korzysta ze styków i cewek. Styki symbolizują wejścia, a cewki wyjścia. Rodzaje styków i cewek: -| |- - styk normalnie otwarty. Aktywuje się, gdy przypisana zmienna wynosi 1. -| / |- - styk normalnie zamknięty. Aktywuje się, gdy przypisana zmienna wynosi 0. -| S |- - styk set. Po aktywacji zmienna pozostaje aktywna do momentu resetu. -| R |- - resetuje zasetowany styk. -| P |- - styk wykrywający zbocze narastające zmiennej. -| N |- - styk wykrywający zbocze opadające zmiennej. -( )- - cewka normalnie otwarta. Aktywacja poprzez 1 na wejściu. -( / )- cewka normalnie zamknięta. Aktywacja poprzez 0 na wejściu. Po dwukrotnym naciśnięciu na styk pojawi się okno, w którym możemy skonfigurować go, np. przypisać do niego zmienną: Konfiguracja styku. Nie zapominajmy o diodzie, która ma nas informować o grzaniu. Cewkę dodamy poprzez wciśnięcie ikony coil: Ikona Coil. Bądź poprzez wciśnięcie prawego przycisku myszki i wybranie odpowiedniej opcji: Opcja dodania Coil. A oto nasz tryb manualny: Dobrym nawykiem jest stosowanie markerów. Są to zmienne w pamięci, w których przechowuje się wynik operacji logicznej. Wynik załączenia grzania przypiszmy do markera, a następnie za pomocą markera ustawmy odpowiednie cewki. Utwórzmy zmienną lokalną: Dodanie zmiennej lokalnej. Zmienna lokalna. I przenieśmy przypisanie wyjść do następnej linijki za pomocą markera. Dodanie kolejnej linijki kodu. Tryb manualny W taki sposób zbudowaliśmy nasz pierwszy funkcjonalny program! Aby go przetestować, należy przesłać go do sterownika. Opcja wysłania programu do sterownika. Po przesłaniu programu możemy włączyć podgląd (watch) i zobaczyć jak się zachowują nasze zmienne: Watch. Należy uniemożliwić grzanie, gdy drzwiczki są otwarte: Styk NC blokuje przepływ sygnału do cewek. Widzimy, że przy otwartych drzwiach grzałka nie działa. 3. Pobranie informacji o temperaturze Aby pobrać informację o temperaturze wewnątrz terrarium, posłużymy się poradnikiem. W skrócie: Poniżej przedstawiam program w języku ST do przeliczania wartości z czujnika na temperaturę: Dodajemy nowy program i nowe zmienne globalne. 4. Zamknięcie drzwiczek Teraz zajmijmy się grzaniem do 30 stopni, gdy drzwiczki zostaną zamknięte. Dodajmy następujące instrukcje w main: Jeżeli zamkną się drzwi (zbocze opadające na zmiennej drzwi), to ustawi się flaga drzwi_N_flaga (potrzebna do dalszej części kodu). Jeżeli osiągniemy 30 stopni, to resetujemy flagę. Dodatkowo tworzymy nowy tryb grzania (tryb_drzwi_N). Napiszmy skrypt w języku ST, który będzie obsługiwał zmienną tryb_drzwi_N: Jeżeli flaga zamknięcia drzwi jest aktywna, to włączamy tryb grzania. Jeżeli osiągnięto temperaturę 30 stopni, to włączamy odpowiednią flagę, a w main wyłączamy drzwi_N_flaga. 5. Standardowe ogrzewanie Stwórzmy tryb standardowego grzania. W tym celu stwórzmy zmienną odliczanie, dzięki której będziemy sygnalizować, czy mamy odliczać minutę do grzania. Dodatkowo utworzymy program w trybie Init, który wykona się tylko raz przy włączeniu sterownika. Wystartujemy w nim odliczanie. Zawartość programu Init. Zmienna jest typu bool. W zastosowaniach przemysłowych praca maszyny musi się odbyć po jawnym sygnale operatora, więc nasze rozwiązanie nie jest zgodne ze sztuką. Jednak na cele edukacyjne i hobbystyczne to nam ułatwia sprawę. Do mierzenia czasu służą timery. Aby go dodać klikamy opcję New Block: Dodanie bloku. W Object browser wyszukujemy timer TON. TON działa w następujący sposób: Opis timera TON. Źródło zdjęcia: Arduino PLC IDE. Obsługa trybu standardowego. Powyższy kod działaja w następujący sposób: Jeżeli odliczanie jest załączone i nie osiągnięto temperatury 27 stopni, to odliczamy 60 sekund. Po odliczeniu czasu wyłączamy odliczanie (reset) i załączamy tryb standardowy. Jeżeli osiągniemy 27 stopni, to załączamy znowu odliczanie i ściągamy flagę trybu standardowego. Dodajemy program, który obsłuży flagi i wykryje przekroczenie 27 stopni. Zauważ, że jest on bardzo podobny do trybu drzwi. Dodajemy włączenie grzałki pod wpływem trybu standardowego. Dodatkowo widoczne jest zabezpieczenie, w którym przy otworzonych drzwiach nie ma możliwości grzania - styk NC drzwi. Jeżeli dotrwałeś do tego momentu, to chciałbym Ci serdecznie pogratulować. Właśnie stworzyliśmy system ogrzewania do terrarium! Działanie programu. Przedstawiłem tryb manualny i reakcję na zamknięcie drzwi. Czerwona dioda na DIN CELSIUS sygnalizuje grzanie. 6. Informacja dla programisty Stwórzmy ostatnią część projektu, jakim jest wyświetlanie co pewien czas, bądź na żądanie, pewnych parametrów związanych z algorytmem. Wykorzystamy bardzo ciekawą funkcjonalność narzędzia Arduino PLC IDE - połączenie Sketcha z Arduino IDE i algorytmu sterowania z Arduino PLC IDE. Shared variables to zmienne, które będą wymieniane między algorytmem sterowania, a Sketchem. W Shared Variables w Outputs wpisujemy zmienne, które chcielibyśmy śledzić: Tworzymy nowy skrypt o nazwie do_zmiennych_OUT, w którym będziemy przypisywali wartości do zmiennych w Sketchu: Następnie tworzymy skrypt, który co wciśnięcie przycisku lub co 5 sekund wyświetli informacje o statusie algorytmu: Program do przesyłu informacji. Funkcja, która umożliwia wysłanie informacji do odbiornika. Przetestujmy wyświetlanie informacji w Serial monitor w Arduino IDE: Nasz program jest skończony! Podsumowanie To była bardzo długa i intensywna bitwa… Ale udało się! Poznaliśmy razem dużo możliwości sterownika. WiFi, Bluetooth, równoległość wykonywania operacji, sterowanie temperaturą, wyświetlanie informacji to tylko niektóre z możliwości tego PLC. Trzeba przyznać, że to potężna jednostka, która ma ogrom potencjalnych zastosowań. To naprawdę wszechstronne urządzenie, które może ułatwić wiele zadań i sprawdzić się w różnych projektach. Jest łatwe w obsłudze i daje dużo możliwości, co czyni je świetnym wyborem do nowoczesnych rozwiązań. ________ Informacja: zestaw z Arduino Opta na potrzeby niniejszego artykułu dostarczyła firma Botland - oficjalny dystrybutor Arduino.
- 3 odpowiedzi
-
- 6
-
-
- Elektronika
- Programownie
-
(i 1 więcej)
Tagi:
-
Matlab Co to Matlab? Podstawy, zastosowanie, pierwsze kroki
mcsw_02 opublikował temat w Artykuły użytkowników
Wstęp Dotychczasowe moje artykuły dotyczyły przeważnie prostych tematów. Sortowanie danych, systemy liczbowe, czy sterowniki PLC. Teraz zaprezentuję Wam bardziej zaawansowane narzędzie. Napotkacie go na studiach, ale także jest szansa, że wykorzystacie go w swoich projektach. W tym artykule przedstawię Ci: Czym jest Matlab? Gdzie stosuje się Matlaba? Czy warto się go uczyć? Jak zastosować podstawowe techniki do pisania twoich pierwszych programów! Na swojej drodze projektowej na pewno spotkasz się z tym programem, dlatego warto wiedzieć, czym on jest. Źródło zdjęcia. Co to MATLAB? Logo Matlaba. Źródło zdjęcia. Matlab to interaktywne środowisko wykorzystywane przez inżynierów i naukowców na całym świecie. Służy on do zaawansowanych obliczeń i symulacji. Nazwa Matlab wywodzi się od słów Matrix Laboratory i pierwotnie został stworzony do obliczeń na macierzach. Macierze to bardzo ważny temat, bo dzięki nim możesz np. rozwiązać skomplikowany układ elektroniczny lub wykorzystać je do reprezentacji danych, przykładowo odczyty czujnika w czasie. Zastosowania Matlaba Matlaba możesz wykorzystać tam, gdzie masz styczność z: skomplikowanymi operacjami na macierzach i obliczeniami matematycznymi, przetwarzaniem sygnałów - obróbką danych i ich analizą, modelowaniem - przeprowadzaniem symulacji, np. w dziedzinie robotyki, teorią sterowania - implementacją algorytmów sterowania, regulacją, sztuczną inteligencją - machine learningiem i sztucznymi sieciami neuronowymi. Dzięki temu środowisku można wykonywać obliczenia arytmetyczne i na macierzach, pisać skrypty i rozmaite algorytmy lub wykreślać wykresy funkcji 2D i 3D. Należy jednak wspomnieć, że to nie jest arkusz kalkulacyjny jak Excel! Jest to narzędzie, które umożliwia znacznie więcej, szczególnie dla inżyniera. Praktycznym wykorzystaniem programu jest sterowanie urządzeniami. Matlab oferuje biblioteki, za pomocą których można przykładowo regulować temperaturę przedmiotu odpowiednio wysterowując grzałkę i pobierając dane o temperaturze. Takie dane możemy następnie przetworzyć i wykorzystać algorytmy przetwarzania sygnałów. Matlaba można wykorzystać przy symulacji robotyki. Możliwe jest stworzenie modelu manipulatora przemysłowego, na który działają różne obciążenia. Modelowanie i symulacje to ważny etap w projektowaniu skomplikowanych rozwiązań. Źródło zdjęcia. Podsumowując: Matlab to potężne narzędzie, które warto znać, bo ma wiele zastosowań. Jest bardzo wygodne, gdy potrzebne jest zaimplementowanie bardzo skomplikowanego algorytmu. Czy warto się uczyć Matlaba? Jak najbardziej! Warto spróbować swoich sił z tym środowiskiem. Dzięki niemu można rozwiązać wiele skomplikowanych problemów we względnie krótkim czasie przy niewielkim wysiłku. Matlab jest użyteczny w wielu dziedzinach, dlatego nawet podstawowa wiedza o nim będzie bardzo przydatna. Środowisko Matlab to nie tylko program do teoretycznych obliczeń, ale także do praktycznych zastosowań. Źródło zdjęcia. Niestety jest pewien haczyk… Matlab nie jest całkowicie darmowy. Istnieją różne wersje, z których można korzystać. Jeżeli jesteś studentem kierunku technicznego, to twoja uczelnia powinna oferować Ci darmowy dostęp do wersji akademickiej. W innym wypadku istnieje 30-dniowa wersja Trial. Możesz też korzystać z Matlaba Online w wersji Basic, który oferuje darmowe korzystanie z programu przez 20 godzin miesięcznie. Podstawy Matlaba Poniżej przedstawiam podstawowe instrukcje, które pozwolą Ci pisać pierwsze programy. Korzystam z Matlaba w wersji R2024a. Po uruchomieniu zobaczymy taki widok: MATLAB R2024a. Jest to okno główne Matlaba. Na razie zajmiemy się tylko jednym jego elementem. 1. Command window Jest to największe, białe okno, w którym widnieją znaki “>>”. Okno umożliwia wpisywanie pojedynczych komend i wykonywanie ich na bieżąco. Na tym etapie możemy zacząć wykonywać proste czynności, na przykład: przypisanie: a = 5 dodawanie, odejmowanie, mnożenie, dzielenie: +, -, *, / operatory porównania: >, <, >=, <=, ~=, komentarze: % Wynik pojawi się po wpisaniu komendy. Wstawienie średnika na końcu spowoduje niepokazanie wyniku. Przykład wykorzystania command window. Jeżeli w command window utworzymy zmienną, to zostanie ona zapamiętana w środowisku i będziemy mogli ją wykorzystać później. Zmienne są zapisywane w workspace. Aby go wyświetlić należy wpisać w command window polecenie workspace. 2. Podstawowe operacje na macierzach a) Definicja Aby zdefiniować macierz należy określić jej strukturę. Gdy definiujemy macierz zapisujemy jej elementy w nawiasie kwadratowym wpisując po kolei jej elementy. Kolejne wiersze oddzielamy średnikiem. Między elementami może być przecinek, lecz nie musi. Ważna uwaga: indeks pierwszego elementu wynosi 1! Zaznaczam to, bo w innych językach może wynosić 0. Aby utworzyć wektor należy stworzyć macierz o jednym wierszu, czyli nie rozdzielać liczb średnikiem. Przykład definicji macierzy: Definicja macierzy w command window. b) Odwołanie się do elementów Podobnie jak w innych językach programowania, aby odwołać się do konkretnego elementu należy podać jego indeksy. W przypadku Matlaba indeksy podaje się w nawiasach okrągłych: Wpisanie A(3, 2) zwróci element w trzecim wierszu, drugiej kolumnie, czyli 32. Odwołanie się do pojedynczego elementu. Możemy odwołać się do całego wiersza. Polecenie A(2, : ) zwraca wszystkie elementy z drugiego wiersza. Jeżeli chcemy odwołać się do całej drugiej kolumny, to napiszemy A(:, 2). Odwołanie się do całego wiersza lub kolumny. W przypadku, gdy potrzebujemy kilku wybranych wierszy/kolumn, to możemy przekazać wektor z potrzebnymi indeksami. Wektor, podobnie jak macierz, zapisuje się w nawiasach kwadratowych. Wybranie elementów z 1. i 3. wiersza i z 1. i 3. kolumny. Chcąc wybrać następujące po sobie wiersze/kolumny należy wpisać w odpowiednie miejsce następującą formułę ze swoimi danymi: indeks_startu:krok:indeks_stopu. Utworzyłem nową macierz. Wybrałem z niej elementy od 2. do 4. wiersza. Liczby są z kolumn od 1 do 5, ale z krokiem co 2. Ostatecznie zostanie wybrany element, z co drugiej kolumny. Krok można pominąć. Wtedy wyniesie 1. Stosując polecenie end jako w miejscu indeksu stopu Matlab wybierze wszystkie elementy od indeksu startu do ostatniego możliwego elementu. c) Macierze specjalne Matlab oferuje 3 podstawowe funkcje, dzięki którym można stworzyć specjalną macierz o charakterystycznych elementach: zeros() - macierz wypełniona zerami. ones() - macierz wypełniona jedynkami. rand() - macierz o losowych elementach. We wszystkich przypadkach pierwszy argument do funkcji to ilość wierszy, a drugi to liczba kolumn. Wykorzystanie funkcji zeros(), ones() i rand(). Może zdarzyć się sytuacja, w której będziesz potrzebował/a macierz o jednakowych elementach, ale różnych od 1. W tym celu: pomnóż macierz ones() przez tę liczbę… …lub dodaj do niej o 1 mniejszą liczbę. Dwie techniki definicji macierzy o jednakowych elementach. Macierz rand() zwraca losowe elementy od 0 do 1. Jeżeli chcesz przesunąć zakres, to zastosuj następującą technikę: losowa_macierz = rand(liczba_wierszy, liczba_kolumn) * rozpiętość_przedziału + indeks_rozpoczęcia. Przykładowo: index_rozpoczęcia = 5 - dolna granica przedziału, rozpiętość_przedziału = 7 - ile elementów będzie w dobranym zakresie, Ostatecznie największa możliwa liczba wyniesie 5+7=12, a więc przedział będzie wynosił liczby z zakresu <5, 12>. Macierz o losowych elementach z zakresu <5, 12>. d) Operacje na macierzach Oczywiście macierze możemy dodawać, mnożyć i modyfikować poprzez stałe. Zapamiętaj, że w Matlabie występują dwa rodzaje mnożenia macierzy. Zwykłe mnożenie zapisujemy jako gwiazdka ( * ). Element-wise multiplication zapisuje się jako kropka i gwiazdka ( .* ). Definicje nowych macierzy. Przykładowe operacje na macierzach. 3. Przydatne funkcje Przed rozpoczęciem tego punktu wygodniej będzie przenieść się do skryptu. W tym celu należy utworzyć nowy skrypt w lewym górnym rogu: Tworzenie nowego skryptu. Ukaże się okno, w którym można pisać skrypt. Znajduje się nad command window. a) Wykres funkcji 2D. Funkcja plot() Przed wyświetleniem funkcji, należy najpierw wygenerować dane osi x i y. Najprostszym sposobem jest wygenerowanie wektorów, które będą reprezentowały te dane. Można posłużyć się funkcją linspace(). Generuję wartości osi x. Posłużę się funkcją linspace(), która tworzy wektor o podanej rozpiętości i ilości elementów. Argumenty funkcji to odpowiednio: pierwszy element, ostatni element, ilość elementów w wektorze. Jako dane dla osi y wybiorę funkcję sinus. Wykorzystam funkcję sin(). Utworzę okno posługując się funkcją figure(n), gdzie n to numer okna. To nasze pierwsze okno, więc n wyniesie 1. Czas na wyświetlenie wykresu - korzystam z funkcji plot(x, y). Pierwszym argumentem jest wektor x a drugim y. Prosty skrypt wykorzystujący funkcję plot(). Po kliknięciu przycisku run powinien wyświetlić się poniższy wykres: Funkcja sinus. Można zauważyć, że wykres jest kanciasty. To przez małą liczbę elementów w wektorze. Zmieńmy liczbę elementów ze 100 do 1000. Wykres sinusa przy większej ilości danych. Wykres wygląda lepiej i dokładniej odwzorowuje funkcję. Oprócz funkcji sinus możesz zwizualizować inne funkcje trygonometryczne lub swoje własne dane. b) Funkcja subplot() Służy do wyświetlania kilku wykresów w jednym oknie. Moglibyśmy wyświetlać je w kilku oknach tworząc nowe funkcją figure(), ale metoda, którą teraz przedstawię, często przydaje się, gdy porównujemy ze sobą kilka danych przedstawionych na wykresach. Wykorzystuję wcześniej zrobiony sinus i dodatkowo tworzę cosinusa. Tworzę okno dla wykresów funkcji funkcją figure(). Wykorzystuję funkcję subplot(w, k, p). Argumenty funkcji kolejno: w – liczba wierszy w oknie, k – liczba kolumn w oknie, p – pozycja funkcji, którą chcemy wyświetlić. Gdy wyświetlamy pierwszy wykres, to piszemy 1, przy drugim 2 itp… Zakładając, że mamy dwie funkcje do wykreślenia, to będziemy potrzebowali dwóch wierszy (na dwie funkcje) i jedną kolumnę. Wykreślam kolejne wykresy funkcją plot(x, y). Skrypt wykorzystujący funkcję subplot(). Wynik: Wynik skryptu. c) Help i dokumentacja Matlaba Za nami już kilka przydatnych funkcji. Nie trzeba ich się uczyć na pamięć, bo Matlab posiada bogatą dokumentację. Wystarczy w command window wpisać help, a następnie nazwę funkcji, którą chcemy użyć. Wykorzystanie komendy help. W helpie jest opisana funkcja, jej działanie, argumenty, które przyjmuje, co zwraca, przykłady i wiele innych przydatnych informacji. Oprócz tego zachęcam Cię do przejrzenia ogólnej dokumentacji. Znajdziesz ją w prawym górnym rogu, klikając znak zapytania. Prawy górny róg Matlaba. Tutaj znajdziesz kilka cennych elementów, takich jak dokumentacja środowiska. d) Instrukcja warunkowa if Bardzo przydatnym elementem Matlaba jest możliwość wykorzystania instrukcji warunkowej. Jej składnia prezentuje się następująco: if warunek Działanie elseif warunek Operacja else Operacja end Utwórzmy prosty skrypt, który zaprezentuje działanie ifa. Sprawdźmy, czy podając 3 długości można z nich utworzyć trójkąt: Definiujemy 3 liczby, które będą reprezentowały długości 3 boków trójkąta: a, b, c. Trójkąt jest możliwy do stworzenia, jeżeli suma dowolnych dwóch boków jest większa od trzeciego boku. Innymi słowy, poniższe warunki muszą zostać spełnione: a + b > c, a + c > b, b + c > a. Jeżeli warunek będzie spełniony, to wyświetlimy napis ‘Można utworzyć trójkąt’. W przeciwnym wypadku wyświetlimy ‘NIE można utworzyć trójkąta’. Wykorzystanie instrukcji warunkowej if. Do wyświetlenia napisu można też użyć funkcji disp(). Taki program powinien wyświetlać wynik w command window. e) Funkcje Przenieśmy ten program do osobnej funkcji, którą będziemy mogli wywoływać wielokrotnie bez powtarzania nadmiernej ilości kodu. W tym celu wykonajmy następujące kroki: W tym samym folderze, w którym jest twój główny skrypt, utwórzmy nowy skrypt. Pamiętaj, że nazwa funkcji musi mieć taką samą nazwę, co nazwa skryptu. Utwórzmy funkcję zgodnie z poniższą składnią: function zmienna_wyjściowa = nazwa_pliku(zmienne_wejściowe) W naszym przypadku: Zmienną wyjściową nazwijmy odp (odpowiedź). Nazwę pliku nazwijmy czy_trójkąt. Zmienne wejściowe to będą liczby a, b, c. Przepiszmy całą funkcję z głównego skryptu zamieniając funkcje wyświetlającą napis na przypisanie odpowiedzi do zmiennej odp. Funkcja czy_trojkat. Wywołanie funkcji. f) Pętla for Ostatnim przydatnym elementem, który chcę Ci pokazać są pętle. Służą one powtarzania pewnej czynności tyle razy ile zadeklarowaliśmy. Jej składnia wygląda następująco: for iterator = pierwszy_element:krok:ostatni_element Operacje end Napiszmy prosty przykład, w którym kilka razy wykonamy kilka operacji na zmiennej. Wykorzystano pętlę for do powtórzenia operacji. Podsumowanie MATLAB to wszechstronne i potężne narzędzie, które oferuje szerokie możliwości w zakresie rozwiązywania skomplikowanych problemów inżynieryjnych, matematycznych i naukowych. Chociaż MATLAB nie jest darmowy, jego zalety w projektowaniu, modelowaniu i analizie danych czynią go wartym nauki i inwestycji, zwłaszcza dla osób związanych z dziedzinami technicznymi. Nawet podstawowa znajomość tego środowiska może otworzyć nowe możliwości i ułatwić pracę przy wielu projektach. Jeżeli chcesz zobaczyć jak Matlab jest wykorzystywany do praktycznych celów polecam artykuł o programowaniu Arduino z użyciem tego narzędzia. Spróbuj napisać kilka skryptów/algorytmów samodzielnie. Poznawaj więcej funkcji i możliwości i spróbuj wykorzystać potencjał środowiska.- 3 odpowiedzi
-
- 7
-
-
- Elektronika
- Programownie
- (i 1 więcej)
-
Witam, Szukam czegos do nauki elektroniki/programowania dla dziewczyni zaraz osmio letniej. Natknalem sie na scratch ktory pewnie wdrozymy ale corka chciala tez pobudowac roboty tak natknalem sie na forbota. Szczerze fajnie by bylo jakbyscie pisali od jakiego wieku, co polecacie.. z wstepnego przejrzenia kurs podstaw elektroniki jest za bardzo teoretyczny na ten wiek. Arduino i raspherry pi tez chyba za wczesnie. Zaatanawiam sie nad micro.bit ale tez nie wiem czy to nie za wczesnie dla 7-8 latki... Myslalem o nauce lutowania i budowania tym sposobem czegos i przy okazji uczenia sie troche. Co myslicie o takim pomysle? Czy sa jakies zestawy dla dzieci tego typu? na youtubie mignal mi kanal gdzie ktos z corka 7 letnia lutuje.. Osobiscie nie znam sie na tym wiec bede uczyl sie z corka (programowac umiem, kiedys cos tam polutowalem ale daleko do stwierdzenia ze cos umiem czy moge przekazac jakas wiedze) Z gory dziekuje za sugestie i pozdrawiam
- 7 odpowiedzi
-
- Elektronika
- Arduino
- (i 2 więcej)
-
Dzień dobry. Ostatnio zacząłem intensywniej lutować, i też jakoś w tym czasie zacząłem mocno kichać i zaczęły mnie boleć oczy. I to logiczne że to przez cynę. Tylko że w internecie nie było żadnych porad jak lutować bez późniejszych skutków kichania, więc może tu ktoś będzie wiedział jak lutować bezpieczniej?
-
Dzień dobry, od wczoraj testuje wyświetlacz TFT. Wszystko idzie dobrze, ale nie wiem jak mam wyświetlić zmienną int na takim wyświetlaczu. Bardzo proszę o odpowiedź. Z góry dziękuję!
- 17 odpowiedzi
-
- elektronika
- int
-
(i 3 więcej)
Tagi:
-
Dzień dobry, nie dawno kupiłem sobie wyświetlacz LCD TFT SPI ST7735S ze slotem SD. Można ten wyświetlacz podłączyć do Arduino, ale czy jest możliwość włożenia karty SD do slotu i podłączenia pinów VCC i GND do plusa i minusa baterii? Jeśli tak to proszę podać jakie zasilanie do niego podłączyć Z góry dziękuję za odpowiedź.
- 8 odpowiedzi
-
- SD
- Elektronika
-
(i 2 więcej)
Tagi:
-
Jak używać kalkulatora szerokości ścieżek na płytce drukowanej?
BeeKeyPro opublikował temat w Zupełnie zieloni
Dzień dobry, czy wie ktoś jak używać kalkulatora szerokości ścieżek na płytce drukowanej? Z góry dziękuję za odpowiedzi!- 9 odpowiedzi
-
- Elektronika
- Początkujący
- (i 3 więcej)
-
Wstęp Czy wiesz, że FORBOTJESTCOOL(36) = 2676043599332257617141(10)? Ja też nie wiedziałem. Dowiedziałem się, gdy włączyłem kalkulator systemów liczbowych i odkryłem system trzydziesto szóstkowy. Do zapisu liczb wykorzystuje on cyfry od 0 do 9 i litery od A do Z. Rzeczywiście, istnieją systemy liczbowe, w których jest tak dużo dostępnych znaków, że można z nich zapisywać słowa, a nawet całe zdania. W tym przykładzie pokazałem Ci, że istnieją większe systemy liczbowe, niż te powszechnie znane, np. dwójkowy, czwórkowy, ósemkowy, czy dziesiętny. Przedstawię Ci system szesnastkowy, za pomocą którego można reprezentować kolory lub adresy urządzeń podłączonych do twojego Arduino System szesnastkowy stosuje się do adresowania urządzeń, które komunikują się za pomocą standardu I2C. Źródło zdjęcia. Jeżeli nie znasz podstaw systemów liczbowych lub nie wiesz jak zamienić liczbę dziesiętną na binarną i na odwrót, to zapraszam Cię do mojego poprzedniego artykułu artykułu o systemie binarnym. To kluczowy temat, a wiedza z niego będzie przydatna w dalszych częściach tego artykułu! Konwersja liczb szesnastkowych i dziesiętnych System szesnastkowy, nazywany również heksadecymalnym (w skrócie hex), jak sama nazwa wskazuje, zawiera w sobie 16 znaków, którym przypisane są odpowiednie wartości systemu dziesiętnego. W systemie szesnastkowym korzystamy z cyfr 0..9 i liter A...F: A(16) = 10(10) B(16) = 11(10) C(16) = 12(10) D(16) = 13(10) E(16) = 14(10) F(16) = 15(10) a) Zamiana przy użyciu operacji modulo (dec → hex) Jest to standardowa, algorytmiczna operacja, którą można wykonać z każdym innym systemem liczbowym. W naszym przypadku liczbę dzieli się całkowicie przez 16(10) i zapisuje się resztę z dzielenia. Powtarza się to do momentu, aż w wyniku dzielenia znajdzie się 0. Wynik odczytywany jest od końca z reszt z dzielenia. Spróbujmy zamienić liczbę 234(10) na liczbę hex: Wynik dzielenia całkowitego kolejnych liczb zapisujemy w lewej kolumnie a resztę z dzielenia po prawej. Wynik, czyli liczbę szesnastkową, odczytuje się z reszt z dzielenia - od dołu do góry. Poniżej jeszcze dwa przykłady. b) Konwersja za pomocą wag (hex → dec) W tej metodzie korzystamy z definicji systemu liczbowego - każda cyfra na konkretnej pozycji definiuje wagę tej pozycji. Przeliczmy liczbę 1CA9(16): Podstawą liczby heksadecymalnej jest 16(10). Cyfra na ostatniej pozycji ma wagę 160(10), przedostatnia 161(10), kolejna 162(10) itp. Mnożymy wagi przez cyfry na ich pozycjach. Suma wszystkich iloczynów to wynik. c) Konwersja za pomocą systemu binarnego (hex → bin → dec) Jest to sztuczka, która może Ci pomóc zamienić w szybki sposób względnie małą liczbę hex na liczbę dziesiętną. Rozsuń liczbę hex na pojedyncze cyfry. Każdą cyfrę zamień na liczbę binarną. Złóż powstałe liczby binarne. Zamień liczbę binarną na decymalną. Metodę rozsuwania stosuje się głównie do zamiany hex → bin. Weźmy na tapetę liczbę D8(16): Rozdzielamy D8(16) na poszczególne cyfry - D(16) i 8(16). D(16) w hex to 13(10) w dec. 8(16) w hex to 8(10) w dec. Wiedząc to jesteśmy w stanie zapisać te liczby w systemie binarnym. Składamy obliczone części. Złożoną część przeliczamy na system dziesiętny. d) Konwersja za pomocą systemu binarnego (dec→ bin → hex) Tego typu zamiana liczb odbywa się analogicznie do poprzedniego przykładu, ale w odwrotnej kolejności: Zamień liczbę dec na bin. Rozsuń liczbę bin co 4 bity (4 cyfry). Zamień otrzymane liczby bin na hex. Złóż otrzymane liczby hex. Jak widzisz konwersja między systemem hex a dziesiętnym nie jest trudna. Użyliśmy tylko i wyłącznie wiedzy z poprzedniego artykułu. Polecam przećwiczyć te umiejętności wymyślając jakąś małą liczbę heksadecymalną (np. składającą się z dwóch cyfr) i zamienić ją na liczbę binarną/dziesiętną. Możesz też wymyślić liczbę dziesiętną i dokonać konwersji na heksadecymalną. Zastosowania liczb hex Do czego mogą się przydać liczby szesnastkowe? Ich najważniejszą właściwością jest zwięzły zapis dużych liczb: FFFF(16) = 65535(10) = 1111111111111111(2) Jak widać powyżej, liczbę 16 bitową można zapisać za pomocą 4 cyfr (liter) w systemie heksadecymalnym. a) Reprezentacja kolorów Jednym ze sztandarowych przykładów zastosowania systemu szesnastkowego jest zapis koloru. Kod składa się ze znaku # i trzech dwucyfrowych liczb szesnastkowych, które odpowiednio oznaczają poziomy kolorów: czerwonego, zielonego i niebieskiego (RGB). Im wyższa liczba, tym intensywniejszy jest poszczególny składnik koloru. Na przykład: ● #FF0000 - czerwony, rgb(255, 0, 0), ● #00FF00 - zielony, rgb(0, 255, 0), ● #0000FF - niebieski, rgb(0, 0, 255), ● #000000 - czarny, brak jakiegokolwiek składnika, rgb(0, 0, 0), ● #FFFFFF - biały, połączenie wszystkich składników, rgb(255, 255, 255), ● #A020F0 - fioletowy, rgb(160, 32, 240). b) Adresy pamięci W jaki sposób zapisać adres pod którym ma być przechowywana zmienna? Dzisiejsze komputery charakteryzują się ogromną pamięcią. Jest wiele możliwych adresów w pamięci pod które można zapisać jakąś informację. Wiąże się to z dużymi wartościami tych adresów. Liczby, które definiują dany adres są po prostu długie. W takim wypadku możemy skorzystać z liczby szesnastkowej, która skróci nam ten zapis. Tę technikę stosuje się często. Przykładem jest np. odczyt adresu zmiennej w języku C : Deklarujemy 3 zmienne po sobie. Odczytujemy po kolei ich adresy. Każdy odczytany adres będzie zapisany w systemie szesnastkowym… …a każdy adres będzie się różnił od poprzedniego o rozmiar zadeklarowanej zmiennej. Deklaracja zmiennej char (1 bajt): char a = 'X'; char b = 'Y'; char c = 'Z'; printf("Rozmiar pojedynczego znaku: %d\n", sizeof(char)); printf("Adres zmiennej a: %p\n", &a); printf("Adres zmiennej b: %p\n", &b); printf("Adres zmiennej c: %p\n", &c); Wyjście: Rozmiar pojedynczego znaku: 1 Adres zmiennej a: 0061FF1F Adres zmiennej b: 0061FF1E Adres zmiennej c : 0061FF1D Deklaracja zmiennej short (2 bajty) : short x = 1; short y = 2; short z = 3; printf("Rozmiar pojedynczego shorta: %d\n", sizeof(short)); printf("Adres zmiennej x: %p\n", &x); printf("Adres zmiennej y: %p\n", &y); printf("Adres zmiennej z: %p\n", &z); Wyjście: Rozmiar pojedynczego shorta: 2 Adres zmiennej x: 0061FF1A Adres zmiennej y: 0061FF18 Adres zmiennej z: 0061FF16 c) Adresy urządzeń w transmisji I2C Jednym z najpopularniejszych zastosowań systemu szesnastkowego jest zapis adresów urządzeń w komunikacji I2C (TWI). Skorzystajmy z karty katalogowej czujnika temperatury Adafruit 4089 z cyfrowym termometrem ADT7410, który może komunikować się właśnie przez ten protokół. Wycinek karty katalogowej Adafruit 4089. Źródło zdjęcia. Karta katalogowa urządzenia komunikującego się przez I2C powinna dostarczać klientowi informację o adresie danego urządzenia. Niektóre urządzenia dają możliwość konfiguracji adresu za pomocą pinów tego urządzenia. W przykładzie powyżej, jeżeli korzystamy z kilku tych samych czujników lub adres tego czujnika powtarza się z adresem innego, to za pomocą pinów A0 i A1 możemy zmienić jego adres. d) Adres MAC Jest to unikatowy i niepowtarzalny adres karty sieciowej nadany przez producenta. Stanowi on 48 bitową liczbę z czego pierwsze 24 bity oznaczają producenta karty sieciowej (ID producenta). Pozostałe 24 to ID urządzenia. Ze względu na rozmiary liczb, które są używane w adresach MAC, pisze się je w systemie szesnastkowym, co znacznie ułatwia odczyt takiego adresu. Przykładowe sposoby zapisu adresu MAC: 00:0c:29:cc:55:5e - MAC w Linux. Separatorem między parami znaków jest dwukropek. 00-0c-29-cc-55-5e - MAC w Windows. Separatorem między parami znaków jest myślnik. 000c.29cc.555e - MAC w urządzeniu sieciowym Cisco. Kropki między hextetami Adres MAC w Linux. Źródło zdjęcia. e) Komendy w postaci liczb hex Wysyłanie komend do mikrokontrolera może odbywać się właśnie w tym systemie. Dlaczego? Powód jest ten sam co wcześniej - możemy zawrzeć wiele komend w zwartym zapisie. Np. 0x00 - uśpij urządzenie, 0x01 - wybudź urządzenie, 0x02 - sparuj urządzenie, 0x03 - skonfiguruj urządzenie, 0x1F - włącz LED, itp. Jest to moim zdaniem dobry pomysł do organizacji i implementacji komunikacji z uC. Podsumowanie System szesnastkowy to bardzo przydatny i elastyczny system, który pozwala na zapisanie dużych liczb w krótkim zapisie. Jest on wykorzystywany praktycznie wszędzie, gdzie korzysta się z wielobitowych liczb. Nasuwa się jednak pytanie: Dlaczego nie korzystamy z większych systemów liczbowych? Jest kilka powodów: Złożoność zapisu - w systemie hex stosuje się 16 cyfr. Wyższe systemy liczbowe wprowadzają kolejne znaki oznaczające kolejne cyfry. W pewnym momencie może być po prostu za dużo tych znaków do interpretacji, co może komplikować program. Zgodność z potęgą liczby dwa - 16(10) = 24(10). System będący potęgą dwójki ułatwia obliczenia matematyczne i jest zgodny z logiką komputerową i cyfrową.
- 2 odpowiedzi
-
- 6
-
-
- Początkujący
- Elektronika
- (i 2 więcej)
-
Dzień dobry, Zwracam się z prośbą o pomoc w celu dobrania czujnika analogowego pomiaru natężenia pola magnetycznego. Moja aplikacja składa się ze zwykłej taśmy samoprzylepnej magnetycznej, cechuje się ona udźwigiem do 60g/cm2. Ostatnio zakupiłem moduł z czujnikiem halla KY-035, lecz pole magnetyczne jest zbyt małe dla niego i na wyjściu odczytuję różnicę max 0.2V przy całkowitym przyłożeniu do taśmy. Czy mógłbym prosić o dobór czujnika, który lepiej pasowałby do mojej aplikacji? Aplikacja robota jeżdżącego po linii magnetycznej. Robot dosyć sporych rozmiarów 3 kołowy. Z góry dziękuję za każdą pomoc.
- 1 odpowiedź
-
- Elektronika
- Line follower
- (i 1 więcej)
-
Kiedy dam Ci zadanie: dodaj do siebie 3 i 6 i podaj wynik, to na 90% podasz automatyczną odpowiedź 9. Względnie proste operacje matematyczne są dla nas naturalne do rozwiązania, bo niemal codziennie takie rozwiązujemy. Natomiast ciężej jest z operacją 11+1, bo odpowiedzią nie musi być 12. Co gorsza odpowiedź do pierwszego przykładu nie musi wynosić 9! W języku mówionym każda wypowiedź jest zależna od kontekstu. Mówiąc zamek możemy mieć na myśli budynek lub zapięcie od kurtki. Tak samo jest z liczbami. Wynik zależy od kontekstu, w jakim dokonujemy obliczeń, a taki kontekst nazywamy systemem - ogólnie systemem liczbowym. Jednym z najpopularniejszych systemów liczbowych jest system binarny. Źródło zdjęcia. Innymi słowy, system liczbowy jest zbiorem reguł, według którego zapisywane są liczby. Jego nazwa definiuje, ile znaków służy do zapisu liczb. Przykładowo system czwórkowy korzysta z liczb od 0 do 3, czyli korzysta z 4 cyfr. Ludzie korzystają z systemu dziesiętnego, który jest systemem pozycyjnym. Oznacza to, że cyfry w liczbie określają ilość jedności, dziesiątek, setek itp. Te jedności, dziesiątki nazwiemy wagami. Przykładowo: liczba 375, to tak naprawdę: 3 setki, 7 dziesiątek i 5 jedności, 3 * 100 + 7 * 10 + 5 * 1, 3 * 102 + 7 * 101 + 5 * 100. Zauważmy, że wagi określa się jako potęgi liczby definiującej system liczbowy do pozycji liczby od prawej strony zaczynając od zera. Istnieją różne systemy liczbowe. Najpopularniejsze z nich to: Dwójkowy (binarny): np. 1011 (dziesiętnie: 11), do zapisu liczb używa się 0 i/lub 1. Czwórkowy: np. 3102 (dziesiętnie: 210), używa się cyfr 0-3. Ósemkowy (oktalny): np. 75 (dziesiętnie 61), używa się cyfr 0-7. Dziesiętny (decymalny): np. 599, używa się cyfr 0-9. Szesnastkowy (heksadecymalny): np. 6F (dziesiętnie 95), używa się cyfr 0 - F. Występują tutaj dodatkowe symbole dla liczb większych od 9: A = 10, B = 11, C = 12, itd. do F = 15. W tym artykule skupimy się na systemie dwójkowym, czyli jednym z najważniejszych systemów w informatyce, elektronice i ogólnie technice Dlaczego systemu binarnego używa się w informatyce i elektronice? Tak naprawdę jest to spowodowane wygodą przesyłania informacji. Pojawienie się napięcia może oznaczać 1, a jego brak 0. Wprowadzenie większej ilości wartości, takich jak różne poziomy napięcia, wprowadza dodatkową złożoność takiego systemu, ponieważ wymaga interpretacji różnych wartości, co może stanowić wyzwanie. We wczesnym etapie rodzenia się komputerów binarność nie była oczywista, co potwierdza skonstruowanie komputera ENIAC, który był komputerem wykorzystującym system dziesiątkowy. Komputery jakie znamy obecnie to cud techniki, którym początki dał m.in. ENIAC. Źródło zdjęcia. Konwersja liczb binarnych i dziesiętnych Jak już wcześniej zostało wspomniane, liczba binarna składa się z samych zer i jedynek. Abyśmy mogli ją zrozumieć po naszemu, czyli jako liczbę dziesiętną, należy dokonać kilku obliczeń - konwersji. Poniżej przedstawiam kilka sposobów na przekształcanie liczb. Tabela powyżej przedstawia liczby dziesiętne i odpowiadające im liczby binarne. Źródło zdjęcia. a) Zamiana przy użyciu operacji modulo (dec → bin) Ta metoda jest wolna i bardzo algorytmiczna. Liczbę dzieli się całkowicie przez 2 i zapisuje się resztę z dzielenia. Powtarza się to do momentu, aż w wyniku dzielenia znajdzie się 0. Wynik odczytywany jest od końca. Zgodnie z powyższą grafiką za każdym razem dzielimy wyższą liczbę. Wynik dzielenia całkowitego zapisujemy w lewej kolumnie a resztę z dzielenia po prawej. Wynik, czyli liczbę binarną, odczytuje się od dołu do góry. Tę metodę można zastosować do jakiegokolwiek systemu liczbowego. Gdyby 22 zacząć dzielić całkowicie przez np. 8, to reszty z dzielenia wskazałyby nam liczbę ósemkową. b) Zapełnianie potęgami (dec → bin) Jest to zdecydowanie szybsza i prostsza metoda. Zamienianą liczbę dziesiętną nazwijmy x. Rozpisz potęgi dwójki (20, 21, 22…) od prawej do lewej, do ostatniej liczby, która jest mniejsza lub równa x. Zapełnianie zacznij od lewej strony, czyli od najwyższej potęgi. Pierwsza potęga mieści się w x, dlatego zapisz pod nią 1. Przejdź od lewej do prawej strony zapisując jedynkę pod tymi potęgami, które w sumie z poprzednimi pod którymi znajduje się 1 nie przekracza x. Wpisz 0 pod tymi potęgami, które już nie mieszczą się w x. Wynik przeczytaj od lewej do prawej. c) Konwersja za pomocą wag (bin → dec) W tej metodzie korzystamy z definicji systemu liczbowego, która została przedstawiona wcześniej. Każda cyfra na konkretnej pozycji definiuje wagę tej pozycji. Uwaga: aby podkreślić w zapisie liczby w jakim systemie jest ona zapisana, pisze się w indeksie dolnym w nawiasach podstawę systemu danej liczby. Przeliczmy liczbę 10110(2): Podstawą systemu w liczbie binarnej jest 2. Cyfra na ostatniej pozycji ma wagę 20, przedostatnia 21, kolejna 22 itp. Mnożymy wagi przez cyfry na ich pozycjach. Każdy iloczyn dodajemy. Zauważ, że wstępie w przykładzie z liczbą 375(10) dokonaliśmy tak naprawdę zamiany liczby dziesiętnej na dziesiętną korzystając z powyżej metody d) Ręczne dodawanie już obliczonych wag (binarna → dziesiętna) Wiemy już, że wagi są przedstawiane jako potęgi, więc gdy nadchodzi potrzeba przeliczenia liczby binarnej na kartce, to możemy dodawać tylko te wagi przy których stoi jedynka. Jest to uproszczenie poprzedniej metody. Animacja przedstawiająca zamianę liczby decymalnej na postać binarną. Źródło animacji. Zastosowania logiki binarnej i liczb binarnych 1) Tranzystor jako element binarny Jeżeli wykorzystamy tranzystor jako włącznik (klucz), to możemy powiedzieć, że działa on w logice binarnej. Gdy wymusimy odpowiednio duży przepływ prądu bazy tranzystora NPN, to doprowadzimy tranzystor do stanu nasycenia, czyli popłynie prąd przez kolektor. Ten prąd możemy traktować jako wyjście i jego przepływ jako logiczne 1. Brak tego prądu to 0. Działanie tranzystora NPN jako klucz. 2) Bramka logiczna NAND Wykorzystując wiedzę z poprzedniego punktu, możemy zacząć konstruować tak zwane bramki logiczne, czyli układy, których kombinacja wejść da nam jakieś wyjście. NAND jest bardzo ważną bramką logiczną, bo dzięki niej można zbudować układ realizujący dowolną funkcję logiczną. Wykonajmy ją używając tranzystorów bipolarnych NPN! Schemat bramki NAND. Jako wejścia interpretujemy bazy tranzystorów, a wyjściem jest prąd kolektora pierwszego tranzystora. Potocznie mówi się, że prąd płynie najkrótszą i najprostszą drogą, więc załączenie dwóch tranzystorów powinno skutkować praktycznie zwarciem kolektora wyższego tranzystora z masą źródła. Co za tym idzie prąd wybierze tę drogę zamiast diody (wyjście y) i dioda przestanie świecić - na wyjściu pojawi się 0. Tablica prawdy dla układu NAND. Działanie bramki NAND skonstruowanej z tranzystorów. Dzięki tranzystorom i traktowaniu ich jako elementów binarnych możemy manipulować sygnałem i budować elementy cyfrowe, które działają w logice binarnej. To wszystko dzięki działaniom na liczbach binarnych i wykorzystaniu algebry Boole’a. 3) Tranzystory w procesorze W procesorze raczej nie stosuje się tranzystorów bipolarnych. Współczesne procesory są zbudowane w technologii CMOS (Complementary Metal-Oxide-Semiconductor). Są one używane do budowy bramek logicznych, które z kolei formują układy logiczne odpowiedzialne za operacje arytmetyczne, logiczne i sterujące w procesorze. Procesory są praktycznie stworzone z tranzystorów i bazują na ich działaniu. W jednym procesorze może być ich aż 17 miliardów! To nie są oczywiście tranzystory w obudowie typu TO-92. Ich konstrukcja jest dużo bardziej złożona i szerokość takiego elementu może wynosić 100 nanometrów. Współczesne procesory mają ogromną liczbę tranzystorów na pojedynczym układzie scalonym, co pozwala na wykonywanie bardzo skomplikowanych obliczeń w bardzo krótkim czasie. Miniaturyzacja postępuje zgodnie z prawem Moore’a, co pozwala na zwiększenie gęstości integracji i poprawę wydajności procesora. Cała ta złożoność mikroarchitektury procesora jest ukierunkowana na efektywne wykonywanie instrukcji programu zgodnie z zasadami logiki binarnej. Najmniejsze elementy współczesnych procesorów nie da się zobaczyć ludzkim okiem. Potrzeba do tego bardzo dobrego mikroskopu. Źródło zdjęcia. 4) Programowanie mikrokontrolerów Mikrokontroler to układ scalony, który zachowuje się jak mały komputer. Możemy dołączyć do niego wejścia i wyjścia takie jak: przyciski, czujniki i diody. Dzięki wgranemu programowi może on interpretować wejścia i sterować wyjściami. Z mikrokontrolerami wiążą się rejestry - pamięci wewnętrzne, które służą do przechowywania danych tymczasowych. Dzięki takiemu rejestrowi możemy zdefiniować, że jedna nóżka mikrokontrolera będzie wejściem, a druga wyjściem. Co więcej, dzięki tej pamięci możemy sprawić, że LED dołączony do wyjścia układu scalonego zapali się. Na razie zapamiętaj, że: Rejestr DDRx odpowiada za ustawienie kierunku przepływu danych. Innymi słowy dajemy informację mikrokontrolerowi, że dany pin jest wejściem lub wyjściem. W miejscu x wpisuje się port, który chcemy skonfigurować, np. A, B, C. W danym bicie wpisuje się 0 jeżeli pin ma być wejściem i 1 jeżeli ma być wyjściem. Rejestr PORTx służy do ustawiania stanów na konkretnych pinach. Jeżeli chcemy ustawić stan wysoki na jakimś pinie to należy ustawić na odpowiednim bicie 1. 0 ustawi stan niski. Rejestry portu B mikrokontrolera Atmega16. Jak w taki rejestr wpisać informację? Tutaj możemy skorzystać z liczb binarnych! Przykład a) Ustawić w rejestrze DDRB jedynkę na bitach 0 i 3. b) Ustawić w rejestrze PORTB jedynkę na bitach 0, 4, 5 i 7. Jest kilka sposobów na wykonanie tego zadania. Zapis za pomocą liczby binarnej Aby w języku C zapisać liczbę binarną należy dodać prefiks 0b. Możemy wykorzystać liczby binarne, aby wpisać dane w rejestr, ponieważ rejestry interpretuje się za pomocą bitów. Zapis za pomocą liczby dziesiętnej Aby to zrobić musimy przeliczyć liczbę binarną na dziesiętną. Bardziej doświadczeni programiści pewnie będą to w stanie zrobić szybko w głowie a) 0b00001001(2) = 00001001(2) = 1001(2) = 9(10) DDRB = 9; b) 0b10110001(2) = 10110001(2) = 177(10) PORTB = 177; Ten zapis może być nieczytelny, ale jest jeden wyjątek, gdzie warto go stosować. Jeżeli chcemy zapełnić jedynkami cały rejestr, to można wpisać do niego wartość 255, ponieważ 255(10) = 11111111(2). Oczywiście można skorzystać z innych systemów liczbowych, np. hex (0xFF(16) = 255(10)) Jeżeli chcesz dowiedzieć się o zastosowaniu rejestrów, to zapraszam do kursu STM32L4. 5) Sterowniki PLC Używa się je w maszynach przemysłowych i do sterowania liniami produkcyjnymi - ogólnie w przemyśle. Gwarantują one stabilność i ciągłość procesu a ponadto spełniają szereg przepisów. Dzięki nim można projektować układy sterowania dyskretnego, czyli procesy przemysłowe, które działają w logice dwuwartościowej. Przykłady maszyn, którymi sterują sterowniki PLC: windy, prasy hydrauliczne, schody ruchome, układ świateł na skrzyżowaniu. Te układy mogą charakteryzować się binarnością, tzn. do ich działania nie muszą być wykorzystywane elementy, które na swoim wejściu/wyjściu otrzymują/zwracają coś innego niż logiczne 0/1. W algorytmach sterowania takimi obiektami stosuje się operatory logiczne typu: AND, OR, XOR… co potwierdza zastosowanie liczb binarnych i logiki binarnej w tych sterownikach. Podsumowanie System binarny stanowi fundament technologii, elektroniki i informatyki. Jest nie tylko teoretycznym konceptem, ale także praktycznym elementem współczesności. Jego znaczenie sięga od konstrukcji tranzystorów przez układy cyfrowe, aż po programowanie mikrokontrolerów i sterowanie maszynami przemysłowymi. System binarny stanowi nieodłączną część świata, stanowiąc podstawę dla licznych innowacji i osiągnięć technologicznych. Każdy informatyk, elektronik, inżynier powinien się z nim zapoznać i zrobić przynajmniej jedno ćwiczenie z konwersji liczby dziesiętnej na binarną
- 1 odpowiedź
-
- 6
-
-
- programowanie
- Elektronika
- (i 2 więcej)
-
Elektronika Podświetlenie Przycisku w obudowie Pytanie/Zagadka
MaciejG opublikował temat w Elektronika
Witam, piszę tu do was z prośbą o pomoc/radę w sprawie mojego mini projektu. Jestem początkującym w tworzenia elektroniki więc proszę o większą wyrozumiałość w kwestii specjalistycznego nazewnictwa. Celem projektu jest zamienienie podświetlenia przycisku zasilania na obudowie komputera na podświetlenie RGB zsynchronizowane z podświetleniem w obudowie. Sam przycisk ma trzy stany podświetlenia (świeci, mryga i nie świeci). Problem pojawia się, gdy chcemy “zsynchronizować” to z podświetleniem. Na płycie głównej mam trzy dostępne wyjścia: RGB, ARGB, POW-LED. (pin-out zamieszczam poniżej) RGB: 1 - 12v, 2 - G, 3 - R, 4 – B ARGB: 1 - 5v, 2 - Din, 3 - pusty, 4 - GND POW-LED: 1 - 5v, 2 – GND Początkowo zakładam nie korzystać z wyjścia ARGB z powodu większej złożoności tego rodzaju podświetlenia natomiast zostawiam tu informację o jego istnieniu. Schemat powinien realizować taką (pseudo) tablice boolowska: Legenda: IN – tablica stanów wejściowych OUT – tablica stanów wyjściowych PW – zasilanie 5v (POW-LED:1) LED – Czy podświetlenie obudowy się świeci? 12v – Czy na złączu RGB występuje zasilanie? PW LED – Czy przycisk się świeci? LED GRD – puszczenie “minusa” przez gniazdo RGB (RGB:2,3,4) PW GRD – puszczenie “minusa” przez gniazdo PW (POW-LED:2) Opis stanów: Nr.1 - PC włączony Nr.2 - PC wygaszony Nr.3 i 4 – PC uśpiony (przycisk mryga) Nr.5 - PC wyłączone Własnymi siłami doszedłem do takiego prototypu, ale nie jest on idealny. Nie spełnia bowiem przypadku Nr.2 z tablicy. Dostęp mam tylko do tego co jest podłączone do większej płytki stykowej (wyprowadzenia gniazd i diody). Mniejsza jest hipotetyczną implementacja sterowania oświetleniem na płycie głównej. Połączenie minusa pomiędzy płytkami jest nie potwierdzone (ale zakładam, że istnieje). Z braku istnienia modelu Diody RGB (wsp.Anoda) w programie użyłem trzech zwykłych na modelu. Napięcie 3v z baterii też jest umowne. Co do doboru rezystorów to jest to zrobione na oko (na razie) chodzi głównie o zasadę działania. Za wszelkie sugestie, pomysły i podpowiedzi będę bardzo wdzięczny. Ps. Niechciał bym używać w projekcie żadnych mikrokontrolerów typu Arduino itp.- 4 odpowiedzi
-
- DIY
- tranzystor
-
(i 2 więcej)
Tagi:
-
Witam, Projektuję własne PCB, ale natrafiłem na problem(y). 1. Nie mam pojęcia jak podłączyć joystick do HT12E. 2. Czy dwa procesory HT12E zadziałają na jednym module RF? Jak ktoś wie co i jak prosiłbym o odpowiedź.
-
- PCB
- Elektronika
-
(i 2 więcej)
Tagi:
